{"version":3,"sources":["store/types/auth.js","store/types/dashboard.js","store/types/investors.js","store/types/transactions.js","store/types/history.js","store/types/appEssentials.js","store/types/empanelment.js","store/types/newinvestor.js","store/types/index.js","store/encrypt.js","store/api.middleware.js","store/reducers/auth.js","store/reducers/investors.js","store/types/profile.js","store/reducers/history.js","store/types/support.js","store/reducers/newinvestor.js","store/reducers/index.js","store/reducers/dashboard.js","store/reducers/transactions.js","store/reducers/profile.js","store/reducers/support.js","store/reducers/loader.js","store/index.js","components/Image.js","components/auth/appbar.js","components/forms/button.js","components/home/transactions/newInvestor/index.js","components/forms/input.js","components/auth/carsouel.js","store/actions/auth.js","store/actions/dashboard.js","store/actions/investors.js","store/actions/transactions.js","store/actions/newinvestor.js","store/actions/empanelment.js","components/home/breadCrumbs.js","components/home/appCss.js","components/home/CustomLoader.js","components/home/dashboard/displaycards.js","components/home/dashboard/displaySimpleCards.js","components/forms/tabHeader.js","components/home/currencyFormatter.js","components/home/dashboard/piechart.js","store/actions/profile.js","store/actions/mailback.js","components/home/customModal.js","components/home/dashboard/dashboardmain.js","components/home/dashboard/transactionSummary.js","components/forms/Loader.js","components/home/dashboard/table.js","components/home/dashboard/tabs.js","components/home/dashboard/ListofInvestors.js","components/home/dashboard/listofInvestorTabs.js","components/home/dashboard/sipMainTabs.js","components/home/searchComponent.js","components/home/transactions/newInvestorSearch.js","components/home/transactions/TransactionMain.js","components/home/transactions/TransactionTypeCards.js","components/home/transactions/TransactionTypes.js","components/home/transactions/TransactionModes.js","components/home/transactions/customizedSelect.js","components/forms/autoCompleteInput.js","components/home/transactions/newPurchaseForm.js","components/home/transactions/newPurchaseConfirm.js","components/home/nav/navData.js","components/home/nav/index.js","store/actions/history.js","components/home/transactions/additionalPurchaseForm.js","components/home/transactions/redemption.js","components/home/transactions/switch.js","components/home/transactions/sip.js","components/home/transactions/swp.js","components/home/transactions/stp.js","components/home/uploadFile.js","components/home/transactions/nfoPhysicalMode.js","components/home/transactions/sipCancellation.js","components/home/transactions/nctType.js","components/home/transactions/eNach.js","components/forms/amount-to-words.js","components/forms/captalize.js","components/home/transactions/eNachConfirmation.js","lang/en-us.ts","utils/constants.ts","lib/SearchInput/index.tsx","lib/TextField/index.tsx","components/home/portfolios/utils.ts","utils/utilityFunctions.ts","store/types/nct.ts","store/actions/nct.ts","components/home/CorrectionFolios/types.ts","components/home/MinorStatus/minor-status-edit-bank.tsx","lib/DatePicker/index.tsx","lib/Button/index.tsx","components/home/CorrectionFolios/correction-folios-selection.tsx","components/home/UpdateNominee/nominee-summary.tsx","lib/CheckBoxField/index.tsx","components/home/UpdateNominee/SelectedFolios.tsx","components/home/ChangeEmail/flow.ts","components/home/ChangeMobile/flow.ts","components/home/ChangeEmail/EmailRelationship.tsx","components/home/ChangeEmail/index.tsx","components/home/ChangeMobile/MobileRelationship.tsx","components/home/ChangeMobile/newMobile.tsx","components/home/NoFoliosFound.tsx","lib/DataTable/index.tsx","lib/DataTable/customHooks.tsx","store/types/nominees.ts","components/home/utils.ts","components/home/useMobileEmailFilter.ts","components/home/UpdateNominee/index.tsx","lib/NoteModals/index.tsx","components/home/ChangeEmail/change-email-list.tsx","store/types/portfolio.ts","store/actions/portfolio.ts","components/home/ChangeMobile/index.tsx","lib/UploadFile.tsx/index.tsx","components/home/UploadDocumentScreen.tsx","components/home/ChangeEmail/change-email-document.tsx","components/home/ChangeMobile/change-mobile-document.tsx","lib/CustomRadio/index.tsx","components/home/ChangeIdcw/index.tsx","components/home/SuccessScreen.tsx","components/home/ChangeIdcw/change-dividend-success.tsx","components/home/ConsolidationFolios/index.tsx","components/home/ConsolidationFolios/consolidationSourceFolios.tsx","components/home/FailureScreen.tsx","components/home/ConsolidationFolios/consolidation-folios-failed.tsx","components/home/ChangeBank/index.tsx","lib/NoteModals/ifscModal.tsx","lib/TextField/SecureInput.tsx","lib/Formik/index.tsx","components/home/UpdateNominee/addNominee.tsx","components/home/UpdateNominee/update-nominee-edit.tsx","components/home/ChangeBank/change-bank-selected.tsx","components/home/UpdateIFSC/index.tsx","components/home/UpdateIFSC/update-ifsc-details.tsx","components/home/UpdateIFSC/update-ifsc-success.tsx","components/home/CorrectionFolios/index.tsx","components/home/FatcaDeclaration/TaxDetail.tsx","components/home/FatcaDeclaration/utils.ts","components/home/FatcaDeclaration/KycFields.tsx","components/home/FatcaDeclaration/index.tsx","components/home/BankMandate/index.tsx","components/home/BankMandate/bank-mandate-add-bank.tsx","components/home/BankMandate/bank-mandate-delete-selected.tsx","components/home/BankMandate/bank-mandate-selected.tsx","components/home/transactions/nfoAndNewPurchase.js","components/home/transactions/ekycForm.js","components/home/transactions/sip/modeTypes.js","components/home/transactions/sip/sipEnach.js","components/home/transactions/newInvestor/lib/VerticalStepper.js","components/home/transactions/newInvestor/lib/CardComponent.js","components/home/transactions/newInvestor/lib/Radiobutton.js","components/home/transactions/newInvestor/FatcaDetails.js","components/home/transactions/newInvestor/Sip.js","components/home/transactions/newInvestor/Lumpsum.js","components/home/transactions/newInvestor/LumpsumSip.js","components/home/transactions/newInvestor/SchemeDetails.js","components/home/transactions/newInvestor/lib/utils.js","components/home/transactions/newInvestor/lib/AutoField.js","components/home/transactions/newInvestor/InvestorDetails.js","components/home/transactions/newInvestor/NomineeDetails.js","components/home/transactions/newInvestor/BankDetails.js","components/home/transactions/newInvestor/NewInvestorRegistration.js","components/home/transactions/NctTypes.tsx","components/home/UpdateNominee/update-nominee-success.tsx","components/home/transactions/ReinitiateConfirm.js","components/home/transactions/TransactionRoutes.js","components/home/transactions/index.js","components/home/mailBackRequest/index.js","components/home/transactionHistory/historyDetail.js","components/home/transactionHistory/historyRouter.js","components/home/transactionHistory/index.js","components/home/tableData.js","components/home/investors/investorData.js","components/home/investors/InvestorMain.js","components/home/investors/investmentsTab.js","components/home/investors/investments.js","components/home/investors/InvestorDetails.js","components/home/investors/InvestorRoutes.js","components/home/investors/index.js","components/home/dashboard/SipSummaryTabContainer.js","components/home/dashboard/dashboardroutes.js","components/home/dashboard/index.js","components/home/amc/index.js","components/home/social/index.js","components/home/settings/index.js","components/home/mailBackRequest/investor.js","components/home/mailBackRequest/InvestorSelection.js","components/home/mailBackRequest/submitRequest.js","store/types/mailBack.js","components/home/mailBackRequest/mailBackSoa.js","components/home/mailBackRequest/consolidatedAccountStatement.js","components/home/mailBackRequest/ELSS.js","components/home/mailBackRequest/CAN.js","components/home/mailBackRequest/CGS.js","components/home/mailBackRequest/GAS.js","components/home/mailBackRequest/networth.js","components/home/mailBackRequest/mailBackRoutes.js","components/home/mailBackRequest/mailBack.js","components/home/myEarnings/index.js","components/home/NFO/nfoFunds.js","components/home/NFO/NfoTransaction.js","components/home/NFO/nfoRoutes.js","components/home/NFO/index.js","components/home/appRoutes.js","components/auth/footer.js","components/home/home.js","components/auth/emailMobileRegistration.js","components/auth/login.js","components/auth/register.js","components/auth/commonTemplate.js","components/auth/otp.js","protectedRoute.js","components/auth/forgotUserId.js","components/auth/forgotPassword.js","components/auth/resetPassword.js","components/auth/tndc.js","components/auth/Faqs.js","components/auth/distributorEmpanellement.js","store/actions/generatearn.js","store/types/generatearn.js","components/auth/arnLink.js","components/auth/bankdetails.js","components/auth/dnomineeDetails.js","components/auth/commonArnLink.js","components/auth/confirmation.js","components/auth/bajajcompanies.js","components/common/refresh.js","App.js","serviceWorker.js","index.js"],"names":["USER_LOGIN_SUCCESS","USER_LOGOUT","USER_PAN","USER_LOGIN_REFRESH_SUCCESS","POSTER_OPEN","ENACH_UMR","ENACH_FOLIO","ENACH_BANK_ACC","ENACH_END_DATE","ENACH_START_DATE","ENACH_MAX_AMOUNT","GET_DASHBOARD_DATA_SUCCESS","GET_TRANSACTION_DATA","GET_TRANSACTION_DATA_SUCCESS","GET_AUM_DATA_SUCCESS","GET_FREQUENT_MAIL_BACK_REQUEST_SUCCESS","GET_DASHBOARD_AUM_DATA_SUCCESS","GET_SIP_SUMMARY_DATA_SUCCESS","GET_NFO_SCHEMES_SUCCESS","GET_INVESTORS_LIST","GET_INVESTORS_LIST_SUCCESS","GET_INVESTOR_DETAILS","GET_INVESTOR_DETAILS_SUCCESS","FAVOURITE_INVESTOR_SUCCESS","SEARCH_INVESTORS","SEARCH_INVESTORS_SUCCESS","SEARCH_INVESTORS_FAILED","GET_FUNDS_LIST_SUCCESS","GET_CATEGORY_LIST","GET_CATEGORY_LIST_SUCCESS","GET_CATEGORY_LIST_FAILED","GET_SCHEME_LIST","GET_SCHEME_LIST_SUCCESS","GET_SCHEME_LIST_FAILED","VALIDATE_SUB_BROKER_SUCCESS","STORE_TYPE","GET_UPCOMING_SIP_DETAILS_SUCCESS","SHOW_PURCHASE_CONFIRMATION","SHOW_PURCHASE_CONFIRMATION_SUCCESS","SHOW_PURCHASE_CONFIRMATION_FAILED","CONFIRM_PURCHASE_SUCCESS","SET_SIP_DETAILS","SET_NEW_PAN","SIP_SAVE_DATA_SUCCESS","SET_SWITCH_DETAILS","SWITCH_SAVE_DATA_SUCCESS","SET_STP_DETAILS","STP_SAVE_DATA_SUCCESS","GET_EARNINGS","GET_EARNINGS_SUCCESS","SAVE_TRANSACTION_DETAILS","GET_FUNDS_LIST_PAN_SUCCESS","GET_TRANSACTION_HISTORY_SUCCESS","GET_NAV_DATA_SUCCESS","REMOVE_NAV_DATA","REMOVE_TRANSACTION_HISTORY_DATA","HeaderLogo","dashboardActive","investorsActive","newTransactionActive","navActive","mailBackActive","transactionHistoryActive","ekycActive","earningsActive","settingsActive","nfoActive","SwitchToOldDIT","dashboardInActive","investorsInActive","newTransactionInActive","navInActive","mailBackInActive","transactionHistoryInActive","ekycInActive","earningsInActive","settingsInactive","nfoInActive","GET_CAMS_DATA_SUCCESS","REMOVE_CAMS_DATA","STORE_BANK_DETAILS","STORE_BASIC_DETAILS","STORE_BANK_STATE","STORE_EMPANELLEMENT_NOMINEE_DETAILS","STORE_INVESTMENT_DETAILS","STORE_FATCA_DETAILS","STORE_SCHEME_DETAILS","STORE_SCHEME_PARAMS","STORE_APPLICANT_PARAMS","STORE_INVESTMENT_PARAMS","STORE_NOMINEE_DETAILS","STORE_PAN","CLEARING_FIRST_TIME_INVETOR_JOURNEY_SUCCESS","ALL","YES","NO","AUTHORIZATION_PENDING","INVESTMENTS","UPCOMING_SIP","EXISTING","NEW","NEWP","PURCHASE","REQ_BY","REGULAR","ADDITIONAL_PURCHASE","PARTIAL","FULL","UNITS","AMOUNT","REDEMPTION","SWITCH","SWP","STP","SIP","PHYSICAL_NEW","GRAPH","TABLE","PAYMENT_MODE","INVESTMENT_FREQUENCY","START_LOADER","STOP_LOADER","INACTIVE_INVESTORS","ACTIVE_INVESTORS","NEW_INVESTORS","EXPIRING_NEXT_MONTH","CLOSED_THIS_MONTH","SIP_INVESTMENTS","CWS","CWOS","GET_NOMINEE_DETAILS_SUCESS","GET_BANK_DETAILS_SUCESS","STORE_ADDRESS_SUCESS","STORE_CAMS_DETAILS","EncryptionUtils","Encryptionkey","Decryptionkey","hashstring","hashsubstring","Encrypted","Dencrypted","iv","Utf8","parse","e","t","this","Rp","update","digest","substring","n","AES","encrypt","keySize","mode","CryptoJSCore","CBC","padding","Pkcs7","ciphertext","toString","Base64","split","join","i","decrypt","payload","encryption","BASE_URL","FILE_URL","NCT_URL","process","CART_URL","REACT_APP_CART_API_URL","FEED_BACK_URL","jwt","require","FETCH_FAILED","hideErrors","invokeAPI","endpoint","config","auth_token","next","isFile","isNct","isTrackApi","isNps","isNpsFile","isNctNew","isCart","isReport","isL","isLogin","isAuth","others","DEFAULT_HEADERS","Accept","headers","authorization","updatedConfig","fetch","response","json","responseData","encryptedBody","body","JSON","validateLogin","loginPayload","responseBody","type","status","Error","message","includes","error","data","Dtinformation","Table","Table1","info","errorCode","Error_code","Error_Code","length","Error_Message","CALL_API","Symbol","apiMiddleWare","store","action","url","method","types","showLoader","undefined","params","ikyc","addedparams","enableFixture","skipEncode","shouldEncrypt","requestType","successType","getState","authReducer","prime_token","decode","exp","diff","Math","floor","Date","getTime","refresh","token","alert","param","allParams","queryParams","URLSearchParams","value","set","encodeURIComponent","btoa","stringParametrs","queryString","userId","encryptedQueryString","stringify","encrypted","redirect","code","console","log","username","decodedToken","user","arn","text","encrpyted1","atob","slice","DtData","ARNCode","initialState","showAll","lastLogin","user_pan","tran_enable_flag","posterStatus","umr","enachFolio","enachBank","camsdata","storeCAMSData","storeempanelmentNomineeDetails","empanelmentNomineeDetails","empanelmentBasicDetails","empanelmentBankDetails","bankState","investors","count","investments","upComingSipDetails","selectedTab","GET_PROFILE_DATA_SUCCESS","fundsList","transactions","navData","GET_DIST_POST_QUERY_DATA_SUCCESS","fatcaDetails","nomineDetails","getnomineeDetails","getbankDetails","investmentDetails","schemeDetails","applicantparams","schemeparams","investmentparams","address","store_pan","rootReducer","combineReducers","state","Login_MailID","Regflag","last_login","investorData","communicationDetails","bankDetails","fundList","Table14","Table7","Table11","showTotalCards","find","ele","Fund","enachStartDate","enachEndDate","enachMaxAmount","dashboard","summaryData","aumData","nfoSchemes","transactionSummary","dashboardAUMData","sipSummaryData","fundData","Table2","Table3","map","item","name","category","aum","sort","a","b","aum_percent","fund","totalAum","reduce","p","c","parseFloat","my_aum","numberofschemes","Numberofschemes","investor","Kyc","Fatca","fundAllocation","pieData","investorInvestmentDetails","fundLevelInvestments","Table5","Table12","MiraeInvesmentList","Table13","filter","trim","asOnDate","asondate","fav","inv","Pan","PAN","totpercent","investorTotal","x","FundDesc","Favorite","InvPan","FavFlag","Dtdata","UpBajajDetails","fund_name","toLowerCase","confirmationData","newPan","categoryList","schemeList","euinList","sipDetails","switchDetails","stpDetails","transactionDetails","earnings","profileReducer","profileData","reviewList","transactionHistory","support","supportQueries","loading","max","newinvestor","history","createBrowserHistory","basename","persistConfig","key","storage","whitelist","composeEnhancers","compose","persistedReducer","persistReducer","createRootReducer","createStore","applyMiddleware","thunk","apiMiddleware","persistor","persistStore","Image","src","props","alt","Appbar","openModal","setState","open","closeModal","className","AppBar","position","color","style","boxShadow","Toolbar","display","justifyContent","center","onClick","window","cursor","paddingRight","Component","Signbutton","width","disabled","marginTop","fontSize","backGround","customStyle","buttontitle","backgroundColor","border","Debtbutton","active","DebtbuttonActive","outline","DebtbuttonNowidth","emailRegex","ifscRegex","RegExp","mobileRegex","nameRegex","panRegex","pincodeRegex","forbiddenCharsRegex","genderOptions","NomineesList","label","categoryOptions","Occupations","Gross_Annual_income","countrycodeOptions","relationshipOptions","familyDescriptionOptions","otpRegex","Input","handleChange","target","test","onChange","image","image2","placeholder","height","isShowError","inputref","bordercolor","isShowPasswordError","errorMessage","tooltip","copyOnclick","shareOnclick","isMandatory","rest","Tooltip","title","arrow","marginLeft","link","textDecoration","linkClicked","linkText","borderColor","autoComplete","ref","onKeyDown","onBlur","step","onMouseOver","addEventListener","preventDefault","passive","minWidth","minHeight","alignItems","copyimage","shareimage","fontFamily","OtpInput","textAlign","DemoCarousel","maxHeight","clearSession","dispatch","userLogout","userPan","EnachUMR","UMR","EnachFolio","folio","Enachbank","Bank","generateOtp","getSipSummary","getNfoSchemes","getInvestors","getInvestorDetails","getNewPurchaseFundList","validateSubBroker","checkKyc","submitPurchaseData","showPurchaseConfirmation","saveTransactionDetails","getAssetClasses","getOtherSchemes","getCheckPanKotm","getCheckPanAotm","getRedemptionPaymentDetails","swpOptions","CalcSIPEnddt","setSipDetails","setNewPAN","pan","setSwitchDetails","setStpDetails","getMinimumAmount","getEnach","getRelationShipList","opt","getNav","getStatesList","getCountriesList","getCitiesList","submitSipDetails","getKycDetails","storeSchemeDetails","storeSchemeParams","storeApplicantParams","clearingFirstTimeInvestorJourney","empanelmentRegistration","saveEmpanelment","removeData","saveEmpanelData","CommonBreadCrumb","lastAndTo","index","pathnames","pop","last","to","hideFirst","breadcrumbNameMap","Breadcrumbs","separator","drawerWidth","CustomLoading","DisplayCards","classes","margin","Card","transition","CardContent","values","toLocaleString","connect","withStyles","theme","card","details","flexDirection","content","flex","paddingBottom","cover","controls","paddingLeft","spacing","playIcon","DisplaySimpleCards","pointer","nameArray","simpletwo","flexGrow","displaySimpleCard","TabHeader","CurrencyFormat","FormatCurrency","displayType","thousandSeparator","prefix","noprefix","thousandSpacing","decimalScale","COLORS","PieDiagram","activeIndex","onPieEnter","currencyConverter","abs","Number","parseInt","activeShape","cx","cy","innerRadius","outerRadius","startAngle","endAngle","fill","y","dy","textAnchor","dataKey","entry","toUpperCase","removePieData","flexBasis","borderRadius","flexShrink","textTransform","flexWrap","charAt","concat","marginRight","percentile","symbol","aumpieData","ruppess","PureComponent","getProfileData","resetPassword","getMailbackList","getcaptialgainStatment","DialogTitle","root","closeButton","right","top","palette","grey","children","onClose","disableTypography","Typography","variant","IconButton","DialogContent","MuiDialogContent","PasswordModal","onBlurInput","eve","oldPassword","newPassword","confirmPassword","onChangeInput","event","submit","oldpassword","ReqBy","userid","openSuccessPasword","closePasswordModal","replace","closeModalPopUp","showPassword","showOldPassword","confirmShowPassword","Dialog","openPasswordModal","fullWidth","id","passwordSucess","React","PasswordDialog","MailBacKRequestStatusPopUp","onDateChange","date","startDateValue","toLocaleDateString","month","year","day","FromDate","getMailBackRequestStatus","record","close","utils","DateFnsUtils","InputProps","readOnly","required","disableFuture","format","maxDate","NonLoginServices","Paper","href","KycNotDoneDialog","continue","CustomizedDialogs","cas","Gas","componentName","Nctihno","refNo","myself","reqtype","refrence","new_type","transactName","scheme","closeYesModal","SipCancelModal","rejectionreasonsOpen","closeNoModal","closemodelafterrejecttion","EnachModal","DashboardPosterDialog","class","zIndex","RejectionReason","rejectionReasons","reason","RejReason","checked","selectedReason","handleReasonChange","reasonMandatory","marginBottom","othersText","isError","selectedotherreason","CustomizedDialogsforReintitate","confirmation","windowWidth","outerWidth","Dashboard","goToRoute","path","push","pathname","goToSIPRoute","handleChangeSubReports","scrollTo","handleChangeTab","Tab","closePoster","PosterOpen","reports","report","Agent","UserId","customfund","AgentCode","DateVal","moment","getDashboardDataAum","getDashboardData","ARN","AllFavFlag","MailParams","AmcAumList","Table4","SipAumList","sortPieFundChart","AUMDetails","descr","AUMPieData","round","dataDiffer","ExpiredTransactions","AuthorisedTransaction","AuthorisationPending","SIPTransactions","subtitle","KDM_Repdesc","KDM_Repcode","SIP_expired_next_month","SIP_Closed_this_month","Sip_Investments","AmcAum","sipSummary","getAumData","getFrequentMailBackRequest","SubReports","MyAmcAum","Type","totalArray","prev","curr","findItem","String","fund_code","New_Investors","Active_Investors","Inactive_Investors","Previous6thMon","Previous6thMonDt","Previous5thMon","Previous5thMonDt","Previous4thMon","Previous4thMonDt","BeforelastMonth","BeforelastMonthDt","BeforeMonth","BeforeMonthDt","PresentMon","PresentDt","background","SubAUMClass","TransactionSummary","CustomLoader","TableContainer","copyCodeToClipboard","Link","copy","reinitiate","ihno","trtype","acno","transaction","displayTableRow","isAfter","addDays","Entdate","displayButton","displaySummaryData","some","Fragment","TableHead","TableRow","TableCell","Boolean","dco_cart_id","InvName","mobile","sipamount","amount","units","Ref_No","dd_appno","reinitateTransaction","InvestorTableCard","borderBottom","TabContainer","onChangeActive","getTransactionData","transflag","Arn","location","ListOfInvestors","ListOfInvestorsTabs","getData","Table6","SipData","tableData","behavior","prevProps","prevState","paddingTop","pangir","email","invName","SipSummaryMainTabs","Search","radioValue","inputValue","changeInput","keyPress","search","searchInvestors","regpan","Uid","i_pan","kycResponse","KYCBlock","NEW_TRANSACTION_URL","new","borderRight","RadioGroup","FormControlLabel","control","Radio","InputBase","inputProps","maxLength","onKeyPress","evt","NewInvestorSearch","isLoading","Transactions","TransactionTypeCards","getUrlByName","goSip","Enach","TransactionType","navigationProps","physical","flag","TransactionMode","digital","CustomizedSelect","nolabel","uptext","Select","displayEmpty","inputRef","input","MenuItem","inputComponent","components","Control","TextField","notchedOutline","selectProps","notchedOutlineError","innerRef","innerProps","textFieldProps","Menu","square","paper","NoOptionsMessage","noOptionsMessage","Option","buttonRef","selected","isFocused","component","fontWeight","isSelected","whiteSpace","Placeholder","SingleValue","singleValue","ValueContainer","valueContainer","IntegrationReactSelect","single","selectStyles","base","primary","font","NoSsr","isDisabled","styles","options","suggestions","isClearable","overflow","left","divider","withTheme","NewPurchase","FamilyDescriptionEmail","Family_Code_Email","FamilyDescriptionPhone","Family_Code_Phone","validateBrokerCode","subArnCode","arnCode","SubAgentCd","AgentCd","getLength","abm_agent","euinNo","handleCategoryChange","plntype","schemetype","changeScheme","comboScheme","Scheme_Plan","minAmount","minCost","MinAmt","multiples","changeValue","changeEuin","showError","emailId","combo","isCombo","subBrokerCode","disbleEmail","disbleMobile","sipType","keys","Object","every","forEach","firstErroredKey","emailIdField","focus","mobileField","fundField","categoryField","schemeField","minAmountField","euinField","plan","family_email_relationship","family_description_codes","family_code","family_mobile_relationship","InvestorName","i_entby","Desci","SubbrokerArn","EuinCode","i_Userid","Mobile","PanNo","Email","i_Acno","Subbroker","i_Fund","i_UntAmtValue","EUINFlag","EuinValid","i_Scheme","i_Plan","i_Option","i_oldihno","i_InvDistFlag","ModuleName","CountryCode","fEmailFlag","fMobileFlag","purchaseData","confirmationParams","Trtype","Refno","refno","InvestorEmail","InvestorMobile","revCD","reverse","Xmobile","detail","Xemail","invname","filteredSchemeList","Scheme_Desc","invNameField","family_description","codeField","okKeyDown","isNaN","fm_subcategory","subArnField","subBrokerField","FormControl","NewPurchaseConfirm","sipSubmit","confirmPurchase","sipConfirmPurchase","sip_start_date","new_start_date","setFullYear","hour12","end_date","sip_end_date","new_end_date","i_euinDeclaration","Opt","fm_option","SubArn","i_PerpetialSIP","i_Amount","installmentAmount","i_frequency","investmentFrequency","FrequencyID","i_fund","i_subbroker","i_SchemeCode","fm_plan","Pln","Sch","fm_scheme","i_brokercode","i_SIPday","sipDay","i_euinno","i_id","EntDt","i_ModeofPayment","i_EntBy","i_folio","i_SIPEndDate","i_SIPStartDate","i_NoofInstalment","installments","Umrn","saveSipData","sipRefNo","Scheme","paymenttype","TRefno","dd_scheme","dd_plan","option","dd_option","ID","dd_refno","nfoNew","handlesipPauseDateChange","selected_pause_date","selected_pause_installments","sip_pause_end_Data","handlePauseInstallments","startDate","SrtDt","uid","sipPauseEndDateCalculate","enddt","confirmSwitch","OTPMsg","random","i_RedFlg","switchType","i_Tacno","Acno","Bankid","i_Tplan","switchInScheme","i_Toption","i_UntAmtFlg","switchMode","euin","i_Agent","Distributor_Name","Otp","i_Tscheme","i_Tfund","switchRefNo","REFNO","confirmStp","Stpday","i_option","NoofTransfer","transfers","Entby","InvDistFlag","Enddt","sipEndDate","Euinvalid","Stdt","sipStartDate","Tooption","Stpoption","swpOption","Description","Plan","Trdate","Freq","swpFrequency","Batchno","ToScheme","Distributor","Amount","Ihno","Euin","Toplan","stpConfirm","stpRefNo","appno","confirmSwp","withDrawals","sipStartDateReverse","sipEndDateReverse","EndDate","Withdrawaltype","Errno","Optn","Noofwithdrawals","Remarks","Branch","swpConfirm","swpRefNo","RefNo","confirmRedemption","redemptionMode","bank","redemptionType","i_pangno","i_multibankdet","bnkname","bnkacno","bnkactype","ifsccode","redemptionConfirm","redemption","confirmSipcancellation","pauseDetails","dsipstdt","fromdate","Esipstdt","dsipEnddt","todate","EsipEnddt","dtrDate","trdate","EsipTrDate","cancellationReason","rejectionreason","reasons","rejcode","RejCode","invdistflag","ToOption","sch","ToPlan","tpln","cycleihno","appldt","branch","cycledtpart","termdt","Toscheme","tsch","subTrType","barcode","batchno","disitributorid","amt","pln","dpid","lname","freq","submitSipCancellation","submitSTPCancellation","sipCancellation","confirmSipPause","dpausesipstdt","Epausesipstdt","dpausesipenddt","Epausesipenddt","dreportingdt","Ereportingdt","dsipenddt","Esipenddt","pausesipstdt","pausesipenddt","reportingdt","sipenddt","pauseihno","sipregihno","sipstdt","sipPauseValidator","validateresponse","oldoption","oldscheme","oldplan","sipamt","entby","noofinst","sipfreq","finalSipPause","final","pause_installemnts","sip_pause_dates","sipPauseRefno","pause_inst","Array","sipPauseDateCalculate","isEnach","folioDetails","sipScheme","sip_day","investmentAmount","Folio","mainLabel","subLabel","mainLabel1","subLabel2","SchDesc","PlnDesc","fm_schdesc","OptDesc","Schdesc","FrequencyDescription","formatDate","transactiontype","EUINCode","pause_start_date","goBack","DetailsGroup","dateString","NavData","navSortData","xDate","fn_fromdt","yDate","graphData","fn_nav","range","min","apply","animationDuration","x1","y1","x2","y2","offset","stopColor","stopOpacity","tick","domain","vertical","stroke","fillOpacity","stickyHeader","borderTopLeftRadius","borderTopRightRadius","align","opacity","scope","CustomizedAxisTick","transform","NAV_URL","Nav","removeNavData","time","getNavData","changeTime","BajajFund","letterSpacing","AdditionalPurchase","handleFundChange","folios","pFlag","from","Set","schemes","schemeType","getFolios","handleFolioChange","banks","assetClasses","categories","schtype","fundCode","trantype","otherSchemes","pSchFlg","changeSchemeType","handleSchemeChange","checkCombo","combo_flag","fm_newpur","disclamier","combo_disclaimer","combo_lable","funds","findError","folioField","amountField","comboswitch","methodType","ComboChange","keyDown","onFocus","CatValue","CatDesc","SchDesc1","Checkbox","Redemption","getfolios","rSchFlg","BalUnits","getBankDetails","RedMinAmt","LastNAV","changeRedemptionType","changeRedemptionMode","handlefolioBankDetailsChange","Fund_CurValue","CurValue","trdt","ttrtype","handleRedemptionValueChange","bankField","switchCmponent","sSchFlg","switchInSchemes","handleSwitchInSchemeChange","setSwitchOutScheme","setSwitchInScheme","changeSwitchType","changeSwitchMode","currValue","currAmountValue","switchOutField","handleSwitchValueChange","minimumLumpsumAmout","frequencies","sipDays","perpetualSip","modes","kotm","selectedKotm","umrn","Sip","handlechangeSIPEndDateChange","selectedFrequency","endDate","monthsDifference","getFullYear","getMonth","noofFrequency","getUMRN","maxAmt","obj","Amt","filteredData","minAmountValue","modeparams","astscheme","res","FundName","sipSchFlg","handleSipTypeChange","detailsEmail","detailsMobile","Setstate","sipFlag","getInvestmentFrequency","changeFrequency","minParams","Frequency","minamt","changeSipDay","getSipEndDate","installmentsField","StartDate","Installments","dates","SIP_EndDate","SIP_StartDate","reformSIPEndDT","isStartDateValid","changeDateFormat","isEndDateValid","Minimum_Instalment","EBamountValidation","sipTypes","maxAmount","split_enddate","split_mandatedate","d1","d2","sipTypeField","emailField","noofinstallments","sipstartdt","sipfrequency","paymode","UMRN","UMRNNO","perpetual","checkMode","checkPan","checkfolio","amc_code","Pay_Mode","kotmField","sip_cycleid","Swp","sFlag","withdrawals","swpFrequencyOptions","sipCycle","swpOptionsResponse","handleSwpOptonChange","swpFrequencyOptionsResponse","handleSwpFrequencyChange","sipCycleResponse","minswp","swpOptionField","sipDayField","swpFrquencyField","sipStartDateResponse","sipEndDateResponse","handleNoOfWithDrawals","handleSwpDay","handleMinimumAmount","Stp","handleSwitchInScheme","sipCycleResponseOptions","stpDates","handleChangeTransfers","transferValue","handleSwpOptionChange","handleChangeTransferAmount","transferAmount","amountValue","minDate","minimumInstallments","switchInSchemeField","swpField","handleSTPDates","STPCycleDateValidation","handleChangeStpFrequency","transfer","STPMinGap","mingap","Mingap","currentDate","newDate","formattedDate","frequency","calculateStpDates","stpFrequencyField","helperText","selectedDate","today","setHours","setDate","addMonths","isWednesday","addWeeks","UploadFile","fileName","htmlFor","accept","uploadFile","NfoPhysicalMode","findIndex","amc_name","AadharFlag","Aadhar","fundChange","fileUpload","files","file","base64","fileReader","FileReader","onload","fileLoadedEvent","result","readAsDataURL","upload","toggleCheckbox","terms","upload_file","submitting","Pdffile","physicalTransaction","SipCancellation","getFolioSipCancellation","handleChangeCheckbox","onSubmit","Foliodata","fundName","ShowDetails","ShowMore","pause","pause_flag","pause_err_msg","notAllowedPopUp","cancelDetails","cancel","visible","getCancellationReason","txntype","toFixed","NctType","NctTypes","getNctType","handleNctTypeChange","NctTypeField","nctdescription","ncttype","getNctSave","nm_description","nm_code","ENACH","EnachOpen","EnachRef","eNachAMCOpen","Contact","Name","arncode","countrycode","en_ihno","OpenEnachAMCOpen","OpenEnachAMCClose","onEmailBlur","countryCodeField","amountInWords","num","substr","match","str","pascalCase","pascalArray","firstLetterOnlyCaptilize","checkZero","getDate","EnachConfirm","enddate","startdate","bankName","reformStDT","reformEndDT","txnamount","bank_code","BankName","bank_acno","bank_ifsc","enUs","login","headerLinks","link1","link2","link3","switchActions","loginWithPassword","loginWithOTP","form","title1","secondaryTitle","titleCaption","termstext","termsLink","panOrPekrn","validation","emptyError","minLengthError","password","rememberMe","button","verifyOtp","forgotPassword","answer","quickLinks","easyAccess","transmission","applyPan","explore","heading","infoBottom","clickHere","websiteInfo","footer","copyRightText","actions","termsOfUse","privacy","termsOfBusiness","siteDeveloper","signUp","sigUpWithPAN","sigUpWithPEKRN","signupText","Disclamer","disclamerText","disclamerInfo","Policies","TandC","validations","regexError","individualPan","pekrn","TermsAndCond","title2","notAvailable","notifications","notificationsTxt","clearAll","noNotifications","dashboardLeft","link4","link5","link6","invest","dashboardHome","welcome","notificationinfoLeft","notificationinfoRight","unregisteredFolios","quicklinks","box1","headingBold","box2","box3","box4","slider","slider1","dematHoldingNote","info1","info2","dbPortfolio","investedvalue","marketvalue","gainLoss","banner","portfolioPlaceholder","bottom","chartLink","dbNct","portfolioDetails","tabs","asset","amc","assetAllocation","sortby","select","list","holdingPercentage","sortbyList","marketValue","atoz","portfolioSchemes","balanceUnits","minimumAmount","cagr","readMore","buyNow","nav","popularSchemes","sliders","slider1Title","adsSection","introduce","slides","learnMore","slide1","OtpScreen","subHeading","subHeadingSpan","subHeadingInfo","phoneOtpSubject","otpPhoneSubject","otpEmailSubject","registeredEmail","buttonText","buttonTextWhileLoading","otpValid","changeEmail","changeEmailHeading","emailError","List","tableInfo","emailNote","toolTip","UploadDocument","subHeadingInfo1","subHeadingInfo2","subHeadingInfo3","uploadBtnText","Success","back","getStarted","toolTipWithSameEmailId","success","successMessage","sucessMsg1","sucessEmailMsg1","successMsg2","securityQuestions","Failed","noFoliosFound","UpdatePan","UpdatePanHeading","verifyWithMobile","verifyWithEmail","UpdatePanInfo","uploadPan","selectedFolios","subheading","primaryHolder","contactNo","folioNo","enterPan","enterPanInfo","addFolioText","panValidating","nameValidating","panSuccessful","nameSuccessful","panFailed","nameFailed","folioNameFailed","folioNameInfo","panVerification","kycValidating","aadharValidating","kycSuccessful","aadharSuccessful","kycFailed","aadharFailed","UpdatePanCondition","UnregisteredFolios","newRequest","tabHeading","uploadHeading","uploadInfo","toDownload","myRequest","TrackRequest","list1","list2","list3","disclaimer","disclaimerInfo","ChangeDividend","noSelectLeinUnits","ChangeDividendHeading","radioHeading","payoutToReinvest","reinvestToPayout","ChangeDividendInfo","filters","searchByAMC","selectedFilters","removeFilter","ChangeMobile","ChangeMobileHeading","ChangeMobileInfo","Note","newMobile","headingSpan","toolTipWithSameMobile","UpdateNominee","UpdateNomineeHeading","relationShip","UpdateNomineeInfo","buttonNext","EmptyNomineeInfo","nomineeText","relation","share","more","less","gender","clear","save","guardianDetailsHeading","addNominee","singleMOHAllowed","nomineeFields","address1","address2","pin","city","country","NoteModals","deleteNominee","greaterModal","lessModal","okay","investorNote","Failure","ChangeBank","ChangeBankHeading","ChangeBankInfo","ChangeBankInfoSpan","ifsc","accountNo","uploadDocuments","uploadDocumentsInfo","cancelledCheque","bankCheque","addNewBankHeading","addNewBankHeadingInfo","fields","accountNumber","accountType","ocrDataValidating","bankValidating","ocrDataFailed","ocrDataFailedInfo","bankValidationFailed","bankValidationFailedInfo","pennyDropFailed","pennyDropFailedInfo","uploadRequestLetter","ocrDataSuccess","bankValidationSuccess","ConsolidationFolios","ConsolidationFoliosHeading","ConsolidationFoliosInfo","chooseMutualFund","targetFolio","submitBtn","selectFolio","sourceFolio","NoConsolidateFoliosInfo","EmptyFolioInfo","ChangeTaxStatus","ChangeTaxStatusHeading","ChangeTaxStatusHeadingSpan","option1","option2","ChangeTaxStatusInfo","newStatusType","newAccountType","newProof","noteModals","proceedText","cancelText","redirecting","confirmationText","UpdateForm15","UpdateForm15Heading","UpdateForm15GHeading","UpdateForm15HHeading","UpdateForm15Info","panDetails","TaxAccessed","yes","no","form15G","form15H","UpdateForm15TableInfo","agreeTerms","listModalInfo","okayBtn","proceedBtn","pleaseNote","modalInfo","Income","dob","enterAmount","dividendIncome","totalDividendIncome","cumulativeIncome","form15GcumulativeIncomeExceed","form15GdividendIncomeExceed","form15GtotalValueExceed","form15HcumulativeIncomeExceed","form15HdividendIncomeExceed","form15HtotalValueExceed","form15HdividendIncomeExceedError","form15GdividendIncomeExceedError","totalIncomeInfo","registerButton","incomeExceedLimit","overwriteBtn","unselectBtn","incomeModalInfo","DetailsOfIncome","slNo","idNo","NatureOfIncome","SectionDeductible","AmountOfIncome","declaration","lastAssesmentYear","declarationModal","instructions","para1","para2","para3","para4","para5","para6","para7","para8","totalIncomeValidation","MinorStatus","MinorStatusHeading","MinorStatusInfo","differentPanError","differentBankError","sessionExpired","requestFailed","EnterPan","enter","toolTipText","ReviewDetails","editFolio","editFolioBank","uploadPanHeading","uploadChequeHeading","uploadSignatureHeading","uploadSignatureInfo","uploadSignatureLink","uploadSignatureLinkInfo","CorrectionFolios","CorrectionFoliosHeading","CorrectionFoliosInfo","Selection","selectionInfo","selectedFolio","makeSelection","makeSelectionMobile","nameInRecords","enterCorrectDetails","Fields","secondHolder","thirdHolder","guardianName","mobileNo","emailAddress","dateOfBirth","bankAccNo","bankAccType","bankIfsc","taxResidency","modeOfHolding","dpIdNdClientId","errors","startingWithZero","validNumber","minFiveCharacters","noNumericValues","sameNames","UpdateIFSC","UpdateIFSCHeading","UpdateIFSCInfo","Details","toolTipInfo","pleaseConfirm","ifscCode","BankMandate","BankMandateHeading","selectOption","BankMandateInfo","radioOption1","radioOption2","radioOption3","defaultBank","newBank","chooseBankToDelete","chooseNewDefaultBank","FatcaDeclaration","FatcaDeclarationHeading","enterPanPekrnHeading","enterPanPekrn","taxResident","yesTxt","noTxt","acknowledge","fillFollowing","nationality","countryOfBirth","taxResidencyCountry","tinNo","tinNotAvailable","identificationType","tinTxt","othersTxt","typeHere","selectReason","accountHolderLiable","noTinRequired","othersSpecify","countryOfTaxResidency","tinNumber","validTinNumber","identificationReason","noTinReason","maxCharacterForTinReason","declarationBox","reasonOptionText","placeOfBirth","minLength","pobMinLength","kycFields","fatherName","spouseName","occupation","netWorth","netWorthDate","annualIncomeSlab","pepFlag","addressType","sourceOfWealth","remarks","zeroError","nctModal","otpModal","infoEmail","otpAuth","subHeadingMail","confirmText","consolidation","taxStatus","bankMandate","changePassword","feedbackSubmitted","okayTxt","displayNameChanged","TransmissionRequest","TransmissionRequestHeading","TransmissionUnitHeading","TransmissionRequestInfoSpan","TransmissionRequestInfo","IamFolioHolder","IamNominee","IamClaimant","followingDetails","enterName","enterMobile","enterEmail","multipleNomineesNote","uploadDC","followingFolios","modal","infoNote","exit","iAgree","holderDetails","enterHolderPan","primaryHolderDetails","registeredMobile","enterRegisteredMobile","enterRegisteredEmail","selectAmc","enterFolio","natureOfClaim","addFolio","modal2","nomineeModal","holderModal","claimValues","value1","value2","value3","addedFolio","natureClaim","panUpload","multiplePan","addPan","download","primaryHolderPan","uploadDeathCertificate","toDownloadPrefilled","toDownloadBlank","downloadList","TransmissionInfo","mainInfo","signedT2","deathCertificate","birthCertificate","kycCertificate","newBankMandate","newBankMandateInfo","nominationForm","doneBtn","documentSet","fundFolios","documentRequired","claimant","claimantInfo","holder","nominee","viewDocumentsRequired","submitFormInfo","postLogin","subHeadingSpanPan","subHeadginSpanPekrn","subHeadingInfoPan","subHeadingInfoPekrn","deceasedHolderName","modifyNomineeDetails","downloadNominationForm","signedT1Form","dcCopy","nameEmpty","emailEmpty","otp","validationError","crmDashboard","totalRequests","rejectedRequests","inProgressRequests","resolvedRequests","financial","nonFinancial","nctLinks","dividend","changepan","changeemail","changecontact","unclaimedpayout","datacapture","changebank","multiplebank","changenominee","changebanktype","changeinvestor","changeinvestorinfo","fatca","minor","form15","notMatched","myProfile","accountInfo","userName","panNoOrPekrn","security","dpHeading","communications","saveChanges","changeSecurity","enableBiometrics","pushNotifications","whatsappNotifications","giveFeedback","registerComplaint","suggestion","changeUserName","changeMobileNo","typehere","enterFeedback","enterRefId","enterQuery","enterServiceName","selectDpId","enterDpId","enableFingerPrint","updateSecurityQuestion","resetSecurityQuestion","question","setNewPassword","otpinfo","otpAuthentication","otpRequest","signupOtp","registered","reset","setPassword","disclimer","t1","t2","setinput","displayName","twoFactor","selectQuestion","signIn","twoFAHeading","secretQuestionnaire","questions","question1","question2","question3","question4","question5","question6","question7","question8","question9","question10","passwordGuidelines","one","two","three","loginAuth","Hi","forgotpin","or","skipTxt","loginWithFingerprint","setPin","enterPin","confirmPin","enableFingerPrintInfo","enableTxt","skipNow","verifyIdentity","verifyIdentityInfo","touchSensor","newPin","oldPin","resetPin","resetPinSuccess","common","termsConditions","euinDeclaration","serviceDashboard","invalidEmailMobileNCT","depReq","nctDisableAboveThreshHold","FAQ","referFAQ","otpinput","resendotp","didntReceiveotp","resendtext","equity","debt","liquid","asOn","viewMore","validatingIFSC","invalidIFSC","IFSCValidated","noRecordsFound","noOtp","spaceNotAllowed","notAlligibleForPekrn","cityMaxLength","stateMaxLength","dobRequired","ageLessThanHundred","minDOBValidation","minorAgeValidation","oldPasswordRequired","confirmPasswordRequired","newPasswordRequired","confirmPasswordError","displayname","noSpecialCharacters","regex","mobileLength","relationship","emailRequired","mobileRequired","matchError","bankErrors","sameBankDetails","HoldingType","allHoldings","zeroHoldings","nonZeroHoldings","fundInfoModal","info3","resetDevices","resetTxt","devicesTxt","forceUpdate","forceInfo","skipInfo","unclaimedPayouts","mainHeading","trackStatus","searchWithTransaction","serviceRequestType","sebi","noFoliosToDownload","sebiInfo","statementType","period","periodContent","periodDisclaimer","folioListing","selectionHeading","emailSelectionHeading","passwordSuggestion","selectPeriod","table","head","submitLabel","downloading","note","networkText","timeOut","unableToProcess","dbCommercial","noNominee","indNote","ctLinks","newPurchase","additionalPurchase","sip","switch","stp","swp","sipPause","sipPauseDetails","eMandate","purchaseInfo","investmentPage","rightHeading","enterARN","enterSubBrokerARN","enterEUIN","enterRIA","emptyFolio","otmCancel","emptyInstallment","emptySip","invalidInstallment","stpType","fixed","notAllowed","variable","daily","weekly","monthly","quarterly","noOfTransfers","enterHere","stpDay","selectDay","fromDate","toDate","amountInstallment","swpDetails","sipCancel","sipTransaction","profileDetails","nominees","addressCheck","exploreMfs","searchmf","allMfHouses","viewAll","mfCategory","inactiveScheme","inactiveSchemeInfo","hybrid","other","solutionOriented","debtInfo","equityInfo","hybridInfo","mfFundSize","below100Cr","upto500Cr","upto1000Cr","above1000Cr","mfByRisk","low","moderatelyLow","moderate","moderatelyHigh","high","veryHigh","fundHouse","searchAmc","fundSize","selectScheme","risk","investmentType","onlySip","onlyLumpsum","wishlist","changeSchemePlan","startSip","startLumpsum","Lumpsum","returns","exitLoad","minLumpsum","fundType","planFilterTitle","returnDuration","minimumInvestmentFilterTitle","returnCalculator","overThePast","totalInvestment","fundsReturn","fundManager","sectors","companies","sector","company","allocation","showLess","returnCalcDisclaim","kycError","nomineeShare100","enterDistSubDist","EUINmandatory","RIAMandatory","ISINMandatory","NameDOBOccupationRequired","BankDetailsMandatory","euinFlag","distId","subDist","zeroNetWorth","fillAllDetails","minLengthForArn","maxLengthForEuin","taxStatusError","chequeRequired","relationshipError","mfInvestment","stpAmount","swpAmount","selectSwpDay","selectStpDay","existing","purAllow","sipAllow","investmentMode","investingThrough","purchaseType","enterArn","subBrokerArnCode","lumpsumAmount","sipAmount","disclaimers","disclaimersLink","and","of","mfCentral","addToCart","edit","prefilled","personalDetails","panNo","moh","nomineeDetails","countryofTaxR","tinorEqui","taxIdType","selectSipDay","howLong","untilIStop","Or","tenure","years","cotr","tin","riaCode","mfPayment","selectPayment","otm","upi","netBanking","modeOfRegistration","otmRowStatus","otmUmrnEmpty","addNew","transactionNumber","payVia","enterUPIId","mandateAmount","bankAccount","otmMaxAmountLabel","otmExpiried","otmNotEligible","existingOtm","newOtm","umrnNo","mandateEndDate","mandateBank","registerMandate","enterFollowing","enterBankDetails","gotoEmandate","investorName","accountHolder","confirmAccountNoValidationMsg","selectUntilToday","ifscAndBank","existingBankError","lengths","eMandateDuration","invalid","investorPan","investorMail","branchName","bankAccountNo","confirmBankAccountNo","untilCancelled","mfCart","cartDetails","schemesAdded","lumpsum","totalAmount","proceedToPay","addMoreFunds","amountPayable","successScreen","headingInfo","investmentSummary","paymentMode","Id","goToTransact","failureScreen","pendingScreen","fatcaStatus","checking","otmStatus","vrFooterSource","vrFooterInfo","leftMenu","contactDetails","fatcaKyc","kyc","editProfileDetails","rightMenu","income","firstHolderDetails","emailRelationship","mobileRelationship","firstHolderName","firstHolderPan","secondHolderDetails","secondHolderName","secondHolderPan","proceed","fatcaEdit","taxId","addId","pep","sow","sof","cservices","micr","lumpsumError","minInvest","multipleOf","maxInvest","NB","bankNotSupportError","paymentProviderError","notSupported","OTM","UPI","paymentFlow","initiatingPayment","redirectingToPayment","selectSchemeToRedeem","redeemBy","redeemable","remaining","redeemFullAmount","redeemFullUnits","redeemDetails","currentValue","totalBalanceUnits","redeemableUnits","currentNav","invalidAmount","invalidUnits","maxUnits","redemptionSummary","redemptionUnits","remainingUnits","exitLoadUnits","amountCreditedTo","redeemAfter","redeemAfterSpan","stayInvested","redemptionReason","goalAchieved","needFunds","poorPerformance","investInOther","switchFromInfo","switchToInfo","switchFromAmountError","switchFromUnitError","selectedSwitchFrom","selectSwitchTo","switchFrom","switchTo","switchFullAmount","switchFullUnits","minSwitchAmount","minSwitchUnits","viewDetails","newSchmes","noFunds","noFolios","EUIEmpty","acceptEUINDeclaration","selectEUIN","invalidARN","RIALength9","amountEmpty","amountNegative","amountGreaterThan","empty","negative","lessThan","riaCodeRequired","riaCodeMin","arn1Required","arn1Min","arn2Required","arn2Min","termsAndCondition","ct_minor","ct_nro","avaialbleUnits","noIFSC","ifscBank","noFundsAvailable","termsModal","camsEMandate","info4","info5","info6","info7","info8","info9","info10","info11","info12","info13","info14","info15","info16","info17","info18","info19","info20","info21","info22","kfinEMandate","euinModal","nct","default","transactionSource","minorFolio","reInitiateNewPurchaseFields","dd_trdate","dd_distributor","dd_trtype","dd_amt","dd_email","dd_invgender","dd_invdob","dd_mobileno","plndesc","optdesc","fm_plandesc","fm_optiondesc","sip_amt","dd_subbroker","dd_pangno","dd_bnkacno","dd_bnkacname","dd_acno","dd_bnkacctype","dd_pangno2","dd_pangno3","dd_invadd1","dd_invadd2","dd_invadd3","dd_invcity","dd_invstate","dd_country","dd_invpin","dd_phone","dd_invphone2","dd_joinholder1","dd_joinholder2","dd_jh1dob","dd_jh2dob","dd_jt1mobile","dd_jt2mobile","jt1mobile","jt2mobile","i_invgender2","i_invgender3","jt1category","jt2category","i_email2","i_email3","i_invstate2","i_invstate3","i_invcity2","i_invcity3","i_invpin2","i_invpin3","emailrelationship","mobilerelationship","dd_paymode","dd_genguardian","dd_genguardianDOB","dd_nominee","dd_NomRelation","dd_NomDOB","dd_nomadd1","dd_nomadd2","dd_nomadd3","dd_nomcity","dd_nomstate","dd_nompin","dd_nrimobile","dd_nriemail","dd_nriadd1","dd_nriadd2","dd_nriadd3","dd_nricity","dd_nristate","dd_nripin","dd_sipstartdt","dd_sipenddt","dd_micrno","dd_ifcscode","dd_nricountry","fm_category","dd_bnkpin","dd_bnkcity","dd_bnkadd1","dd_bnkadd2","dd_bnkadd3","gross_income","Country_of_Birth","Country_of_Citizenship","Foreign_Tax_Id","etf_flag","i_Fname","USERID","smart_flag","euindeclaration","Paymenttype","UMRN_Code","nom1email","nom2email","nom3email","arnsubbroker","nom1gender","nom2gender","nom3gender","i_invcountry2","i_invcountry3","i_nompan1","i_nompan2","i_nompan3","i_nominee2","i_Nom2Relation","i__Nom2DOB","i_nom2add1","i_nom2add2","i_nom2add3","i_nom2city","i_nom2state","i_nom2pin","i_nominee3","i_Nom3Relation","i_Nom3DOB","i_nom3add1","i_nom3add2","i_nom3add3","i_nom3city","i_nom3state","i_nom3pin","i_nomguardianpan1","i_nomguardianpan2","i_nomguardianpan3","i_nomguardianname1","i_nomguardianname2","i_nomguardianname3","i_namguardianrelationship1","i_namguardianrelationship2","i_namguardianrelationship3","FCountryofBirth","SCountryofBirth","TCountryofBirth","FForeignTaxId","SForeignTaxId","TForeignTaxId","FForeignTaxType","SForeignTaxType","TForeignTaxType","FNationality","SNationality","TNationality","FTaxResident","STaxResident","TTaxResident","i_Occpn","i_SOccpn","i_TOccpn","i_guardianname","i_Sguardianname","i_Tguardianname","i_guardianpan","i_Sguardianpan","i_Tguardianpan","i_income","i_Sincome","i_Tincome","i_invpin","country_code","JHfEmailFlag1","JHfEmailFlag2","JHfMobileFlag1","JHfMobileFlag2","JHcountry_code1","JHcountry_code2","i_jhnriadd1","i_jhnriadd2","i_jhnriadd3","i_jhnricity","i_jhnristate","i_jhnricountry","i_jhnriemail","i_jhnrimobile","jhnriZIP_code","i_shnriadd1","i_shnriadd2","i_shnriadd3","i_shnricity","i_shnristate","i_shnricountry","i_shnriemail","i_shnrimobile","shnriZIP_code","i_guadianmobile","i_guardianemail","i_guardianEmailFlag","i_guardianMobileFlag","i_guardianrelationship","dd_CountofBirth1","dd_CountofBirth2","dd_CountofBirth3","dd_ForeignTaxId1","dd_ForeignTaxId2","dd_ForeignTaxId3","dd_ForeignTaxType1","dd_ForeignTaxType2","dd_ForeignTaxType3","dd_Nationality1","dd_Nationality2","dd_Nationality3","dd_PolitycallyExp1","dd_PolitycallyExp2","dd_PolitycallyExp3","dd_TaxResident1","dd_TaxResident2","dd_TaxResident3","dd_mohoccpn2","dd_mohoccpn3","dd_euincode","dd_Nom2DOB","dd_Nom3DOB","dd_nomcountry","dd_nom2country","dd_nom3country","dd_Nom2Relation","dd_Nom2DOB1","dd_nom2city","dd_nom2add1","dd_nom2add2","dd_nom2add3","dd_nom2state","dd_nom2pin","dd_nominee2","dd_guardpan","dd_nominee3","dd_Nom3Relation","dd_Nom3DOB1","dd_nom3add1","dd_nom3add2","dd_nom3add3","dd_nom3city","dd_nom3state","dd_invgender2","dd_invgender3","dd_invcountry2","dd_invcountry3","dd_nomgender","dd_nom2gender","dd_nom3gender","dd_nom3pin","dd_Nominee1percentage","dd_Nominee2percentage","dd_Nominee3percentage","Noof_Instalments","dd_urnno","Number_of_Nominee","aotmflg1","EQUITY","LIQUID","DEBT","OTHER","REGISTER_WITH_MOBILE","REGISTER_WITH_EMAIL","addDialCode","getDateString","d","validUploadFileSize","validUploadFileFormats","OTP_ACTIONS","_minDateForCalender","isAlphaNumeric","isAlphaNumericAddress","minDateForCalender","currentYear","getDay","checkForOnlyAlphabets","MAX_LENGTH_FOR_ADDRESS","accountNumberRegex","accountNumberValidation","ACCOUNT_TYPE_MASTER_DATA","validateIfsc","getBankAddress","address3","SearchInput","darkmode","searchKey","startAdornment","InputAdornment","TextInput","getTaxStatusCode","getRelationShip","SE","SP","DC","DS","DP","GD","PM","CD","PO","getIncomeValue","getPepValue","Y","N","getOccupation","getAddressType","RB","R","B","RO","getSourceOfWealth","NRI_CODES","portfoliosWithNoIfsc","neftIfsc","getIFSCDetails","nomineeFolios","filterFunc","investorDetails","invIndex","_ele","func","call","amcName","assetType","portfoliosByTransactionResource","transactionSourceToUpper","portfoliosByMinorStatus","age","taxToUpper","minorBelowEighteenYears","portfoliosByModeOfHolding","modeOfHoldingUpper","getPortfoliosFilteredData","folioList","valid","schemeNames","mapInvestorDetailsToPortfolios","taxStatusLabel","_fund","getInvestorFunds","defaultFilterFunc","matchFlag","modeOfHoldingSingle","transactionSourceScenarioEmpty","aboveEighteen","getErrorMessage","row","dividendFilters","messageTable","defaultError","portfoliosByReinvestment","schemeOption","schemeToUpper","portfoliosByPayout","portfoliosByDividend","portfoliosByIdcwStatusNew","idcwChangeAllowed","fundsByLienFlag","lienUnitsFlag","maskEmail","parts","getMatchAndUnMatchedFunds","addDisable","matchedData","unMatchedData","activeRows","disabledRows","formikState","touched","showHelperText","maskMobileNumber","mobileNumber","FETCH_INVESTOR_DETAILS","saveNominee","fetchInvestorDetails","filterdByFolio","filteredFunds","updateEmail","updateMobile","sendPhoneOTP","userRegisteredWith","updateFATCA","fetchIFSCDetails","updateMultiBankDetails","onSaveImageData","en","joinName","validateName","oldName","newName","initSelection","newValue","field","validate","handleChangeCondition","masterData","shouldValidateField","ValidationUI","isValidating","onValidationText","successfulValidationText","DatePickerInput","allowKeyboardControl","InputLabelProps","shrink","KeyboardButtonProps","inputVariant","SubmitButton","Button","CancelButton","LoadDots","labelWhileLoading","SubmitButtonWithLoader","payloadKeyValues","secondaryHolderName","thirdHolderName","guardian_name","getNameIndex","portfolio","updateDataEntry","useState","selection","setSelection","selectedItems","setSelectedItems","nameFields","setNameFields","openDrawer","setDrawer","setLoader","ifscValidation","setValidation","nomineesShare","setNomineesShare","searchString","setSearch","setError","setValidate","setLoading","ifscField","useEffect","document","getElementById","blur","checkForCorrectIFSC","nameFieldsOfNominee","fundKeysByRowData","bank_accountNo","bank_accountType","guardian","nomineesNames","nomineeNamesKey","nomineesShares","nomineeSharesKey","percent","nomineesNamesData","nomineesShareData","_nominee","isNominee","updateKeysWithRowData","updatedSelections","selector","handleTextInputChange","handleSubmit","nomineeIds","keyValuePairs","selectedFieldPairs","correctedData","updatedNominees","totalShare","sum","current","dpId","modifiyDataEntry","distributor_id","reqId","firstError","handleSearch","selections","getNames","selectorKey","keyList","updatedValue","oldValue","filteredNames","namesData","dataSelection","endAdornment","FormGroup","prevSelections","_selector","_handleCheckBoxChange","lineHeight","SwipeableDrawer","anchor","onOpen","labelId","FormHelperText","maxlength","initialValues","pincode","guardianPan","guardianAddress","guardianDob","validatePan","yup","val","matches","notRequired","NomineeSummary","nomineesData","noNomineeFlagAll","verified","setNominees","nomineeState","line1","line2","isEditable","showDetails","editShare","isNewlyAdded","isEdited","CheckBoxField","BackArrow","header","ActionHeader","subHeader","currIndex","setCurrentIndex","useSelector","NomineeReducer","isExpanded","setIsExpanded","noNomineeFlag","setNoNomineeFlag","useDispatch","nomineeApiPayload","nomineeData","eNomType","eSignFlag","eNomDocId","apiRes","succesMessage","paddinTop","nomineeIndex","KeyboardArrowUp","KeyboardArrowDown","colSpan","EMAIL_LISTING_ROUTE","EMAIL_ENTER_ROUTE","EMAIL_OTP_VERIFY","REGISTERED_EMAIL_OR_PHONE_VERIFY","CHANGE_EMAIL_LOGIN_FLOW","CHANGE_EMAIL_MOBILE_LOGIN_FLOW","getChangeEmailFlow","registerType","MOBILE_LISTING_ROUTE","MOBILE_ENTER_ROUTE","MOBILE_OTP_VERIFY","SUCCESS","MOBILE_LOGIN_FLOW","EMAIL_LOGIN_FLOW","getChangeMobileFlow","nextScreen","nctFlow","flows","_flow","EmailRelationship","emailFormik","maxWidth","validationSchema","sendEmailOTP","useFormik","isPhygitial","enteredEmail","hiddenLabel","mobileFormik","existingMobile","setFieldValue","setFieldError","MobileRelationship","NoFoliosFound","extraClass","icon","useStyles","makeStyles","CustomToolTip","leaveTouchDelay","enterTouchDelay","useRowStyles","TableWithCollapse","rows","_columns","columns","radioGroupsEnabled","isCollapse","renderCollapse","checkBoxEnabled","toolTipDescription","selectedRows","setSelectedRows","disableAllSelection","filterType","setFilterType","setFilteredData","isCheckBoxSelectable","resetFilters","enableSearch","notFoundMessage","useMemo","column","isFilter","filterColumns","filterBy","isRowsLoading","Cell","MobileRow","collapse","setCollapse","_row","_onRowSelected","Skeleton","toolTipTextGetter","placement","_index","renderCell","valueGetter","GridParams","colDef","headerName","Collapse","in","timeout","unmountOnExit","DataRow","renderRow","toolTipEnabled","isRowSelectable","SelectAllCheckBox","isAllSelected","isRowHaveSelectedItems","indeterminate","_onColumnHeaderClick","MobileSelectAll","onColumnHeaderClick","filteredRows","filterKeys","filtredRowData","currRow","_key","_filterData","assetTypes","_assetType","_TableFilters","TableFilters","borderTop","_handleChange","fieldKey","fieldData","_filteredData","Filters","filterKey","filterHeader","renderStaticFilters","_index1","useTableWithCollapse","initialSelectionModal","initialFilterType","initialFilterData","resetTable","useCallback","tableColumns","tableRows","groupFilteredData","rowData","uniqueEmailMobileMap","currentKey","mobileEmailFilterReducer","groupedFilterMap","emailMobileKeys","uniqueKeys","useMobileEmailFilter","useReducer","filterState","filterDispatch","setGroupFilterMap","mohMap","Columns","size","stopPropagation","setRowData","brokercode","nomineeFunds","otherFunds","_nomineeFunds","trace","callApi","_rederCollapse","_","TableBody","gap","emailStyle","showModal","cancelBtn","proceedHref","mobileOrEmail","onCancel","show","setShow","onProceed","IsAllow","isKYCVerified","PlanTypes","AccountTypes","sendOtp","uniqueMobileNo","setUniqueMobileNo","selectMobile","setSelectMobile","setFilterdData","foliosToUpdate","newData","newEmail","req_id","mobileNumbers","fetchPortfolio","getPortfolio","uniqueEmailId","setUniqueEmailId","selectEmail","setSelectEmail","emailIds","AndriodUploadOptions","_getFileType","fileType","documentFormat","setImageName","onImageSelected","initSelected","imageName","selectedFile","setSelectedFile","setIsSelected","anchorEl","setAnchorEl","_window","_navigator","navigator","getBase64","Promise","resolve","reject","reader","onerror","changeHandler","persist","fileSize","handleClose","onSuccess","resolveLocalFileSystemURL","onFileReadSuccess","onFailToRead","fileEntry","onFail","fileOptions","device","platform","onSelect","camera","getPicture","quality","destinationType","Camera","DestinationType","FILE_URI","sourceType","PictureSourceType","PHOTOLIBRARY","encodingType","EncodingType","JPEG","mediaType","MediaType","PICTURE","allowEdit","correctOrientation","browseFiles","Box","sx","ml","currentTarget","Popover","anchorOrigin","horizontal","transformOrigin","ListItem","UploadDocumentScreen","backLink","showMobile","nextLink","emailInfo","mobileInfo","hrefLink","mx","bgcolor","Document","setDocument","handleSubmission","imageInfo","REACT_APP_S3_CLOUD_URL","RadioButton","radioImg","cssClass","CustomRadio","selectedValue","handleRadioChange","initValue","setValue","useRadio","FormLabel","_childProps","PAYOUT_TO_REINVEST","MenuList","schemeName","updateDividend","setFolioList","dividendOption","setDividendOption","folioData","schemeOptionsData","currentIndex","getDividendFilteredData","schemeCode","currentIdcwOption","newIdcwOption","InputLabel","SuccessScreen","infospan2","handleClick","backNavigation","showTrackStatusButton","ChangeDividendSuccess","getList","infospan1","_renderBank","setRowdata","consolidateFunds","setConsolidateFunds","setTargetFunds","targetFunds","amcType","setAmcType","consolidationData","cd","firstEl","secondEl","amcName1","amcName2","consolidationRowData","_onGotoSourceFolios","targetFund","matchTaxStatus","matchInvestor","investorPekrn","secondHolderPekrn","thirdHolderPan","thirdHolderPekrn","matchModeOfholding","targetModeOfHolding","modeOfHoldingToUpperCase","matchEmail","matchMobile","matchJointHolders","matched","unMatched","routeStateParams","_renderCollapse","rowKeydData","firstNominee","secindNominee","thirdNominee","consolidationFolios","isChecked","setChecked","transformedData","updateConsolidationFolios","FailureScreen","ConsolidationFoliosFailure","findDefaultBank","findDefaultBankIndex","defaultBankIndex","ChangeBankColumns","bankFundRowData","rowDefaultBankIndex","fundDefaultBankIndex","rowIfsc","rowAccountNo","IfscModal","content1","content2","content3","content4","Grid","container","xs","sm","wordBreak","SecureInput","showSecure","onPaste","edge","Selector","formik","isSubmitting","Form","ui","submitButtonLabel","buttonExtraActions","isCancel","cancelButtonLabel","parentClass","extraProps","fieldProps","updateValue","AddNomineeForm","thisYear","resetFieldError","fieldName","setErrors","cancelFormSubmission","relations","handleNomineeChange","handleAddressCheck","AddNominee","onReset","handleResetForm","validationSchemaNominee","validateOnChange","nomineeNames","ind","nomineePans","formFields","setValues","FormLoad","relationShips","nullable","UpdateNomineeEdit","useHistory","useLocation","deleteIndex","setDeleteIndex","showShareModal","setShowShareModal","handleAddNomiee","currentNominee","handleUpdateNominee","names","line3","handleAddNominee","resetForm","addedRelations","handleDeleteNominee","err","updateBankDetails","setDetails","newBankDetails","setNewDetails","modalData","setShowModal","oldCheque","newCheque","deleteType","showAlertModal","setAlertModal","folioRef","useRef","validBankIndex","_getIFSCDetails","_handleTextInputChange","validateForm","validForm","bankData","sourceAccountNo","targetAccountNo","_handleChangeBankDetails","resetValues","bankAddress","BankAdd1","BankAdd2","BankAdd3","BankPin","BankCity","fieldValidation","onBlurFunction","UpdateIFSCColumns","ifscRowData","initMessage","updateIfsc","ifscError","setIFSCerror","setBankDetails","notInitialRender","setBankData","_getBankDetailsFromIFSC","newIfsc","newType","UpdateIFSCSuccess","CorrectionFolioColumns","EDIT_ACTION","correctionFoliosRowData","getKeyByValue","object","prepareKycValidations","MAX_LENGTHS","KYC_MIN_LENGHTHS","getCountryNameFromCode","countryData","TaxDetail","taxDetail","taxDispatch","countries","validateTaxDetail","handleEdit","dispatchValue","EDIT","SAVE","editing","lg","tinAvailability","tinId","identityVerification","identityVerificationText","reasonOption","multiline","errPresent","borderStyle","handleDelete","KycFields","kycFormik","handleBlur","isIndianResident","kycInitialValues","taxInitialState","taxReducer","getCountries","enableForProduction","getFatcaDetails","validateOnMount","taxData","setCountries","PEKRN","countriesData","fatcaInfo","taxResidencyOtherthanIndia","No","kycDetailsValues","kycDetailsInitValues","taxDetails","_taxDetails","countryTax","idType","reasonOptioN","tinReason","getTinReasonOption","formIsValid","checkMaxCharacter","validateCommonFields","submitForm","taxDetailsValid","commonFieldsValid","isValid","taxDetailsForAPI","tinRemarks","ADD_BANK","CHANGE_DEFALUT","actionType","setActionType","addBank","tf","setCheques","sourceAccountNos","operationType","blurFunction","filteredDetails","tablesData","setTablesData","initState","selectedBanks","flat","reducedData","handleDeleteFolio","_detail","DELETE_BANK","_actionReducer","NFOAndNewPurchaseDigital","exact","Nominee","ChangeEmail","ChangeIdcw","ConsolidationSourceFolios","changeBankSelected","bankMandateAddBank","bankMandateDeleteSelected","bankMandateSelected","updateIfscDetails","correctionFoliosSelection","ChangeMobileNew","ChangeEmailList","changeEmailDocument","changeMobileDocument","EKYC","cleanedValue","ipv","messageAlert","kycType","InvMobile","InvEmail","EKYCMail","handleChangeKycType","handleKycStatus","borderLeft","redirectKyc","SIPModeTypes","SipEnach","ChangeFolio","getEnachFoliosList","gotoSIP","EnachEndDate","EnachStartDate","EnachMaxAmount","enachSipDetails","gotoENACH","GM_ifsc","bankac","bankname","gotosip","steps","i_dob","i_nominee","hide","CardComponent","Heading","storeFatcaDetails","getCitiesByState","storeAddress","setIsLoading","categoryoccupationprimary","categoryoccupationjoint1","categoryoccupationjoint2","categoryoccupation","setCategoryOccupation","gross_annual_incomeprimary","gross_annual_incomejoint1","gross_annual_incomejoint2","gross_annual_income","setGross_Annual_Income","countriesList","setcountriesList","foreigncountriesList","setforeigncountriesList","countryofbirth","countryofbirthjoint1","nationalityjoint1","countryofbirthjoint2","nationalityjoint2","countryselected","setcountryselected","i_category","joint1","i_category2","joint2","i_category3","tax_resident","setTax_resident","politically_exposed_applicant","setPolitically_Exposed_Applicant","politically_exposed_relative","setPolitically_Exposed_Relative","tax_resident_option","settax_resident_option","foreign_tax_id_no","setforeign_tax_id_no","value_joint1","value_joint2","setPincode","setOpenModal","panverification","firstRender","FPEP","FPREP","SPEP","SPREP","TPEP","TPREP","i_pangno2","i_pangno3","checkReduxStore","getLists","prefillFormValues","countriesResponse","Countries","country_name","ForeignCountrires","RemomovingIndia","splice","typeofinvestor","GrossAnnualIncome","app_occ","add1","add2","add3","countryvalue","convertingcountry","restOfGreeting","convertcountry","Address","handleRadioButton","i_genMOH","fatcawidth","items","preValues","newValues","Category","EUIN","MinimumAmount","MinimumInstallements","sipDateList","frequencyList","planValue","optionValue","schemeValue","modeList","EUINNO","CategoryList","multiple","umrnList","formValues","setFormValues","InputFields","listName","dialog","setDialog","SIP_Date","setFrequencyList","euinParams","euinResponse","fetchUMRNList","getSipDates","sipDateParams","sipDateResponse","End_dt","Start_dt","getMinInstallment","installment","frequencyParams","frequencyResponse","frequencyData","fetchSchemeList","schemeParams","schemeResponse","SIPminamt","fetchEuinList","abm_name","fetchModelist","Pay_Mode_Val","fetchCategoryList","AMC","Umrn_endDate","URMN_enddate","startDateSplitting","dateFromTimestamp","Year","Month","Day","ct","noof","final_keys_for_validation","schemedetails","i_scheme","i_plan","i_disitributorid","i_EUINno","i_noofinst","i_sipstartdt","i_sipenddt","i_paymode","i_umrno","paramsSip","i_trtype","i_appldt","i_chqdt","i_sipflag","Invdistflag","CustomFund","responseSip","section","margingBottom","pre","Transaction","transactionStatus","submitLumpsumDetails","Combo","comboDisclaimer","comboLabel","PlanDesc","minAmt","storeLumpsum","confirm","i_amount","paramsLumpsum","i_email","i_maskedEmail","i_orignalEmail","i_mobileno","i_maskedMobile","i_orignalMobile","i_bankadd2","i_bankadd3","responseLumpsum","handleCombo","commonValues","MinimumLumpsumAmount","setScheme","LumpsumSip","checkIfMinor","getFieldsFromMap","Schema","noOfApplicants","customHandler","k","getFieldList","fieldMap","f","hidden","$wait","rej","setTimeout","defaultChoiceOptions","ChoiceField","o","AutoField","inputField","investorType","commonProps","optionsList","SelectDisplayProps","emptyLabel","divStyle","isRequired","INDIVIDUAL","checkPAN","requestBody","PanName","PanDOB","JH1_PAN","jointHolder1Pan","JH1_PanDOB","jointHolder1PanDOB","JH1_PanName","jointHolder1PanName","JH2_PAN","jointHolder2Pan","JH2_PanDOB","jointHolder2PanDOB","JH2_PanName","jointHolder2PanName","G_Pan","G_PanName","guardianPanName","G_PanDOB","guardianPanDOB","TrxnType","invStatus","JH1_invStatus","JH2_invStatus","panAadhaaarResponse","storePan","maskedMobile","setMaskedMobile","maskedEmail","setMaskedEmail","orignalMobile","setOrignalMobile","orignalEmail","setOrignalEmail","allInvestorPan","SINGLE_APPLICANT","investortype","setInvestorType","disabledFields","setDisabledFields","validateSecondPan","secondPan","firstPan","pan_1","thirdPan","pan_3","validateThirdPan","pan_2","applicantSchema","emailFamily","mobileFamily","guardianname","guardianpan","guardiancategory","guardianemailFamily","guardianemail","guardianmobileFamily","guardianmobile","guardianRelationship","initialFormValues","kycCompleted_1","allFieldsMax","showJointHolders","applicantFields","panNotFilled","validateField","category_1","MobileNo","j","displayModal1","setDisplayModal1","displayModal2","setDisplayModal2","setPreviouslyCheckedPAN","applicantFieldList","allFields","i_fname","kycDetails","name1","app_cat","kycFormValues","name_1","dob_1","differenceInYears","email_1","gender_1","mobile_1","status_1","gotoEkyc","i_invgender","i_jholder1","i_jh1dob","i_mobileno2","i_jholder2","i_jh2dob","i_mobileno3","i_nriadd1","i_nriadd2","i_nricity","i_nristate","i_nricountry","i_guardiancategory","convertDateFormat","originalDate","getStatus","getInvStatus","trType","guardianpan_1","guardianname_1","name_2","dob_2","name_3","dob_3","category_2","category_3","G_invStatus","guardiancategory_1","validateResponse","ApplicantDetails","i_Ckyc1","emailFamily_1","mobileFamily_1","countrycode_1","address1_1","address2_1","city_1","state_1","country_1","address1_2","address2_2","city_2","state_2","country_2","address1_3","address2_3","city_3","state_3","country_3","email_2","emailFamily_2","mobileFamily_2","gender_2","mobile_2","countrycode_2","email_3","emailFamily_3","mobileFamily_3","gender_3","mobile_3","countrycode_3","guard_category","guardianmobile_1","guardianemail_1","guardianemailFamily_1","guardianmobileFamily_1","guardianRelationship_1","Transaction_allow","PASFlag","PASRemarks","PANFlag","PANRemarks","PANNameMatch","JH1_panFlag","JH1_panRemarks","JH2_panFlag","JH2_panRemarks","G_panFlag","G_panRemarks","JH1_PANNameMatch","JH2_PANNameMatch","G_PANNameMatch","PanDOBMatch","JH1_PanDOBMatch","JH2_PanDOBMatch","G_PanDOBMatch","field_key","countryCode","countryCodeKey","then","getKycStatus","catch","app_pangno","isMinor","newFormValues","jointHoldersFields","removeJointHolderDetails","nextEmpty","storeNomineeDetails","getNomineeDetails","first_nominee_details","otherrelationship","percentage","gaurdianname","gaurdianpan","gaurdianrelationship","second_nominee_details","third_nominee_details","NomineeListShow","setIsNomineeListShow","nominate_yes_or_no","setnominate_yes_or_no","nominee_selected1","nominee_selected2","nominee_selected3","nominees_selected","setnomineeSelected","nomineeList","setnomineeList","relationshipList","setrelationshipList","same_as_first_appicant_address","setsame_as_first_appicant_address","first_nominee_dateofbirth","second_nominee_dateofbirth","third_nominee_dateofbirth","nominee_dateofbirth","setnominee_dateofbirth","nominee_list","setnominee_list","first_nomineeDetails","setfirst_nomineeDetails","second_nomineeDetails","setsecond_nomineeDetails","third_nomineeDetails","setthird_nomineeDetails","inputLabel","setInputLabel","handleChangeNomineeList","nomineelist","secondRender","prevDetails","prefill_nomineelist","nomineeone_details","nomineetwo_details","nomineethree_details","Nom1","Nom1Relation","Nom1_Dob","Nom1_Gender","Nom1_Add1","Nom1_Add2","Nom1_Add3","NomPer1","Nom1_Country","Nom1_state","Nom1_pin","Nom1_City","NomPer2","NomPer3","NomineeDetails","i_NomRelation","i_NomRelation2","i_NomRelation3","i_NomDOB","i_NomDOB2","i_NomDOB3","i_Nominee1percentage","i_Nominee2percentage","i_Nominee3percentage","i_nomadd1","i_nomadd21","i_nomadd31","i_nomcountry","i_nom2country","i_nom3country","i_nomstate","i_nomstate2","i_nomstate3","i_nomcity","i_nomcity2","i_nomcity3","i_nompin","i_nompin2","i_nompin3","new_nominee_dateofbirth","nomineevalues","AddNew","relationShipResponse","relationShipList","rm_relation","handleDateofBirth","datevalue","min18yersletnew","oneday","handleNomineeList","RemovingTheNomineeMember","nomineedetails","thirdPercentage","secondPercentage","Nom2_Dob","firstPercentage","Nom3_Dob","handleChangePan","arr","handlePercentage","handlePincode","handleName","isDuplicate","emailValue","isDistributorEmail","storeInvestmentDetails","storeInvestmentParams","validatePennyDrop","getBankList","NewinvestorBankDetails","bankAccountTypes","getAccountTypes","IFSC","BanksListShow","DisablingBankDetails","SchemeType","typeList","Account_Type","alphanumericRegex","MicrNo","bankadd1","bankadd2","bankadd3","invdetails","i_ifsccode","i_bnkacname","i_bnkadd1","i_bnkadd3","i_bnkadd2","i_bnkcity","i_bnkpin","i_bnkacctype","i_bnkacno","pattern","activestep","InvestorDetails","FatcaDetails","BankDetails","SchemeDetails","NEW_NCT_TYPES","isPhygitalPath","phygital","isNew","NctTypeMap","nomineeFlag","NctTypeCard","commonStyle","UpdateNomineeSuccess","TransactionRouter","NewInvestorRegistration","SelectedFolios","MAILBACK_URL","MailBack","handleChangeReports","handleChangeReportTypes","reportType","handleChangeFunds","handleChangePassword","reformtStDt","changeEndDt","fromDateValue","toDateValue","refrenceNumber","d3","reportField","reportTypeField","passwordField","Userid","ReportNumber","ZipPwd","GetDistMailbackRequest","selfPassword","gotoblur","isPasswordError","HistoryDetail","getFunds","RemoveTransactionData","getTransactions","selectedFund","InvdDistFlag","getTransactionHistory","errorText","transactionList","isKyc","SchemeDesc","Status","TrtypeDesc","td_trno","td_amt","td_acno","td_nav","td_units","td_trdt","Units","NAV","getFundsByPan","SingleAmcheader","Investordata","HistoryRouter","Investors","HISTORY_URL","TransactionHistory","TableData","goToTransaction","mailBackName","isCheckingKyc","goToMailBack","goToTransactionHistory","investorsCount","INVESTOR_URL","loaderDisplay","InvestorData","selectTab","tabName","storeType","activeTab","activeText","Investor","InvestmentTab","Investments","investment","CostValue","CurrentValue","GainPercent","schname","plnname","accno","sipdt","Fund_Name","Folio_Number","Sip_Date","Sip_Start_Date","Sip_End_Date","Sip_Amount","Sip_Status","favourite","favouriteInvestor","updateFavouriteInvestor","changeActive","noData","Params","YearFlag","getUpComingSips","KYC","GainVal","Gain","todaygain","InvestorRouter","InvestorComponent","SipSummaryTabContainer","setTableData","Table9","Table10","Table8","changeDateOn","Investmentsbutton","funddesc","ReinitiateConfirm","modal_open","modifyObject","locState","standalone","saving","ReferenceNO","td_fund","td_ihno","showPurchaseConfirmationReinitiate","confirmationResponse","dtData","conData","fetchConfirmationData","reInitiateProps","reInitiateTransaction","txn","confirmationDataNotFetched","transactionSchema","td_trtype","transactionTypeList","fallbackFields","getTransactionSchema","schemaFields","transactionTypeDesc","transactionFields","rawFields","genderKeys","emailormobileRelationship","occupationKeys","frequeincesKeys","getFieldValue","altKeys","altKeyMap","splitValue","milliseconds","padStart","valueSet","Map","finalKeyValuePairs","dateStr","normalizeValue","numValue","has","keyword","isDoubleCol","numRows","ceil","field1","field2","CircularProgress","r","confirmReinitiation","amountKeys","sip_freq","commonFields","inv_email","inv_mobileno","euincode","additionalPurchaseFields","subarn","Arn_no","End_date","Folio_no","Mobile_no","Start_date","Sub_Arn_no","sipFields","No_ofinstalments","NoOfInstalments","sip_enddt","sip_mode","redemptionFields","redemptionValue","Pan_no","swpFields","noWithdrawals","swpDay","switchFields","subARNCode","paymentUnits","tFund","topt","stpFields","switchOutScheme","stpOption","localScope","newPurchaseFields","ttype","fieldObj","transactionTypes","Switch","DashboardRouter","DASHBOARD_URL","DashboardComponent","Amc","AMCS","Social","Settings","City","fromYear","From_Year","toYear","To_Year","SubmitList","BlueLine","MailBackInvestor","RequestModes","visibility","InvestorSelection","SubmitRequest","ASON","BETWEEN","SINGLESOA","MULTISOA","SUMMARY","DETAILED","CURRENTFINANCIALYEAR","PREVIOUSFINANCIALYEAR","SPECIFICPERIOD","MailBackSoa","DateON","ConfirmSelfPassword","selectedNames","changeSoaValue","soaValue","handlechange","getDistFoliobyPan","handleChangefolio","handleChangeSelfextractPassWord","selfExtract","handleChangeConfirmSelfextractPassWord","confirmSelfExtract","handleChangeSelfPassword","handleChangeConfirmSelfPassword","asDate","selectednamevaluecheck","Zippwd","RepType","stdt","EndDt","getMailbackSoaStatus","handleMultiSelect","renderValue","indexOf","ListItemText","Cas","changesummaryData","ChangeDetailedData","changeStDt","reformtEndDt","d4","d5","DetailedData","handleChangeEmail","AsDate","endDateValue","Soapwd","ToDate","Brokermail","Soaflag","EmailId","LoginFlag","StmtFlag","Broker","getAccountStatement","ELSS","getElssStatment","CAN","fromdt","distCode","Password","distUid","CGS","GAS","panvadilation","Networth","Mode","mylp","emailid","pswd","pagetype","getNetworthPortfolio","MailbackRouter","strict","MailBackComponent","MailBackBreadCrumb","MyEarnings_URL","MyEarnings","getEarnings","getFundWiseEarnings","total","earning","Fromdate","isOld","NfoFunds","gotoTransact","checkParam","fund_desc","scheme_desc","LocationScheme","closingDate","closing_Date","OpeningDate","opening_date","NfoFundCard","openShare","OpenShareOptions","closeShare","WhatsappShareButton","quote","WhatsappIcon","EmailShareButton","subject","EmailIcon","NfoTransact","nfoLink","FundSchemes","euinflag","subbroker","NfoSchemesSubmission","nfo_link","filteredSchemes","nfoFunds","NfoRouter","NFOComponent","AppRouter","TransactionComponent","Footer","EKYC_URL","NFO_URL","PermanentDrawerLeft","handleToolsandCalculatorsClick","isToolsandCalculatorsActive","isProductActive","isContactActive","openDownloads","isDownloadsActive","handleProductClick","handleContactClick","handleDownloads","responsiveDrawer","logOut","openResponsiveDrawer","CssBaseline","appbaricons","lastloginmain","lastloginsub","appabarlogout","profilediv","profile","profileimage","profileSettingsicon","profileName","profilenametext","combined","profilenamesubtext","Divider","listImage","disablePadding","Drawer","toolbar","appBar","drawer","drawerPaper","appabarlastlogin","appabarring","lastlogindiv","profileRole","borderBottomRightRadius","profileRoletext","profileRolesubtext","profileSettings","profilenameMaintext","overflowX","overflowY","listTextActive","listText","SendOtp_EmailorMOB","Verify_EmailorMOB","SaveEmailMobile_Login","mobileOTP","emailOTP","mobileOtpOpen","emailOtpOpen","otpIdEmail","otpIdMobile","handleOTPSubmit","requestData","Slno","VerifyOTP","labelHeading","callingSaveAPI","otpid","response1","isMobile","isEmail","isOTP","isValidMobile","isValidEmail","isValidOTP","Login","getQueryParam","query","decodedFlag","browserDetails","getBrowserDetails","ipaddress","browser","goTermsConditions","Otpdata","displayOTP","nonce","usernameField","otpId","validateOTP","generateOTP","i_Ipaddress","ip","i_Browser","userLogin","saveLogin","gotoDistributorEmapanellement","gotogenerateArnLink","otpField","passwordPolicy_JMF","isPassword","userAgent","vendor","isFirefox","isChrome","isSafari","isEdge","isIE","Register","displayUserIdFields","arnCodeField","panField","invdist_flag","SignupCDMSValidate","isPasswordEqual","confirmPasswordField","CommonTemplate","textOne","textTwo","OTP","regenerteOtp","reGenerateOtp","submitOtp","enteredOtp","registration","responseNonce","otpMsg","CommonOtp","keyCode","charCode","ProtectedRoute","render","ForgotUserId","sendUserId","Emailid","forgotUserId","ForgotPassword","userIdField","validateForgotPasswordOtp","strongRegex","ResetPassword","TNDC","Faqs","handleAccordion","openAccrodion","q","Accordion","expanded","AccordionSummary","expandIcon","AccordionDetails","DistributorEmpanellement","panValue","validateOtp","otpValParams","validateEmpanelOTP","otpvalResponse","Result","saveCamsData","empanellement","fontStyle","getCamsData","generateEmpanelOTP","validateArn","generateUrl","validateEuin","EuinValidation","GenerateARNLink","validateEuinNo","dd","mm","yyyy","BroCode","brokerCode","euinCode","OutFlag","TrDate","Msg","Euincheck","Euinchange","shareopen","brokerCodeField","agentid","Message","validateSubBrokerCode","copyLinktoCilpboard","subBrokerCodeField","float","Bankdetails","bnkName","bnkCity","bankcity","bnkBranch","cdsl","nsdl","changeCity","nrmawy","loader","cities","bnkAccnum","bankdetails","AMC_Branch","rmname","saveBankDetails","fillDetails","IFSCcode","Bank_name","Accountnumber","bnkNameField","bnkAccnumField","bnkBranchField","bnkCityField","empanelmentData","nominee_name","Nomineename","nomineeAdd1","nomineeAdd2","ADDRESS2","nomineeAdd3","ADDRESS3","State","Pincode","nominee_add","nominee_city","nominee_pin","saveEmpanelmentNomineeData","nameField","nomineeAdd1Field","nomineeAdd2Field","nomineeAdd3Field","stateField","cityFieled","s","pincodeField","onblur","CommonARNLink","Confirmation","done","setOptions","bnk_name","bnk_accno","bnk_ifsc","bnk_city","agentcode","pennydropflag","otherentity","AgentParams","CDSL","NSDL","Agentresponse","Return_Code","Return_Msg","tmp","optionsClone","preLoginRoutes","RefreshToken","route","refreshToken","Routes","BajajCompanies","commonArnLink","Home","App","hostname","ReactDOM","serviceWorker","ready","unregister"],"mappings":"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","file":"static/js/main.826707f3.chunk.js","sourcesContent":["export const USER_LOGIN = \"USER_LOGIN\";\nexport const USER_LOGIN_SUCCESS = \"USER_LOGIN_SUCCESS\";\nexport const USER_LOGIN_FAILED = \"USER_LOGIN_FAILED\";\nexport const USER_LOGOUT = \"USER_LOGOUT\";\nexport const USER_PAN = \"USER_PAN\";\nexport const USER_LOGIN_REFRESH_FAILED = \"USER_LOGIN_REFRESH_FAILED\";\nexport const USER_LOGIN_REFRESH_SUCCESS = \"USER_LOGIN_REFRESH_SUCCESS\";\nexport const USER_LOGIN_REFRESH = \"USER_LOGIN_REFRESH\";\nexport const POSTER_OPEN = \"POSTER_OPEN\";\nexport const ENACH_UMR = \"ENACH_UMR\";\nexport const ENACH_FOLIO = \"ENACH_FOLIO\";\nexport const ENACH_BANK_ACC = \"ENACH_BANK_ACC\";\nexport const ENACH_END_DATE = \"ENACH_END_DATE\";\nexport const ENACH_START_DATE = \"ENACH_START_DATE\";\nexport const ENACH_MAX_AMOUNT = \"ENACH_MAX_AMOUNT\";\n","export const GET_DASHBOARD_DATA = \"GET_DASHBOARD_DATA\";\nexport const GET_DASHBOARD_DATA_SUCCESS = \"GET_DASHBOARD_DATA_SUCCESS\";\nexport const GET_DASHBOARD_DATA_FAILED = \"GET_DASHBOARD_DATA_FAILED\";\nexport const GET_TRANSACTION_DATA = \"GET_TRANSACTION_DATA\";\nexport const GET_TRANSACTION_DATA_SUCCESS = \"GET_TRANSACTION_DATA_SUCCESS\";\nexport const GET_TRANSACTION_DATA_FAILED = \"GET_TRANSACTION_DATA_FAILED\";\nexport const GET_AUM_DATA = \"GET_AUM_DATA\";\nexport const GET_AUM_DATA_SUCCESS = \"GET_AUM_DATA_SUCCESS\";\nexport const GET_AUM_DATA_FAILED = \"GET_AUM_DATA_FAILED\";\nexport const GET_FREQUENT_MAIL_BACK_REQUEST = \"GET_FREQUENT_MAIL_BACK_REQUEST\";\nexport const GET_FREQUENT_MAIL_BACK_REQUEST_SUCCESS =\n \"GET_FREQUENT_MAIL_BACK_REQUEST_SUCCESS\";\nexport const GET_FREQUENT_MAIL_BACK_REQUEST_FAILED =\n \"GET_FREQUENT_MAIL_BACK_REQUEST_SUCCESS\";\n\nexport const GET_DASHBOARD_AUM_DATA = \"GET_DASHBOARD_AUM_DATA\";\nexport const GET_DASHBOARD_AUM_DATA_SUCCESS = \"GET_DASHBOARD_AUM_DATA_SUCCESS\";\nexport const GET_DASHBOARD_AUM_DATA_FAILED = \"GET_DASHBOARD_AUM_DATA_FAILED\";\n\nexport const GET_SIP_SUMMARY_DATA = \"GET_SIP_SUMMARY_DATA\";\nexport const GET_SIP_SUMMARY_DATA_SUCCESS = \"GET_SIP_SUMMARY_DATA_SUCCESS\";\nexport const GET_SIP_SUMMARY_DATA_FAILED = \"GET_SIP_SUMMARY_DATA_FAILED\";\n\nexport const GET_NFO_SCHEMES = \"GET_NFO_SCHEMES\";\nexport const GET_NFO_SCHEMES_SUCCESS = \"GET_NFO_SCHEMES_SUCCESS\";\nexport const GET_NFO_SCHEMES_FAILED = \"GET_NFO_SCHEMES_FAILED\";\n\n","export const GET_INVESTORS_LIST = \"GET_INVESTORS_LIST\";\nexport const GET_INVESTORS_LIST_SUCCESS = \"GET_INVESTORS_LIST_SUCCESS\";\nexport const GET_INVESTORS_LIST_FAILED = \"GET_INVESTORS_LIST_FAILED\";\nexport const GET_INVESTOR_DETAILS = \"GET_INVESTOR_DETAIL\";\nexport const GET_INVESTOR_DETAILS_SUCCESS = \"GET_INVESTOR_DETAIL_SUCCESS\";\nexport const GET_INVESTOR_DETAILS_FAILED = \"GET_INVESTOR_DETAIL_FAILED\";\nexport const FAVOURITE_INVESTOR = \"FAVOURITE_INVESTOR\";\nexport const FAVOURITE_INVESTOR_SUCCESS = \"FAVOURITE_INVESTOR_SUCCESS\";\nexport const FAVOURITE_INVESTOR_FAILED = \"FAVOURITE_INVESTOR_FAILED\";\nexport const SEARCH_INVESTORS = \"SEARCH_INVESTORS\";\nexport const SEARCH_INVESTORS_SUCCESS = \"SEARCH_INVESTORS_SUCCESS\";\nexport const SEARCH_INVESTORS_FAILED = \"SEARCH_INVESTORS_FAILED\";\nexport const GET_FUNDS_LIST = \"GET_FUNDS_LIST\";\nexport const GET_FUNDS_LIST_SUCCESS = \"GET_FUNDS_LIST_SUCCESS\";\nexport const GET_FUNDS_LIST_FAILED = \"GET_FUNDS_LIST_FAILED\";\nexport const GET_CATEGORY_LIST = \"GET_CATEGORY_LIST\";\nexport const GET_CATEGORY_LIST_SUCCESS = \"GET_CATEGORY_LIST_SUCCESS\";\nexport const GET_CATEGORY_LIST_FAILED = \"GET_CATEGORY_LIST_FAILED\";\nexport const GET_SCHEME_LIST = \"GET_SCHEME_LIST\";\nexport const GET_SCHEME_LIST_SUCCESS = \"GET_SCHEME_LIST_SUCCESS\";\nexport const GET_SCHEME_LIST_FAILED = \"GET_SCHEME_LIST_FAILED\";\nexport const VALIDATE_SUB_BROKER = \"VALIDATE_SUB_BROKER\";\nexport const VALIDATE_SUB_BROKER_SUCCESS = \"VALIDATE_SUB_BROKER_SUCCESS\";\nexport const VALIDATE_SUB_BROKER_FAILED = \"VALIDATE_SUB_BROKER_FAILED\";\nexport const STORE_TYPE = \"STORE_TYPE\";\nexport const GET_UPCOMING_SIP_DETAILS = \"GET_UPCOMING_SIP_DETAILS\";\nexport const GET_UPCOMING_SIP_DETAILS_SUCCESS =\n \"GET_UPCOMING_SIP_DETAILS_SUCCESS\";\nexport const GET_UPCOMING_SIP_DETAILS_FAILED =\n \"GET_UPCOMING_SIP_DETAILS_FAILED\";\n\nexport const GET_FOLIOS_CANCELLATION = \"GET_FOLIOS_CANCELLATION\";\nexport const GET_FOLIOS_CANCELLATION_FAILED = \"GET_FOLIOS_CANCELLATION_FAILED\";\nexport const GET_FOLIOS_CANCELLATION_SUCCESS =\n \"GET_FOLIOS_CANCELLATION_SUCCESS\";\nexport const SUBMIT_GET_FOLIOS_CANCELLATION = \"SUBMIT_GET_FOLIOS_CANCELLATION\";\nexport const SUBMIT_GET_FOLIOS_CANCELLATION_SUCCESS =\n \"SUBMIT_GET_FOLIOS_CANCELLATION_SUCCESS\";\nexport const SUBMIT_GET_FOLIOS_CANCELLATION_FAILED =\n \"SUBMIT_GET_FOLIOS_CANCELLATION_FAILED\";\n\nexport const SUBMIT_GET_STP_FOLIOS_CANCELLATION =\n \"SUBMIT_GET_STP_FOLIOS_CANCELLATION\";\nexport const SUBMIT_GET__STP_FOLIOS_CANCELLATION_SUCCESS =\n \"SUBMIT_GET__STP_FOLIOS_CANCELLATION_SUCCESS\";\nexport const SUBMIT_GET_STP_FOLIOS_CANCELLATION_FAILED =\n \"SUBMIT_GET_STP_FOLIOS_CANCELLATION_FAILED\";\n\nexport const PAUSE_SIP_DATES = \"PAUSE_SIP_DATES\";\nexport const PAUSE_SIP_DATES_SUCCESS = \"PAUSE_SIP_DATES_SUCCESS\";\nexport const PAUSE_SIP_DATES_FAILED = \"PAUSE_SIP_DATES_FAILED\";\nexport const PAUSE_END_SIP_DATES = \"PAUSE_END_SIP_DATES\";\nexport const PAUSE_END_SIP_DATES_SUCCESS = \"PAUSE_END_SIP_DATES_SUCCESS\";\nexport const PAUSE_END_SIP_DATES_FAILED = \"PAUSE_END_SIP_DATES_FAILED\";\nexport const PAUSE_SIP_VALIDATOR = \"PAUSE_SIP_VALIDATOR\";\nexport const PAUSE_SIP_VALIDATOR_SUCCESS = \"PAUSE_SIP_VALIDATOR_SUCCESS\";\nexport const PAUSE_SIP_VALIDATOR_FAILED = \"PAUSE_SIP_VALIDATOR_FAILED\";\nexport const FINAL_SIP_PAUSE = \"FINAL_SIP_PAUSE\";\nexport const FINAL_SIP_PAUSE_SUCCESS = \"FINAL_SIP_PAUSE_SUCCESS\";\nexport const FINAL_SIP_PAUSE_FAILED = \"FINAL_SIP_PAUSE_FAILED\";\nexport const SEND_MAIL_KYC = \"SEND_MAIL_KYC\";\nexport const SEND_MAIL_KYC_SUCCESS = \"SEND_MAIL_KYC_SUCCESS\";\nexport const SEND_MAIL_KYC_FAILED = \"SEND_MAIL_KYC_FAILED\";\n","export const PURCHASE_DATA = \"PURCHASE_DATA\";\nexport const PURCHASE_DATA_SUCCESS = \"PURCHASE_DATA_SUCCESS\";\nexport const PURCHASE_DATA_FAILED = \"PURCHASE_DATA_FAILED\";\nexport const SHOW_PURCHASE_CONFIRMATION = \"SHOW_PURCHASE_CONFIRMATION\";\nexport const SHOW_PURCHASE_CONFIRMATION_SUCCESS =\n \"SHOW_PURCHASE_CONFIRMATION_SUCCESS\";\nexport const SHOW_PURCHASE_CONFIRMATION_FAILED =\n \"SHOW_PURCHASE_CONFIRMATION_FAILED\";\nexport const CONFIRM_PURCHASE = \"CONFIRM_PURCHASE\";\nexport const CONFIRM_PURCHASE_SUCCESS = \"CONFIRM_PURCHASE_SUCCESS\";\nexport const CONFIRM_PURCHASE_FAILED = \"CONFIRM_PURCHASE_FAILED\";\nexport const SET_SIP_DETAILS = \"SET_SIP_DETAILS\";\nexport const SET_NEW_PAN = \"SET_NEW_PAN\";\nexport const SIP_SAVE_DATA = \"SIP_SAVE_DATA\";\nexport const SIP_SAVE_DATA_SUCCESS = \"SIP_SAVE_DATA_SUCCESS\";\nexport const SIP_SAVE_DATA_FAILED = \"SIP_SAVE_DATA_FAILED\";\nexport const SET_SWITCH_DETAILS = \"SET_SWITCH_DETAILS\";\nexport const SWITCH_SAVE_DATA = \"SWITCH_SAVE_DATA\";\nexport const SWITCH_SAVE_DATA_SUCCESS = \"SWITCH_SAVE_DATA_SUCCESS\";\nexport const SWITCH_SAVE_DATA_FAILED = \"SWITCH_SAVE_DATA_FAILED\";\nexport const SET_STP_DETAILS = \"SET_STP_DETAILS\";\nexport const STP_SAVE_DATA = \"STP_SAVE_DATA\";\nexport const STP_SAVE_DATA_SUCCESS = \"STP_SAVE_DATA_SUCCESS\";\nexport const STP_SAVE_DATA_FAILED = \"STP_SAVE_DATA_FAILED\";\nexport const GET_EARNINGS = \"GET_EARNINGS\";\nexport const GET_EARNINGS_SUCCESS = \"GET_EARNINGS_SUCCESS\";\nexport const GET_EARNINGS_FAILED = \"GET_EARNINGS_FAILED\";\n\nexport const SAVE_TRANSACTION_DETAILS = \"SAVE_TRANSACTION_DETAILS\";","export const GET_FUNDS_LIST_PAN = \"GET_FUNDS_LIST_PAN\";\nexport const GET_FUNDS_LIST_PAN_SUCCESS = \"GET_FUNDS_LIST_PAN_SUCCESS\";\nexport const GET_FUNDS_LIST_PAN_FAILED = \"GET_FUNDS_LIST_PAN_FAILED\";\nexport const GET_TRANSACTION_HISTORY = \"GET_TRANSACTION_HISTORY\";\nexport const GET_TRANSACTION_HISTORY_SUCCESS =\n \"GET_TRANSACTION_HISTORY_SUCCESS\";\nexport const GET_TRANSACTION_HISTORY_FAILED = \"GET_TRANSACTION_HISTORY_FAILED\";\nexport const GET_NAV_DATA = \"GET_NAV_DATA\";\nexport const GET_NAV_DATA_SUCCESS = \"GET_NAV_DATA_SUCCESS\";\nexport const GET_NAV_DATA_FAILED = \"GET_NAV_DATA_FAILED\";\nexport const REMOVE_NAV_DATA = \"REMOVE_NAV_DATA\";\nexport const REMOVE_TRANSACTION_HISTORY_DATA = \"REMOVE_TRANSACTION_HISTORY_DATA\";\n","//login\nexport const HeaderLogo = `/images/LIC_MF_NEW_LOGO.jpg`;\nexport const lastLoginIcon = \"/images/licLastLoginIcon.svg\";\nexport const logoutIcon = \"/images/lic_Logout.svg\";\nexport const carouselImage1 = \"/images/Distributorempanellment-latest.png\";\nexport const carouselImage4 = \"/images/D.I.T. Banners-03.jpg\";\nexport const carouselImage2 = \"/images/lic_banner.png\";\nexport const carouselImage3 = \"/images/D.I.T. Banners-02.jpg\";\n\n// app-side-bar-active-images\nexport const dashboardActive = \"/images/lic_home_active.svg\";\nexport const investorsActive = \"/images/lic_investor_active.svg\";\nexport const newTransactionActive = \"/images/lic_new_transact_active.svg\";\nexport const navActive = \"/images/nav_active_lic.png\";\nexport const mailBackActive = \"/images/lic_mailback_active.png\";\nexport const transactionHistoryActive = \"/images/lic_transaction_history_active.svg\";\nexport const ekycActive = \"/images/ekyc-white.svg\";\nexport const earningsActive = \"/images/lic_earnings_active.svg\";\nexport const supportActive = \"/images/customer-service.svg\";\nexport const settingsActive = \"/images/SettingsActive.svg\";\nexport const nfoActive = \"/images/lic_nfo_active.svg\"\nexport const SwitchToOldDIT = \"/images/SwitchToOldDIT.gif\";\n\n//app-side-bar-inactive-images\n\nexport const dashboardInActive = \"/images/home.png\";\nexport const investorsInActive = \"/images/investor_home.svg\";\nexport const newTransactionInActive = \"/images/new_transaction.svg\";\nexport const navInActive = \"/images/nav_home.svg\";\nexport const mailBackInActive = \"/images/maiback_home.svg\";\nexport const transactionHistoryInActive =\n \"/images/transaction_history.svg\";\nexport const ekycInActive = \"/images/ekyc.svg\";\nexport const earningsInActive = \"/images/myearnings.svg\";\nexport const supportInActive = \"/images/support.png\";\nexport const settingsInactive = \"/images/licSettingsInactive.svg\";\nexport const nfoInActive = \"/images/nfo.svg\"\n\n// dashboard\n\nexport const earningsBackground = \"/images/bajaj_my_earnings_bg.svg\";\nexport const earningsButton = \"/images/bajaj_my_earnings_button.svg\";\n\n//support\n\nexport const raiseaQuery = \"/images/mirae_customer_service.svg\";\n\n//mailback investor icons\n\nexport const MailBackSoaIcon = \"/images/quant_newsletter.svg\";\nexport const CASIcon = \"/images/quant_cas.svg\";\nexport const ELSSIcon = \"/images/quant_elss.svg\";\nexport const CANIcon = \"/images/quant_can.svg\";\nexport const CGSIcon = \"/images/quant_can.svg\";\nexport const GASIcon = \"/images/quant_cgs.svg\";\nexport const networthIcon = \"/images/quant_network.svg\";\nexport const mailbackRightarrow = \"/images/quant_side_arrow.svg\";\n\n//app- settings - review year icon\n\nexport const timeIcon = \"/images/mirae_noun_time.svg\";\n","export const SAVE_EMPANELMENT = \"SAVE_EMPANELMENT\";\nexport const SAVE_EMPANELMENT_SUCCESS = \"SAVE_EMPANELMENT_SUCCESS\";\nexport const SAVE_EMPANELMENT_FAILED = \"SAVE_EMPANELMENT_FAILED\";\n\nexport const GET_CAMS_DATA = \"GET_CAMS_DATA\";\nexport const GET_CAMS_DATA_SUCCESS = \"GET_CAMS_DATA_SUCCESS\";\nexport const GET_CAMS_DATA_FAILED = \"GET_CAMS_DATA_FAILED\";\n\nexport const GENERATE_EMPANEL_OTP = \"GENERATE_EMPANEL_OTP\";\nexport const GENERATE_EMPANEL_OTP_SUCCESS = \"GENERATE_EMPANEL_OTP_SUCCESS\";\nexport const GENERATE_EMPANEL_OTP_FAILED = \"GENERATE_EMPANEL_OTP_FAILED\";\n\nexport const VALIDATE_EMPANEL_OTP = \"VALIDATE_EMPANEL_OTP\";\nexport const VALIDATE_EMPANEL_OTP_SUCCESS = \"VALIDATE_EMPANEL_OTP_SUCCESS\";\nexport const VALIDATE_EMPANEL_OTP_FAILED = \"VALIDATE_EMPANEL_OTP_FAILED\";\n\nexport const REMOVE_CAMS_DATA = \"REMOVE_CAMS_DATA\";\n\nexport const STORE_EMPANEL_DATA = \"STORE_EMPANEL_DATA\";\n\nexport const GET_BANK_DETAILS = \"GET_BANK_DETAILS\";\nexport const GET_BANK_DETAILS_SUCCESS = \"GET_BANK_DETAILS_SUCCESS\";\nexport const GET_BANK_DETAILS_FAILED = \"GET_BANK_DETAILS_FAILED\";\n\nexport const AGENT_REGISTRATION = \"AGENT_REGISTRATION\";\nexport const AGENT_REGISTRATION_SUCCESS = \"AGENT_REGISTRATION_SUCCESS\";\nexport const AGENT_REGISTRATION_FAILED = \"AGENT_REGISTRATION_FAILED\";\n\nexport const VALIDATE_ARN_CODE = \"VALIDATE_ARN_CODE\";\nexport const VALIDATE_ARN_CODE_SUCCESS = \"VALIDATE_ARN_CODE_SUCCESS\";\nexport const VALIDATE_ARN_CODE_FAILED = \"VALIDATE_ARN_CODE_FAILED\";\n\nexport const STORE_BANK_DETAILS = \"STORE_BANK_DETAILS\";\nexport const STORE_BASIC_DETAILS = \"STORE_BASIC_DETAILS\";\n\n// to store the current state of UI in bankdetails\nexport const STORE_BANK_STATE = \"STORE_BANK_STATE\";\n\nexport const STORE_EMPANELLEMENT_NOMINEE_DETAILS = \"STORE_EMPANELLEMENT_NOMINEE_DETAILS\";\n\nexport const STORE_CAMS_DETAILS = \"STORE_CAMS_DETAILS\";\n\n\n","export const GET_BANK_LIST = \"GET_BANK_LIST\";\nexport const GET_BANK_LIST_SUCCESS = \"GET_BANK_LIST_SUCCESS\";\nexport const GET_BANK_LIST_FAILED = \"GET_BANK_LIST_FAILED\";\nexport const STORE_INVESTMENT_DETAILS = \"STORE_INVESTMENT_DETAILS\";\nexport const STORE_FATCA_DETAILS = \"STORE_FATCA_DETAILS\";\nexport const STORE_SCHEME_DETAILS = \"STORE_SCHEME_DETAILS\";\nexport const STORE_SCHEME_PARAMS = \"STORE_SCHEME_PARAMS\";\nexport const STORE_APPLICANT_PARAMS = \"STORE_APPLICANT_PARAMS\";\nexport const STORE_INVESTMENT_PARAMS = \"STORE_INVESTMENT_PARAMS\";\nexport const STORE_NOMINEE_DETAILS = \"STORE_NOMINEE_DETAILS\";\nexport const STORE_PAN = \"STORE_PAN\";\nexport const CLEARING_FIRST_TIME_INVETOR_JOURNEY_SUCCESS =\n \"CLEARING_FIRST_TIME_INVETOR_JOURNEY_SUCCESS\"; \n","export * from \"./auth\";\nexport * from \"./dashboard\";\nexport * from \"./investors\";\nexport * from \"./transactions\";\nexport * from \"./history\";\nexport * from \"./appEssentials\";\nexport * from \"./empanelment\";\nexport * from \"./newinvestor\";\nexport const ALL = \"A\";\nexport const FAVOURITE = \"FAV\";\nexport const RECENT = \"R\";\nexport const YES = \"Y\";\nexport const NO = \"N\";\nexport const PANALL = \"ALL\";\nexport const TRUE = \"T\";\nexport const FALSE = \"F\";\nexport const AUTHORIZATION_PENDING = \"P\";\nexport const AUTHORIZATION_APPROVED = \"A\";\nexport const AUTHORIZATION_EXPIRED = \"E\";\nexport const FMPS_MATURITY = \"FMPS_MATURITY\";\nexport const SIPS = \"SIPS\";\nexport const PHYSICAL_TRANSACTIONS = \"PHYSICAL_TRANSACTIONS\";\nexport const INVESTMENTS = \"INVESTMENTS\";\nexport const UPCOMING_SIP = \"UPCOMING_SIP\";\nexport const EXISTING = \"EXISTING\";\nexport const NEW = \"NEW\";\nexport const NEWP = \"NEWP\";\nexport const PURCHASE = \"P\";\nexport const SIP_TRANS_TYPE = \"I\";\nexport const REQ_BY = \"a\";\nexport const REGULAR = \"Regular\";\nexport const PAYMENT_TYPE = \"DCB\";\nexport const NEW_PURCHASE = \"NEW_PURCHASE\";\nexport const ADDITIONAL_PURCHASE = \"ADDITIONAL_PURCHASE\";\nexport const PARTIAL = \"PARTIAL\";\nexport const FULL = \"FULL\";\nexport const UNITS = \"UNITS\";\nexport const AMOUNT = \"AMOUNT\";\nexport const REDEMPTION = \"REDEMPTION\";\nexport const U = \"U\";\nexport const SWITCH = \"SWITCH\";\nexport const SWP = \"SWP\";\nexport const STP = \"STP\";\nexport const SIP = \"SIP\";\nexport const PHYSICAL_NEW = \"new\";\nexport const PHYSICAL_ADD = \"add\";\nexport const PHYSICAL_RED = \"red\";\nexport const PHYSICAL_SWITCH = \"swop\";\nexport const PHYSICAL_SIP = \"isip\";\nexport const GRAPH = \"GRAPH\";\nexport const TABLE = \"TABLE\";\nexport const PAYMENT_MODE = \"PM\";\nexport const INVESTMENT_FREQUENCY = \"IF\";\nexport const SIP_DAY = \"D\";\nexport const START_LOADER = \"START_LOADER\";\nexport const STOP_LOADER = \"STOP_LOADER\";\nexport const INACTIVE_INVESTORS = \"INACTIVE_INVESTORS\";\nexport const ACTIVE_INVESTORS = \"ACTIVE_INVESTORS\";\nexport const NEW_INVESTORS = \"NEW_INVESTORS\";\nexport const EXPIRING_NEXT_MONTH = \"EXPIRING_NEXT_MONTH\";\nexport const CLOSED_THIS_MONTH = \"CLOSED_THIS_MONTH\";\nexport const SIP_INVESTMENTS = \"SIP_INVESTMENTS\";\nexport const CWS = \"CWS\";\nexport const CWOS = \"CWOS\";\n\nexport const GET_NOMINEE_DETAILS = \"GET_NOMINEE_DEATILS\";\nexport const GET_NOMINEE_DETAILS_SUCESS = \"GET_NOMINEE_DETAILS_SUCESS\";\nexport const GET_NOMINEE_DEATILS_FAILED = \"GET_NOMINEE_DEATILS_FAILED\";\nexport const GET_BANK_DETAILS_SUCESS = \"GET_BANK_DETAILS_SUCESS\";\nexport const GET_BANK_DETAILS = \"GET_BANK_DETAILS\";\nexport const GET_BANK_DETAILS_FAILED = \"GET_BANK_DETAILS_FAILED\";\nexport const STORE_ADDRESS_SUCESS = \"STORE_ADDRESS_SUCESS\";\nexport const STORE_CAMS_DETAILS = \"STORE_CAMS_DETAILS\";\n\n\nexport const RE_INITIATE_TRANSACTION = \"RE_INITIATE_TRANSACTION\";\nexport const RE_INITIATE_SUCCESS = \"RE_INITIATE_SUCCESS\";\nexport const RE_INITIATE_FAILED = \"RE_INITIATE_FAILED\";","import AES from \"crypto-js/aes\";\nimport CryptoJSCore from \"crypto-js/core\";\nimport Base64 from \"crypto-js/enc-base64\";\nimport Utf8 from \"crypto-js/enc-utf8\";\nimport Pkcs7 from \"crypto-js/pad-pkcs7\";\nimport Rp from \"sha.js\";\n\nexport default class EncryptionUtils {\n Encryptionkey = \"aGgRTenEUgoACtcOAr\";\n\n Decryptionkey = \"AecECroRUgnGTa\";\n\n hashstring = \"\";\n\n hashsubstring = \"\";\n\n Encrypted = \"\";\n\n Dencrypted = \"\";\n\n iv = Utf8.parse(\"globalaesvectors\");\n\n encryption(e, t) {\n this.hashstring = Rp(\"sha256\").update(this.Encryptionkey).digest(\"hex\");\n this.hashsubstring = this.hashstring.substring(0, 32);\n const n = Utf8.parse(this.hashsubstring);\n if (e === \"Encrypt\") {\n const l = AES.encrypt(Utf8.parse(t), n, {\n keySize: 16,\n iv: this.iv,\n mode: CryptoJSCore.mode.CBC,\n padding: Pkcs7,\n });\n return l.ciphertext\n .toString(Base64)\n .split(\"+\")\n .join(\"-\")\n .split(\"/\")\n .join(\"_\");\n }\n const i = t.split(\"-\").join(\"+\").split(\"_\").join(\"/\");\n return AES.decrypt(i, n, {\n keySize: 16,\n iv: this.iv,\n mode: CryptoJSCore.mode.CBC,\n padding: Pkcs7,\n }).toString(Utf8);\n }\n\n encrypt(payload) {\n return this.encryption(\"Encrypt\", payload);\n }\n\n decrypt(payload) {\n return this.encryption(\"Decrypt\", payload);\n }\n}\n","import { START_LOADER, STOP_LOADER } from \"./types\";\nimport { USER_LOGIN_REFRESH_SUCCESS, USER_LOGOUT } from \"./types/auth\";\nimport EncryptionUtils from \"./encrypt\";\n\nexport const PROXY_PATH =\n process.env.REACT_APP_PROXY_PATH || \"/lic-proxy/LicMfDIT/SmartService.svc\";\n\nexport const BASE_URL = (process.env.REACT_APP_API_URL || \"\") + PROXY_PATH;\n// export const BASE_URL =\"https://clientwebsitesuat2.kfintech.com/uatapi/lic-proxy/LicMfDIT/SmartService.svc\";\n// export const BASE_URL =\"https://online.licmf.com/prodapi/lic-proxy/LICMFServices/SmartService.svc\";\n\n// https://clientwebsitesuat2.kfintech.com/uatapi/quant-proxy/QUANTUAT/SmartService.svc\nexport const FILE_URL =\n \"https://transact.miraeassetmf.co.in/ktrackgo/SmartService.svc/ktrack_uploaded_PdfSave\";\n// export const NCT_URL =\n// \"https://mfs.kfintech.com/prodapi/image-proxy/ktrackgo/SmartService.svc/ktrack_uploaded_PdfSave_NCT\";\nexport const NCT_URL =\n process.env.REACT_APP_NCT_API_URL ||\n \"https://ditapp-uat.kfintech.com/api/nct\";\n\n// export const NCT_URL =\n// process.env.REACT_APP_NCT_API_URL || \"http://localhost:4546\";\n\nconst PUBLIC_URL = process.env.PUBLIC_URL || \"\";\n\nexport const CART_URL =\n process.env.REACT_APP_CART_API_URL ||\n \"https://ditapp-uat.kfintech.com/api/ct\";\n\nexport const FEED_BACK_URL =\n \"https://mfs.kfintech.com/KTRACKAPI/SmartService.svc\";\n\n// export const CART_URL =\n// process.env.REACT_APP_CART_API_URL ||\n// \"https://ditapp-uat.kfintech.com/api/ct\";\n\nvar jwt = require(\"jsonwebtoken\");\n\nconst FETCH_FAILED = \"Failed to fetch\";\n\nconst DEFAULT_HEADERS = {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n};\n\nconst hideErrors = [\"Missing Token.\"];\nasync function invokeAPI(endpoint, config, auth_token, next) {\n const {\n isFile,\n isNct,\n isTrackApi,\n isNps,\n isNpsFile,\n isNctNew,\n isCart,\n isReport,\n isLogin: isL,\n isAuth,\n ...others\n } = config;\n const isLogin = isL || isAuth;\n const DEFAULT_HEADERS =\n !!isFile || !!isTrackApi\n ? {\n Accept: \"application/json\",\n \"Content-Type\": \"text/plain\",\n }\n : {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n };\n\n const headers = !!auth_token\n ? { ...DEFAULT_HEADERS, authorization: `Bearer ${auth_token}` }\n : { ...DEFAULT_HEADERS };\n\n const updatedConfig = { ...others, headers };\n\n const response = await fetch(\n isNct\n ? NCT_URL + endpoint\n : isFile\n ? FILE_URL\n : isCart\n ? CART_URL + endpoint\n : isTrackApi\n ? FEED_BACK_URL + endpoint\n : BASE_URL + endpoint,\n updatedConfig\n );\n\n const responseData = await response.json();\n\n const { encryptedBody } = responseData;\n const body = encryptedBody\n ? JSON.parse(new EncryptionUtils().decrypt(encryptedBody))\n : responseData;\n\n const isValidLogin = validateLogin({\n isLogin,\n loginPayload: body,\n responseBody: responseData,\n });\n\n if (!isValidLogin) {\n next({ type: USER_LOGOUT });\n return;\n }\n\n if (response.status === 401) {\n next({\n type: USER_LOGOUT,\n });\n throw new Error(\"Unauthorized Request\");\n }\n if (response.status === 413) {\n throw new Error(\n \"Upload file size too large. Try uploading a smaller file less than 24 MB or change the file format.\"\n );\n }\n if (response.status >= 400 && isCart) {\n throw new Error(body.message);\n }\n if (response.status >= 400) {\n if (!hideErrors.includes(body?.error || body?.message)) {\n if(body?.error===\"Invalid User IdPassword\"){\n throw new Error(\"Invalid User Id/Password\");\n }\n throw new Error(body?.error || body?.message);\n\n }\n return response;\n }\n\n const data = isFile || isTrackApi ? JSON.parse(body) : body;\n const { Dtinformation, Table, Table1 } = data;\n if (!!Dtinformation || !!Table || !!Table1) {\n const [info] = Dtinformation || Table || Table1;\n const errorCode = !!info\n ? typeof info.Error_code !== \"undefined\"\n ? info.Error_code\n : info.Error_Code\n : \"\";\n if (typeof errorCode === \"undefined\" && !!Dtinformation.length) {\n return data;\n } else if (+errorCode !== 0) {\n throw info.Error_Message;\n }\n return data;\n } else if (!!data) {\n return data;\n }\n}\n\nexport const CALL_API = Symbol(\"Call API\");\n\nexport const apiMiddleWare = (store) => (next) => async (action) => {\n // So the middleware doesn't get applied to every single action\n if (typeof action[CALL_API] === \"undefined\") {\n return next(action);\n }\n\n let {\n url,\n method,\n types = [],\n showLoader = false,\n body = undefined,\n params,\n ikyc = false,\n isNct = false,\n addedparams,\n isLogin = false,\n isFile = false,\n isTrackApi = false,\n enableFixture = false,\n json = \"\",\n skipEncode = false,\n isCart = false,\n } = action[CALL_API];\n const shouldEncrypt = () => {\n return !(isNct || isTrackApi || isFile || isCart);\n }\n \n params = { ...params };\n const [requestType, successType] = types;\n\n const { authReducer } = store.getState();\n requestType && next({ type: requestType });\n try {\n if (showLoader) {\n next({ type: START_LOADER });\n }\n if (enableFixture && json) {\n const response = await fetch(`${PUBLIC_URL}/fixtures/${json}`);\n return await response.json();\n }\n let prime_token = authReducer.auth_token;\n if (!!prime_token && !isLogin) {\n try {\n const { exp } = jwt.decode(prime_token);\n const diff = Math.floor(\n new Date(exp * 1000).getTime() - new Date().getTime()\n );\n if (diff < 0) {\n throw new Error(\n \"Your active session has timeout. Request you to re-login\"\n );\n }\n\n if (diff <= 5 * 60 * 1000) {\n const refresh = await invokeAPI(\n \"/refresh_token\",\n { method: \"GET\" },\n prime_token\n );\n if (!!refresh && !!refresh.token) {\n next({\n body: { ...refresh },\n type: USER_LOGIN_REFRESH_SUCCESS,\n });\n prime_token = refresh.token;\n } else {\n prime_token = authReducer.token;\n if (refresh.error == \"jwt expired\")\n throw new Error(\n \"Your active session has timeout. Request you to re-login\"\n );\n }\n }\n } catch (error) {\n next({\n type: USER_LOGOUT,\n });\n alert(\n \"Your active session has timeout. Request you to re-login\"\n );\n return;\n }\n }\n const allParams = {}\n const queryParams = new URLSearchParams();\n for (let param in params) {\n if (skipEncode) {\n const value = params[param] || \"\";\n queryParams.set(param, encodeURIComponent(value));\n allParams[param] = encodeURIComponent(value)\n } else if (params[param]) {\n queryParams.set(param, encodeURIComponent(btoa(params[param])));\n allParams[param] = encodeURIComponent(btoa(params[param]))\n\n }\n }\n\n const stringParametrs = queryParams.toString()\n // console.log(\"string params\", stringParametrs)\n\n\n\n const queryString = `${stringParametrs}&isWeb=true&customfund=${encodeURIComponent(\n btoa(\"102\")\n )}&Requid=${!!authReducer.userId\n ? encodeURIComponent(btoa(authReducer.userId))\n : \"\"\n }`\n const encryptedQueryString = new EncryptionUtils().encrypt(queryString)\n if(body) body['platformWeb'] = true\n\n const encryptedBody = new EncryptionUtils().encrypt(JSON.stringify(body))\n \n const responseBody = await invokeAPI(\n url + \"?\" + (shouldEncrypt() ? `encrypted=${encodeURIComponent(btoa(encryptedQueryString))}`: stringParametrs)\n \n ,\n {\n method,\n body: shouldEncrypt()? (body? JSON.stringify({\n encrypted: encodeURIComponent(btoa(encryptedBody))\n }): undefined) : JSON.stringify(body),\n redirect: \"manual\",\n isFile,\n isNct,\n isTrackApi,\n isCart,\n },\n authReducer.auth_token,\n next\n );\n const isValidLogin = validateLogin({\n isLogin:\n isLogin || (responseBody && responseBody.code === \"SKIP_DIST_LOGIN\"),\n loginPayload: body,\n responseBody,\n });\n\n if (!isValidLogin) {\n next({ type: USER_LOGOUT });\n alert(\"Unauthorized Request\");\n return;\n }\n\n successType &&\n next({\n body: { ...responseBody },\n type: successType,\n });\n\n return responseBody;\n } catch (error) {\n if (error.message !== FETCH_FAILED) {\n throw error;\n } else if (error.message === FETCH_FAILED) {\n console.log(error.message);\n }\n } finally {\n if (showLoader) {\n next({ type: STOP_LOADER });\n //TODO: Dispatch hide modal loader now.\n }\n }\n};\nexport default apiMiddleWare;\n\nfunction validateLogin({ isLogin, loginPayload, responseBody }) {\n if (!isLogin) return true;\n const { username } = loginPayload;\n\n const decodedToken = jwt.decode(responseBody.token);\n if (!decodedToken) {\n return true;\n }\n const { user, arn } = decodedToken;\n return decrypt(username) === user && arn === responseBody?.DtData[0]?.ARNCode;\n}\nfunction decrypt(text) {\n let decodedString = atob(text);\n let encrpyted1 = decodedString.slice(11, -16);\n let encrpyted = atob(encrpyted1);\n return encrpyted;\n}\nexport const base64decode =(text) =>{\n let decodedString = atob(text);\n return decodedString;\n}","import {\n POSTER_OPEN,\n USER_LOGIN_REFRESH_SUCCESS,\n USER_LOGIN_SUCCESS,\n USER_LOGOUT,\n USER_PAN,\n ENACH_UMR,\n ENACH_FOLIO,\n ENACH_BANK_ACC,\n ENACH_START_DATE,\n ENACH_END_DATE,\n ENACH_MAX_AMOUNT,\n} from \"../types/auth\";\nimport {\n GET_INVESTOR_DETAILS,\n GET_INVESTOR_DETAILS_SUCCESS,\n GET_CAMS_DATA_SUCCESS,\n REMOVE_CAMS_DATA,\n STORE_EMPANEL_DATA,\n STORE_BANK_DETAILS,\n STORE_BASIC_DETAILS,\n STORE_NOMINEE_DETAILS,\n STORE_BANK_STATE,\n STORE_CAMS_DETAILS,\n STORE_EMPANELLEMENT_NOMINEE_DETAILS\n} from \"../types\";\n\nconst initialState = {\n token: null,\n showAll: false,\n lastLogin: \"\",\n user_pan: \"\",\n tran_enable_flag: \"\",\n auth_token: null,\n posterStatus: 0,\n umr: \"\",\n enachFolio: \"\",\n enachBank: \"\",\n camsdata: [],\n storeCAMSData:{},\n storeempanelmentNomineeDetails:{},\n empanelmentNomineeDetails:{},\n empanelmentBasicDetails: {},\n empanelmentBankDetails: {},\n bankState: {},\n};\n\nexport function authReducer(state = initialState, action) {\n switch (action.type) {\n case USER_LOGIN_SUCCESS: {\n const { DtData, Dtinformation, token } = action.body;\n \n let ARNCode, Login_MailID, Regflag;\n \n if (DtData && DtData.length > 0) {\n const [data] = DtData;\n ARNCode = data.ARNCode;\n Login_MailID = data.Login_MailID;\n Regflag = data.Regflag;\n }\n \n const lastLogin = Dtinformation && Dtinformation.length > 0 ? Dtinformation[0].last_login : null;\n const tran_enable_flag = DtData && DtData.length > 0 ? DtData[0].tran_enable_flag : null;\n \n return {\n ...state,\n auth_token: token,\n token: ARNCode,\n userId: Login_MailID,\n lastLogin,\n tran_enable_flag,\n Regflag,\n };\n }\n \n case STORE_CAMS_DETAILS: {\n return {\n ...state,\n storeCAMSData: action.body,\n };\n }\n case STORE_EMPANELLEMENT_NOMINEE_DETAILS: {\n return {\n ...state,\n storeempanelmentNomineeDetails: action.body,\n };\n }\n case STORE_BASIC_DETAILS: {\n return {\n ...state,\n empanelmentBasicDetails: action.body,\n };\n }\n case STORE_BANK_DETAILS: {\n return {\n ...state,\n empanelmentBankDetails: action.body,\n };\n }\n case STORE_NOMINEE_DETAILS: {\n return {\n ...state,\n empanelmentNomineeDetails: action.body,\n };\n }\n case STORE_BANK_STATE: {\n return {\n ...state,\n bankState: action.body,\n };\n }\n case GET_CAMS_DATA_SUCCESS: {\n const { DtData } = action.body;\n return {\n ...state,\n camsdata: DtData,\n };\n }\n case REMOVE_CAMS_DATA: {\n return {\n ...state,\n camsdata: [],\n };\n }\n case USER_LOGIN_REFRESH_SUCCESS: {\n return {\n ...state,\n auth_token: action.body.token,\n };\n }\n case POSTER_OPEN: {\n return {\n ...state,\n posterStatus: action.body,\n };\n }\n\n case GET_INVESTOR_DETAILS: {\n return {\n ...state,\n investorData: {},\n showAll: false,\n communicationDetails: [],\n bankDetails: [],\n fundList: [],\n };\n }\n case GET_INVESTOR_DETAILS_SUCCESS: {\n const {\n Table14: communicationDetails,\n Table7: bankDetails,\n Table11,\n Table14: fundList,\n } = action.body;\n const showTotalCards =\n !!fundList && fundList.find((ele) => !!ele.Fund && ele.Fund === \"102\");\n const [investorData] = Table11;\n return {\n ...state,\n showAll: !!showTotalCards ? true : false,\n investorData,\n communicationDetails,\n bankDetails,\n fundList,\n };\n }\n case USER_LOGOUT: {\n return initialState;\n }\n case USER_PAN: {\n return {\n ...state,\n user_pan: action.body,\n };\n }\n case ENACH_UMR: {\n return {\n ...state,\n umr: action.body,\n };\n }\n\n case ENACH_FOLIO: {\n return {\n ...state,\n enachFolio: action.body,\n };\n }\n case ENACH_BANK_ACC: {\n return {\n ...state,\n enachBank: action.body,\n };\n }\n case ENACH_START_DATE: {\n return {\n ...state,\n enachStartDate: action.body,\n };\n }\n case ENACH_END_DATE: {\n return {\n ...state,\n enachEndDate: action.body,\n };\n }\n case ENACH_MAX_AMOUNT: {\n return {\n ...state,\n enachMaxAmount: action.body,\n };\n }\n default:\n return state;\n }\n}\n","import {\n GET_INVESTORS_LIST_SUCCESS,\n YES,\n GET_INVESTOR_DETAILS_SUCCESS,\n PANALL,\n FAVOURITE_INVESTOR_SUCCESS,\n GET_INVESTORS_LIST,\n SEARCH_INVESTORS_SUCCESS,\n SEARCH_INVESTORS,\n GET_INVESTOR_DETAILS,\n GET_UPCOMING_SIP_DETAILS_SUCCESS,\n ALL,\n STORE_TYPE,\n} from \"../types\";\n\nconst initialState = {\n investors: [],\n count: 0,\n investments: [],\n upComingSipDetails: [],\n selectedTab: ALL,\n};\n\nexport function investor(state = initialState, action) {\n switch (action.type) {\n case GET_INVESTORS_LIST_SUCCESS: {\n let { DtData } = action.body;\n DtData = DtData.map((investor) => ({\n ...investor,\n Kyc: investor.Kyc === YES,\n Fatca: investor.Fatca === YES,\n }));\n return {\n ...state,\n investors: DtData,\n count: DtData.length,\n };\n }\n case SEARCH_INVESTORS:\n case GET_INVESTORS_LIST: {\n return { ...state, investors: [] };\n }\n case GET_INVESTOR_DETAILS: {\n return {\n ...state,\n investorData: {},\n showAll: false,\n fundAllocation: [],\n pieData: [],\n investments: [],\n communicationDetails: [],\n investorInvestmentDetails: [],\n fundLevelInvestments: [],\n };\n }\n case GET_INVESTOR_DETAILS_SUCCESS: {\n const {\n Table14: communicationDetails,\n Table3,\n Table5: investorInvestmentDetails,\n Table11,\n Table12: fundLevelInvestments,\n // Table13: investments,\n } = action.body;\n\n const MiraeInvesmentList = !!action.body.Table13?action.body.Table13.filter((ele)=>!!ele.Fund&& ele.Fund.trim() === \"102\"):[]\n \n const asOnDate = action.body.Dtinformation[0].asondate;\n const { investors = [] } = state;\n const [investorData] = Table11;\n const fav = investors.find((inv) => inv.Pan === investorData.PAN) || {};\n const fundAllocation = Table3.filter((fund) => fund.PAN === PANALL);\n const pieData = fundAllocation.map((item) => ({\n name: item.name,\n value: item.totpercent,\n }));\n const investorTotal = investorInvestmentDetails.find(\n (x) => x.FundDesc === \"Total\" && x.PAN === \"ALL\"\n );\n return {\n ...state,\n investorData: { ...investorData, fav: fav.Favorite },\n fundAllocation,\n pieData,\n investorTotal,\n asOnDate,\n investments:MiraeInvesmentList,\n communicationDetails,\n fundLevelInvestments,\n };\n }\n case FAVOURITE_INVESTOR_SUCCESS: {\n const { InvPan, FavFlag } = action.data;\n let { investors, investorData } = state;\n investors = investors.map((inv) => ({\n ...inv,\n Favorite: inv.Pan === InvPan ? FavFlag : inv.Favorite,\n }));\n return {\n ...state,\n investors,\n investorData: { ...investorData, fav: FavFlag },\n };\n }\n case SEARCH_INVESTORS_SUCCESS: {\n const { Dtdata } = action.body;\n return { ...state, investors: Dtdata };\n }\n case GET_UPCOMING_SIP_DETAILS_SUCCESS: {\n const { DtData } = action.body;\n const UpBajajDetails = !!DtData && !!DtData.length>0 ? DtData.filter((ele)=>!!ele.fund_name &&ele.fund_name.toString().toLowerCase().includes(\"bajaj\")):[]; \n return { ...state, upComingSipDetails: UpBajajDetails };\n }\n case STORE_TYPE: {\n const { selectedTab } = action.body;\n return { ...state, selectedTab };\n }\n default:\n return state;\n }\n}\n","export const GET_PROFILE_DATA = \"GET_PROFILE_DATA\";\nexport const GET_PROFILE_DATA_SUCCESS = \"GET_PROFILE_DATA_SUCCESS\";\nexport const GET_PROFILE_DATA_FAILED = \"GET_PROFILE_DATA_FAILED\";\n","import {\n GET_FUNDS_LIST_PAN_SUCCESS,\n GET_TRANSACTION_HISTORY_SUCCESS,\n GET_NAV_DATA_SUCCESS,\n REMOVE_NAV_DATA,\n REMOVE_TRANSACTION_HISTORY_DATA\n} from \"../types\";\n\nconst initialState = {\n fundsList: [],\n transactions: [],\n navData: []\n};\n\nexport function transactionHistory(state = initialState, action) {\n switch (action.type) {\n case GET_FUNDS_LIST_PAN_SUCCESS: {\n const { Table1: fundsList } = action.body;\n return { ...state, fundsList };\n }\n case GET_TRANSACTION_HISTORY_SUCCESS: {\n const { Table1: transactions } = action.body;\n return { ...state, transactions };\n }\n case GET_NAV_DATA_SUCCESS: {\n const { Table1: navData } = action.body;\n return { ...state, navData };\n }\n case REMOVE_NAV_DATA: {\n return { ...state, navData: [] };\n }\n case REMOVE_TRANSACTION_HISTORY_DATA :{\n return {...state,transactions:[]}\n }\n default:\n return state;\n }\n}\n","export const GET_DIST_POST_QUERY_DATA = \"GET_DIST_POST_QUERY_DATA\";\nexport const GET_DIST_POST_QUERY_DATA_SUCCESS =\n \"GET_DIST_POST_QUERY_DATA_SUCCESS\";\nexport const GET_DIST_POST_QUERY_DATA_FAILED =\n \"GET_DIST_POST_QUERY_DATA_FAILED\";\n","import {\n STORE_FATCA_DETAILS,\n STORE_INVESTMENT_DETAILS,\n STORE_SCHEME_DETAILS,\n STORE_APPLICANT_PARAMS,\n STORE_SCHEME_PARAMS,\n STORE_INVESTMENT_PARAMS,\n STORE_NOMINEE_DETAILS,\n GET_NOMINEE_DETAILS_SUCESS,\n GET_BANK_DETAILS_SUCESS,\n STORE_ADDRESS_SUCESS,\n STORE_PAN,\n CLEARING_FIRST_TIME_INVETOR_JOURNEY_SUCCESS,\n} from \"../types\"; \n\nconst initialState = {\n fatcaDetails: {},\n nomineDetails: {},\n getnomineeDetails: {},\n getbankDetails: {},\n investmentDetails: {},\n schemeDetails: {},\n applicantparams: {},\n schemeparams: {},\n investmentparams: {},\n address: {},\n store_pan: {},\n};\n\nexport function newinvestor(state = initialState, action) {\n switch (action.type) {\n case STORE_FATCA_DETAILS:\n return { ...state, fatcaDetails: action.body };\n case STORE_NOMINEE_DETAILS:\n return { ...state, nomineDetails: action.body };\n case STORE_INVESTMENT_DETAILS:\n return { ...state, investmentDetails: action.body };\n case STORE_SCHEME_DETAILS:\n return { ...state, schemeDetails: action.body };\n case STORE_APPLICANT_PARAMS:\n return { ...state, applicantparams: action.body };\n case STORE_SCHEME_PARAMS:\n return { ...state, schemeparams: action.body };\n case STORE_INVESTMENT_PARAMS:\n return { ...state, investmentparams: action.body };\n case GET_NOMINEE_DETAILS_SUCESS:\n return { ...state, getnomineeDetails: action.body };\n case GET_BANK_DETAILS_SUCESS:\n return { ...state, getbankDetails: action.body };\n case STORE_ADDRESS_SUCESS:\n return { ...state, address: action.body };\n case STORE_PAN:\n return { ...state, store_pan: action.body };\n case CLEARING_FIRST_TIME_INVETOR_JOURNEY_SUCCESS:\n return { ...initialState }; \n default:\n return state;\n }\n}\n","import { combineReducers } from \"redux\";\nimport { authReducer } from \"./auth\";\nimport { dashboard } from \"./dashboard\";\nimport { investor } from \"./investors\";\nimport { transactions } from \"./transactions\";\nimport { profileReducer } from \"./profile\";\nimport { transactionHistory } from \"./history\";\nimport { support } from \"./support\";\nimport { loading } from \"./loader\";\nimport { newinvestor } from \"./newinvestor\";\n\nconst rootReducer = combineReducers({\n authReducer,\n dashboard,\n investor,\n transactions,\n profileReducer,\n transactionHistory,\n support,\n loading,\n newinvestor,\n});\n\nexport default rootReducer;\n","import {\n GET_DASHBOARD_DATA_SUCCESS,\n GET_TRANSACTION_DATA_SUCCESS,\n GET_TRANSACTION_DATA,\n GET_AUM_DATA_SUCCESS,\n GET_FREQUENT_MAIL_BACK_REQUEST_SUCCESS,\n GET_DASHBOARD_AUM_DATA_SUCCESS,\n GET_SIP_SUMMARY_DATA_SUCCESS,\n GET_NFO_SCHEMES_SUCCESS,\n GET_NFO_SCHEMES,\n} from \"../types\";\n\nexport function dashboard(\n state = { summaryData: [], aumData: [], nfoSchemes: [] },\n action\n) {\n switch (action.type) {\n case GET_DASHBOARD_DATA_SUCCESS: {\n const { DtData } = action.body;\n const [data] = DtData;\n\n return { ...state, transactionSummary: data };\n }\n case GET_DASHBOARD_AUM_DATA_SUCCESS: {\n return { ...state, dashboardAUMData: action.body };\n }\n case GET_SIP_SUMMARY_DATA_SUCCESS: {\n return { ...state, sipSummaryData: action.body };\n }\n case GET_TRANSACTION_DATA: {\n return { ...state, summaryData: [] };\n }\n case GET_NFO_SCHEMES_SUCCESS: {\n return { ...state, nfoSchemes: action.body };\n }\n\n case GET_TRANSACTION_DATA_SUCCESS: {\n const { DtData } = action.body;\n return { ...state, summaryData: DtData };\n }\n case GET_AUM_DATA_SUCCESS: {\n const {\n DtData: aumData,\n Table2: fundData,\n Table3: [data],\n } = action.body;\n return {\n ...state,\n aumData: aumData.map((item) => ({\n name: item.category,\n value: item.aum,\n })),\n fundData: fundData\n .sort(function (a, b) {\n return b.aum_percent - a.aum_percent;\n })\n .slice(0, 5)\n .map((item) => ({\n name: item.fund,\n value: item.aum_percent,\n })),\n totalAum: action.body.Table2.map((item) => ({\n aum: item.aum,\n })).reduce((p, c) => p + parseFloat(c.aum), 0),\n my_aum: data.my_aum,\n numberofschemes: data.Numberofschemes,\n };\n }\n case GET_FREQUENT_MAIL_BACK_REQUEST_SUCCESS: {\n return state;\n }\n default:\n return state;\n }\n}\n","import {\n SHOW_PURCHASE_CONFIRMATION_SUCCESS,\n GET_FUNDS_LIST_SUCCESS,\n GET_CATEGORY_LIST_SUCCESS,\n GET_SCHEME_LIST_SUCCESS,\n VALIDATE_SUB_BROKER_SUCCESS,\n CONFIRM_PURCHASE_SUCCESS,\n SET_SIP_DETAILS,\n SIP_SAVE_DATA_SUCCESS,\n SET_SWITCH_DETAILS,\n SWITCH_SAVE_DATA_SUCCESS,\n SET_NEW_PAN,\n SET_STP_DETAILS,\n STP_SAVE_DATA_SUCCESS,\n GET_EARNINGS_SUCCESS,\n GET_EARNINGS,\n SAVE_TRANSACTION_DETAILS,\n} from \"../types\";\n\nexport function transactions(\n state = {\n confirmationData: {},\n fundsList: [],\n newPan:\"\",\n categoryList: [],\n schemeList: [],\n euinList: [],\n sipDetails: {},\n switchDetails: {},\n stpDetails: {},\n transactionDetails: {},\n earnings: []\n },\n action\n) {\n switch (action.type) {\n case SHOW_PURCHASE_CONFIRMATION_SUCCESS: {\n const { DtData, Dtdata } = action.body;\n const [data] = DtData || Dtdata;\n\n return {\n ...state,\n confirmationData: { ...data }\n };\n }\n case GET_FUNDS_LIST_SUCCESS: {\n const { Dtinformation: fundsList = [] } = action.body;\n return { ...state, fundsList, categoryList: [], schemeList: [] };\n }\n case GET_CATEGORY_LIST_SUCCESS: {\n const { Dtinformation: categoryList = [] } = action.body;\n return { ...state, categoryList, schemeList: [] };\n }\n case GET_SCHEME_LIST_SUCCESS: {\n const { Dtinformation: schemeList = [] } = action.body;\n return { ...state, schemeList };\n }\n case VALIDATE_SUB_BROKER_SUCCESS: {\n const { DtData: euinList = [] } = action.body;\n return { ...state, euinList };\n }\n case CONFIRM_PURCHASE_SUCCESS: {\n return { ...state, confirmationData: {} };\n }\n case SET_SIP_DETAILS: {\n return { ...state, sipDetails: action.body };\n }\n case SET_NEW_PAN:{\n return { ...state, newPan: action.body };\n }\n case SIP_SAVE_DATA_SUCCESS: {\n return { ...state, sipDetails: {} };\n }\n case SET_SWITCH_DETAILS: {\n return { ...state, switchDetails: action.body };\n }\n case SWITCH_SAVE_DATA_SUCCESS: {\n return { ...state, switchDetails: {} };\n }\n case SET_STP_DETAILS: {\n return { ...state, stpDetails: action.body };\n }\n case STP_SAVE_DATA_SUCCESS: {\n return { ...state, stpDetails: {} };\n }\n case GET_EARNINGS: {\n return { ...state, earnings: [] };\n }\n case GET_EARNINGS_SUCCESS: {\n const { DtData: earnings = [] } = action.body;\n return { ...state, earnings };\n }\n case SAVE_TRANSACTION_DETAILS: {\n return { ...state, transactionDetails: action.body };\n }\n default:\n return state;\n }\n}\n","import { GET_PROFILE_DATA_SUCCESS } from \"../types/profile\";\n\nexport function profileReducer(\n state = { profileData: {}, reviewList: [] },\n action\n) {\n switch (action.type) {\n case GET_PROFILE_DATA_SUCCESS: {\n const { DtData, Table2: reviewList = [] } = action.body;\n const [profileData] = DtData;\n return { ...state, profileData, reviewList };\n }\n\n default:\n return state;\n }\n}\n","import { GET_DIST_POST_QUERY_DATA_SUCCESS } from \"../types/support\";\n\nexport function support(state = { supportQueries: [] }, action) {\n switch (action.type) {\n case GET_DIST_POST_QUERY_DATA_SUCCESS: {\n const { Dtinformation } = action.body;\n return { ...state, supportQueries: Dtinformation };\n }\n\n default:\n return state;\n }\n}\n","import { START_LOADER, STOP_LOADER } from \"../types\";\n\nexport function loading(state = { count: 0 }, action) {\n switch (action.type) {\n case START_LOADER: {\n return { ...state, count: state.count + 1 };\n }\n case STOP_LOADER: {\n return { ...state, count: Math.max(0, state.count - 1) };\n }\n default: {\n return state;\n }\n }\n}\n","import { createStore, applyMiddleware } from \"redux\";\nimport { persistStore, persistReducer } from \"redux-persist\";\nimport storage from \"redux-persist/lib/storage\";\n\nimport { createBrowserHistory } from \"history\";\n\nimport thunk from \"redux-thunk\";\nimport apiMiddleware from \"./api.middleware\";\n// import reduxLogger from \"redux-logger\";\nimport createRootReducer from \"./reducers\";\nimport { compose } from \"redux\";\n\nexport const history = createBrowserHistory({\n basename: process.env.PUBLIC_URL || \"/\",\n});\n\nconst persistConfig = {\n key: \"root\",\n storage,\n whitelist: [\"authReducer\", \"newinvestor\",\"profileReducer\"],\n};\n\nconst isDevEnv = process.env.NODE_ENV == \"development\";\nconst composeEnhancers =\n (isDevEnv &&\n typeof window !== \"undefined\" &&\n window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__) ||\n compose;\n\nconst persistedReducer = persistReducer(\n persistConfig,\n createRootReducer // root reducer with router state\n);\n\nconst store = createStore(\n persistedReducer,\n composeEnhancers(applyMiddleware(thunk, apiMiddleware))\n);\n\nexport const persistor = persistStore(store);\nexport default store;\n","import React from \"react\";\n\nconst BUILD_URL = process.env.PUBLIC_URL;\nexport default function Image({ src, ...props }) {\n return {props.alt;\n}\n","import React, { Component } from \"react\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport { HeaderLogo,SwitchToOldDIT } from \"../../store/types/appEssentials\";\nimport Image from \"../Image\";\nexport default class Appbar extends Component {\n constructor(props) {\n super(props);\n this.state = {\n open: false,\n };\n }\n openModal = () => {\n this.setState({\n open: true,\n });\n };\n\n closeModal = () => {\n this.setState({\n open: false,\n });\n };\n\n render() {\n return (\n
\n \n \n \n \n \n window.open('https://online.licmf.com/DIT/', '_blank')}\n style={{cursor:\"pointer\",paddingRight:50}}\n src={SwitchToOldDIT}\n alt=\"Switch to Old Portal\"\n />\n \n \n
\n );\n }\n}\n\n//
\n// \n// Home\n// \n\n// \n// About\n// \n\n//
\n// \n// Client Services\n// \n//
\n// \n// \n//
\n//
\n// \n// Distributor Services\n// \n// \n// Channel Partner Services\n// \n// \n// Mutual Fund Investor Services\n// \n// \n// Korp Connect\n// \n// \n// RIA Services\n// \n// \n// Alternative Investment Fund Investor\n// \n// \n// AMC Services\n// \n\n// \n// Financial Services\n// \n//
\n//
\n//
\n\n// \n// Contact us\n// \n// \n// \n\n// this.closeModal()}\n// />\n","import React, { Component } from \"react\";\n\nexport default class Signbutton extends Component {\n render() {\n const { width, disabled, onClick, padding, marginTop,fontSize ,backGround} = this.props;\n return (\n
\n \n {this.props.buttontitle}\n \n
\n );\n }\n}\nexport class Debtbutton extends Component {\n render() {\n return (\n
\n \n {this.props.buttontitle}\n \n
\n );\n }\n}\n\nexport class DebtbuttonActive extends Component {\n render() {\n return (\n
\n \n {this.props.buttontitle}\n \n
\n );\n }\n}\n\nexport class DebtbuttonNowidth extends Component {\n render() {\n return (\n
\n \n {this.props.buttontitle}\n \n
\n );\n }\n}\n","export const emailRegex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/;\nexport const ifscRegex = new RegExp(\"^[A-Za-z]{4}[a-zA-Z0-9]{7}$\");\nexport const mobileRegex = new RegExp(\"^[6-9]{1}[0-9]{9}$\");\nexport const nameRegex = new RegExp(\"^[a-zA-Z ]{4,50}$\");\nexport const accountRegex = new RegExp(\"^[a-zA-Z ]{0,10}$\");\nexport const panRegex = new RegExp(\"^([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}?$\");\nexport const bankAccountRegex = new RegExp(\"^[0-9]{9,18}$\");\nexport const pincodeRegex = new RegExp(\"^[0-9]{6}$\");\nexport const countryCodeRegex = new RegExp(\"^[+][0-9]{1,3}$\");\nexport const alphabetsRegex = new RegExp(\"/^[A-Za-z]$/\");\nexport const forbiddenCharsRegex = new RegExp(/^[^\\[\\]\\{\\}<>\\/\\?\\\\\\|\"'=;:]*$/);\n\nexport const genderOptions = [\n { name: \"Male\", value: \"M\" },\n { name: \"Female\", value: \"F\" },\n { name: \"Transgender\", value: \"O\" },\n];\nexport const NomineesList = [\n {\n label: \"1\",\n value: \"1\",\n },\n {\n label: \"2\",\n value: \"2\",\n },\n {\n label: \"3\",\n value: \"3\",\n },\n];\n\nexport const categoryOptions = [\n { name: \"Resident Indian\", value: \"11\" },\n { name: \"NRI\", value: \"20\" },\n];\nexport const statusOptions = [\n { name: \"Individual\", value: \"I\" },\n { name: \"NRI\", value: \"N\" },\n];\nexport const Occupations = [\n { label: \"Service\", value: 1 },\n { label: \"Business\", value: 2 },\n { label: \"Student\", value: 3 },\n { label: \"House Wife\", value: 4 },\n { label: \"Professional\", value: 5 },\n { label: \"Retired\", value: 7 },\n { label: \"Others\", value: 8 },\n];\nexport const Gross_Annual_income = [\n { label: \"Below 1 Lac\", value: \"Below 1 Lac\" },\n { label: \"1-5 Lacs\", value: \"1-5 Lacs\" },\n { label: \"5-10 Lacs\", value: \"5-10 Lacs\" },\n { label: \"10-25 Lacs\", value: \"10-25 Lacs\" },\n { label: \"25 Lacs-1 Crore\", value: \"25 Lacs-1 Crore\" },\n { label: \"1 Crore and above\", value: \"1 Crore and above\" },\n];\nexport const countrycodeOptions = [\n { label: \"+91\", value: \"+91\" },\n { label: \"+61\", value: \"+61\" },\n { label: \"+1\", value: \"+1\" },\n { label: \"+852\", value: \"+852\" },\n { label: \"+968\", value: \"+968\" },\n { label:\"+974\", value: \"+974\" },\n { label:\"+966\", value: \"+966\"},\n { label: \"+65\", value: \"+65\" },\n { label: \"+971\", value: \"+971\" },\n {label: \"+44\", value: \"+44\"}\n];\n\nexport const modeOfHoldingOptions = [\n { name: \"Single\", value: \"single\" },\n { name: \"Anyone (or) survivor\", value: \"anyone\" },\n];\n\nexport const relationshipOptions = [\n {\n name: \"Brother\",\n value: \"Brother\",\n },\n {\n name: \"Daughter\",\n value: \"Daughter\",\n },\n {\n name: \"Father\",\n value: \"Father\",\n },\n {\n name: \"Mother\",\n value: \"Mother\",\n },\n {\n name: \"Sister\",\n value: \"Sister\",\n },\n {\n name: \"Son\",\n value: \"Son\",\n },\n {\n name: \"Wife\",\n value: \"Wife\",\n },\n];\nexport const familyDescriptionOptions = [\n {\n label: \"Self\",\n value: \"SE\",\n },\n {\n label: \"Spouse\",\n value: \"SP\",\n },\n {\n label: \"Dependent Children\",\n value: \"DC\",\n },\n {\n label: \"Dependent Siblings\",\n value: \"DS\",\n },\n {\n label: \"Dependent Parents\",\n value: \"DP\",\n },\n {\n label: \"Guardian\",\n value: \"GD\",\n },\n];\nexport const otpRegex = /^\\d{6}$/;\n","import React, { Component } from \"react\";\nimport { Tooltip } from \"@material-ui/core\";\nimport Image from \"../Image\";\nimport { forbiddenCharsRegex } from \"../home/transactions/newInvestor\";\nexport class Input extends Component {\n handleChange = (e) => {\n const { value } = e.target;\n if (forbiddenCharsRegex.test(value)) {\n this.props.onChange(e);\n }\n };\n render() {\n const {\n name,\n image,\n image2,\n height,\n placeholder,\n isShowError,\n inputref,\n label,\n bordercolor,\n isShowPasswordError,\n onClick,\n type,\n errorMessage,\n copyOnclick,\n shareOnclick,\n tooltip,\n isMandatory,\n width,\n onChange,\n ...rest\n } = this.props;\n return (\n
\n
\n {name} {label}\n {isMandatory && *}\n {!!tooltip && (\n \n \n \n )}\n {!!this.props.link && (\n \n {this.props.linkText}\n \n )}\n
\n \n {!!image && (\n \n )}\n\n {name?.includes(\"ARN\") && name?.includes(\"User ID)\") ? (\n \n ) : name?.includes(\"EUIN\") ? (\n \n ) : name?.includes(\"NSDL\") || name?.includes(\"NSDL ID\") ? (\n \n ) : (\n \"\"\n )}\n \n e.target.addEventListener(\n \"wheel\",\n function (e) {\n e.preventDefault();\n },\n { passive: false }\n )\n : null\n }\n {...rest}\n />\n\n \n {!!this.props.copyimage && (\n \n )}\n {!!this.props.shareimage && (\n \n )}\n {!!image2 && (\n \"field_image\"\n )}\n
\n \n
\n {isShowError\n ? errorMessage || ` is required.`\n : isShowPasswordError\n ? \"Password should be atleast 8 characters in length and should contain at least 1 Upper Case alphabet(A-Z).1 Special Character and 1 Numeric Value (0-9)\"\n : \"\"}\n
\n \n );\n }\n}\n\nexport class OtpInput extends Component {\n render() {\n const { inputref, ...rest } = this.props;\n return (\n
\n \n
\n );\n }\n}\n","import React, { Component } from \"react\";\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\";\nimport { Carousel } from \"react-responsive-carousel\";\nimport {\n carouselImage1,\n carouselImage2,\n} from \"../../store/types/appEssentials\";\nimport Image from \"../Image\";\n\n\nexport default class DemoCarousel extends Component {\n\n render() {\n return (\n
\n {/* */}\n
\n \"first :\n
\n\n {/*
*/}\n {/*
\n
View Value Across Asset Classes
\n
See holdings across asset classes - Equity,Debt,Liquid - and across funds and categories
\n
*/}\n
\n );\n }\n}\n","import { CALL_API } from \"../api.middleware\";\nimport {\n USER_LOGIN,\n USER_LOGIN_SUCCESS,\n USER_LOGIN_FAILED,\n USER_LOGOUT,\n USER_PAN,\n USER_LOGIN_REFRESH,\n USER_LOGIN_REFRESH_SUCCESS,\n USER_LOGIN_REFRESH_FAILED,\n POSTER_OPEN,\n ENACH_UMR,\n ENACH_FOLIO,\n ENACH_BANK_ACC,\n ENACH_END_DATE,\n ENACH_START_DATE,\n ENACH_MAX_AMOUNT,\n} from \"../types/auth\";\n\nexport const userLogin = (body) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/login\",\n body,\n method: \"POST\",\n isLogin: true,\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\nexport const passwordPolicy_JMF = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/PasswordPolicy_JMF\",\n params,\n method: \"GET\",\n isPassword: true,\n },\n });\n } catch (error) {\n return { error };\n }\n};\n\nexport const RefreshLogin = () => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/refresh_token\",\n method: \"GET\",\n types: [\n USER_LOGIN_REFRESH,\n USER_LOGIN_REFRESH_SUCCESS,\n USER_LOGIN_REFRESH_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${\"Session active time out. Please login again.\"}`);\n }\n};\n\nexport const clearSession = () => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/clear_session\",\n method: \"GET\",\n \n },\n });\n } catch (error) {\n alert(`${\"Session active time out. Please login again.\"}`);\n }\n};\n\n// export const generateOtp = (params) => async (dispatch) => {\n// try {\n// return await dispatch({\n// [CALL_API]: {\n// url: \"/DistributorSignup\",\n// params,\n// method: \"GET\",\n// },\n// });\n// } catch (error) {\n// alert(`${error}`);\n// }\n// };\n\n// export const registration = (params) => async (dispatch) => {\n// try {\n// return await dispatch({\n// [CALL_API]: {\n// url: \"/DistributorAddUser\",\n// params,\n// method: \"GET\",\n// },\n// });\n// } catch (error) {\n// alert(`${error}`);\n// }\n// };\n\nexport const forgotUserId = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/GetForgotUsername\",\n params,\n method: \"GET\",\n isAuth: true,\n\n },\n });\n } catch (error) {\n alert(`${error}`);\n // console.log(error);\n }\n};\n\n\nexport const resetPassword = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/ResetPassword\",\n params,\n method: \"GET\",\n isAuth: true,\n\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const userLogout = () => {\n return {\n type: USER_LOGOUT,\n };\n};\n\nexport const PosterOpen = (value) => {\n return {\n type: POSTER_OPEN,\n body: value,\n };\n};\n\nexport const userPan = (Pan) => {\n return {\n type: USER_PAN,\n body: Pan,\n };\n};\n\nexport const EnachUMR = (UMR) => {\n return {\n type: ENACH_UMR,\n body: UMR,\n };\n};\n\nexport const EnachFolio = (folio) => {\n return {\n type: ENACH_FOLIO,\n body: folio,\n };\n};\n\nexport const Enachbank = (Bank) => {\n return {\n type: ENACH_BANK_ACC,\n body: Bank,\n };\n};\n\nexport const EnachEndDate = (date) => {\n return {\n type: ENACH_END_DATE,\n body: date,\n };\n};\nexport const EnachStartDate = (date) => {\n return {\n type: ENACH_START_DATE,\n body: date,\n };\n};\nexport const EnachMaxAmount = (amount) => {\n return {\n type: ENACH_MAX_AMOUNT,\n body: amount,\n };\n};\n// export const FundCodes = () => async dispatch =>{\n// try{\n// return await dispatch({\n\n// })\n// }catch (error) {\n// alert(`${error}`);\n// }\n// }\nexport const refreshToken = () => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/refresh_token\",\n method: \"GET\",\n types: [\"\", USER_LOGIN_REFRESH_SUCCESS],\n },\n });\n } catch (error) {\n console.log(`${error}`);\n }\n};\nexport const generateLoginOtp = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/GenerateLoginOTP\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n return { error };\n }\n};\nexport const validateLoginOtp = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/ValidateLoginOTP\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n return { error };\n }\n};\nexport const SaveEmailMobile_Login = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/SaveEmailMobile_Login\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n return { error };\n }\n};\nexport const SendOtp_EmailorMOB = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/SendOtp_EmailorMOB\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n return { error };\n }\n};\nexport const Verify_EmailorMOB = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/Verify_EmailorMOB\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n return { error };\n }\n};\n\nexport const validateOTP = (body) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/validate-otp\",\n body,\n method: \"POST\",\n types: [USER_LOGIN, USER_LOGIN_SUCCESS, USER_LOGIN_FAILED],\n isLogin: true,\n },\n });\n } catch (error) {\n alert(error);\n }\n};\n\nexport const generateOtp = (body) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/generate-signupotp\",\n body,\n method: \"POST\",\n isAuth: true,\n },\n });\n } catch (error) {\n alert(error);\n }\n};\n\nexport const reGenerateOtp = (body) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/regenerate-signupotp\",\n body,\n method: \"POST\",\n isAuth: true,\n },\n });\n } catch (error) {\n alert(error);\n }\n};\n\n\nexport const forgotPassword = (body) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/generate-forgotPasswordOtp\",\n body,\n method: \"POST\",\n isAuth: true,\n },\n });\n } catch (error) {\n alert(error);\n }\n};\n\n\nexport const validateForgotPasswordOtp = (body) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/validate-forgotPasswordOtp\",\n body,\n method: \"POST\",\n isAuth: true,\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\nexport const registration = (body) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/validate-signupotp\",\n body,\n method: \"POST\",\n isAuth: true,\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\n\nexport const saveLogin = (body) => (dispatch) => {\n return dispatch({\n type: USER_LOGIN_SUCCESS,\n body,\n });\n};\nexport const SignupCDMSValidate = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/ktrack_dist_signup_CDMS_Validate\",\n params,\n method: \"GET\",\n isAuth: true,\n },\n });\n } catch (error) {\n return { error };\n }\n};\n","import { CALL_API } from \"../api.middleware\";\nimport {\n GET_DASHBOARD_DATA,\n GET_DASHBOARD_DATA_SUCCESS,\n GET_DASHBOARD_DATA_FAILED,\n GET_TRANSACTION_DATA,\n GET_TRANSACTION_DATA_SUCCESS,\n GET_TRANSACTION_DATA_FAILED,\n GET_AUM_DATA,\n GET_AUM_DATA_SUCCESS,\n GET_AUM_DATA_FAILED,\n GET_FREQUENT_MAIL_BACK_REQUEST,\n GET_FREQUENT_MAIL_BACK_REQUEST_FAILED,\n GET_FREQUENT_MAIL_BACK_REQUEST_SUCCESS,\n GET_DASHBOARD_AUM_DATA,\n GET_DASHBOARD_AUM_DATA_SUCCESS,\n GET_DASHBOARD_AUM_DATA_FAILED,\n GET_SIP_SUMMARY_DATA,\n GET_SIP_SUMMARY_DATA_SUCCESS,\n GET_SIP_SUMMARY_DATA_FAILED,\n GET_NFO_SCHEMES,\n GET_NFO_SCHEMES_SUCCESS,\n GET_NFO_SCHEMES_FAILED,\n} from \"../types\";\n\nexport const getDashboardData = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/Dist_Dashboard\",\n params,\n method: \"GET\",\n types: [\n GET_DASHBOARD_DATA,\n GET_DASHBOARD_DATA_SUCCESS,\n GET_DASHBOARD_DATA_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getTransactionData = (params) => async (dispatch) => {\n try {\n await dispatch({\n [CALL_API]: {\n url: \"/Ktrack_Dist_DetailedTransaction\",\n params,\n method: \"GET\",\n types: [\n GET_TRANSACTION_DATA,\n GET_TRANSACTION_DATA_SUCCESS,\n GET_TRANSACTION_DATA_FAILED,\n ],\n showLoader: true,\n },\n });\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const getAumData = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/GetDistributorAUM\",\n params,\n method: \"GET\",\n types: [GET_AUM_DATA, GET_AUM_DATA_SUCCESS, GET_AUM_DATA_FAILED],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getFrequentMailBackRequest = () => async (dispatch) => {\n try {\n await dispatch({\n [CALL_API]: {\n url: \"/ktrack_frequent_mailback_request\",\n method: \"GET\",\n types: [\n GET_FREQUENT_MAIL_BACK_REQUEST_SUCCESS,\n GET_FREQUENT_MAIL_BACK_REQUEST,\n GET_FREQUENT_MAIL_BACK_REQUEST_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getDashboardDataAum = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/KtrackDistAumSummary\",\n params,\n method: \"GET\",\n types: [\n GET_DASHBOARD_AUM_DATA,\n GET_DASHBOARD_AUM_DATA_SUCCESS,\n GET_DASHBOARD_AUM_DATA_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getSipSummary = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/ktrackGetSipAum\",\n params,\n method: \"GET\",\n types: [\n GET_SIP_SUMMARY_DATA,\n GET_SIP_SUMMARY_DATA_SUCCESS,\n GET_SIP_SUMMARY_DATA_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getNfoSchemes = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/GetNFOSchemes\",\n params,\n method: \"GET\",\n types: [\n GET_NFO_SCHEMES,\n GET_NFO_SCHEMES_SUCCESS,\n GET_NFO_SCHEMES_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const reinitateTransaction = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/Ktrack_ReinitiateTransaction\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const NfoSchemesSubmission = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/SendNFOLink\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n","import { CALL_API } from \"../api.middleware\";\nimport {\n GET_INVESTORS_LIST,\n GET_INVESTORS_LIST_SUCCESS,\n GET_INVESTORS_LIST_FAILED,\n GET_INVESTOR_DETAILS,\n GET_INVESTOR_DETAILS_SUCCESS,\n GET_INVESTOR_DETAILS_FAILED,\n FAVOURITE_INVESTOR_SUCCESS,\n SEARCH_INVESTORS,\n SEARCH_INVESTORS_SUCCESS,\n SEARCH_INVESTORS_FAILED,\n VALIDATE_SUB_BROKER,\n VALIDATE_SUB_BROKER_SUCCESS,\n VALIDATE_SUB_BROKER_FAILED,\n GET_UPCOMING_SIP_DETAILS,\n GET_UPCOMING_SIP_DETAILS_FAILED,\n GET_UPCOMING_SIP_DETAILS_SUCCESS,\n GET_FOLIOS_CANCELLATION,\n GET_FOLIOS_CANCELLATION_FAILED,\n GET_FOLIOS_CANCELLATION_SUCCESS,\n STORE_TYPE,\n SUBMIT_GET_FOLIOS_CANCELLATION,\n SUBMIT_GET_FOLIOS_CANCELLATION_SUCCESS,\n SUBMIT_GET_FOLIOS_CANCELLATION_FAILED,\n PAUSE_SIP_DATES,\n PAUSE_SIP_DATES_SUCCESS,\n PAUSE_SIP_DATES_FAILED,\n PAUSE_END_SIP_DATES,\n PAUSE_END_SIP_DATES_SUCCESS,\n PAUSE_END_SIP_DATES_FAILED,\n PAUSE_SIP_VALIDATOR,\n PAUSE_SIP_VALIDATOR_SUCCESS,\n PAUSE_SIP_VALIDATOR_FAILED,\n FINAL_SIP_PAUSE,\n FINAL_SIP_PAUSE_SUCCESS,\n FINAL_SIP_PAUSE_FAILED,\n SEND_MAIL_KYC,\n SEND_MAIL_KYC_SUCCESS,\n SEND_MAIL_KYC_FAILED,\n SUBMIT_GET_STP_FOLIOS_CANCELLATION,\n SUBMIT_GET__STP_FOLIOS_CANCELLATION_SUCCESS,\n SUBMIT_GET_STP_FOLIOS_CANCELLATION_FAILED,\n} from \"../types\";\n\nexport const getInvestors = (params) => async (dispatch) => {\n try {\n await dispatch({\n [CALL_API]: {\n url: \"/Dist_AllClientDetails\",\n params,\n method: \"GET\",\n types: [\n GET_INVESTORS_LIST,\n GET_INVESTORS_LIST_SUCCESS,\n GET_INVESTORS_LIST_FAILED,\n ],\n showLoader: true,\n },\n });\n } catch (error) {\n console.log(error);\n // alert(`${error}`);\n }\n};\n\nexport const getInvestorDetails = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/GetDistributorDetailsbyPAN\",\n params,\n method: \"GET\",\n types: [\n GET_INVESTOR_DETAILS,\n GET_INVESTOR_DETAILS_SUCCESS,\n GET_INVESTOR_DETAILS_FAILED,\n ],\n showLoader: true,\n },\n });\n } catch (error) {\n console.error(error);\n // alert(`${error}`);\n }\n};\n\nexport const favouriteInvestor = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/DistSavefavourite\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n console.log(`${error}`);\n }\n};\n\nexport const updateFavouriteInvestor = (data) => {\n return {\n type: FAVOURITE_INVESTOR_SUCCESS,\n data,\n };\n};\n\nexport const searchInvestors = (params, showLoader = false) => async (\n dispatch\n) => {\n try {\n await dispatch({\n [CALL_API]: {\n url: \"/InvestorSearch\",\n params,\n method: \"GET\",\n types: [\n SEARCH_INVESTORS,\n SEARCH_INVESTORS_SUCCESS,\n SEARCH_INVESTORS_FAILED,\n ],\n showLoader,\n },\n });\n } catch (error) {\n // alert(`${error}`);\n console.log(`${error}`);\n }\n};\n\nexport const getNewPurchaseFundList = (params, types) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/getMasterNewpur\",\n params,\n method: \"GET\",\n types,\n showLoader: true,\n },\n });\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const validateSubBroker = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/ValidateBrokercode\",\n params,\n method: \"GET\",\n types: [\n VALIDATE_SUB_BROKER,\n VALIDATE_SUB_BROKER_SUCCESS,\n VALIDATE_SUB_BROKER_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const checkKyc = (params, showLoader = false) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/dist_ChkpanexistsinKRA\",\n params,\n method: \"GET\",\n showLoader,\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const redirectKyc = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/EKYCVerification\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\n\nexport const getUpComingSips = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/GetSipFundDetails\",\n params,\n method: \"GET\",\n types: [\n GET_UPCOMING_SIP_DETAILS,\n GET_UPCOMING_SIP_DETAILS_SUCCESS,\n GET_UPCOMING_SIP_DETAILS_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getFolioSipCancellation = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/GetFoliosForSIPCancelation\",\n params,\n method: \"GET\",\n types: [\n GET_FOLIOS_CANCELLATION,\n GET_FOLIOS_CANCELLATION_SUCCESS,\n GET_FOLIOS_CANCELLATION_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`)\n }\n};\n\nexport const submitSipCancellation = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/Ktrack_Dist_SipCancellation\",\n params,\n method: \"GET\",\n types: [\n SUBMIT_GET_FOLIOS_CANCELLATION,\n SUBMIT_GET_FOLIOS_CANCELLATION_SUCCESS,\n SUBMIT_GET_FOLIOS_CANCELLATION_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const submitSTPCancellation = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/SIPCancelSave\",\n params,\n method: \"GET\",\n types: [\n SUBMIT_GET_STP_FOLIOS_CANCELLATION,\n SUBMIT_GET__STP_FOLIOS_CANCELLATION_SUCCESS,\n SUBMIT_GET_STP_FOLIOS_CANCELLATION_FAILED,\n ],\n },\n });\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const sipPauseDateCalculate = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/GetSIPPauseDate\",\n params,\n method: \"GET\",\n types: [\n PAUSE_SIP_DATES,\n PAUSE_SIP_DATES_SUCCESS,\n PAUSE_SIP_DATES_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const sipPauseEndDateCalculate = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/PauseSIPEnddateDecider\",\n params,\n method: \"GET\",\n types: [\n PAUSE_END_SIP_DATES,\n PAUSE_END_SIP_DATES_SUCCESS,\n PAUSE_END_SIP_DATES_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const sipPauseValidator = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/SIPPauseVAlidation\",\n params,\n method: \"GET\",\n types: [\n PAUSE_SIP_VALIDATOR,\n PAUSE_SIP_VALIDATOR_SUCCESS,\n PAUSE_SIP_VALIDATOR_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\nexport const finalSipPause = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/SIPPause\",\n params,\n method: \"GET\",\n types: [\n FINAL_SIP_PAUSE,\n FINAL_SIP_PAUSE_SUCCESS,\n FINAL_SIP_PAUSE_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const storeType = (selectedTab) => {\n return {\n type: STORE_TYPE,\n body: { selectedTab },\n };\n};\n\nexport const EKYCMail = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/Send_eKYCMail\",\n ikyc: true,\n params: params,\n method: \"GET\",\n types: [SEND_MAIL_KYC, SEND_MAIL_KYC_SUCCESS, SEND_MAIL_KYC_FAILED],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\nexport const getCancellationReason = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/GetCancellationReason\",\n params,\n method: \"GET\",\n showLoader: true,\n },\n });\n } catch (error) {\n return { error };\n }\n};\n","import { CALL_API } from \"../api.middleware\";\nimport {\n SHOW_PURCHASE_CONFIRMATION,\n SHOW_PURCHASE_CONFIRMATION_SUCCESS,\n SHOW_PURCHASE_CONFIRMATION_FAILED,\n CONFIRM_PURCHASE,\n CONFIRM_PURCHASE_SUCCESS,\n CONFIRM_PURCHASE_FAILED,\n SET_SIP_DETAILS,\n SIP_SAVE_DATA,\n SET_NEW_PAN,\n SIP_SAVE_DATA_SUCCESS,\n SIP_SAVE_DATA_FAILED,\n SET_SWITCH_DETAILS,\n SET_STP_DETAILS,\n GET_EARNINGS,\n GET_EARNINGS_SUCCESS,\n GET_EARNINGS_FAILED,\n SAVE_TRANSACTION_DETAILS,\n RE_INITIATE_TRANSACTION,\n RE_INITIATE_SUCCESS,\n RE_INITIATE_FAILED,\n} from \"../types\";\n\nexport const submitPurchaseData = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/SentpurchasemailRed\",\n params,\n method: \"GET\",\n showLoader: true,\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const showPurchaseConfirmation = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/ShowpurchaseconfirmationData\",\n params,\n method: \"GET\",\n types: [\n SHOW_PURCHASE_CONFIRMATION,\n SHOW_PURCHASE_CONFIRMATION_SUCCESS,\n SHOW_PURCHASE_CONFIRMATION_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\nexport const saveTransactionDetails = (body) => {\n return {\n type: SAVE_TRANSACTION_DETAILS,\n body,\n };\n};\nexport const saveSipData = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/SIPSave\",\n params,\n method: \"GET\",\n types: [SIP_SAVE_DATA, SIP_SAVE_DATA_SUCCESS, SIP_SAVE_DATA_FAILED],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const confirmPurchase = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/SaveDTRWeb\",\n params,\n method: \"GET\",\n types: [\n CONFIRM_PURCHASE,\n CONFIRM_PURCHASE_SUCCESS,\n CONFIRM_PURCHASE_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getAssetClasses = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/GetAssetclass\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getOtherSchemes = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/getOtherSchemesSwitch\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getBankDetails = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/GetRedemptionBankDeatils\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getCheckPanKotm = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/CheckPANKotm\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\nexport const getCheckPanAotm = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/CheckPANAotm\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getRedemptionPaymentDetails = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/exitloadcalc\",\n params,\n method: \"GET\",\n types: [\n SHOW_PURCHASE_CONFIRMATION,\n SHOW_PURCHASE_CONFIRMATION_SUCCESS,\n SHOW_PURCHASE_CONFIRMATION_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const redemptionConfirm = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/Savetransaction_red\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const swpOptions = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/getMasterSIP\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const CalcSIPEnddt = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/CalcSIPEnddt\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const swpConfirm = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/SWPDetailsSave_WEB\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const stpConfirm = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/SaveSTPconfirmationWeb\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const physicalTransaction = (body) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"\",\n body,\n method: \"POST\",\n isFile: true,\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const setSipDetails = (data) => {\n return {\n type: SET_SIP_DETAILS,\n body: data,\n };\n};\n\nexport const setNewPAN = (pan) => {\n return {\n type: SET_NEW_PAN,\n body: pan,\n };\n};\n\nexport const setSwitchDetails = (data) => {\n return {\n type: SET_SWITCH_DETAILS,\n body: data,\n };\n};\n\nexport const setStpDetails = (data) => {\n return {\n type: SET_STP_DETAILS,\n body: data,\n };\n};\n\nexport const getFundWiseEarnings = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: `/GetBrokerageDetails`,\n isOld: true,\n params,\n method: \"GET\",\n types: [GET_EARNINGS, GET_EARNINGS_SUCCESS, GET_EARNINGS_FAILED],\n showLoader: true,\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getMinimumAmount = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: `/Ktrack_GetMinAmt`,\n params,\n method: \"GET\",\n // types: [GET_EARNINGS, GET_EARNINGS_SUCCESS, GET_EARNINGS_FAILED],\n // showLoader: true\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getNctType = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: `/GetNCTKtrackgo`,\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getNctSave = (body) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: ``,\n body,\n method: \"POST\",\n isNct: true,\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getEnach = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: `/enachregdbilldesk`,\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const EBamountValidation = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/ktrack_mirae_EB_amt_validation\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n return error;\n }\n};\n\nexport const getEnachFolios = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: `/GetEnachBankByFolio`,\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getEnachFequency = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: `/GetEnachFrequency`,\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getEnachFoliosList = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: `/CheckPANAotm`,\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n // alert(`${error}`);\n console.log(`${error}`);\n }\n};\nexport const STPMinGap = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: `/Ktrack_get_min_gap`,\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n // alert(`${error}`);\n console.log(`${error}`);\n }\n};\nexport const STPCycleDateValidation = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: `/Ktrack_get_cycle_date_validation`,\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n // alert(`${error}`);\n return error\n }\n};\n\nexport const getEnachValidateBank = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: `/ktrack_enach_bank_valid`,\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n alert(`${error}`);\n // console.log(`${error}`)\n }\n};\n\nexport const checkPAN = (payload) => async (dispatch) => {\n try {\n const requestBody = {\n Pan: payload.pan,\n PanName: payload.PanName,\n PanDOB: payload.PanDOB,\n JH1_PAN: payload.jointHolder1Pan,\n JH1_PanDOB: payload.jointHolder1PanDOB,\n JH1_PanName: payload.jointHolder1PanName,\n JH2_PAN: payload.jointHolder2Pan,\n JH2_PanDOB: payload.jointHolder2PanDOB,\n JH2_PanName: payload.jointHolder2PanName,\n G_Pan: payload.guardianPan,\n G_PanName: payload.guardianPanName,\n G_PanDOB: payload.guardianPanDOB,\n TrxnType: \"New\",\n Acno: 0,\n Branch: \"WB99\",\n Fund: payload.fund,\n invStatus: payload.invStatus,\n JH1_invStatus:payload.JH1_invStatus,\n JH2_invStatus:payload.JH2_invStatus,\n };\n\n const response = await dispatch({\n [CALL_API]: {\n url: \"/Wrappermethod\",\n method: \"GET\",\n showLoader: true,\n params: requestBody,\n skipEncode: true,\n },\n });\n const { DtData = [] } = response;\n const [panAadhaaarResponse = {}] = DtData;\n return panAadhaaarResponse;\n } catch (error) {\n alert(`${error}`);\n }\n};\n\n\nexport const reInitiateTransaction = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/Ktrack_ReinitiateTransaction\",\n params,\n method: \"GET\",\n types: [\n RE_INITIATE_TRANSACTION,\n RE_INITIATE_SUCCESS,\n RE_INITIATE_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\n\nexport const showPurchaseConfirmationReinitiate =\n (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/ShowpurchaseconfirmationData_reinitiate\",\n params,\n method: \"GET\",\n types: [\n SHOW_PURCHASE_CONFIRMATION,\n SHOW_PURCHASE_CONFIRMATION_SUCCESS,\n SHOW_PURCHASE_CONFIRMATION_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n };\n","import { CALL_API } from \"../api.middleware\";\nimport {\n STORE_FATCA_DETAILS,\n STORE_NOMINEE_DETAILS,\n STORE_INVESTMENT_DETAILS,\n STORE_SCHEME_DETAILS,\n STORE_APPLICANT_PARAMS,\n STORE_INVESTMENT_PARAMS,\n STORE_SCHEME_PARAMS,\n STORE_ADDRESS_SUCESS,\n GET_NOMINEE_DETAILS,\n GET_NOMINEE_DETAILS_SUCESS,\n GET_NOMINEE_DEATILS_FAILED,\n GET_BANK_DETAILS,\n GET_BANK_DETAILS_SUCESS,\n GET_BANK_DETAILS_FAILED,\n STORE_PAN,\n CLEARING_FIRST_TIME_INVETOR_JOURNEY_SUCCESS,\n} from \"../types\";\n\nexport const getBankList = () => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/Ktrack_GetBanks\",\n method: \"GET\",\n },\n });\n } catch (error) {\n console.log({ error });\n }\n};\n\nexport const validatePennyDrop = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/ValidatePennyDrop\",\n method: \"GET\",\n params,\n },\n });\n } catch (error) {\n console.log({ error });\n }\n};\nexport const getRelationShipList = () => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/getmasternewpur\",\n method: \"GET\",\n params: {\n opt: \"nrn\",\n },\n },\n });\n } catch (error) {\n console.log({ error });\n }\n};\nexport const getNomineeDetails = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/ktrack_GetDIT_NomineeDetails\",\n params,\n types: [\n GET_NOMINEE_DETAILS,\n GET_NOMINEE_DETAILS_SUCESS,\n GET_NOMINEE_DEATILS_FAILED,\n ],\n method: \"GET\",\n },\n });\n } catch (error) {\n console.error(error);\n }\n};\nexport const NewinvestorBankDetails = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/ktrack_GetDIT_BankDetails\",\n params,\n method: \"GET\",\n types: [\n GET_BANK_DETAILS,\n GET_BANK_DETAILS_SUCESS,\n GET_BANK_DETAILS_FAILED,\n ],\n },\n });\n } catch (error) {\n console.error(error);\n }\n};\nexport const getNav = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/getNavData\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n console.error(error);\n }\n};\nexport const getStatesList = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/Ktrack_GetStates\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n console.error(error);\n throw error;\n }\n};\n\nexport const getCountriesList = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/Ktrack_GetCountries\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n console.error(error);\n throw error;\n }\n};\nexport const getBankDetails = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n params,\n url: \"/getBankdetailsByIFSC\",\n method: \"GET\",\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\nexport const getCitiesList = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/Ktrack_Getcitybtstate\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n console.error(error);\n }\n};\n\nexport const submitSipDetails = (body) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/new_investor_sip_submit\",\n body,\n method: \"POST\",\n showLoader: true,\n newinvestor:true,\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const submitLumpsumDetails = (body) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/new_investor_lumpsum_submit\",\n body,\n method: \"POST\",\n showLoader: true,\n newinvestor:true,\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\nexport const getAccountTypes = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/GetMasterNewpur_All\",\n params,\n method: \"GET\",\n showLoader: true,\n },\n });\n } catch (error) {\n console.error(error);\n }\n};\n\nexport const getKycDetails = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/Ktrack_GetKYCaddress\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n console.error(error);\n }\n};\nexport const bankAccountTypes = () => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/ktrack_Dist_Getbankaccounttypes\",\n method: \"GET\",\n showLoader: true,\n },\n });\n } catch (error) {\n console.error(error);\n }\n};\n\nexport const storeFatcaDetails = (body) => {\n return {\n type: STORE_FATCA_DETAILS,\n body,\n };\n};\nexport const storeNomineeDetails = (body) => {\n return {\n type: STORE_NOMINEE_DETAILS,\n body,\n };\n};\nexport const storeInvestmentDetails = (body) => {\n return {\n type: STORE_INVESTMENT_DETAILS,\n body,\n };\n};\n\nexport const storeSchemeDetails = (body) => {\n return {\n type: STORE_SCHEME_DETAILS,\n body,\n };\n};\n\nexport const storeSchemeParams = (body) => {\n return {\n type: STORE_SCHEME_PARAMS,\n body,\n };\n};\n\nexport const storeApplicantParams = (body) => {\n return {\n type: STORE_APPLICANT_PARAMS,\n body,\n };\n};\n\nexport const storeInvestmentParams = (body) => {\n return {\n type: STORE_INVESTMENT_PARAMS,\n body,\n };\n};\nexport const storeAddress = (body) => {\n return {\n type: STORE_ADDRESS_SUCESS,\n body,\n };\n};\nexport const storePan = (body) => {\n return {\n type: STORE_PAN,\n body,\n };\n};\nexport const clearingFirstTimeInvestorJourney = (body) => {\n return {\n type: CLEARING_FIRST_TIME_INVETOR_JOURNEY_SUCCESS,\n body,\n };\n};","import { CALL_API } from \"../api.middleware\";\nimport {\n GET_CAMS_DATA,\n GET_CAMS_DATA_FAILED,\n GET_CAMS_DATA_SUCCESS,\n SAVE_EMPANELMENT,\n SAVE_EMPANELMENT_FAILED,\n SAVE_EMPANELMENT_SUCCESS,\n GENERATE_EMPANEL_OTP,\n GENERATE_EMPANEL_OTP_FAILED,\n GENERATE_EMPANEL_OTP_SUCCESS,\n VALIDATE_EMPANEL_OTP,\n VALIDATE_EMPANEL_OTP_FAILED,\n VALIDATE_EMPANEL_OTP_SUCCESS,\n REMOVE_CAMS_DATA,\n GET_BANK_DETAILS,\n GET_BANK_DETAILS_FAILED,\n GET_BANK_DETAILS_SUCCESS,\n AGENT_REGISTRATION,\n AGENT_REGISTRATION_SUCCESS,\n AGENT_REGISTRATION_FAILED,\n VALIDATE_ARN_CODE,\n VALIDATE_ARN_CODE_SUCCESS,\n VALIDATE_ARN_CODE_FAILED,\n STORE_BASIC_DETAILS,\n STORE_BANK_STATE,\n STORE_BANK_DETAILS,\n STORE_CAMS_DETAILS,\n STORE_EMPANELLEMENT_NOMINEE_DETAILS\n} from \"../types/empanelment\";\n\nexport const validateArn = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n params,\n url: \"/ValidateArncode_Mirae\",\n method: \"GET\",\n types: [\n VALIDATE_ARN_CODE,\n VALIDATE_ARN_CODE_SUCCESS,\n VALIDATE_ARN_CODE_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\nexport const validatePennyDrop = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/ValidatePennyDrop\",\n params,\n method: \"GET\",\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\nexport const empanelmentRegistration = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n params,\n url: \"/Empanelment_AgentRegistration\",\n method: \"GET\",\n types: [\n AGENT_REGISTRATION,\n AGENT_REGISTRATION_SUCCESS,\n AGENT_REGISTRATION_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\nexport const saveEmpanelment = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n params,\n url: \"/SaveAllDetails_Empanelment\",\n method: \"GET\",\n types: [\n SAVE_EMPANELMENT,\n SAVE_EMPANELMENT_SUCCESS,\n SAVE_EMPANELMENT_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\nexport const getBankDetails = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n params,\n url: \"/GetBankByIFSCorMICR\",\n method: \"GET\",\n types: [\n GET_BANK_DETAILS,\n GET_BANK_DETAILS_SUCCESS,\n GET_BANK_DETAILS_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\nexport const getCamsData = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n params,\n url: \"/CAMSData\",\n method: \"GET\",\n types: [GET_CAMS_DATA, GET_CAMS_DATA_SUCCESS, GET_CAMS_DATA_FAILED],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const generateEmpanelOTP = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n params,\n url: \"/GenerateEmpanelOtp\",\n method: \"GET\",\n types: [\n GENERATE_EMPANEL_OTP,\n GENERATE_EMPANEL_OTP_SUCCESS,\n GENERATE_EMPANEL_OTP_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\nexport const validateEmpanelOTP = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n params,\n url: \"/ValidateEmpanelOtp\",\n method: \"GET\",\n types: [\n VALIDATE_EMPANEL_OTP,\n VALIDATE_EMPANEL_OTP_SUCCESS,\n VALIDATE_EMPANEL_OTP_FAILED,\n ],\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\nexport const getCitiesList = (params) => async (dispatch) => {\n try {\n return await dispatch({\n [CALL_API]: {\n params,\n url: \"/GetCities\",\n method: \"GET\",\n },\n });\n } catch (error) {\n alert(error);\n }\n};\n\nexport const removeData = () => {\n return {\n type: REMOVE_CAMS_DATA,\n body: [],\n };\n};\n\nexport const saveEmpanelData = (data) => {\n return {\n type: STORE_BASIC_DETAILS,\n body: data,\n };\n};\nexport const saveCamsData = (data) => {\n return {\n type: STORE_CAMS_DETAILS,\n body: data,\n };\n};\nexport const saveEmpanelmentNomineeData = (data) => {\n return {\n type: STORE_EMPANELLEMENT_NOMINEE_DETAILS,\n body: data,\n };\n};\nexport const storeBankState = (data) => {\n return {\n type: STORE_BANK_STATE,\n body: data,\n };\n};\nexport const saveBankDetails = (body) => {\n return {\n type: STORE_BANK_DETAILS,\n body,\n };\n};\n","import React, { Component } from \"react\";\nimport { NavLink } from \"react-router-dom\";\nimport Breadcrumbs from \"@material-ui/core/Breadcrumbs\";\nimport NavigateNextIcon from \"@material-ui/icons/NavigateNext\";\nimport Image from \"../Image\";\n\nexport default class CommonBreadCrumb extends Component {\n lastAndTo = (index) => {\n let { pathnames } = this.props;\n if (pathnames.find((p) => p === process.env.PUBLIC_URL.split(\"/\").pop())) {\n pathnames = pathnames.slice(1);\n }\n const last = index === pathnames.length - 1;\n const to = `/${pathnames.slice(0, index + 1).join(\"/\")}`;\n return { last, to };\n };\n\n render() {\n let { hideFirst, pathnames, breadcrumbNameMap } = this.props;\n if (pathnames.find((p) => p === process.env.PUBLIC_URL.split(\"/\").pop())) {\n pathnames = pathnames.slice(1);\n }\n return pathnames.length === 1 && !!hideFirst ? (\n
\n ) : (\n }\n aria-label=\"Breadcrumb\"\n >\n {pathnames.map((value, index) => {\n const { last, to } = this.lastAndTo(index);\n return (\n
\n {/* {index === 0 && (\n \n )} */}\n {last ? (\n
\n {breadcrumbNameMap[to]?.title}\n
\n ) : (\n \n {breadcrumbNameMap[to]?.title}\n \n )}\n
\n );\n })}\n \n );\n }\n}\n","const drawerWidth = 254;\n\nexport const drawerStyles = (theme) => ({\n root: {\n display: \"flex\",\n },\n toolbar: {\n height: 75,\n minHeight: 75,\n display: \"flex\",\n alignItems: \"center\",\n paddingLeft: 20,\n borderBottom: \"0.1px solid black\",\n },\n appBar: {\n width: `calc(100% - ${drawerWidth}px)`,\n minHeight: 75,\n marginLeft: drawerWidth,\n background: \"white\",\n boxShadow: \"0px 0px 1px -1px lavender\",\n },\n drawer: {\n width: drawerWidth,\n flexShrink: 0,\n overflow: \"hidden\",\n },\n drawerPaper: {\n width: drawerWidth,\n boxShadow: \"0px 0px 3px -1px lavender\",\n border: 0,\n overflow: \"hidden\",\n },\n content: {\n flexGrow: 1,\n marginTop: 70,\n // padding: \"0px 30px\",\n width: \"70%\",\n overflow: \"hidden\",\n backgroundColor: \"#fbfcfd\",\n // padding: theme.spacing(3)\n },\n appbaricons: {\n display: \"flex\",\n width: \"100%\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n appabarlastlogin: {\n height: 20,\n },\n appabarring: {\n height: 20,\n marginLeft: 20,\n marginRight: 20,\n },\n appabarlogout: {\n cursor: \"pointer\",\n height: 35,\n marginLeft: 20,\n marginRight: 20,\n color: \"White\",\n fontSize: 14,\n padding : 5,\n borderRadius: 5,\n background: \"#023F88\",\n border: \"none\",\n },\n lastlogindiv: {\n display: \"flex\",\n marginRight: 20,\n },\n lastloginmain: {\n color: \"gray\",\n fontSize: 12,\n marginLeft: 5,\n fontWeight: 600,\n },\n lastloginsub: {\n color: \"#023F88\",\n },\n profile: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n marginTop: 5,\n },\n profileimage: {\n background: \"#023F88\",\n display: \"flex\",\n marginLeft: 30,\n color: \"white\",\n fontSize: 20,\n fontWeight: 100,\n\n alignItems: \"center\",\n justifyContent: \"center\",\n\n height: 60,\n width: 60,\n // marginRight: 25,\n borderRadius: \"50%\",\n },\n profileRole: {\n backgroundColor: \"#feefe2\",\n padding: \"5px 20px 5px 10px\",\n borderTopRightRadius: 30,\n borderBottomRightRadius: 30,\n },\n profileRoletext: {\n color: \"#586266\",\n fontSize: 12,\n },\n profileRolesubtext: {\n color: \"#023F88\",\n fontFamily: \"HelveticaNeue-Bold\",\n fontSize: 12,\n },\n profileSettings: {\n display: \"flex\",\n alignItems: \"center\",\n padding: 10,\n marginRight: 5,\n border: \"1px solid lightgray\",\n borderRadius: 5,\n boxShadow: \"0px 0px 0px 1px lavender\",\n },\n profileSettingsicon: {\n height: 30,\n width: 35,\n marginRight: 10,\n },\n profileName: {\n color: \"black\",\n fontSize: 15,\n marginTop: 10,\n textAlign: \"center\",\n paddingRight: \"22px\"\n },\n profilenametext: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n paddingRight: \"24px\"\n },\n profilenameMaintext: {\n display: \"flex\",\n justifyContent: \"flex-end\",\n fontSize: 13,\n color: \"#596679\",\n textAlign: \"center\",\n },\n profilediv: {\n paddingBottom: 15,\n },\n profilenamesubtext: {\n color: \"black\",\n fontSize: 15,\n marginLeft: 5,\n },\n combined: {\n margin: \"10px 0px\",\n },\n list: {\n margin: \"0px 10px\",\n padding: \"20px 0px 40px\",\n overflowX: \"hidden\",\n overflowY: \"scroll\",\n marginBottom: \"20px\",\n },\n listImage: {\n marginLeft: 12,\n height: 15,\n },\n listTextActive: {\n fontSize: 15,\n marginLeft: 15,\n color: \"white\",\n },\n\n listText: {\n fontSize: 15,\n marginLeft: 12,\n color: \"#586a82\",\n },\n});\n\nexport const dashboardStyles = (theme) => ({\n card: {\n display: \"flex\",\n width: \"33%\",\n height: 100,\n margin: \"0px 10px\",\n },\n details: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n content: {\n flex: \"1 0 auto\",\n display: \"flex\",\n paddingBottom: 0,\n flexDirection: \"column\",\n justifyContent: \"center\",\n },\n cover: {\n width: 151,\n },\n controls: {\n display: \"flex\",\n alignItems: \"center\",\n paddingLeft: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n },\n playIcon: {\n height: 38,\n width: 38,\n },\n});\n\nexport const simpleCardsStyles = (theme) => ({\n card: {\n display: \"flex\",\n alignItems: \"center\",\n width: \"33.33%\",\n marginTop: 1,\n padding: \"16px 15px\",\n boxShadow: \"0px 0px 3px 1px lavender\",\n margin: \"0px 10px\",\n flexGrow: 1,\n },\n\n content: {\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n padding: 0,\n },\n displaySimpleCard: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n },\n simpletwo: {\n display: \"flex\",\n alignItems: \"center\",\n flexGrow: 1,\n },\n details: {\n margin: \"0px 20px\",\n },\n name: {\n fontSize: 14,\n },\n count: {\n fontSize: 18,\n },\n});\n","import React, { Component } from \"react\";\nimport Loader from \"react-loader-spinner\";\nimport \"react-loader-spinner/dist/loader/css/react-spinner-loader.css\";\n\nexport default class CustomLoading extends Component {\n render() {\n return (\n \n \n
\n );\n }\n}\n","import React, { Component } from \"react\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { dashboardStyles } from \"../appCss\";\nimport PropTypes from \"prop-types\";\nimport Card from \"@material-ui/core/Card\";\nimport CardContent from \"@material-ui/core/CardContent\";\n\nimport { connect } from \"react-redux\";\nimport CustomLoading from \"../CustomLoader\";\nimport Image from \"../../Image\";\n\nclass DisplayCards extends Component {\n render() {\n const { classes, margin } = this.props;\n return (\n \n
\n \n
\n
\n \n
\n {this.props.name}\n
\n {!!this.props.values ? (\n
{parseFloat(this.props.values).toLocaleString()}
\n ) : (\n 0 ? \"ThreeDots\" : \"\"}\n width={this.props.count > 0 ? 25 : 0}\n height={this.props.count > 0 ? 25 : 0}\n />\n )}\n
\n
\n \n );\n }\n}\n\nDisplayCards.propTypes = {\n classes: PropTypes.object.isRequired,\n};\nexport default connect(({ loading }) => {\n const { count } = loading;\n return { count };\n})(withStyles(dashboardStyles)(DisplayCards));\n","import React, { Component } from \"react\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { simpleCardsStyles } from \"../appCss\";\nimport PropTypes from \"prop-types\";\nimport Card from \"@material-ui/core/Card\";\nimport CardContent from \"@material-ui/core/CardContent\";\nimport { Tooltip } from \"@material-ui/core\";\n\nimport CustomLoading from \"../CustomLoader\";\nimport {\n NEW_INVESTORS,\n INACTIVE_INVESTORS,\n ACTIVE_INVESTORS,\n EXPIRING_NEXT_MONTH,\n CLOSED_THIS_MONTH,\n SIP_INVESTMENTS,\n} from \"../../../store/types\";\nimport Image from \"../../Image\";\n\nclass DisplaySimpleCards extends Component {\n render() {\n const { classes } = this.props;\n const x = this.props.count + \"\";\n const pointer = this.props.pointer\n const nameArray = [\n \"Authorization Expired\",\n \"Authorization Approved\",\n \"Authorization Pending\",\n \"Active Investors\",\n \"Inactive Investors\",\n \"New Investors\",\n EXPIRING_NEXT_MONTH,\n CLOSED_THIS_MONTH,\n SIP_INVESTMENTS,\n ];\n\n return (\n
\n \n \n \n
\n
\n \n
\n
\n \n {this.props.name}\n
\n\n {this.props.count >= 0 ? (\n
\n {!!x && x.length === 1 && x !== \"0\" ? \"0\" + x : x}\n
\n ) : (\n \n )}\n
\n
\n\n {nameArray.includes(this.props.name) ? (\n \n \n \n ) : (\n
\n )}\n \n \n \n \n );\n }\n}\n\nDisplaySimpleCards.propTypes = {\n classes: PropTypes.object.isRequired,\n};\nexport default withStyles(simpleCardsStyles)(DisplaySimpleCards);\n","import React, { Component } from \"react\";\n\nexport default class TabHeader extends Component {\n render() {\n return (\n \n {this.props.value}\n \n );\n }\n}\n","import React, { Component } from \"react\";\nvar CurrencyFormat = require(\"react-currency-format\");\nexport class FormatCurrency extends Component {\n render() {\n return (\n \n );\n }\n}\n","import React, { PureComponent } from \"react\";\nimport { PieChart, Pie, Cell, Sector } from \"recharts\";\nimport { FormatCurrency } from \"../../home/currencyFormatter\";\n\nconst data = [\n { name: \"Group A\", value: 400 },\n { name: \"Group B\", value: 300 },\n { name: \"Group C\", value: 300 },\n { name: \"Group D\", value: 200 },\n];\nconst COLORS = [\"#134B8F\", \"#E43526\", \"#EC7D23\", \"#00275B\"];\n\nconst renderActiveShape = (name) => (props) => {\n // const RADIAN = Math.PI / 180;\n const {\n cx,\n cy,\n // midAngle,\n innerRadius,\n outerRadius,\n startAngle,\n endAngle,\n fill,\n } = props;\n\n return (\n \n \n {name}\n \n \n \n );\n};\n\nexport default class PieDiagram extends PureComponent {\n state = {\n activeIndex: 0,\n values: [],\n };\n\n onPieEnter = (index) => {\n this.setState({\n activeIndex: index,\n });\n };\n currencyConverter = (value) => {\n if (Math.abs(Number(value)) >= 1.0e5) {\n return `${parseInt(Math.abs(Number(value)) / 1.0e5)} lakh`;\n } else if (Math.abs(Number(value)) >= 1.0e6) {\n return `${parseInt(Math.abs(Number(value)) / 1.0e6)} cr`;\n } else if (Math.abs(Number(value)) >= 1.0e3) {\n return `${parseInt(Math.abs(Number(value)) / 1.0e3)} thousand`;\n } else {\n return Math.abs(Number(value));\n }\n };\n\n render() {\n // if (!!this.props.data && this.props.dataDiffer === \"AUM\") {\n // const Values = this.props.data.map(item =>\n // this.currencyConverter(item.value)\n // );\n // }\n return (\n
\n \n \n \n {data.map((entry, index) => (\n \n ))}\n \n \n
\n {!this.props.removePieData && (\n
\n \n Type\n
\n {!!this.props.data\n ? this.props.data.map((item, index) => (\n \n \n \n \n {!!item && !!item.name && this.props.name !== \"Fund\"\n ? item.name.toLowerCase()\n : \"\"}\n
\n
\n \n ))\n : \"\"}\n \n )}\n {!!this.props.data && !this.props.name ? (\n \n {!!this.props.data\n ? this.props.data.map((item, index) => (\n \n \n \n {item.name\n .charAt(0)\n .toUpperCase()\n .concat(item.name.substring(1, item.name.length))}\n \n
\n {!!this.props.percentile\n ? `${item.value} %`\n : item.value}\n
\n \n ))\n : \"\"}\n \n ) : (\n \"\"\n )}\n {!!this.props.data && !this.props.name ? (\n \"\"\n ) : (\n
\n \n {this.props.symbol === \"%\" && !!this.props.data\n ? \"Percentage\"\n : !!this.props.data\n ? \"\"\n : \"\"}\n
\n {!!this.props.data\n ? this.props.data.map((item, index) => (\n \n {this.props.symbol === \"%\" ? (\n `${item.value} ${this.props.symbol}`\n ) : (\n \n )}\n \n ))\n : \"\"}\n \n )}\n {this.props.symbol === \"%\" && !!this.props.aumpieData ? (\n
\n \n AUM\n
\n {this.props.data.map((item, index) => (\n \n \n \n ))}\n \n ) : (\n \"\"\n )}\n \n \n \n );\n }\n}\n\n// class CustomizedAxisTick extends Component {\n// render() {\n// const { x, y, stroke, payload } = this.props;\n\n// return (\n// \n// \n// {payload.value}\n// \n// \n// );\n// }\n// }\n","import { CALL_API } from \"../api.middleware\";\nimport {\n GET_PROFILE_DATA,\n GET_PROFILE_DATA_SUCCESS,\n GET_PROFILE_DATA_FAILED\n} from \"../types/profile\";\nexport const KARVY_STOCK_BROKING_LIMITED = \"Karvy Stock Broking Limited\";\nexport const SAMCO_STOCK = \"SAMCO SECURITIES LIMITED\";\n\nexport const getProfileData = params => async dispatch => {\n try {\n await dispatch({\n [CALL_API]: {\n url: \"/GetDistributorDetails\",\n params,\n method: \"GET\",\n types: [\n GET_PROFILE_DATA,\n GET_PROFILE_DATA_SUCCESS,\n GET_PROFILE_DATA_FAILED\n ]\n }\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const resetPassword = params => async dispatch => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/GetChangePassword\",\n params,\n method: \"GET\"\n }\n });\n } catch (error) {\n console.log(`${error}`);\n }\n};\n","import { CALL_API } from \"../api.middleware\";\n\nexport const getDistFoliobyPan = params => async dispatch => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/GetDistFoliobyPan\",\n params,\n method: \"GET\"\n }\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getAccountStatement = params => async dispatch => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/GetAccountStatement\",\n params,\n method: \"GET\"\n }\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getMailbackSoaStatus = params => async dispatch => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/SOAMailBackReport\",\n params,\n method: \"GET\"\n }\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getMailbackList = params => async dispatch => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/GetDistMailbackList\",\n params,\n method: \"GET\"\n }\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const GetDistMailbackRequest = params => async dispatch => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/GetDistMailbackRequest\",\n params,\n method: \"GET\"\n }\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getElssStatment = params => async dispatch => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/SaveElssReport\",\n params,\n method: \"GET\"\n }\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getcaptialgainStatment = params => async dispatch => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/CapitalGainsByEmailID\",\n params,\n method: \"GET\"\n }\n });\n } catch (error) {\n alert(`${error}`)\n }\n};\n\nexport const getNetworthPortfolio = params => async dispatch => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/Ktrack_NetWorthPortfolio\",\n params,\n method: \"GET\"\n }\n });\n } catch (error) {\n alert(`${error}`)\n }\n};\n\nexport const getMailBackRequestStatus = params => async dispatch => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/GetMailBackRequestStatus\",\n params,\n method: \"GET\"\n }\n });\n } catch (error) {\n alert(`${error}`)\n }\n};\n","import React, { Component } from \"react\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport Signbutton, { DebtbuttonActive } from \"../forms/button\";\nimport { Input } from \"../forms/input\";\nimport { Debtbutton } from \"../forms/button\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport MuiDialogTitle from \"@material-ui/core/DialogTitle\";\nimport MuiDialogContent from \"@material-ui/core/DialogContent\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { connect } from \"react-redux\";\nimport { resetPassword } from \"../../store/actions/profile\";\nimport { getMailBackRequestStatus } from \"../../store/actions/mailback\";\nimport { REQ_BY } from \"../../store/types\";\nimport {\n MuiPickersUtilsProvider,\n KeyboardDatePicker,\n} from \"@material-ui/pickers\";\nimport DateFnsUtils from \"@date-io/date-fns\";\n\nimport Paper from \"@material-ui/core/Paper\";\nimport { clearSession, userLogout } from \"../../store/actions\";\nimport Image from \"../Image\";\n\nconst styles = (theme) => ({\n root: {\n margin: 0,\n padding: theme.spacing(2),\n },\n closeButton: {\n position: \"absolute\",\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.grey[500],\n },\n});\n\nconst DialogTitle = withStyles(styles)((props) => {\n const { children, classes, onClose } = props;\n return (\n \n \n {children}\n \n {onClose ? (\n \n \n \n ) : null}\n \n );\n});\n\nconst DialogContent = withStyles((theme) => ({\n root: {\n padding: theme.spacing(2),\n },\n}))(MuiDialogContent);\n\nexport class SucesssPopUp extends Component {\n render() {\n return (\n \n \n\n \n
\n
\n \n
\n
Successfully raised a query
\n {!!this.props.response ? (\n \n {this.props.response}\n
\n ) : (\n \"\"\n )}\n \n
\n \n
\n
\n \n );\n }\n}\nexport class PasswordModal extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n oldPassword: {\n value: \"\",\n isShowError: false,\n isShowPasswordError: false,\n },\n showPassword: false,\n showOldPassword: false,\n confirmShowPassword: false,\n newPassword: {\n value: \"\",\n isShowError: false,\n isShowPasswordError: false,\n },\n confirmPassword: {\n value: \"\",\n isShowError: false,\n isShowPasswordError: false,\n },\n openSuccessPasword: false,\n };\n }\n\n componentDidMount() {\n this.setState({\n oldPassword: {\n value: \"\",\n isShowError: false,\n isShowPasswordError: false,\n },\n showPassword: false,\n showOldPassword: false,\n confirmShowPassword: false,\n newPassword: {\n value: \"\",\n isShowError: false,\n isShowPasswordError: false,\n },\n confirmPassword: {\n value: \"\",\n isShowError: false,\n isShowPasswordError: false,\n },\n openSuccessPasword: false,\n });\n }\n\n onBlurInput = (eve, label) => {\n var strongRegex = new RegExp(\n \"^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$\"\n );\n if (strongRegex.test(eve.target.value) === false) {\n if (label === \"oldPassword\") {\n this.setState({\n [label]: { ...this.state.oldPassword, isShowPasswordError: true },\n });\n } else if (label === \"newPassword\") {\n this.setState({\n [label]: { ...this.state.newPassword, isShowPasswordError: true },\n });\n } else if (label === \"confirmPassword\") {\n this.setState({\n [label]: { ...this.state.confirmPassword, isShowPasswordError: true },\n });\n }\n }\n };\n\n onChangeInput = (label) => (event) => {\n this.setState({\n [label]: { value: event.target.value },\n });\n };\n\n submit = async () => {\n if (\n !this.state.oldPassword.value ||\n !this.state.newPassword.value ||\n !this.state.confirmPassword.value\n ) {\n if (!this.state.oldPassword.value) {\n this.setState({\n oldPassword: {\n ...this.state.oldPassword,\n isShowError: true,\n errorMessage: \"(old Password is mandatory)\",\n },\n });\n }\n if (!this.state.newPassword.value) {\n this.setState({\n newPassword: {\n ...this.state.newPassword,\n isShowError: true,\n errorMessage: \"(new Password is mandatory)\",\n },\n });\n }\n if (!this.state.confirmPassword.value) {\n this.setState({\n confirmPassword: {\n ...this.state.confirmPassword,\n isShowError: true,\n errorMessage: \"(confirm Password is mandatory)\",\n },\n });\n }\n } else if (this.state.oldPassword.value === this.state.newPassword.value) {\n this.setState({\n newPassword: {\n ...this.state.newPassword,\n isShowError: true,\n errorMessage: \"(*Old password and New Password should not be Same)\",\n },\n });\n } else if (\n this.state.newPassword.value !== this.state.confirmPassword.value\n ) {\n this.setState({\n confirmPassword: {\n ...this.state.confirmPassword,\n isShowError: true,\n errorMessage: \"(Password does not match)\",\n },\n });\n } else {\n const response = await this.props.resetPassword({\n newPassword: this.state.newPassword.value,\n oldpassword: this.state.oldPassword.value,\n ReqBy: REQ_BY,\n userid: this.props.userid,\n });\n if (response) {\n this.props.closeModal();\n // this.props.history.replace( \"/Login\");\n this.setState({\n openSuccessPasword: true,\n });\n this.props.clearSession();\n }\n }\n };\n closePasswordModal = async () => {\n this.props.clearSession();\n this.props.userLogout();\n this.props.history.replace(\"/Login\");\n this.setState({\n openSuccessPasword: false,\n });\n };\n\n closeModalPopUp = () => {\n this.props.closeModal();\n this.setState({\n oldPassword: { value: \"\" },\n newPassword: { value: \"\" },\n confirmPassword: { value: \"\" },\n });\n };\n\n render() {\n return (\n
\n \n \n \n Change Password\n
\n \n \n
\n
\n this.onBlurInput(value, \"oldPassword\")}\n height={18}\n image2={\n !!this.state.showOldPassword &&\n !this.state.showOldPassword.value\n ? \"/images/LIC_eye.svg\"\n : \"/images/lic_eye_hide.svg\"\n }\n // height={\n // !!this.state.showOldPassword &&\n // !this.state.showOldPassword.value\n // ? 10\n // : 15\n // }\n onClick={() => {\n this.setState({\n showOldPassword: !this.state.showOldPassword,\n });\n }}\n isShowPasswordError={\n this.state.oldPassword.isShowPasswordError\n }\n isShowError={this.state.oldPassword.isShowError}\n errorMessage={this.state.oldPassword.errorMessage}\n />\n
\n
\n this.onBlurInput(value, \"newPassword\")}\n onClick={() => {\n this.setState({\n showPassword: !this.state.showPassword,\n });\n }}\n isShowError={this.state.newPassword.isShowError}\n isShowPasswordError={\n this.state.newPassword.isShowPasswordError\n }\n errorMessage={this.state.newPassword.errorMessage}\n />\n
\n
\n {\n this.setState({\n confirmShowPassword: !this.state.confirmShowPassword,\n });\n }}\n value={this.state.confirmPassword.value}\n onChange={this.onChangeInput(\"confirmPassword\")}\n onBlur={(eve) => this.onBlurInput(eve, \"confirmPassword\")}\n isShowError={this.state.confirmPassword.isShowError}\n isShowPasswordError={\n this.state.confirmPassword.isShowPasswordError\n }\n errorMessage={this.state.confirmPassword.errorMessage}\n />\n
\n
\n this.submit()}\n />\n \n
\n
\n
\n \n this.closePasswordModal()}\n passwordSucess={this.state.openSuccessPasword === true ? true : false}\n />\n \n );\n }\n}\n\nconst mapStateToProps = ({ authReducer }) => {\n return {\n userid: authReducer.userId,\n };\n};\n\nexport const PasswordDialog = connect(mapStateToProps, {\n resetPassword,\n userLogout,\n clearSession\n})(PasswordModal);\n\nexport class NonLoginServicesDialog extends Component {\n render() {\n return (\n \n \n Distributor Non-Login Services\n \n \n
\n
\n \n Services\n
\n
\n \n \n \n \n
\n
\n\n
\n \n Forms\n
\n
\n \n \n
\n \n\n
\n \n Downloads\n
\n
\n \n \n \n \n \n \n
\n \n \n
\n \n );\n }\n}\n\nexport class MailBacKRequestStatusPopUp extends Component {\n constructor(props) {\n super(props);\n this.state = {\n date: new Date(),\n record: false,\n };\n }\n\n onDateChange = (event) => {\n this.setState({\n date: event,\n });\n };\n\n submit = async () => {\n const { date } = this.state;\n let startDateValue;\n if (date) {\n startDateValue = date.toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"numeric\",\n });\n }\n const params = {\n FromDate: startDateValue,\n };\n const response = await this.props.getMailBackRequestStatus(params);\n if (!response) {\n this.setState({\n record: true,\n });\n }\n };\n\n render() {\n return (\n
\n \n \n MailBack Request Status\n \n \n \n \n this.onDateChange(e)}\n disableFuture={true}\n format=\"dd/MM/yyyy\"\n maxDate={new Date()}\n id=\"mui-pickers-date\"\n value={this.state.date}\n />\n \n
\n
\n \n
\n \n \n \n );\n }\n}\n\nexport const MBRStatusDialog = connect(null, { getMailBackRequestStatus })(\n MailBacKRequestStatusPopUp\n);\n\nexport class NonLoginServices extends Component {\n render() {\n return (\n \n \n \n {this.props.name}\n \n \n );\n }\n}\n\nexport class KycNotDoneDialog extends React.Component {\n render() {\n return (\n
\n \n \n \n \n {!!this.props.message\n ? this.props.message\n : \"This Client is not KYC compliant.Do you want to complete the KYC process?\"}\n
\n \n \n
\n \n
\n \n \n \n );\n }\n}\n\nexport default class CustomizedDialogs extends React.Component {\n render() {\n return (\n
\n \n \n \n
\n \n
\n {this.props.cas === true ||\n this.props.Gas === true ||\n this.props.componentName === \"MailBackSoa\" ||\n this.props.passwordSucess ? (\n \n {!!this.props.passwordSucess\n ? this.props.message || \"Password Changed Successfully\"\n : !!this.props.Gas\n ? this.props.error\n : \"Successfully submitted your request\"}\n \n {this.props.cas === true\n ? `A mail will be sent to ${this.props.Nctihno?\"registrated\":\"above entered\"} Email Id within 30 minutes.`\n : \"\"}\n {this.props.Gas === true && this.props.error === \"Success\"\n ? \"A mail will be sent to your registered email\"\n : \"\"}\n
\n \n ) : (this.props.componentName === \"MailBacKRequest\" &&\n this.props.refNo) ||\n (this.props.componentName === \"SWP\" && this.props.refNo) ||\n (this.props.componentName === \"REDEMPTION\" &&\n this.props.refNo) ? (\n
\n {!!this.props.componentName &&\n (this.props.componentName === \"REDEMPTION\" ||\n this.props.componentName === \"SWP\") ? (\n
\n Successfully Initiated Transaction\n
\n ) : (\n \"\"\n )}\n
\n
\n {!!this.props.componentName &&\n (this.props.componentName === \"REDEMPTION\" ||\n this.props.componentName === \"SWP\") ? (\n
\n Transaction for{\" \"}\n {this.props.componentName} has been\n initiated Successfully.\n
\n ) : (\n \"\"\n )}\n \n Your request is successfully registered with reference no\n -\n \n {this.props.refNo}\n \n .{\" \"}\n {this.props.myself === true ? \"distributor\" : \"investor\"}{\" \"}\n will receive a mail to approval\n
\n
\n
\n \n ) : (\n
\n
\n {this.props.componentName === \"Sip cancellation\" ||\n this.props.componentName === \"SWP cancellation\" ||\n this.props.componentName === \"STP cancellation\"\n ? `${this.props.componentName.slice(0,4).toUpperCase()+this.props.componentName.slice(4,16)} request has been initiated`\n : this.props.componentName === \"Sip Pause\"\n ? ` SIP Pause has been initiated Successfully`\n : `Successfully Initiated Transaction`}\n
\n\n {this.props.type === \"STP\" || this.props.type === \"SWITCH\" ? (\n
\n
\n Transaction for {this.props.type} has\n been initiated successfully.\n
\n
\n You have initiated the transaction successfully with\n reference number:\n \n {this.props.refNo}\n \n investor will receive an mail for approval.\n
\n
\n ) : (\n
\n {!!this.props.reqtype ? (\n
\n Transaction for {this.props.reqtype}\n {!!this.props.Nctihno &&\n ` with the IHNO : ${this.props.Nctihno} `}\n has been initiated successfully\n
\n ) : (\n this.props.componentName !== \"Sip cancellation\" ||\n this.props.componentName !== \"SWP cancellation\" ||\n this.props.componentName !== \"STP cancellation\" ||\n (this.props.componentName !== \"Sip Pause\" && (\n
\n Transaction for{\" \"}\n \n {!!this.props.refrence\n ? this.props.refrence.new_type\n : \"\"}\n {!!this.props.refNo ? \"SIP\" : \"\"}\n {\" \"}\n has been initiated successfully.\n
\n ))\n )}\n {!!this.props.reqtype ? (\n
\n Your investor will receive the details via an mail and\n sms\n
\n ) : this.props.componentName === \"Sip cancellation\" ||\n this.props.componentName === \"SWP cancellation\" ||\n this.props.componentName === \"STP cancellation\" ? (\n
\n Transaction for{\" \"}\n {this.props.componentName.slice(0,4).toUpperCase()+this.props.componentName.charAt(4).toUpperCase()+this.props.componentName.slice(5,16)} with the\n IH No. {this.props.refNo.value} is pending for investor confirmation.\n
\n ) : this.props.componentName === \"Sip Pause\" ? (\n this.props.refNo.errorMessage\n ) : this.props.transactName === \"NFO\" ? (\n <>\n \n Transaction for NFO has been initiated Successfully.\n
\n
\n Link for {this.props.scheme} scheme\n is generated\n
\n \n ) : (\n
\n
\n Transaction for{\" \"}\n {this.props.transactName} has been\n initiated successfully.\n
\n
\n Your investor will receive the details via an email\n and sms with reference number\n \n {!!this.props.refrence\n ? this.props.refrence.value\n : \"\"}\n {!!this.props.refNo ? this.props.refNo : \"\"}\n \n
\n
\n )}\n
\n )}\n \n )}\n
\n {this.props.cas === true && !this.props.componentName ? (\n
\n {/*
*/}\n \n {/*
*/}\n {/*
\n \n
*/}\n
\n ) : (\n \n )}\n
\n \n \n \n );\n }\n}\n\nexport class SipCancelModal extends Component {\n render() {\n return (\n \n {!this.props.rejectionreasonsOpen &&(<>\n \n SIP Cancellation\n \n\n \n \n {this.props.message}\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n )}\n {this.props.rejectionreasonsOpen &&(\n <>\n
\n \n
\n
\n \n
\n \n
\n
\n \n
\n
\n \n )\n\n }\n \n );\n }\n}\n\n\n\nexport class EnachModal extends Component {\n render() {\n return (\n \n \n
\n \n
\n \n {this.props.message}\n \n
\n
\n \n
\n {/*
\n \n
*/}\n
\n
\n \n );\n }\n}\n\nexport class PosterDialog extends Component {\n render() {\n return (\n \n \n \n \n \n \n \n \n \n \n );\n }\n}\nexport class DashboardPosterDialog extends Component {\n render() {\n return (\n <>\n
\n \n \n {/* \n window.open(\"https://bit.ly/49yOZfT\")\n }\n /> */}\n
\n

\n Important Regulatory Update on KYC Status\n

\n
\n As per the Master Circular issued by SEBI on KYC requirements,\n Investors with ‘KYC Registered’ status are requested to do their KYC again to become ‘KYC Validated’ by visiting {\" \"}\n https://mfs.kfintech.com/Investor/General/ValidateKYC/

\n Click here to know more about the circular.\n
\n
\n \n \n
\n \n \n \n \n );\n }\n}\nexport const RejectionReason = (props) => {\n return (\n
\n

Cancellation Reasons

\n {props.rejectionReasons.map((reason) => (\n
\n \n \n
\n \n ))}\n {\n !!props.reasonMandatory && *Rejection reason is mandatory\n }\n \n

Selected Reason: {props.selectedReason}

\n {props.selectedReason?.includes(\"Others\") && (\n
\n \n
\n )}\n
\n\n );\n};\n\n\n\nexport class CustomizedDialogsforReintitate extends React.Component {\n render() {\n return (\n
\n \n \n \n
\n \n
\n
\n Successfully Re-Initiated Transaction\n
\n
\n
\n
\n Transaction for {this.props.componentName}{\" \"}\n has been initiated Successfully.\n
\n
\n
\n
\n Your investor will receive the details via an mail and sms with\n reference number\n \n {!!this.props.refNo ? this.props.refNo : \"\"}\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n );\n }\n}\n\n","import React, { Component } from \"react\";\nimport DisplayCards from \"./displaycards\";\nimport DisplaySimpleCards from \"./displaySimpleCards\";\nimport TabHeader from \"../../forms/tabHeader\";\nimport PieDiagram from \"./piechart\";\nimport { ALL, earningsBackground, earningsButton } from \"../../../store/types\";\nimport { Paper } from \"@material-ui/core\";\nimport \"react-loader-spinner/dist/loader/css/react-spinner-loader.css\";\nimport moment from \"moment\";\nimport { FormatCurrency } from \"../currencyFormatter\";\nimport {\n getDashboardData,\n getAumData,\n getInvestors,\n getFrequentMailBackRequest,\n getInvestorDetails,\n getDashboardDataAum,\n getSipSummary,\n PosterOpen,\n} from \"../../../store/actions\";\nimport { DashboardPosterDialog } from \"../customModal\";\nimport { getMailbackList } from \"../../../store/actions/mailback\";\nimport { getProfileData } from \"../../../store/actions/profile\";\nimport { connect } from \"react-redux\";\nimport {\n AUTHORIZATION_PENDING,\n AUTHORIZATION_APPROVED,\n AUTHORIZATION_EXPIRED,\n INACTIVE_INVESTORS,\n ACTIVE_INVESTORS,\n NEW_INVESTORS,\n EXPIRING_NEXT_MONTH,\n CLOSED_THIS_MONTH,\n SIP_INVESTMENTS,\n} from \"../../../store/types\";\nimport Image from \"../../Image\";\n\nconst windowWidth = window.outerWidth;\nclass Dashboard extends Component {\n constructor(props) {\n super(props);\n this.state = {\n date: new Date().toLocaleDateString(),\n reports: [],\n report: { value: \"\" },\n Tab: \"AUM_SUMMARY\",\n PosterOpen: true,\n };\n }\n\n goToRoute = (path) => () => {\n this.props.history.push({\n pathname: \"/dashboard/transaction-summary\",\n state: {\n active: path,\n },\n });\n };\n\n goToSIPRoute = (path) => () => {\n this.props.history.push({\n pathname: \"/dashboard/SipSummaryTypes\",\n state: {\n active: path,\n },\n });\n };\n\n async componentDidMount() {\n this.props.getProfileData({\n Agent: this.props.token,\n UserId: this.props.userId,\n customfund: \"102\",\n });\n\n const body = {\n AgentCode: this.props.token,\n customfund: \"102\",\n UserId: this.props.userId,\n DateVal: moment(new Date()).format(\"MM-DD-YYYY\"),\n };\n this.props.getDashboardDataAum(body);\n\n this.props.getDashboardData({\n AgentCode: this.props.token,\n customfund: \"102\",\n });\n\n this.props.getInvestors({\n ARN: this.props.token,\n customfund: \"102\",\n AllFavFlag: \"A\",\n });\n\n const MailParams = {\n customfund: \"102\",\n };\n\n const response = await this.props.getMailbackList(MailParams);\n if (response) {\n this.setState({\n reports: response.DtData,\n });\n }\n // const sipParams = {\n // Uid: this.props.userId,\n // customfund: \"102\",\n // AgentCode: this.props.token,\n // DateVal: moment(new Date()).format(\"MM-DD-YYYY\"),\n // };\n // const Rresponse = this.props.getSipSummary(sipParams);\n }\n handleChangeSubReports = (value) => () => {\n this.props.history.push({\n pathname: `/mailBackRequest`,\n state: {\n value: value,\n },\n });\n\n window.scrollTo(0, 0);\n };\n\n currencyConverter = (value) => {\n if (Math.abs(Number(value)) >= 1.0e5) {\n return `${parseInt(Math.abs(Number(value)) / 1.0e5)} Lakhs`;\n } else if (Math.abs(Number(value)) >= 1.0e7) {\n return `${parseInt(Math.abs(Number(value)) / 1.0e7)} Cr`;\n } else if (Math.abs(Number(value)) >= 1.0e3) {\n return `${parseInt(Math.abs(Number(value)) / 1.0e3)} K`;\n } else {\n return Math.abs(Number(value));\n }\n };\n\n handleChangeTab = (label) => () => {\n this.setState({\n Tab: label,\n });\n };\n closePoster = async () => {\n this.setState({\n PosterOpen: false,\n });\n await this.props.PosterOpen(1);\n };\n\n //transaction-summary // kebab case // route names , css class names\n //transactionSummary // camel case // variables, function names.\n //transaction_summary // snake case //\n //TransactionSummary // PascalCase //Class names\n\n render() {\n const {\n transactionSummary,\n my_aum,\n numberofschemes,\n profileData,\n dashboardAUMData,\n sipSummaryData,\n } = this.props;\n const AmcAumList =\n !!dashboardAUMData && dashboardAUMData.Table4\n ? dashboardAUMData.Table2\n : [];\n\n const SipAumList =\n !!sipSummaryData && !!sipSummaryData.DtData ? sipSummaryData.DtData : [];\n const sortPieFundChart =\n !!dashboardAUMData && !!dashboardAUMData.Table2\n ? dashboardAUMData.Table2.sort(\n (a, b) => parseFloat(b.aum_percent) - parseFloat(a.aum_percent)\n )\n : [];\n\n const fundPieData =\n !!sortPieFundChart && !!sortPieFundChart.length\n ? sortPieFundChart.slice(0, 3).map((ele) => ({\n name: ele.descr,\n value: ele.aum_percent,\n ruppess: ele.aum,\n }))\n : [];\n\n const AUMDetails =\n !!dashboardAUMData && dashboardAUMData.Table3\n ? dashboardAUMData.Table3\n : [];\n const AUMPieData =\n !!dashboardAUMData && dashboardAUMData.DtData\n ? dashboardAUMData.DtData.map((ele) => ({\n name: ele.category,\n value: ele.aum_percent,\n ruppess: ele.aum,\n }))\n : [];\n\n return (\n
\n {this.props.posterStatus === 0 &&\n \n }\n {/* \n
\n {profileData.Distributor_Name} Portfolio\n
\n
\n {!!this.props.tran_enable_flag &&\n this.props.tran_enable_flag === \"N\" && (\n
\n \n this.props.history.push(\n `/my-earnings`\n )\n }\n />\n
\n )}\n
\n \n
\n
\n
*/}\n\n
\n
\n MY AUM\n \n As on :{\" \"}\n \n {moment(new Date(), \"DD/MM/YYYY\").format(\"DD-MM-YYYY\")}\n \n \n
\n
Assets Class Wise Breakup
\n
\n\n
\n
\n
\n \n \n this.props.history.push(\"/investors\")}\n />\n
\n
\n
\n {/*
Asset class wise Breakup
*/}\n {!!AUMPieData && AUMPieData.length > 0 ? (\n \n \n \n ) : !!AUMPieData && AUMPieData.length === 0 ? (\n \n \n No Asset Class wise break up Found\n
\n \n ) : (\n \"\"\n )}\n
\n
\n
\n TRANSACTION SUMMARY\n \n As on :{\" \"}\n \n {moment(new Date(), \"DD/MM/YYYY\").format(\"DD-MM-YYYY\")}\n \n \n
\n
\n
\n
\n \n\n \n \n\n {/* */}\n \n {/* */}\n
\n
\n
\n\n \n \n \n {/* */}\n \n\n {this.state.Tab === \"FREQUENT_REPORTS\" && (\n \n {/*
FREQUENT MAIL BACK REPORTS
*/}\n \n {!!this.state.reports &&\n this.state.reports.map((item) => (\n \n ))}\n \n \n )}\n\n {this.state.Tab === \"SIP_SUMMARY\" &&\n SipAumList &&\n SipAumList.length > 0 && (\n
\n
SIP Summary
\n
\n
\n \n\n \n \n
\n
\n {SipAumList.map((item, index) => (\n \n ))}\n
\n )}\n\n {this.state.Tab === \"AUM_SUMMARY\" && (\n
\n {/*
AUM of AMC`S
*/}\n {!!AmcAumList && AmcAumList.length > 0 ? (\n AmcAumList.map((item, index) => (\n \n ))\n ) : (\n \n No Data Found\n
\n )}\n \n )}\n \n );\n }\n}\n\nexport default connect(\n ({ authReducer, dashboard, investor, profileReducer }) => {\n const { token, userId, tran_enable_flag, posterStatus } = authReducer;\n const { count } = investor;\n const { profileData } = profileReducer;\n const {\n transactionSummary = {},\n my_aum,\n numberofschemes,\n aumData,\n fundData,\n totalAum,\n sipSummaryData,\n dashboardAUMData,\n } = dashboard;\n return {\n token,\n posterStatus,\n dashboardAUMData,\n userId,\n transactionSummary,\n sipSummaryData,\n my_aum,\n count,\n profileData,\n totalAum,\n numberofschemes,\n aumData,\n fundData,\n tran_enable_flag,\n };\n },\n {\n getDashboardData,\n getDashboardDataAum,\n PosterOpen,\n getSipSummary,\n getAumData,\n getInvestors,\n getInvestorDetails,\n getFrequentMailBackRequest,\n getProfileData,\n getMailbackList,\n }\n)(Dashboard);\n\nexport class SubReports extends Component {\n render() {\n return (\n \n {this.props.subtitle}\n \n \n );\n }\n}\n\nexport class MyAmcAum extends Component {\n goToRoute = (path, value) => () => {\n this.props.history.push({\n pathname: \"/dashboard/investorType\",\n state: {\n active: path,\n value: value,\n Type: !!this.props.sipSummary ? \"SIP_SUMMARY\" : \"AUM_SUMMARY\",\n },\n });\n };\n\n render() {\n const { value, dashboardAUMData, sipSummaryData, sipSummary } = this.props;\n\n const totalArray =\n !sipSummary &&\n !!dashboardAUMData &&\n dashboardAUMData.Table2 &&\n dashboardAUMData.Table2.reduce((prev, curr) => {\n const findItem = dashboardAUMData.Table4.find(\n (ele) => !!ele.Fund && String(ele.Fund).trim() === curr.fund_code\n );\n const data = !!findItem ? { ...curr, ...findItem } : { ...curr };\n prev = [...prev, data];\n return prev;\n }, []);\n\n let item = !!sipSummary\n ? !!sipSummaryData &&\n sipSummaryData.Table3.length > 0 &&\n sipSummaryData.Table3.find(\n (ele) => !!ele.Fund && ele.Fund.trim() === value.fund.trim()\n )\n : totalArray.find(\n (ele) => !!ele.Fund && String(ele.Fund).trim() === value.fund_code\n );\n\n return (\n
\n {/* \n \n
\n \n
\n {value.descr}\n
\n
\n
\n Total Assets\n \n {!!value && value.aum ? `₹ ${value.aum}` : \"0\"}\n \n \n {\" \"}\n (as on date {moment(new Date()).format(\"DD MMM `YY\")})\n \n
\n
\n\n */}\n\n
\n Investors\n
\n
\n \n\n \n \n
\n
\n Brokerage Details\n \n (last 6 months)\n \n
\n
\n \n \n \n \n \n\n \n
\n \n \n );\n }\n}\n\nexport const AmcAum = connect(({ dashboard }) => {\n const { dashboardAUMData, sipSummaryData } = dashboard;\n\n return { dashboardAUMData, sipSummaryData };\n})(MyAmcAum);\n\nexport class SubAUMClass extends Component {\n currencyConverter = (value) => {\n if (Math.abs(Number(value)) >= 1.0e5) {\n return `${parseFloat(Math.abs(Number(value)) / 1.0e5)} Lakhs`;\n } else if (Math.abs(Number(value)) >= 1.0e7) {\n return `${parseFloat(Math.abs(Number(value)) / 1.0e7)} Cr`;\n } else if (Math.abs(Number(value)) >= 1.0e3) {\n return `${parseFloat(Math.abs(Number(value)) / 1.0e3)} K`;\n } else {\n return Math.abs(Number(value));\n }\n };\n\n render() {\n const { title, date } = this.props;\n return (\n \n
{date}
\n \n {!!title ? : \"\"}\n \n
\n );\n }\n}\n\n/* {!!fundPieData && fundPieData.length > 0 ? (\n \n \n \n ) : !!fundPieData && fundPieData.length === 0 ? (\n \n
No Fund wise found
\n
\n ) : (\n \"\"\n )} */\n","import React, { Component } from \"react\";\nimport TabHeader from \"../../forms/tabHeader\";\nimport {\n AUTHORIZATION_PENDING,\n AUTHORIZATION_APPROVED,\n FMPS_MATURITY,\n SIPS,\n PHYSICAL_TRANSACTIONS,\n AUTHORIZATION_EXPIRED\n} from \"../../../store/types\";\n\nexport default class TransactionSummary extends Component {\n render() {\n const { active } = this.props;\n return (\n \n \n \n \n {/* \n \n */}\n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport Image from \"../Image\";\n\nexport default class CustomLoader extends Component {\n render() {\n const { display } = this.props;\n return (\n
\n
\n
\n
\n
\n
\n \"\"\n
\n
\n );\n }\n}\n","import React, { Component } from \"react\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { connect } from \"react-redux\";\nimport CustomLoader from \"../../forms/Loader\";\nimport { reinitateTransaction } from \"../../../store/actions\";\n// import CustomLoading from \"../CustomLoader\";\nimport { FormatCurrency } from \"../currencyFormatter\";\nimport Signbutton from \"../../forms/button\";\nimport copy from \"copy-to-clipboard\";\nimport { addDays, isAfter } from \"date-fns\";\nimport { AUTHORIZATION_PENDING } from \"../../../store/types\";\n\nclass TableContainer extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: false,\n };\n }\n copyCodeToClipboard = (Link) => () => {\n if(!!Link){\n copy(Link);\n alert(\"Link copied successfully\");\n } else {\n alert(\"Failed to copy the link\");\n }\n };\n reinitiate = async (item) => {\n try {\n this.setState({ loading: true });\n const { fund_code, ihno } = item;\n \n if (item.trtype === \"SIP\" && item.acno === 0) {\n item.trtype = \"New Purchase\";\n }\n const params = { fund: fund_code, ihno };\n this.props.history.push({\n pathname: `/dashboard/re-initiate-transaction`,\n state: { transaction: item },\n });\n // const response = await this.props.reinitateTransaction(params);\n\n // if (!!response) {\n // const data = response.Table1[0];\n // const { IHNO } = data;\n // alert(\n // `Successfully Reinitiated Transaction with transaction number ${IHNO}`\n // );\n // }\n } catch (e) {\n alert(e);\n } finally {\n this.setState({\n loading: false,\n });\n }\n };\n displayTableRow = (item) => {\n if (this.props.active !== \"P\") {\n return isAfter(addDays(new Date(item.Entdate), 30), new Date());\n }\n return true;\n };\n displayButton = (item) => {\n if (this.props.active === \"E\") {\n return isAfter(addDays(new Date(item.Entdate), 14), new Date());\n }\n return true;\n };\n\n displaySummaryData = (summaryData = []) => {\n return summaryData.some((item) => this.displayTableRow(item));\n };\n render() {\n const { summaryData, active } = this.props;\n return (\n \n \n {!!summaryData.length && this.displaySummaryData(summaryData) ? (\n \n \n \n \n INVESTOR\n CONTACT\n SCHEME\n TYPE\n DATE\n {/* Ref No */}\n AMOUNT/UNITS\n {(active === \"P\" \n || active === \"E\" \n ) && (\n Action\n )}\n \n \n \n {summaryData.map((item, index) => {\n const isCart = Boolean(item.dco_cart_id);\n const isPending = active === AUTHORIZATION_PENDING;\n return (\n <>\n {this.displayTableRow(item) && (\n \n \n {item.InvName}\n \n {item.mobile}\n \n {item.scheme}\n \n \n {item.trtype}\n \n \n {item.Entdate}\n \n {/* \n {item.dd_appno}\n */}\n \n \n /{!!item.units ? item.units : 0}\n \n {this.displayButton(item) && (\n \n {active === \"P\" ? (\n \n ) : active === \"E\" && !(/cancellation|pause/.test(item.trtype)) ? (\n {\n this.reinitiate(item);\n }}\n />\n ) : null}\n \n )}\n {/* */}\n \n )}\n \n )})}\n \n
\n
\n ) : this.props.count > 0 ? (\n \n ) : (\n \n No Data Found\n \n )}\n
\n {summaryData.length > 0 ? (\n summaryData.map((ele, index) => (\n \n ))\n ) : (\n \n {\" \"}\n No Data Found\n
\n )}\n \n
\n );\n }\n}\n\n\nexport default connect(\n ({ dashboard, loading }) => {\n const { summaryData } = dashboard;\n const { count } = loading;\n\n return { summaryData, count };\n },\n { reinitateTransaction }\n)(TableContainer);\nexport class InvestorTableCard extends Component {\n render() {\n const {\n InvName,\n Ref_No,\n scheme,\n type,\n date,\n sipamount,\n amount,\n units,\n item,\n active,\n reinitiate,\n copyCodeToClipboard,\n } = this.props;\n return (\n \n \n {scheme}\n \n\n
\n
\n
Name
\n \n {!!InvName ? InvName : \"NA\"}\n
\n
\n
\n
Date
\n \n {!!date ? date : \"NA\"}\n
\n \n \n
\n
\n
Type
\n \n {!!type ? type : \"NA\"}\n
\n
\n
\n
Ref No
\n \n {!!Ref_No ? Ref_No : \"NA\"}\n
\n \n \n
\n
\n
Amount/Units
\n \n \n /{!!units ? units : 0}\n
\n
\n {/*
\n {active !== \"A\" ? (\n active === \"E\" ? (\n {\n reinitiate(item);\n }}\n />\n ) : (\n \n )\n ) : null}\n
*/}\n \n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport TransactionSummary from \"./transactionSummary\";\nimport TableContainer from \"./table\";\nimport { AUTHORIZATION_PENDING } from \"../../../store/types\";\nimport { connect } from \"react-redux\";\nimport { getTransactionData } from \"../../../store/actions\";\n\nclass TabContainer extends Component {\n constructor(props) {\n super(props);\n const { active } = this.props.location.state;\n this.state = {\n active: active || AUTHORIZATION_PENDING,\n };\n }\n\n componentDidMount() {\n this.props.getTransactionData({\n transflag: this.state.active,\n customfund: \"102\",\n Arn: this.props.token,\n });\n }\n\n onChangeActive = (active) => () => {\n this.setState({\n active,\n });\n this.props.getTransactionData({\n transflag: active,\n Arn: this.props.token,\n customfund: \"102\",\n });\n };\n\n render() {\n return (\n
\n \n \n
\n );\n }\n}\n\nexport default connect(\n ({ authReducer }) => {\n const { token } = authReducer;\n return { token };\n },\n { getTransactionData }\n)(TabContainer);\n","import React, { Component } from \"react\";\nimport TabHeader from \"../../forms/tabHeader\";\nimport {\n INACTIVE_INVESTORS,\n NEW_INVESTORS,\n ACTIVE_INVESTORS\n} from \"../../../store/types\";\n\nexport default class ListOfInvestors extends Component {\n render() {\n const { active } = this.props;\n return (\n \n \n \n \n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport ListOfInvestors from \"./ListofInvestors\";\n// import TableContainer from \"./table\";\nimport {\n INACTIVE_INVESTORS,\n NEW_INVESTORS,\n ACTIVE_INVESTORS,\n} from \"../../../store/types\";\nimport { connect } from \"react-redux\";\nimport { TabletAndroidTwoTone } from \"@material-ui/icons\";\nclass ListOfInvestorsTabs extends Component {\n constructor(props) {\n super(props);\n const { active, value } = this.props.location.state;\n this.state = {\n active: active || INACTIVE_INVESTORS,\n value,\n tableData: [],\n };\n }\n\n componentWillMount() {\n this.getData();\n }\n\n async componentDidMount() {\n window.scrollTo({\n top: 0,\n behavior: \"smooth\",\n });\n }\n\n getData = () => {\n const { active, value } = this.state;\n const { dashboardAUMData, sipSummaryData } = this.props;\n const data = !!dashboardAUMData\n ? active === NEW_INVESTORS\n ? dashboardAUMData.Table7\n : active === ACTIVE_INVESTORS\n ? dashboardAUMData.Table5\n : dashboardAUMData.Table6\n : [];\n\n const { Type } = this.props.location.state;\n const SipData = !!sipSummaryData\n ? active === NEW_INVESTORS\n ? sipSummaryData.Table6\n : active === ACTIVE_INVESTORS\n ? sipSummaryData.Table4\n : sipSummaryData.Table5\n : [];\n const tableData =\n Type === \"SIP_SUMMARY\"\n ? SipData.filter((item) => {\n return !!item.fund && item.fund.trim() === value.Fund.trim();\n })\n : data.filter((item) => {\n return !!item && item.fund.trim() === value.fund_code.trim();\n });\n this.setState({\n tableData,\n });\n };\n\n componentDidUpdate(prevProps, prevState) {\n const { active } = prevState;\n if (active !== this.state.active) {\n this.getData();\n }\n }\n\n onChangeActive = (active) => () => {\n this.setState({\n active,\n });\n };\n\n render() {\n const { tableData } = this.state;\n const tablearray = [\n \"Investor Name\",\n // \"Fund Name\",\n \"PAN\",\n \"Mobile Number\",\n \"Email Id\",\n ];\n return (\n
\n
AUM Investors List
\n \n
\n {!!tableData.length && (\n \n {tablearray.map((ele, index) => (\n \n {ele}\n
\n ))}\n
\n )}\n\n {tableData.length > 0 ? (\n tableData.map((ele, index) => (\n \n
\n
{ele.name}
\n
\n\n {/*
\n
{ele.funddesc}
\n
*/}\n\n \n
{ele.pangir}
\n \n\n \n
{ele.mobile}
\n \n\n \n
{ele.email}
\n \n \n ))\n ) : (\n \n No Data Found\n \n )}\n \n
\n {tableData.length > 0 ? (\n tableData.map((ele, index) => (\n \n ))\n ) : (\n \n {\" \"}\n No Data Found\n
\n )}\n \n \n );\n }\n}\n\nexport default connect(({ dashboard }) => {\n const { dashboardAUMData, sipSummaryData } = dashboard;\n return { dashboardAUMData, sipSummaryData };\n}, null)(ListOfInvestorsTabs);\n\nexport class InvestorTableCard extends Component {\n render() {\n const { invName, pan, mobile, email } = this.props;\n return (\n \n \n {invName}\n \n\n
\n
\n
PAN
\n \n {!!pan ? pan : \"NA\"}\n
\n
\n
\n
Mobile
\n \n {!!mobile ? mobile : \"NA\"}\n
\n \n \n
\n
Email
\n \n {!!email ? email : \"NA\"}\n
\n \n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport TabHeader from \"../../forms/tabHeader\";\nimport {\n EXPIRING_NEXT_MONTH,\n CLOSED_THIS_MONTH,\n SIP_INVESTMENTS,\n} from \"../../../store/types\";\n\nexport default class SipSummaryMainTabs extends Component {\n render() {\n const { active } = this.props;\n return (\n \n \n \n \n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport Paper from \"@material-ui/core/Paper\";\nimport Radio from \"@material-ui/core/Radio\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport InputBase from \"@material-ui/core/InputBase\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport { connect } from \"react-redux\";\nimport { REQ_BY } from \"../../store/types\";\nimport {\n searchInvestors,\n getInvestors,\n getInvestorDetails,\n checkKyc,\n clearingFirstTimeInvestorJourney,\n userPan\n} from \"../../store/actions\";\nimport { KycNotDoneDialog } from \"./customModal\";\n\nexport const NEW_TRANSACTION_URL = `/new-transaction`;\nclass Search extends Component {\n constructor(props) {\n super(props);\n const { tran_enable_flag } = this.props;\n this.state = {\n radioValue: tran_enable_flag === \"Y\" ? \"pan\" : \"pan\",\n inputValue: \"\",\n errorMessage: \"\",\n };\n }\n\n componentDidUpdate(prevProps, prevState) {\n const { inputValue } = prevState;\n if (!this.state.inputValue && !!inputValue) {\n this.props.getInvestors({\n ARN: this.props.token,\n customfund: \"102\",\n AllFavFlag: \"A\",\n // AllFavFlag: this.props.selectedTab,\n });\n }\n }\n\n handleChange = (event) => {\n this.setState({\n radioValue: event.target.value,\n inputValue: \"\",\n errorMessage: \"\",\n });\n };\n\n changeInput = (event) => {\n const inputValue = event.target.value;\n if (inputValue === \"\") {\n this.setState({\n errorMessage: \"\",\n });\n }\n if (this.state.radioValue === \"pan\") {\n const pattern = /^[a-zA-Z0-9]*$/;\n if (pattern.test(inputValue)) {\n this.setState({\n inputValue: inputValue.toUpperCase(),\n });\n }\n }\n if (this.state.radioValue !== \"pan\") {\n this.setState({\n inputValue:\n this.state.radioValue === \"mobile\" && inputValue.length > 10\n ? this.state.inputValue\n : inputValue,\n });\n }\n\n // if (this.state.radioValue === \"name\" && inputValue.length >= 4) {\n // this.search();\n // }\n };\n\n keyPress = (e) => {\n if (e.key === \"Enter\") {\n this.search();\n e.preventDefault();\n }\n };\n\n search = async () => {\n const { inputValue, radioValue } = this.state;\n const regpan = /^([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}?$/;\n if (\n radioValue === \"pan\" &&\n (/[A-Za-z]{5}\\d{4}[A-Za-z]{1}/.test(inputValue) === false ||\n inputValue === \"\")\n ) {\n this.setState({\n errorMessage: \"Please enter a valid PAN\",\n });\n } else if (radioValue === \"name\" && !inputValue) {\n this.setState({\n errorMessage: \"Please enter a valid Name\",\n });\n } else if (radioValue === \"folio\" && !inputValue) {\n this.setState({\n errorMessage: \"Please enter a valid Folio Number\",\n });\n } else if (\n radioValue === \"mobile\" &&\n (/^(?:(?:\\+|0{0,2})91(\\s*[\\-]\\s*)?|[0]?)?[6-9]\\d{9}$/.test(inputValue) ===\n false ||\n inputValue === \"\")\n ) {\n this.setState({\n errorMessage: \"Please enter a valid Mobile number\",\n });\n } else if (\n radioValue === \"email\" &&\n (/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(inputValue) ===\n false ||\n inputValue === \"\")\n ) {\n this.setState({\n errorMessage: \"Please enter an valid Email Id\",\n });\n } else {\n if (!!this.state.inputValue) {\n const x = {\n [this.state.radioValue]:\n this.state.radioValue === \"pan\"\n ? this.state.inputValue.toUpperCase()\n : this.state.inputValue,\n agent: this.props.token,\n uid: this.props.userId,\n };\n const response = await this.props.searchInvestors(\n {\n [this.state.radioValue]:\n this.state.radioValue === \"pan\"\n ? this.state.inputValue.toUpperCase()\n : this.state.inputValue,\n agent: this.props.token,\n uid: this.props.userId,\n customfund: \"102\",\n },\n true\n );\n if (!response && this.state.radioValue === \"pan\") {\n const regpan = /^([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}?$/;\n if (!this.state.inputValue || !regpan.test(this.state.inputValue)) {\n this.setState({\n errorMessage: \"Please enter a valid PAN to proceed\",\n });\n }\n // else if (this.state.inputValue.charAt(3) !== \"P\") {\n // this.setState({\n // errorMessage: \"Non Indivdual PAN is not allowed to transact\",\n // });\n // }\n else {\n const params = {\n Uid: this.props.userId,\n ReqBy: REQ_BY,\n PAN: this.state.inputValue.toUpperCase(),\n customfund: \"102\",\n };\n await this.props.userPan(this.state.inputValue);\n\n const response = await this.props.getInvestorDetails(params, true);\n if (response) {\n this.setState({\n errorMessage: \"\",\n });\n // this.props.history.push({\n // pathname: NEW_TRANSACTION_URL + \"/transction-types\",\n // pan: this.state.inputValue\n // });\n } else {\n const kycResponse = await this.props.checkKyc(\n {\n fund: \"102\",\n userid: this.props.userId,\n i_pan: this.state.inputValue,\n },\n true\n );\n\n console.log(kycResponse, 'KYC res')\n\n const {\n DtData: [info],\n } = kycResponse;\n if (info.KYCBlock === \"N\") {\n await this.props.clearingFirstTimeInvestorJourney();\n if(this.props.token!==\"ARN-35783\"){\n this.props.history.push({\n pathname: NEW_TRANSACTION_URL + \"/transction-types\",\n state: {\n pan: !!this.state.inputValue ? this.state.inputValue : \"\",\n new:\"newinvestor\"\n },\n });\n await this.props.userPan(this.state.inputValue);\n\n } else {\n this.props.history.push({\n pathname: NEW_TRANSACTION_URL + \"/transction-types\",\n state: {\n pan: !!this.state.inputValue ? this.state.inputValue : \"\",\n },\n });\n }\n } else {\n this.setState({ openModal: true });\n }\n }\n }\n }\n }\n }\n };\n closeModal = () => {\n this.setState({\n openModal: false,\n });\n };\n\n continue = () => {\n this.closeModal();\n this.props.history.push({\n pathname:\n \"/e-KYC\",\n });\n };\n\n render() {\n const { count } = this.props;\n\n return (\n
\n {count === 0 && (\n \n
\n
Search by:
\n \n \n {/* {\n
\n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
Name
\n
\n } */}\n
\n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
PAN
\n
\n
\n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
Folio No.
\n
\n
\n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
Mobile No.
\n
\n
\n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
Email ID
\n
\n \n
\n
\n
\n
\n \n (this.InputField = ele)}\n onChange={this.changeInput}\n onKeyPress={this.keyPress}\n onKeyDown={(evt) =>\n evt.key === \"e\" &&\n (this.state.radioValue === \"mobile\" ||\n this.state.radioValue === \"folio\") &&\n evt.preventDefault()\n }\n />\n
\n
\n Search\n
\n
\n \n )}\n {!!this.state.errorMessage ? (\n \n {this.state.errorMessage}\n \n ) : (\n \"\"\n )}\n \n \n );\n }\n}\n\nexport default connect(\n ({ authReducer, investor, loading }) => {\n const { token, userId, tran_enable_flag } = authReducer;\n const { count } = loading;\n const { selectedTab } = investor;\n return { token, userId, selectedTab, count, tran_enable_flag };\n },\n { searchInvestors, getInvestors, getInvestorDetails, checkKyc ,clearingFirstTimeInvestorJourney,userPan}\n\n)(Search);\n","import React, { Component } from \"react\";\nimport Paper from \"@material-ui/core/Paper\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport InputBase from \"@material-ui/core/InputBase\";\nimport { connect } from \"react-redux\";\nimport {\n getInvestorDetails,\n checkKyc,\n clearingFirstTimeInvestorJourney,\n userPan\n} from \"../../../store/actions\";\nimport { REQ_BY } from \"../../../store/types\";\nimport { NEW_TRANSACTION_URL } from \".\";\nimport { KycNotDoneDialog } from \"../customModal\";\n\nimport CustomLoader from \"../../forms/Loader\";\n\nclass NewInvestorSearch extends Component {\n constructor(props) {\n super(props);\n this.state = {\n inputValue: \"\",\n openModal: false,\n errorMessage: \"\",\n };\n }\n\n changeInput = (event) => {\n // if (\n // !!event.target.value.charAt(3) &&\n // (event.target.value.charAt(3) === \"p\" ||\n // event.target.value.charAt(3) === \"P\")\n // ) {\n this.setState({\n inputValue: event.target.value.toUpperCase(),\n errorMessage: \"\",\n });\n // } else {\n // this.search({\n // errorMessage: \"\"\n // });\n // }\n };\n\n keyPress = (e) => {\n if (e.key === \"Enter\") {\n this.search();\n }\n };\n\n closeModal = () => {\n this.setState({\n openModal: false,\n });\n };\n\n continue = () => {\n this.closeModal();\n this.props.history.push({\n pathname:\n \"/e-KYC\",\n });\n };\n\n search = async () => {\n const regpan = /^([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}?$/;\n if (!this.state.inputValue || !regpan.test(this.state.inputValue)) {\n this.setState({ errorMessage: \"Please enter a valid PAN to proceed\" });\n } else if (\n this.state.inputValue[3] !== \"P\" &&\n this.state.inputValue[3] !== \"P\"\n ) {\n this.setState({\n errorMessage:\n \"Entered PAN Number is not related to Individual PAN Number, So please Enter Individual PAN Number\",\n });\n } else {\n const params = {\n Uid: this.props.userId,\n ReqBy: REQ_BY,\n PAN: this.state.inputValue.toUpperCase(),\n customfund: \"102\",\n };\n this.setState({ isLoading: true });\n await this.props.userPan(this.state.inputValue);\n\n const response = await this.props.getInvestorDetails(params);\n if (response) {\n this.setState({ isLoading: false });\n this.props.history.push({\n pathname: NEW_TRANSACTION_URL + \"/transction-types\",\n pan: this.state.inputValue,\n });\n } else {\n this.setState({ isLoading: true });\n const kycResponse = await this.props.checkKyc({\n fund: \"102\",\n userid: this.props.userId,\n i_pan: this.state.inputValue,\n });\n this.setState({ isLoading: false });\n const {\n DtData: [info],\n } = kycResponse;\n if (info.KYCBlock === \"N\") {\n await this.props.userPan(this.state.inputValue);\n\n await this.props.clearingFirstTimeInvestorJourney();\n this.props.history.push({\n pathname: \"new-investor-transaction/investor-details\",\n state: {\n pan: !!this.state.inputValue ? this.state.inputValue : \"\",\n },\n });\n } else {\n this.setState({ openModal: true });\n }\n }\n }\n };\n\n render() {\n return (\n
\n \n \n
\n \n \n
\n
\n Search\n
\n \n {!!this.state.errorMessage && (\n \n {this.state.errorMessage}\n
\n )}\n \n \n );\n }\n}\n\nexport default connect(\n ({ authReducer }) => {\n const { userId } = authReducer;\n return { userId };\n },\n {\n getInvestorDetails,\n checkKyc,\n clearingFirstTimeInvestorJourney,\n userPan\n }\n)(NewInvestorSearch);\n","import React, { Component } from \"react\";\nimport Search from \"../searchComponent\";\nimport TableData from \"../tableData\";\nimport { connect } from \"react-redux\";\nimport { getInvestors } from \"../../../store/actions\";\nimport { EXISTING, NEW } from \"../../../store/types\";\nimport TabHeader from \"../../forms/tabHeader\";\nimport NewInvestorSearch from \"./newInvestorSearch\";\nclass Transactions extends Component {\n constructor(props) {\n super(props);\n this.state = {\n active: EXISTING,\n };\n }\n\n onClick = (active) => () => {\n this.setState({ active });\n };\n\n componentDidMount() {\n this.props.getInvestors({\n ARN: this.props.token,\n customfund: \"102\",\n AllFavFlag: \"A\",\n });\n }\n\n render() {\n return (\n
\n
New Transaction
\n\n \n \n\n \n
\n {this.state.active === NEW ? (\n <>\n \n \n ) : (\n
\n \n \n
\n )}\n\n {/*
\n {this.props.investors.length > 0 && (\n \n this.props.history.push(\"/newTransaction/transction-types\")\n }\n >\n Next\n
\n )}\n */}\n \n );\n }\n}\n\nexport default connect(\n ({ authReducer, investor }) => {\n const { token } = authReducer;\n const { investors } = investor;\n return { investors, token };\n },\n { getInvestors }\n)(Transactions);\n","import React, { Component } from \"react\";\nimport { Paper } from \"@material-ui/core\";\nimport { NEW_TRANSACTION_URL } from \".\";\nimport { saveTransactionDetails } from \"../../../store/actions\";\nimport { connect } from \"react-redux\";\nimport Image from \"../../Image\";\nclass TransactionTypeCards extends Component {\n constructor() {\n super();\n window.scrollTo({\n top: 0,\n behavior: \"smooth\",\n });\n }\n\n getUrlByName = (name) => {\n let url = `/`;\n switch (name) {\n case \"SIP(Existing Folio)\":\n url = NEW_TRANSACTION_URL + \"/sip/digital/transact\";\n break;\n // case \"ISIP\":\n // url = NEW_TRANSACTION_URL + \"/sip/digital/modes/transact\";\n // break;\n case \"STP\":\n url = NEW_TRANSACTION_URL + \"/stp/digital/transact\";\n break;\n case \"Switch\":\n url = NEW_TRANSACTION_URL + \"/switch/digital/transact\";\n break;\n case \"Redemption\":\n url = NEW_TRANSACTION_URL + \"/redemption/digital/transact\";\n break;\n case \"SWP\":\n url = NEW_TRANSACTION_URL + \"/swp/digital/transact\";\n break;\n case \"New Purchase(New Folio)\":\n url = \"/new-investor-transaction/investor-details\";\n break;\n case \"Additional Purchase(Existing Folio)\":\n url = NEW_TRANSACTION_URL + \"/additional-purchase/digital/transact\";\n break;\n case \"Pause/Cancellation\":\n url = NEW_TRANSACTION_URL + \"/sip-cancellation/digital/transact\";\n break;\n case \"NCT\":\n url = NEW_TRANSACTION_URL + \"/nct-types\";\n break;\n case \"eNACH\":\n url = NEW_TRANSACTION_URL + \"/eNACH/digital/transact\";\n break;\n default:\n break;\n }\n return url;\n };\n //Removing Stored Details Before Navigating to Transaction Pages\n goSip = () => {\n let pan =\n !!this.props.pan &&\n (this.props.name === \"SIP(Existing Folio)\" ||\n this.props.name === \"ISIP\" ||\n this.props.name === \"Lumpsum\" ||\n this.props.name === \"eNACH\")\n ? this.props.pan\n : \"\";\n let mode = this.props.name === \"ISIP\" ? \"ISIP\" : \"\";\n if (!!pan && this.props.name === \"SIP(Existing Folio)\") {\n this.props.saveTransactionDetails({});\n this.props.history.push({\n pathname: NEW_TRANSACTION_URL + \"/sip/digital/transact\",\n state: {\n pan: pan,\n mode: \"ISIP\",\n },\n });\n } else {\n this.props.saveTransactionDetails({});\n this.props.history.push({\n pathname: NEW_TRANSACTION_URL + \"/sip/digital/modes\",\n state: {\n pan: pan,\n mode: mode,\n },\n });\n }\n };\n\n Enach = () => {\n let pan =\n !!this.props.pan && this.props.name === \"Enach\" ? this.props.pan : \"\";\n this.props.saveTransactionDetails({});\n this.props.history.push({\n pathname: NEW_TRANSACTION_URL + \"/sip/digital/modes/enach-folios\",\n state: {\n pan: pan,\n mode: \"Enach\",\n },\n });\n };\n render() {\n console.log('this.props.user_pan',this.props.user_pan)\n return (\n {\n this.props.saveTransactionDetails({});\n this.props.history.push({\n pathname: this.getUrlByName(this.props.name),\n state: {\n pan:\n ( !!this.props.pan || !!this.props.user_pan) &&\n (this.props.name === \"SIP(Existing Folio)\" ||\n this.props.name === \"ISIP\" ||\n this.props.name === \"Lumpsum\" ||\n this.props.name === \"eNACH\" || this.props.name === \"New Purchase(New Folio)\")\n ? this.props.pan || this.props.user_pan\n :\"\" , },\n });\n }\n }\n >\n
\n
\n \n
\n
{this.props.name}
\n {/* \n this.props.history.push({\n pathname: this.getUrlByName(this.props.name),\n })\n }\n >\n Proceed\n \n
*/}\n \n {/* {this.props.name !== \"Pause/Cancellation\" &&\n this.props.name != \"NCT\" &&\n this.props.name != \"eNACH\" ? (\n \n \n this.props.history.push({\n pathname: this.getUrlByName(this.props.name),\n state: {\n pan:\n !!this.props.pan &&\n (this.props.name === \"SIP(Existing Folio)\" ||\n this.props.name === \"Lumpsum\")\n ? this.props.pan\n : \"\",\n },\n })\n }\n >\n Digital Mode\n \n \n {this.props.name === \"STP\" || this.props.name === \"SWP\" ? (\n \"\"\n ) : (\n \n this.props.history.push({\n pathname: this.props.navigationProps.physical,\n state: {\n type: this.props.navigationProps.type,\n flag: this.props.navigationProps.flag,\n pan:\n (!!this.props.pan &&\n this.props.name === \"Lumpsum\") ||\n this.props.name === \"SIP(Existing Folio)\"\n ? this.props.pan\n : \"\",\n },\n })\n }\n >\n Phygital Mode\n \n \n )}\n \n ) : (\n \n \n this.props.history.push({\n pathname: this.getUrlByName(this.props.name),\n })\n }\n >\n Proceed\n \n \n \n )} */}\n \n );\n }\n}\nexport default connect(\n ({ authReducer }) => {\n const { user_pan } = authReducer;\n return { user_pan };\n },\n { saveTransactionDetails }\n)(TransactionTypeCards);\n","import React, { Component } from \"react\";\nimport TransactionTypeCards from \"./TransactionTypeCards\";\nimport { connect } from \"react-redux\";\nimport { Paper } from \"@material-ui/core\";\nimport {\n setSipDetails,\n setSwitchDetails,\n setStpDetails,\n setNewPAN,\n EnachUMR,\n EnachFolio,\n Enachbank,\n} from \"../../../store/actions\";\nimport {\n PHYSICAL_NEW,\n PHYSICAL_ADD,\n PHYSICAL_RED,\n PHYSICAL_SWITCH,\n PHYSICAL_SIP,\n} from \"../../../store/types\";\nimport { NEW_TRANSACTION_URL } from \".\";\n\nclass TransactionType extends Component {\n constructor(props) {\n super(props);\n this.state = {\n pan: {\n value:\n !!this.props.location.state && !!this.props.location.state.pan\n ? this.props.location.state.pan\n : !!this.props.newPan\n ? this.props.newPan\n : \"\",\n },\n };\n }\n componentDidMount() {\n this.props.EnachUMR(\"\");\n this.props.EnachFolio(\"\");\n this.props.Enachbank(\"\");\n if (!!this.props.location.state && !!this.props.location.state.pan) {\n this.props.setNewPAN(this.props.location.state.pan);\n }\n const payload = {};\n this.props.setSipDetails(payload);\n this.props.setSwitchDetails(payload);\n this.props.setStpDetails(payload);\n }\n\n render() {\n const { showAll } = this.props;\n\n return (\n
\n \n
Select Transaction Type
\n
\n \n
\n \n
\n
\n \n {/* \n Phygital Mode\n
\n
\n Please Follow The Below Steps\n
*/}\n {/*
\n
\n \n
\n
\n
\n Upload Order form\n
\n
\n Upload Cheque\n
\n
\n Sumbit Cheque at nearest Kfintech Branch\n
\n
\n
*/}\n\n \n Digital Mode\n
\n \n Digital mode lets you do all the transactions digitally\n without any effort to physically submit the transactions of\n your Investors.\n
\n \n \n \n \n \n \n\n {!!showAll && (\n \n \n \n \n\n \n \n )} \n\n\n\n {!!showAll && (\n \n \n\n \n \n \n \n \n )}\n \n \n {!showAll && (\n \n Note: For a new Investor, only ISIP facility is\n available to register the SIP.\n \n )}\n \n );\n }\n}\n\nexport default connect(\n ({ authReducer, transactions }) => {\n const { showAll } = authReducer;\n const { newPan } = transactions;\n return { showAll, newPan };\n },\n {\n setSipDetails,\n setSwitchDetails,\n setStpDetails,\n setNewPAN,\n EnachUMR,\n EnachFolio,\n Enachbank,\n }\n)(TransactionType);\n","import React, { Component } from \"react\";\nimport { Paper } from \"@material-ui/core\";\nimport Image from \"../../Image\";\n\nexport default class TransactionMode extends Component {\n render() {\n return (\n
\n \n
\n
\n \n
\n
\n
Digital Mode
\n
\n A mutual fund is a professionally managed investment fund that pools\n money from many investors to purchase securities. These investors\n may be retail or institutional in nature.\n
\n \n this.props.history.push({\n pathname: this.props.location.state.digital,\n })\n }\n >\n Select digital Mode\n \n \n \n
\n \n\n \n
\n
\n \n
\n
\n
Physical Mode
\n
\n
\n Please Follow The Below Steps\n
\n
\n
\n \n
\n
\n
\n Upload Order form\n
\n
\n Upload Cheque\n
\n
\n Sumbit Cheque at nearest Karvy Branch\n
\n
\n
\n
\n \n this.props.history.push({\n pathname: this.props.location.state.physical,\n state: {\n type: this.props.location.state.type,\n flag: this.props.location.state.flag,\n },\n })\n }\n >\n Select Physical Mode\n \n \n \n \n
\n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport Select from \"@material-ui/core/Select\";\nimport InputBase from \"@material-ui/core/InputBase\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\n\nexport default class CustomizedSelect extends Component {\n render() {\n const { nolabel } = this.props;\n return (\n
\n \n
\n {this.props.name}\n {this.props.isMandatory && *}\n
\n {this.props.uptext && (\n \n {this.props.uptext}\n
\n )}\n \n \n }\n >\n {!!this.props.placeholder && (\n \n
{this.props.placeholder}
\n
\n )}\n {this.props.children}\n \n {!!this.props.errorMessage && (\n \n {this.props.errorMessage}\n \n )}\n \n );\n }\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport ReactSelect from \"react-select\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport Typography from \"@material-ui/core/Typography\";\nimport NoSsr from \"@material-ui/core/NoSsr\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Paper from \"@material-ui/core/Paper\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\n\nconst styles = (theme) => ({\n root: {\n flexGrow: 1,\n },\n input: {\n display: \"flex\",\n padding: 0,\n cursor: \"pointer\",\n height: 50,\n paddingLeft: 15,\n },\n valueContainer: {\n display: \"flex\",\n // flexWrap: \"wrap\", // The following 'flexWrap' property was causing unwanted scrolling in autoCompleteInput. NAV --> Scheme\n overflow:\"auto\",\n flex: 1,\n alignItems: \"center\",\n },\n noOptionsMessage: {\n padding: `${theme.spacing(1)}px ${theme.spacing(2)}px`,\n },\n singleValue: {\n fontSize: 16,\n },\n placeholder: {\n position: \"absolute\",\n fontSize: 16,\n },\n paper: {\n position: \"absolute\",\n zIndex: 1,\n marginTop: theme.spacing(1),\n left: 0,\n right: 0,\n },\n divider: {\n height: theme.spacing(2),\n },\n notchedOutlineError: {\n borderColor: \"red !important\",\n },\n notchedOutline: {\n borderColor: \"#a6a6a6 !important\",\n },\n \n \n});\n\nfunction NoOptionsMessage(props) {\n return (\n \n {props.children}\n \n );\n}\n\nfunction inputComponent({ inputRef, ...props }) {\n return
;\n}\n\nfunction Control(props) {\n return (\n \n\n // \n );\n}\n\nfunction Option(props) {\n return (\n \n {props.children}\n \n \n );\n}\n\nfunction Placeholder(props) {\n return (\n \n {props.children}\n \n );\n}\n\nfunction SingleValue(props) {\n return (\n \n {props.children}\n \n );\n}\n\nfunction ValueContainer(props) {\n return (\n
\n {props.children}\n
\n );\n}\n\nfunction Menu(props) {\n return (\n \n {props.children}\n \n );\n}\n\nconst components = {\n Control,\n Menu,\n NoOptionsMessage,\n Option,\n Placeholder,\n SingleValue,\n ValueContainer,\n};\n\nclass IntegrationReactSelect extends React.Component {\n state = {\n single: null,\n };\n\n render() {\n const { classes, theme } = this.props;\n\n const selectStyles = {\n input: (base) => ({\n ...base,\n color: theme.palette.text.primary,\n \n cursor: \"pointer\",\n \"& input\": {\n font: \"inherit\",\n },\n }),\n };\n\n return (\n
\n \n \n \n {!!this.props.errorMessage ? this.props.errorMessage : \"\"}\n
\n \n
\n );\n }\n}\n\nIntegrationReactSelect.propTypes = {\n classes: PropTypes.object.isRequired,\n theme: PropTypes.object.isRequired,\n};\n\nexport default withStyles(styles, { withTheme: true })(IntegrationReactSelect);\n","import React, { Component } from \"react\";\nimport { Input } from \"../../forms/input\";\nimport Signbutton from \"../../forms/button\";\nimport { connect } from \"react-redux\";\nimport CustomizedSelect from \"./customizedSelect\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\n\nimport {\n getNewPurchaseFundList,\n validateSubBroker,\n getInvestorDetails,\n submitPurchaseData,\n showPurchaseConfirmation,\n saveTransactionDetails,\n} from \"../../../store/actions\";\nimport {\n GET_CATEGORY_LIST,\n GET_CATEGORY_LIST_SUCCESS,\n GET_SCHEME_LIST,\n GET_SCHEME_LIST_SUCCESS,\n GET_CATEGORY_LIST_FAILED,\n GET_SCHEME_LIST_FAILED,\n PURCHASE,\n REGULAR,\n NO,\n YES,\n NEW_PURCHASE,\n NEW,\n NEWP,\n} from \"../../../store/types\";\nimport Radio from \"@material-ui/core/Radio\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport IntegrationReactSelect from \"../../forms/autoCompleteInput\";\nimport { NEW_TRANSACTION_URL } from \".\";\n\nclass NewPurchase extends Component {\n constructor(props) {\n super(props);\n\n const { investorData, communicationDetails = [], token } = this.props;\n const revCD =\n !!communicationDetails && communicationDetails.length > 0\n ? communicationDetails.reverse()\n : \"\";\n const Xmobile = (revCD || []).find(\n (detail) =>\n detail.PAN === investorData.PAN &&\n !!detail.Mobile &&\n !!detail.Fund &&\n detail.Fund === \"102\"\n );\n const Xemail = (revCD || []).find(\n (detail) =>\n detail.PAN === investorData.PAN &&\n !!detail.email &&\n !!detail.Fund &&\n detail.Fund === \"102\"\n );\n const Email = !!Xemail && !!Xemail.email ? Xemail.email : \"\";\n const Mobile = !!Xmobile && !!Xmobile.Mobile ? Xmobile.Mobile : \"\";\n\n this.state = {\n emailId: { value: Email || \"\" },\n mobile: { value: Mobile || \"\" },\n disbleEmail: !!Email ? true : false,\n disbleMobile: !!Mobile ? true : false,\n arnCode: { value: token },\n invName: { value: this.props.investorData.invname || \"\" },\n fund: { value: \"102\" },\n category: { value: \"\" },\n scheme: { value: \"\" },\n subArnCode: { value: \"\" },\n multiples: \"\",\n euinNo: { value: \"\" },\n radioValue: { value: \"no\" },\n minAmount: { value: \"\" },\n subBrokerCode: { value: \"\" },\n code: { value: \"+91\" },\n Family_Code_Email: { value: \"\" },\n Family_Code_Phone: { value: \"\" },\n };\n }\n\n async componentDidMount() {\n const { transactionDetails } = this.props;\n if (Object.keys(transactionDetails).length > 0) {\n this.setState(transactionDetails);\n return;\n }\n const params = {\n opt: \"AT\",\n plntype: REGULAR,\n fund: \"102\",\n };\n const types = [\n GET_CATEGORY_LIST,\n GET_CATEGORY_LIST_SUCCESS,\n GET_CATEGORY_LIST_FAILED,\n ];\n const response = await this.props.getNewPurchaseFundList(params, types);\n }\n FamilyDescriptionEmail = (event) => {\n this.setState({\n Family_Code_Email: { value: event },\n });\n };\n FamilyDescriptionPhone = (event) => {\n this.setState({\n Family_Code_Phone: { value: event },\n });\n };\n\n validateBrokerCode = async () => {\n if (\n !!this.state.subArnCode.value &&\n this.state.subArnCode.value === this.state.arnCode.value.split(\"-\")[1]\n ) {\n this.setState({\n subArnCode: {\n value: \"\",\n isError: true,\n errorMessage: \"ARN and Sub ARN Code should not be the same\",\n },\n });\n return;\n }\n\n const { fund, subArnCode, arnCode } = this.state;\n const params = {\n Fund: \"102\",\n SubAgentCd: !!subArnCode.value ? `ARN-${subArnCode.value}` : \"\",\n AgentCd: arnCode.value,\n };\n const response = await this.props.validateSubBroker(params);\n if (!!response && !!response.DtData && response.DtData.length > 0) {\n const getLength = response.DtData.length === 1;\n let value = {\n value: response.DtData[0].abm_agent,\n label: response.DtData[0].abm_agent,\n };\n if (!!getLength) {\n this.setState({\n euinNo: { value },\n });\n }\n }\n\n // if (!response) {\n // alert(`${response}`);\n // // this.setState({\n // // subArnCode: {\n // // value: \"\",\n // // isError: true,\n // // errorMessage: ``,\n // // },\n // // });\n // }\n };\n\n handleCategoryChange = (label) => async (event) => {\n this.setState({ [label]: { value: event.target.value } });\n if (!!event.target.value) {\n let params = { plntype: REGULAR };\n params = {\n ...params,\n opt: \"S\",\n schemetype: event.target.value,\n fund: \"102\",\n };\n const types = [\n GET_SCHEME_LIST,\n GET_SCHEME_LIST_SUCCESS,\n GET_SCHEME_LIST_FAILED,\n ];\n const response = await this.props.getNewPurchaseFundList(params, types);\n\n if (response) {\n this.setState({\n [label]: { value: event.target.value },\n scheme: { value: \"\" },\n minCost: \"\",\n });\n }\n } else {\n this.setState({\n [label]: { value: event.target.value },\n scheme: { value: \"\" },\n minCost: \"\",\n });\n }\n };\n\n changeScheme = (value) => {\n const comboScheme =\n !!value &&\n !!value.value &&\n this.props.schemeList.find((ele) => ele.Scheme_Plan === value.value);\n this.setState({\n scheme: { value: value, isError: false, errorMessage: \"\" },\n minAmount: { value: \"\", isError: false, errorMessage: \"\" },\n minCost: !!comboScheme && !!comboScheme.MinAmt ? comboScheme.MinAmt : \"\",\n multiples:\n !!comboScheme && !!comboScheme.multiples ? comboScheme.multiples : \"\",\n });\n if (!!value) {\n this.validateBrokerCode();\n }\n };\n\n changeValue = (label) => (event) => {\n if (label === \"minAmount\" && event.target.value.length <= 10) {\n this.setState({\n [label]: { value: event.target.value },\n });\n } else if (label === \"code\") {\n if (!/^[+]\\d{1,3}$/.test(event.target.value)) {\n this.setState({\n [label]: {\n value: event.target.value,\n isError: true,\n errorMessage: \"Enter a valid Country Code\",\n },\n });\n } else {\n this.setState({ [label]: { value: event.target.value } });\n }\n } else if (label === \"mobile\") {\n if (!/^[6-9]\\d{9}$/.test(event.target.value)) {\n this.setState({\n [label]: {\n value: event.target.value,\n isError: true,\n errorMessage: \"Enter a valid Mobile Number\",\n },\n });\n } else {\n this.setState({ [label]: { value: event.target.value } });\n }\n } else if (\n (label === \"subArnCode\" || label === \"subBrokerCode\") &&\n event.target.value.length <= 20\n ) {\n this.setState({\n [label]: { value: event.target.value },\n });\n return;\n } else if (label === \"invName\") {\n if (/^[a-zA-Z ]*$/.test(event.target.value)) {\n this.setState({\n [label]: { value: event.target.value },\n });\n }\n } else if (\n label !== \"mobile\" &&\n label !== \"invName\" &&\n label !== \"minAmount\" &&\n label !== \"subArnCode\" &&\n label !== \"subBrokerCode\"\n ) {\n this.setState({\n [label]: { value: event.target.value },\n });\n }\n };\n\n changeEuin = (label) => (value) => {\n this.setState({\n [label]: { value },\n });\n };\n\n showError = (label) => (event) => {\n const {\n [label]: { value },\n } = this.state;\n if (label === \"minAmount\") {\n if (/^0[0-9]+$/.test(event.target.value)) {\n this.setState({\n [label]: {\n value: \"\",\n isError: true,\n errorMessage: \"Input should not have leading zeros.\",\n },\n });\n }\n\n else if (\n parseFloat(this.state.minCost) > parseFloat(this.state.minAmount.value)\n ) {\n this.setState({\n [label]: {\n value: \"\",\n isError: true,\n errorMessage: `The amount should be ₹ ${this.state.minCost} or more`,\n },\n });\n } else if (\n !!this.state.minAmount.value &&\n !!this.state.multiples &&\n parseFloat(this.state.minAmount.value) %\n parseFloat(this.state.multiples) !=\n 0\n ) {\n this.setState({\n [label]: {\n value: \"\",\n isError: true,\n errorMessage: `The amount should be in the multiples of ${this.state.multiples}`,\n },\n });\n }\n } else if (label === \"emailId\") {\n this.setState({\n [label]: {\n value,\n isError:\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.emailId.value\n ) === false\n ? true\n : !value,\n errorMessage:\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.emailId.value\n ) === false\n ? `( *enter an vaild email address )`\n : \"\",\n },\n });\n } else if (label === \"code\") {\n if (!/^[+]\\d{1,3}$/.test(event.target.value)) {\n this.setState({\n [label]: {\n value: \"\",\n isError: true,\n errorMessage: \"Enter a valid Country Code\",\n },\n });\n }\n } else if (label === \"mobile\") {\n this.setState({\n [label]: {\n value,\n isError:\n /^(?:(?:\\+|0{0,2})91(\\s*[\\-]\\s*)?|[0]?)?[6-9]\\d{9}$/.test(\n this.state.mobile.value\n ) === false\n ? true\n : !value,\n errorMessage:\n /^(?:(?:\\+|0{0,2})91(\\s*[\\-]\\s*)?|[0]?)?[6-9]\\d{9}$/.test(\n this.state.mobile.value\n ) === false\n ? `(* Enter a valid Phone Number)`\n : !value,\n },\n });\n } else {\n this.setState({\n [label]: {\n value,\n isError: !value,\n },\n });\n }\n };\n\n submit = async () => {\n const { location } = this.props;\n const { state } = location;\n\n const {\n arnCode,\n combo,\n subArnCode,\n isCombo,\n radioValue,\n multiples,\n invName,\n euinNo,\n minCost,\n subBrokerCode,\n disbleEmail,\n disbleMobile,\n code,\n Family_Code_Email,\n Family_Code_Phone,\n ...others\n } = this.state;\n const arn = this.state.arnCode.value.split(\"-\");\n if (!/^[+]\\d{1,3}$/.test(code.value)) {\n this.setState({\n [code]: {\n value: \"\",\n isError: true,\n errorMessage: !code.value\n ? \"Country Code is Mandatory\"\n : \"Enter a valid Country Code\",\n },\n });\n return;\n }\n if (\n !/^[+]\\d{1,3}/.test(this.state.code.value) &&\n (this.state.sipType.value === NEW || this.state.sipType.value === NEWP)\n ) {\n this.setState({\n code: {\n value: \"\",\n isError: true,\n errorMessage: !code.value\n ? \"Country Code is Mandatory\"\n : \"Enter a valid Country Code\",\n },\n });\n return;\n }\n if (radioValue.value === \"no\" && !euinNo.value) {\n this.setState({\n euinNo: {\n value: \"\",\n isError: true,\n errorMessage: \"Euin is required to proceed\",\n },\n });\n }\n\n if (this.state.invName.value === \"\") {\n this.setState({\n invName: {\n value: \"\",\n isError: true,\n errorMessage: \"Investor Name is Mandatory*\",\n },\n });\n }\n\n const keys = Object.keys(others);\n const findError = keys.every((key) => !!others[key].value);\n if (!findError) {\n keys.forEach((key) => {\n !others[key].value &&\n this.setState({\n [key]: {\n ...others[key],\n isError: true,\n errorMessage: `${\n key === \"category\"\n ? \"Please select a category to proceed\"\n : key === \"scheme\"\n ? \"Please select a scheme to proceed\"\n : key === \"minAmount\"\n ? \"Minimum Investment Amount is mandatory\"\n : key`${\"is mandatory\"} `\n } `,\n },\n });\n });\n const firstErroredKey = keys.find((key) => !others[key].value);\n switch (firstErroredKey) {\n case \"emailId\": {\n this.emailIdField.focus();\n break;\n }\n case \"mobile\": {\n this.mobileField.focus();\n break;\n }\n case \"fund\": {\n this.fundField.focus();\n break;\n }\n case \"category\": {\n this.categoryField.focus();\n break;\n }\n case \"scheme\": {\n this.schemeField.focus();\n break;\n }\n case \"minAmount\": {\n this.minAmountField.focus();\n break;\n }\n default:\n break;\n }\n } else if (invName.value === \"\") {\n this.setState({\n invName: {\n value: \"\",\n isError: true,\n errorMessage: \"Investor Name is mandatory\",\n },\n });\n } else if (radioValue.value === \"no\" && !euinNo.value) {\n this.setState({\n euinNo: {\n ...euinNo,\n isError: true,\n errorMessage: \"EUIN No is mandatory\",\n },\n });\n this.euinField.focus();\n return;\n } else if (minCost > others.minAmount.value) {\n this.setState({\n minAmount: {\n ...others[\"minAmount\"],\n value: \"\",\n isError: true,\n errorMessage: `Minimum Amount should be ${minCost}`,\n },\n });\n this.minAmountField.focus();\n return;\n }\n // else if (others.minAmount.value > 1000000) {\n // this.setState({\n // minAmount: {\n // ...others[\"minAmount\"],\n // isError: true,\n // errorMessage: ` Amount should be less than or equal to 1,000,000`,\n // },\n // });\n // this.minAmountField.focus();\n // return;\n // }\n else if (\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.emailId.value\n ) === false\n ) {\n this.setState({\n emailId: {\n ...others[\"emailId\"],\n isError: true,\n errorMessage: `Enter an vaild Email Id`,\n },\n });\n return;\n } else if (\n /^(?:(?:\\+|0{0,2})91(\\s*[\\-]\\s*)?|[0]?)?[6-9]\\d{9}$/.test(\n this.state.mobile.value\n ) === false\n ) {\n this.setState({\n mobile: {\n ...others[\"mobile\"],\n isError: true,\n errorMessage: `Enter an vaild Phone Number`,\n },\n });\n return;\n } else if (arn[1] === this.state.subArnCode.value) {\n this.setState({\n subArnCode: {\n value: \"\",\n isError: true,\n errorMessage: `and ARN code should not match `,\n },\n });\n } else {\n const plan = this.state.scheme.value.value.split(\"~\");\n\n const family_email_relationship = !!this.state.Family_Code_Email.value\n .value\n ? family_description_codes.find(\n (ele) =>\n ele.family_code === this.state.Family_Code_Email.value.value\n )\n : \"\";\n const family_mobile_relationship = !!this.state.Family_Code_Phone.value\n .value\n ? family_description_codes.find(\n (ele) =>\n ele.family_code === this.state.Family_Code_Phone.value.value\n )\n : \"\";\n\n const params = {\n InvestorName: this.state.invName.value,\n i_entby: this.props.userId,\n trtype: PURCHASE,\n Desci: \"YES~W\",\n SubbrokerArn: !!this.state.subArnCode.value\n ? `ARN-${subArnCode.value}`\n : \"\",\n ARNCode: this.state.arnCode.value,\n EuinCode:\n this.state.radioValue.value === \"no\"\n ? this.state.euinNo.value.value\n : \"\",\n i_Userid: this.props.userId,\n Mobile: this.state.mobile.value,\n PanNo: this.props.investorData.PAN || state.pan,\n Email: this.state.emailId.value,\n i_Acno: \"0\",\n Subbroker: this.state.subBrokerCode.value,\n i_Fund: \"102\",\n i_UntAmtValue: this.state.minAmount.value,\n EUINFlag: this.state.radioValue.value === \"no\" ? NO : YES,\n EuinValid: this.state.radioValue.value === \"no\" ? NO : YES,\n i_Scheme: plan[1],\n i_Plan: plan[2],\n i_Option: plan[3],\n i_oldihno: \"0\",\n i_InvDistFlag: \"W\",\n ModuleName: \"Webile\",\n customfund: \"102\",\n CountryCode: this.state.code.value,\n // comboswitch: !!this.state.isCombo ? \"Y\" : \"N\",\n fEmailFlag: this.state.Family_Code_Email.value.value,\n fMobileFlag: this.state.Family_Code_Phone.value.value,\n };\n const response = await this.props.submitPurchaseData(params);\n if (response) {\n const {\n DtData: [purchaseData],\n } = response;\n const confirmationParams = {\n Trtype: PURCHASE,\n fund: \"102\",\n customfund: \"102\",\n Refno: purchaseData.refno,\n ModuleName: \"Webile\",\n };\n\n const confirmationResponse = await this.props.showPurchaseConfirmation(\n confirmationParams\n );\n\n if (confirmationResponse) {\n this.props.saveTransactionDetails(this.state);\n this.props.history.push({\n pathname:\n NEW_TRANSACTION_URL +\n \"/nfo-new-purchase/digital/transact/confirm\",\n state: {\n title: \"LUMPSUM SUMMARY\",\n pan: !!state && !!state.pan ? state.pan : \"\",\n InvestorEmail: this.state.emailId.value,\n InvestorMobile: this.state.mobile.value,\n fEmailFlag: family_email_relationship,\n fMobileFlag: family_mobile_relationship,\n scheme: { Fund: this.state.fund.value.value },\n subArnCode: this.state.subArnCode.value,\n type: NEW_PURCHASE,\n arnCode: this.state.arnCode.value,\n },\n });\n }\n }\n }\n };\n\n // ComboChange = () => {\n // this.setState({\n // isCombo: !this.state.isCombo,\n // });\n // };\n\n render() {\n const { schemeList, categoryList, euinList, investorData } = this.props;\n const filteredSchemeList = schemeList\n .map((item) => ({\n label: item.Scheme_Desc,\n value: item.Scheme_Plan,\n }))\n .filter((item) => {\n return item.value.split(\"~\")[1] !== \"EB\";\n });\n const {\n emailId,\n mobile,\n arnCode,\n fund,\n invName,\n category,\n scheme,\n subArnCode,\n radioValue,\n euinNo,\n minAmount,\n subBrokerCode,\n\n Family_Code_Email,\n Family_Code_Phone,\n } = this.state;\n\n return (\n \n
\n
Lumpsum
\n {/* {!!state && !!state.pan && ( */}\n
\n (this.invNameField = ele)}\n />\n
\n\n
\n
\n Email Family Description\n
\n ({\n label: item.family_description,\n value: item.family_code,\n }))}\n value={Family_Code_Email.value}\n placeholder=\"Select Family Description\"\n handleChange={this.FamilyDescriptionEmail}\n />\n
\n {/* )} */}\n
\n (this.emailIdField = ele)}\n errorMessage={this.state.emailId.errorMessage}\n />\n
\n
\n
\n Mobile Family Description\n
\n ({\n label: item.family_description,\n value: item.family_code,\n }))}\n value={Family_Code_Phone.value}\n placeholder=\"Select Phone Description\"\n handleChange={this.FamilyDescriptionPhone}\n />\n
\n
\n (this.codeField = ele)}\n okKeyDown={(e) => {\n const keys = [\n \"Backspace\",\n \"Delete\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"+\",\n ];\n if (isNaN(e.key) && !keys.includes(e.key)) {\n e.preventDefault();\n }\n }}\n />\n
\n
\n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n value={mobile.value}\n onChange={this.changeValue(\"mobile\")}\n onBlur={this.showError(\"mobile\")}\n isShowError={mobile.isError}\n errorMessage={mobile.errorMessage}\n inputref={(ele) => (this.mobileField = ele)}\n />\n
\n\n
\n (this.categoryField = ele)}\n isError={category.isError}\n errorMessage={category.errorMessage}\n >\n {categoryList.map((item, index) => (\n \n {item.fm_subcategory}\n \n ))}\n \n
\n\n
\n
Scheme
\n (this.schemeField = ele)}\n isError={scheme.isError}\n errorMessage={scheme.errorMessage}\n />\n
\n\n
\n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n placeholder=\"₹ Amount\"\n step=\"1\"\n type=\"number\"\n value={minAmount.value}\n onChange={this.changeValue(\"minAmount\")}\n onBlur={this.showError(\"minAmount\")}\n errorMessage={minAmount.errorMessage}\n isShowError={minAmount.isError}\n inputref={(ele) => (this.minAmountField = ele)}\n />\n
\n\n
\n \n
\n\n
\n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n bordercolor=\"#a6a6a6\"\n type=\"number\"\n value={subArnCode.value}\n isShowError={subArnCode.isError}\n errorMessage={subArnCode.errorMessage}\n onBlur={this.validateBrokerCode}\n onChange={this.changeValue(\"subArnCode\")}\n inputref={(ele) => (this.subArnField = ele)}\n />\n
\n\n
\n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n bordercolor=\"#a6a6a6\"\n value={subBrokerCode.value}\n onChange={this.changeValue(\"subBrokerCode\")}\n inputref={(ele) => (this.subBrokerField = ele)}\n />\n
\n
\n
EUIN No
\n\n \n \n
\n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
YES
\n
\n
\n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
NO
\n
\n \n
\n
\n {radioValue.value === \"no\" ? (\n
\n
EUIN Selection*
\n\n ({\n label: item.abm_agent,\n value: item.abm_agent,\n }))}\n value={euinNo.value}\n placeholder=\"Select EUIN\"\n handleChange={this.changeEuin(\"euinNo\")}\n errorMessage={euinNo.errorMessage}\n disabled={!euinList.length}\n inputRef={(ele) => (this.euinField = ele)}\n isError={euinNo.isError}\n />\n
\n ) : (\n
\n I/We hereby confirm that the EUIN box has been intentionally left\n the blank by me/us as this is an 'execution-only' transaction\n without any interaction or advice by any personnel of the above\n distributor or notwithstanding the advice of in-appropriateness,if\n any provided by any personnel of the distributor and the\n distributor has not charged any advisory fees on this transaction\n
\n )}\n\n {/* */}\n
\n \n
\n
\n
\n );\n }\n}\n\nexport default connect(\n ({ authReducer, transactions }) => {\n const { investorData, communicationDetails, token, userId } = authReducer;\n const {\n fundsList,\n schemeList,\n categoryList,\n euinList,\n transactionDetails,\n } = transactions;\n return {\n investorData,\n communicationDetails,\n token,\n fundsList,\n schemeList,\n categoryList,\n euinList,\n userId,\n transactionDetails,\n };\n },\n {\n getNewPurchaseFundList,\n getInvestorDetails,\n validateSubBroker,\n submitPurchaseData,\n showPurchaseConfirmation,\n saveTransactionDetails,\n }\n)(NewPurchase);\n\nexport class TextLink extends Component {\n render() {\n return (\n
\n \n \n *Note :\n {\" \"}\n Pursuant to notice cum addendum dated March 27, 2021 the nomenclature\n of dividend option has been changed w.e.f. April 01, 2021.\n
\n\n \n IDCW - Income Distribution cum Capital Withdrawal option.{\" \"}\n \n Click here\n {\" \"}\n to view the notice\n \n \n );\n }\n}\n\nexport const family_description_codes = [\n {\n family_description: \"Self\",\n family_code: \"SE\",\n },\n {\n family_description: \"Spouse\",\n family_code: \"SP\",\n },\n {\n family_description: \"Dependent Children\",\n family_code: \"DC\",\n },\n {\n family_description: \"Dependent Siblings\",\n family_code: \"DS\",\n },\n {\n family_description: \"Dependent Parents\",\n family_code: \"DP\",\n },\n {\n family_description: \"Guardian\",\n family_code: \"GD\",\n },\n];\n","import React, { Component } from \"react\";\nimport Signbutton from \"../../forms/button\";\nimport { Paper } from \"@material-ui/core\";\nimport CustomizedDialogs from \"../customModal\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport { connect } from \"react-redux\";\nimport {\n confirmPurchase,\n redemptionConfirm,\n swpConfirm,\n submitPurchaseData,\n submitSTPCancellation,\n stpConfirm,\n saveSipData,\n submitSipCancellation,\n sipPauseDateCalculate,\n sipPauseEndDateCalculate,\n sipPauseValidator,\n finalSipPause,\n} from \"../../../store/actions\";\nimport {\n PAYMENT_TYPE,\n REDEMPTION,\n ALL,\n UNITS,\n U,\n PARTIAL,\n FALSE,\n SWP,\n STP,\n SIP,\n ADDITIONAL_PURCHASE,\n NEW,\n YES,\n SWITCH,\n NEWP,\n} from \"../../../store/types\";\nimport moment from \"moment\";\nimport { NEW_TRANSACTION_URL } from \".\";\nimport CustomizedSelect from \"./customizedSelect\";\nimport { Input } from \"../../forms/input\";\nimport CustomLoader from \"../../forms/Loader\";\n\nclass NewPurchaseConfirm extends Component {\n constructor(props) {\n super(props);\n this.state = {\n open: false,\n disabled: false,\n stpRefNo: { value: \"\" },\n swpRefNo: { value: \"\" },\n redemption: { value: \"\" },\n nfoNew: { value: \"\" },\n switchRefNo: { value: \"\" },\n sipRefNo: { value: \"\" },\n sipCancellation: { value: \"\" },\n pause_installemnts: [],\n sip_pause_dates: [],\n selected_pause_date: { value: \"\" },\n selected_pause_installments: { value: \"\" },\n sip_pause_end_Data: \"\",\n sipPauseRefno: { value: \"\" },\n };\n }\n\n async componentDidMount() {\n window.scrollTo({\n behavior: \"smooth\",\n top: 0,\n });\n const { location } = this.props;\n const { state } = location;\n\n if (!!state.type && state.type === \"Sip Pause\") {\n const pause_inst = new Array(state.pauseDetails.pause_inst).fill(1);\n this.setState({\n pause_installemnts: pause_inst,\n });\n const params = {\n ihno: state.pauseDetails.ihno,\n fund: \"102\",\n customfund: \"102\",\n // uid: this.props.userId,\n };\n\n const response = await this.props.sipPauseDateCalculate(params);\n\n if (\n !!response &&\n !!response.Dtinformation &&\n response.Dtinformation.length > 0\n ) {\n this.setState({\n sip_pause_dates: response.Dtinformation,\n });\n }\n }\n }\n\n closeModal = () => {\n this.setState({\n open: false,\n });\n this.props.history.replace(NEW_TRANSACTION_URL);\n };\n\n sipSubmit = () => {\n const { sipDetails } = this.props;\n const { sipType } = sipDetails;\n\n if (sipType.value === NEW || sipType.value === NEWP ||\n sipType.value === \"EXISTINGP\"\n ) {\n this.confirmPurchase();\n } else {\n this.sipConfirmPurchase();\n }\n };\n\n sipConfirmPurchase = async () => {\n const { sipDetails } = this.props;\n this.setState({\n disabled: true,\n });\n let date = sipDetails.sip_start_date.value.split(\"/\").reverse();\n const new_start_date = new Date(\n new Date().setFullYear(date[0], Number(date[1]) - 1, date[2])\n ).toLocaleString(\"en-US\", {\n hour12: true,\n month: \"2-digit\",\n day: \"2-digit\",\n year: \"numeric\",\n });\n let end_date = sipDetails.sip_end_date.value.split(\"/\").reverse();\n\n let new_end_date = new Date(\n new Date().setFullYear(end_date[0], Number(end_date[1]) - 1, end_date[2])\n ).toLocaleString(\"en-US\", {\n hour12: true,\n month: \"2-digit\",\n day: \"2-digit\",\n year: \"numeric\",\n });\n\n const params = {\n i_euinDeclaration: YES,\n i_InvDistFlag: \"W\",\n Option:\n sipDetails.scheme.value.value.Opt ||\n sipDetails.scheme.value.value.fm_option,\n SubArn: sipDetails.subArnCode.value,\n i_PerpetialSIP: ALL,\n i_Amount: sipDetails.installmentAmount.value,\n i_frequency: sipDetails.investmentFrequency.value.FrequencyID,\n i_fund: \"102\",\n customfund: \"102\",\n\n i_subbroker: sipDetails.subBrokerCode.value,\n i_SchemeCode:\n (sipDetails.scheme.value.value.fm_plan ||\n sipDetails.scheme.value.value.Pln) +\n (sipDetails.scheme.value.value.Sch ||\n sipDetails.scheme.value.value.fm_scheme),\n i_brokercode: sipDetails.arnCode.value,\n i_SIPday: sipDetails.sipDay.value.value,\n i_euinno:\n sipDetails.radioValue.value === \"no\"\n ? sipDetails.euinNo.value.value.split(\" \")[0]\n : \"\",\n i_id: \"1\",\n EntDt: moment(new Date()).format(\"MM/DD/YYYY\"),\n i_ModeofPayment: sipDetails.mode.value,\n i_EntBy: this.props.userId,\n i_folio: sipDetails.folio.value.value,\n i_SIPEndDate: new_end_date,\n i_SIPStartDate: new_start_date,\n i_NoofInstalment: sipDetails.installments.value,\n Umrn: this.props.umr,\n };\n const response = await this.props.saveSipData(params);\n\n if (response) {\n this.setState({\n open: true,\n sipRefNo: {\n value: `${response.DtData[0].Scheme.trim()}${response.DtData[0].Pln.trim()}${response.DtData[0].Opt.trim()}${response.DtData[0].refno\n }`,\n },\n disabled: false,\n });\n }\n\n this.setState({\n disabled: false,\n });\n // else if (!!response.error) {\n // alert(response.error);\n // // alert(\n // // \"Liquid and FMP are not allowed for ISIP, please check the other modes \"\n // // );\n // this.props.history.push(BUILD_URL + \"/\");\n // }\n };\n\n confirmPurchase = async () => {\n const { confirmationData } = this.props;\n const { state } = this.props.location;\n this.setState({\n disabled: true,\n });\n const params = {\n paymenttype: PAYMENT_TYPE,\n customfund: \"102\",\n // folio:\n // !!state.title &&\n // !!state.methodType &&\n // !!state.folio &&\n // state.title === \"NFO & ADDITIONAL PURCHASE SUMMARY\" &&\n // state.methodType === \"EXISTING\"\n // ? state.folio.value\n // : \"\",\n Trtype: confirmationData.trtype,\n fund: \"102\",\n Refno: confirmationData.TRefno,\n ModuleName: \"Webile\",\n };\n\n const response = await this.props.confirmPurchase(params);\n if (response) {\n let scheme = response.DtData[0].dd_scheme.toString().trim();\n let plan = response.DtData[0].dd_plan.toString().trim();\n let option = response.DtData[0].dd_option.toString().trim();\n let ID = response.DtData[0].dd_refno.toString().trim();\n this.setState({\n open: true,\n disabled: false,\n nfoNew: {\n value: `${scheme}${plan}${option}${ID}`,\n //value: `${response.DtData[0].dd_scheme}${response.DtData[0].dd_plan}${response.DtData[0].dd_option}${response.DtData[0].dd_refno}`,\n new_type:\n !!this.props.location && this.props.location.state\n ? this.props.location.state.type\n : \"\",\n },\n });\n }\n\n this.setState({\n disabled: false,\n });\n };\n\n handlesipPauseDateChange = (event) => {\n const { selected_pause_date } = this.state;\n if (\n !!selected_pause_date.value &&\n event.target.value &&\n selected_pause_date.value === event.target.value\n ) {\n return;\n } else {\n this.setState({\n selected_pause_date: { value: event.target.value },\n selected_pause_installments: { value: \"\" },\n sip_pause_end_Data: \"\",\n });\n }\n };\n handlePauseInstallments = async (event) => {\n const { selected_pause_installments } = this.state;\n if (!event.target.value) {\n this.setState({\n selected_pause_installments: { value: \"\" },\n sip_pause_end_Data: \"\",\n });\n } else if (\n !!event.target.value &&\n selected_pause_installments.value &&\n parseInt(selected_pause_installments.value) ===\n parseInt(event.target.value)\n ) {\n return;\n } else {\n this.setState({\n selected_pause_installments: { value: event.target.value },\n });\n const { location } = this.props;\n const { state } = location;\n let date = this.state.selected_pause_date.value.split(\"/\").reverse();\n const startDate = new Date(\n new Date().setFullYear(date[0], Number(date[1]) - 1, date[2])\n ).toLocaleString(\"en-US\", {\n hour12: true,\n day: \"numeric\",\n month: \"2-digit\",\n year: \"numeric\",\n });\n const params = {\n SrtDt: startDate,\n fund: \"102\",\n customfund: \"102\",\n count: event.target.value,\n uid: this.props.userId,\n };\n const response = await this.props.sipPauseEndDateCalculate(params);\n if (\n !!response &&\n !!response.Dtinformation &&\n response.Dtinformation[0].Error_Message === \"Success\" &&\n !!response.DtData &&\n !!response.DtData[0].enddt\n ) {\n this.setState({\n sip_pause_end_Data: response.DtData[0].enddt,\n });\n } else if (\n !!response &&\n !!response.Dtinformation &&\n response.Dtinformation[0]\n ) {\n alert(`${response.Dtinformation[0].Error_Message}`);\n }\n }\n };\n\n confirmSwitch = async () => {\n const { state } = this.props.location;\n this.setState({\n disabled: true,\n });\n const { profileData } = this.props;\n\n const { investorData, token, userId } = this.props;\n const OTPMsg = Math.floor(100000 + Math.random() * 900000);\n const params = {\n PanNo: investorData.PAN,\n InvestorName: investorData.invname,\n i_RedFlg: state.switchType === \"PARTIAL\" ? \"P\" : \"F\",\n EuinValid: YES,\n i_entby: userId,\n trtype: \"S\",\n i_Tacno: state.scheme.Acno,\n Bankid: \"null~null\",\n i_Plan: state.scheme.Pln,\n i_Tplan: state.switchInScheme.fm_plan,\n Desci: \"YES~W\",\n i_Toption: state.switchInScheme.fm_option,\n i_Acno: state.scheme.Acno,\n i_Fund: \"102\",\n customfund: \"102\",\n i_UntAmtFlg: state.switchMode === UNITS ? U : ALL,\n i_oldihno: \"0\",\n ARNCode: token,\n Subbroker: state.subBrokerCode,\n EuinCode:\n !!state && !!state.euin && !!state.euin.value ? state.euin.value : \"\",\n i_Agent: !!profileData ? profileData.Distributor_Name : \"\",\n Otp: OTPMsg,\n i_Option: state.scheme.Opt,\n i_Userid: userId,\n i_Tscheme: state.switchInScheme.fm_scheme,\n i_Scheme: state.scheme.Sch,\n i_Tfund: \"102\",\n i_InvDistFlag: \"W\",\n i_UntAmtValue: state.amount,\n EUINFlag: YES,\n ModuleName: \"Webile\",\n };\n\n const response = await this.props.submitPurchaseData(params);\n if (response) {\n this.setState({\n open: true,\n disabled: true,\n switchRefNo: { value: response.DtData[0].REFNO },\n });\n }\n this.setState({\n disabled: false,\n });\n };\n\n confirmStp = async () => {\n const { stpDetails } = this.props;\n const { token, userId } = this.props;\n this.setState({\n disabled: true,\n });\n\n const params = {\n Trtype: \"STP\",\n customfund: \"102\",\n Stpday: !!stpDetails.sipDay ? stpDetails.sipDay.value : \"\",\n i_option: !!stpDetails.scheme ? stpDetails.scheme.value.value.Opt : \"\",\n Refno: \"0\",\n NoofTransfer: !!stpDetails.transfers ? stpDetails.transfers.value : \"\",\n Entby: userId,\n InvDistFlag: \"W\",\n Enddt: !!stpDetails.sipEndDate\n ? stpDetails.sipEndDate.value\n : \"\",\n Euinvalid: \"Y\",\n Scheme: !!stpDetails.scheme ? stpDetails.scheme.value.value.Sch : \"\",\n Stdt: !!stpDetails.sipStartDate\n ? stpDetails.sipStartDate.value\n : \"\",\n Tooption: !!stpDetails.switchInScheme\n ? stpDetails.switchInScheme.value.value.fm_option\n : \"\",\n Stpoption: !!stpDetails.swpOption\n ? stpDetails.swpOption.value.Description\n : \"\",\n Plan: !!stpDetails.scheme ? stpDetails.scheme.value.value.Pln : \"\",\n Trdate: moment(new Date()).format(\"MM/DD/YYYY\"),\n Freq:\n !!stpDetails.swpFrequency && !!stpDetails.swpFrequency.value\n ? stpDetails.swpFrequency.value\n : \"\",\n Batchno: \"0\",\n ToScheme: !!stpDetails.switchInScheme\n ? stpDetails.switchInScheme.value.value.fm_scheme\n : \"\",\n Distributor: token,\n Fund: \"102\",\n Amount: !!stpDetails.amount ? stpDetails.amount.value : \"\",\n Ihno: \"0\",\n Euin:\n !!stpDetails.euinNo &&\n !!stpDetails.euinNo.value &&\n !!stpDetails.euinNo.value.value\n ? stpDetails.euinNo.value.value\n : \"\",\n Acno: !!stpDetails.scheme ? stpDetails.scheme.value.value.Acno : \"\",\n Toplan: !!stpDetails.scheme\n ? stpDetails.switchInScheme.value.value.fm_plan\n : \"\",\n };\n console.log(\"params\",params)\n const response = await this.props.stpConfirm(params);\n if (response) {\n this.setState({\n stpRefNo: { value: response.DtData[0].appno },\n open: true,\n disabled: false,\n });\n }\n this.setState({\n disabled: false,\n });\n };\n\n confirmSwp = async () => {\n const { state } = this.props.location;\n let sipStartDateReverse, startDate, sipEndDateReverse, EndDate;\n this.setState({\n disabled: true,\n });\n const { userId } = this.props;\n const {\n scheme,\n swpFrequency,\n sipEndDate,\n sipStartDate,\n amount,\n swpOption,\n withDrawals,\n } = state;\n\n if (!!sipStartDate) {\n sipStartDateReverse = sipStartDate.split(\"/\").reverse().join(\"/\");\n startDate = new Date(sipStartDateReverse).toLocaleDateString(\"en-US\");\n }\n\n if (!!sipEndDate) {\n sipEndDateReverse = sipEndDate.split(\"/\").reverse().join(\"/\");\n EndDate = new Date(sipEndDateReverse).toLocaleDateString(\"en-US\");\n }\n const params = {\n Trtype: \"SWP\",\n Withdrawaltype: swpOption.Description,\n customfund: \"102\",\n Refno: \"0\",\n Errno: \"0\",\n Optn: scheme.Opt,\n Entby: userId,\n InvDistFlag: \"W\",\n Noofwithdrawals: withDrawals,\n Enddt: EndDate,\n Remarks: \"0\",\n Scheme: scheme.Sch,\n Stdt: startDate,\n Plan: scheme.Pln,\n Trdate: moment(new Date()).format(\"MM/DD/YYYY\"),\n Freq: swpFrequency.FrequencyID,\n Batchno: \"0\",\n Fund: \"102\",\n Branch: \"0\",\n Amount: !!amount ? amount : \"\",\n Ihno: \"0\",\n Acno: scheme.Acno,\n };\n\n const response = await this.props.swpConfirm(params);\n\n if (response) {\n this.setState({\n open: true,\n swpRefNo: {\n value: `${scheme.Sch}${scheme.Pln}${scheme.Opt}${response.Table1[0].RefNo}`,\n },\n disabled: false,\n });\n }\n this.setState({\n disabled: false,\n });\n };\n\n confirmRedemption = async () => {\n const { state } = this.props.location;\n this.setState({\n disabled: true,\n });\n\n const { scheme, amount, redemptionMode, bank, redemptionType } = state;\n // scheme.Fund\n const { investorData, token, userId } = this.props;\n const params = {\n i_InvDistFlag: \"W\",\n customfund: \"102\",\n i_Acno: scheme.Acno,\n i_Fund: \"102\",\n i_Plan: scheme.Pln,\n i_Option: scheme.Opt,\n i_RedFlg: redemptionType === PARTIAL ? \"P\" : \"F\",\n i_Scheme: scheme.Sch,\n i_Userid: userId,\n i_UntAmtValue: amount,\n ARNCode: token,\n i_pangno: investorData.PAN,\n i_UntAmtFlg: redemptionMode === UNITS ? \"U\" : \"A\",\n i_oldihno: \"0\",\n i_multibankdet: `${bank.bnkname}-${bank.bnkacno}~~ ${bank.bnkacno}~~ ${bank.bnkactype}~~ ${bank.ifsccode}`,\n };\n\n\n // console.log(\"i_multibankdet\", params.i_multibankdet)\n const response = await this.props.redemptionConfirm(params);\n if (response) {\n this.setState({\n open: true,\n redemption: { value: response.DtData[0].REFNO },\n });\n }\n this.setState({\n disabled: false,\n });\n };\n confirmSipcancellation = async () => {\n let reason,rejcode \n const { location, token, userId, investorData } = this.props;\n const { state } = location;\n const { pauseDetails, sipType } = state;\n this.setState({\n disabled: true,\n });\n const dsipstdt = pauseDetails.fromdate.split(\"/\").reverse();\n const Esipstdt = new Date(\n new Date().setFullYear(dsipstdt[0], Number(dsipstdt[1]) - 1, dsipstdt[2])\n ).toLocaleString(\"en-US\", {\n hour12: true,\n day: \"numeric\",\n month: \"2-digit\",\n year: \"numeric\",\n });\n\n const dsipEnddt = pauseDetails.todate.split(\"/\").reverse();\n const EsipEnddt = new Date(\n new Date().setFullYear(\n dsipEnddt[0],\n Number(dsipEnddt[1]) - 1,\n dsipEnddt[2]\n )\n ).toLocaleString(\"en-US\", {\n hour12: true,\n day: \"numeric\",\n month: \"2-digit\",\n year: \"numeric\",\n });\n const dtrDate = pauseDetails.trdate.split(\"/\").reverse();\n const EsipTrDate = new Date(\n new Date().setFullYear(dtrDate[0], Number(dtrDate[1]) - 1, dtrDate[2])\n ).toLocaleString(\"en-US\", {\n hour12: true,\n day: \"numeric\",\n month: \"2-digit\",\n year: \"numeric\",\n });\n if(!!this.props.location.state.cancellationReason){\n const rejectionreason = this.props.location.state.reasons.find((ele)=>ele.RejReason===this.props.location.state.cancellationReason)\n if(rejectionreason){\n reason =this.props.location.state.cancellationReason\n rejcode = rejectionreason.RejCode\n } else {\n reason = `Others-${this.props.location.state.cancellationReason}`\n rejcode = this.props.location.state.reasons.length\n }\n }\n\n const body =\n sipType !== \"SIP\"\n ? {\n invdistflag: \"W\",\n subBrokerCode: \"\",\n ToOption: \"\",\n Scheme: pauseDetails.sch,\n ToPlan: pauseDetails.tpln,\n customfund: \"\",\n cycleihno: \"0\",\n appldt: \"\",\n branch: \"\",\n mobile: pauseDetails.mobile,\n cycledtpart: \"\",\n termdt: Esipstdt,\n todate: EsipEnddt,\n trdate: EsipTrDate,\n trtype: sipType,\n Toscheme: pauseDetails.tsch,\n subTrType: \"\",\n barcode: \"\",\n batchno: \"0\",\n disitributorid: this.props.token,\n amt: pauseDetails.amt,\n Optn: pauseDetails.opt,\n Plan: pauseDetails.pln,\n acno: pauseDetails.acno,\n dpid: \"\",\n fund: \"102\",\n customfund: \"102\",\n ihno: pauseDetails.ihno,\n Refno: pauseDetails.ihno,\n entby: userId,\n errno: \"0\",\n lname: pauseDetails.lname,\n rcpno: \"\",\n chqtype: \"\",\n cmlflag: \"\",\n clientid: \"\",\n remarks: \"\",\n allotmentFlag: \"\",\n invdistflag: \"W\",\n Frequency: pauseDetails.freq,\n }\n : {\n invdistflag: \"W\",\n Trtype: sipType,\n Pan: investorData.PAN,\n uid: userId,\n Fund: \"102\",\n customfund: \"102\",\n Ihno: pauseDetails.ihno,\n Agent: token,\n folio: pauseDetails.acno,\n reason:reason,\n rejcode:rejcode\n\n };\n\n const response =\n sipType === \"SIP\"\n ? await this.props.submitSipCancellation(body)\n : await this.props.submitSTPCancellation(body);\n\n if (\n !!response &&\n !!response.Dtinformation &&\n !!response.Dtinformation[0] &&\n (!!response.Dtinformation[0].Error_Code ||\n !!response.Dtinformation[0].Error_code) &&\n (response.Dtinformation[0].Error_Code === \"0\" ||\n response.Dtinformation[0].Error_code === \"0\")\n ) {\n this.setState({\n open: true,\n disabled: false,\n sipCancellation: {\n value: response.DtData[0].ihno,\n errorMessage: response.Dtinformation[0].Error_Message,\n },\n });\n }\n\n this.setState({\n disabled: false,\n });\n };\n confirmSipPause = async () => {\n const {\n sip_pause_end_Data,\n selected_pause_installments,\n selected_pause_date,\n } = this.state;\n if (\n !!sip_pause_end_Data ||\n !!selected_pause_installments.value ||\n !!selected_pause_date.value\n ) {\n this.setState({\n disabled: true,\n });\n const { state } = this.props.location;\n const { pauseDetails } = state;\n\n const dpausesipstdt = selected_pause_date.value.split(\"/\").reverse();\n const Epausesipstdt = new Date(\n new Date().setFullYear(\n dpausesipstdt[0],\n Number(dpausesipstdt[1]) - 1,\n dpausesipstdt[2]\n )\n ).toLocaleString(\"en-US\", {\n hour12: true,\n day: \"numeric\",\n month: \"2-digit\",\n year: \"numeric\",\n });\n\n const dpausesipenddt = sip_pause_end_Data.split(\"/\").reverse();\n const Epausesipenddt = new Date(\n new Date().setFullYear(\n dpausesipenddt[0],\n Number(dpausesipenddt[1]) - 1,\n dpausesipenddt[2]\n )\n ).toLocaleString(\"en-US\", {\n hour12: true,\n day: \"numeric\",\n month: \"2-digit\",\n year: \"numeric\",\n });\n\n let dreportingdt = pauseDetails.trdate.split(\"/\").reverse();\n let Ereportingdt = new Date(\n new Date().setFullYear(\n dreportingdt[0],\n Number(dreportingdt[1]) - 1,\n dreportingdt[2]\n )\n ).toLocaleString(\"en-US\", {\n hour12: true,\n day: \"numeric\",\n month: \"2-digit\",\n year: \"numeric\",\n });\n\n const dsipstdt = pauseDetails.fromdate.split(\"/\").reverse();\n const Esipstdt = new Date(\n new Date().setFullYear(\n dsipstdt[0],\n Number(dsipstdt[1]) - 1,\n dsipstdt[2]\n )\n ).toLocaleString(\"en-US\", {\n hour12: true,\n day: \"numeric\",\n month: \"2-digit\",\n year: \"numeric\",\n });\n\n let dsipenddt = pauseDetails.todate.split(\"/\").reverse();\n let Esipenddt = new Date(\n new Date().setFullYear(\n dsipenddt[0],\n Number(dsipenddt[1]) - 1,\n dsipenddt[2]\n )\n ).toLocaleString(\"en-US\", {\n hour12: true,\n day: \"numeric\",\n month: \"2-digit\",\n year: \"numeric\",\n });\n\n const params = {\n pausesipstdt: Epausesipstdt,\n Scheme: pauseDetails.sch,\n pausesipenddt: Epausesipenddt,\n reportingdt: moment(new Date()).format(\"MM/DD/YYYY\"),\n amt: pauseDetails.amt,\n uid: this.props.userId,\n acno: pauseDetails.acno,\n freq: pauseDetails.freq,\n fund: \"102\",\n customfund: \"102\",\n plan: pauseDetails.pln,\n sipenddt: Esipenddt,\n pauseihno: \"0\",\n sipregihno: pauseDetails.ihno,\n sipstdt: Esipstdt,\n };\n const validateresponse = await this.props.sipPauseValidator(params);\n if (!validateresponse) {\n this.setState({\n disabled: false,\n });\n this.props.history.replace(NEW_TRANSACTION_URL);\n return;\n } else if (\n (!!validateresponse &&\n !!validateresponse.Table &&\n validateresponse.Table.length > 0 &&\n validateresponse.Table[0].Error_Message === \"Success\",\n validateresponse.Table[0].Error_Code === 0)\n ) {\n const params = {\n oldoption: pauseDetails.opt,\n oldscheme: pauseDetails.sch,\n cycleihno: pauseDetails.ihno,\n oldplan: pauseDetails.pln,\n mobile:\n pauseDetails.mobile ||\n this.props.investorData.invname ||\n this.props.Mobile,\n sipamt: pauseDetails.amt,\n termdt: Epausesipstdt,\n trdate: Ereportingdt,\n trtype: \"paus\",\n batchno: \"0\",\n disitributorid: this.props.token,\n amt: pauseDetails.amt,\n uid: this.props.userId,\n acno: pauseDetails.acno,\n fund: \"102\",\n customfund: \"102\",\n ihno: pauseDetails.ihno,\n entby: this.props.userId,\n lname: pauseDetails.lname || this.props.investorData.invname,\n refno: pauseDetails.ihno,\n sipenddt: Epausesipenddt,\n noofinst: selected_pause_installments.value,\n invdistflag: \"W\",\n sipfreq: pauseDetails.freq,\n sipstdt: Esipstdt,\n };\n\n const final = await this.props.finalSipPause(params);\n if (\n !!final &&\n !!final.Table &&\n final.Table[0].Error_Code === \"0\" &&\n final.Table[0].Error_Message === \"Success\"\n ) {\n this.setState({\n open: true,\n pause_installemnts: [],\n sip_pause_dates: [],\n selected_pause_date: { value: \"\" },\n selected_pause_installments: { value: \"\" },\n sip_pause_end_Data: \"\",\n sipPauseRefno: {\n value: final.Table1[0].refno,\n errorMessage: `You have initiated the pause SIP Transaction successfully with reference number ${final.Table1[0].refno} , Investor will receive an email for approval`,\n },\n });\n }\n }\n } else {\n alert(\"Please fill all details\");\n }\n\n this.setState({\n disabled: false,\n });\n };\n render() {\n const { confirmationData, location, investorData, sipDetails, stpDetails } =\n this.props;\n const { state } = location;\n const { isEnach } = state;\n const {\n scheme,\n redemptionMode,\n redemptionType,\n amount,\n swpOption,\n swpFrequency,\n sipEndDate,\n pauseDetails,\n sipStartDate,\n sipDay,\n withDrawals,\n folioDetails,\n } = state;\n const {\n email = {},\n mobile = {},\n fund = {},\n folio = {},\n scheme: sipScheme = {},\n installments = {},\n investmentFrequency = {},\n sipDay: sip_day = {},\n sip_end_date = {},\n sip_start_date = {},\n arnCode = {},\n subArnCode = {},\n mode = {},\n euinNo = {},\n investmentAmount = {},\n installmentAmount = {},\n sipType = {},\n } = sipDetails;\n const Xemail = (this.props.communicationDetails || []).find(\n (detail) =>\n !!state.scheme &&\n state.scheme.Fund &&\n !!state.Folio &&\n detail.Fund.trim() === scheme.Fund.trim() &&\n detail.Acno === state.Folio.value &&\n detail.PAN === investorData.PAN &&\n !!detail.email\n );\n const Xmobile = (this.props.communicationDetails || []).find(\n (detail) =>\n detail.PAN === investorData.PAN &&\n !!state.Folio &&\n !!state.scheme &&\n detail.Acno === state.Folio.value &&\n state.scheme.Fund &&\n detail.Fund.trim() === scheme.Fund.trim() &&\n !!detail.Mobile\n );\n\n const Email = !!Xemail && !!Xemail.email ? Xemail.email : \"\";\n\n const Mobile = !!Xmobile && !!Xmobile.Mobile ? Xmobile.Mobile : \"\";\n return (\n \n
{state.title}
\n \n \n {state.type != \"Sip Pause\" && state.type !== \"Sip cancellation\" && (\n \n )}\n {state.type === SWITCH ? (\n
\n \n \n
\n ) : (\n \"\"\n )}\n\n \n \n\n {(state.type === \"Sip Pause\" ||\n state.type === \"Sip Cancellation\") && (\n
\n \n \n\n \n
\n )}\n {state.type === SIP && (\n
\n \n \n \n\n \n\n \n \n {(sipType.value === NEW || sipType.value === \"EXISTINGP\") && (\n \n )}\n \n
\n )}\n {state.type === STP && (\n
\n \n \n \n \n \n
\n )}\n {state.type === SWP && (\n
\n \n \n \n {swpOption.Description === \"Fixed\" && (\n \n )}\n
\n )}\n {state.type != \"Sip cancellation\" && (\n \n )}\n {state.type === \"SIP\" && (state.transactiontype === \"NEWP\" || state.transactiontype === \"NEW\") && (\n \n )}\n {state.type == \"Sip Pause\" ||\n (state.type === \"Sip cancellation\" && (\n
\n \n \n\n \n {state.type === \"Sip cancellation\" && state.sipType === \"SIP\" && (\n \n )}\n\n
\n ))}\n\n {state.type !== SWP && state.type !== SIP && (\n
\n \n {state.type === \"NEW_PURCHASE\" && (\n \n )}\n \n\n {state.type === \"Sip Pause\" && (\n
\n
\n (this.sipTypeField = ele)}\n // isError={sipType.isError}\n // errorMessage={sipType.errorMessage}\n >\n {this.state.sip_pause_dates.map((item, index) => (\n \n {item.pause_start_date}\n \n ))}\n \n
\n
\n (this.sipTypeField = ele)}\n // isError={sipType.isError}\n // errorMessage={sipType.errorMessage}\n >\n {this.state.pause_installemnts.map((item, index) => (\n \n {index + 1}\n \n ))}\n \n
\n {\n // this.setState({\n // showPassword: !this.state.showPassword,\n // });\n // }}\n // isShowError={password.isError}\n // inputref={(ele) => (this.passwordField = ele)}\n // onKeyPress={this.keyPress()}\n />\n
\n )}\n
\n )}\n
\n this.props.history.goBack()}\n >\n Back\n \n {(!!confirmationData.ID ||\n !!scheme ||\n !!sipDetails.sipType ||\n state.type === \"Sip cancellation\" ||\n state.type === \"Sip Pause\" ||\n !!stpDetails.scheme) && (\n
\n \n
\n )}\n\n \n
\n );\n }\n}\n\nexport default connect(\n ({ authReducer, transactions, profileReducer }) => {\n const { profileData } = profileReducer;\n const {\n confirmationData,\n sipDetails = {},\n switchDetails = {},\n stpDetails = {},\n } = transactions;\n let { investorData, communicationDetails, token, userId, umr } =\n authReducer;\n\n const Xmobile = (communicationDetails || []).find(\n (detail) => detail.PAN === investorData.PAN && !!detail.Mobile\n );\n const Xemail = (communicationDetails || []).find(\n (detail) => detail.PAN === investorData.PAN && !!detail.email\n );\n const Email = !!Xemail && !!Xemail.email ? Xemail.email : \"\";\n const Mobile = !!Xmobile && !!Xmobile.Mobile ? Xmobile.Mobile : \"\";\n\n investorData = { ...investorData, Email: Email, Mobile: Mobile };\n return {\n confirmationData,\n communicationDetails,\n investorData,\n token,\n profileData,\n userId,\n sipDetails,\n switchDetails,\n stpDetails,\n umr,\n };\n },\n {\n confirmPurchase,\n redemptionConfirm,\n sipPauseDateCalculate,\n sipPauseEndDateCalculate,\n swpConfirm,\n submitSipCancellation,\n stpConfirm,\n saveSipData,\n submitSTPCancellation,\n submitPurchaseData,\n sipPauseValidator,\n finalSipPause,\n }\n)(NewPurchaseConfirm);\n\nexport class DetailsGroup extends Component {\n render() {\n const { reverse } = this.props;\n return (\n
\n
\n \n {this.props.mainLabel}\n
\n \n {this.props.subLabel}\n
\n \n
\n \n {this.props.mainLabel1}\n
\n \n {this.props.subLabel2}\n \n \n \n );\n }\n}\n\n// const investorData = { ...this.props.investorData, Email, Mobile };\n// const Xmobile = (communicationDetails.reverse() || []).find(\n// (detail) => (detail.PAN === investorData.PAN) && !!detail.Mobile\n// );\n// const Xemail = (communicationDetails.reverse() || []).find(\n// (detail) => detail.PAN === investorData.PAN && !!detail.email\n// );\n// const Email = !!Xemail && !!Xemail.email ? Xemail.email : \"\";\n// const Mobile = !!Xmobile && !!Xmobile.Mobile ? Xmobile.Mobile : \"\";\nconst formatDate = (dateString) => {\n const [month, day, year] = dateString.split('/');\n return `${day}/${month}/${year}`;\n};","import React, { Component } from \"react\";\nimport TabHeader from \"../../forms/tabHeader\";\nimport { GRAPH, TABLE } from \"../../../store/types\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport { connect } from \"react-redux\";\nimport {\n AreaChart,\n Area,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n} from \"recharts\";\nimport moment from \"moment\";\n\nclass NavData extends Component {\n constructor(props) {\n super(props);\n this.state = {\n active: GRAPH,\n };\n }\n\n onClick = (type) => () => {\n this.setState({\n active: type,\n });\n };\n\n render() {\n const { navData } = this.props;\n const navSortData = navData.sort(function (a, b) {\n var xDate = a.fn_fromdt.split(\"/\")[2];\n var yDate = b.fn_fromdt.split(\"/\")[2];\n var keyA = parseFloat(xDate),\n keyB = parseFloat(yDate);\n return keyA - keyB;\n });\n console.log(navSortData, \"navSortData\");\n\n const graphData = navSortData.map((item) => ({\n name: moment(item.fn_fromdt, \"DD/MM/YYYY\").format(\"DD MMM YYYY\"),\n value: item.fn_nav,\n }));\n const range = navSortData.map((item) => item.fn_nav);\n const min = Math.min.apply(null, range);\n const max = Math.max.apply(null, range);\n\n return (\n
\n
\n \n\n \n
\n {!!navData.length ? (\n \n {this.state.active === GRAPH ? (\n
\n \n \n \n \n \n \n \n }\n />\n \n \n \n \n \n
\n ) : (\n
\n \n \n \n \n Date\n \n \n Nav Value\n \n \n \n \n {navData.map((item, index) => (\n \n \n {item.fn_fromdt}\n \n\n \n {item.fn_nav}\n \n \n ))}\n \n
\n
\n )}\n
\n ) : (\n \n Please fill all the details to display NAV Graph/ NAV Table\n
\n )}\n \n );\n }\n}\n\nexport default connect(({ transactionHistory }) => {\n const { navData } = transactionHistory;\n return { navData };\n})(NavData);\n\nclass CustomizedAxisTick extends Component {\n render() {\n const { x, y, payload } = this.props;\n\n return (\n \n \n {payload.value}\n \n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport Paper from \"@material-ui/core/Paper\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport NavData from \"./navData\";\nimport {\n ALL,\n GET_FUNDS_LIST,\n GET_FUNDS_LIST_SUCCESS,\n GET_FUNDS_LIST_FAILED,\n GET_CATEGORY_LIST,\n GET_CATEGORY_LIST_SUCCESS,\n GET_CATEGORY_LIST_FAILED,\n GET_SCHEME_LIST,\n GET_SCHEME_LIST_SUCCESS,\n GET_SCHEME_LIST_FAILED,\n REGULAR,\n} from \"../../../store/types\";\nimport {\n getNewPurchaseFundList,\n getNavData,\n removeNavData,\n} from \"../../../store/actions\";\nimport { connect } from \"react-redux\";\nimport CustomizedSelect from \"../transactions/customizedSelect\";\nimport IntegrationReactSelect from \"../../forms/autoCompleteInput\";\nexport const NAV_URL = `/nav`;\nclass Nav extends Component {\n constructor(props) {\n super(props);\n this.state = {\n fund: { value: \"102\" },\n category: { value: \"\" },\n scheme: { value: \"\" },\n time: \"1D\",\n };\n }\n\n componentDidMount() {\n const params = {\n opt: ALL,\n plntype: REGULAR,\n opt: \"AT\",\n fund: \"102\",\n };\n const types = [\n GET_CATEGORY_LIST,\n GET_CATEGORY_LIST_SUCCESS,\n GET_CATEGORY_LIST_FAILED,\n ];\n this.props.getNewPurchaseFundList(params, types);\n\n this.props.removeNavData();\n this.setState({\n category: { value: \"\" },\n scheme: { value: \"\" },\n time: \"1D\",\n });\n }\n\n // handleFundChange = async (value) => {\n // if (!!value) {\n // const params = { plntype: REGULAR, opt: \"AT\", fund: value.value };\n // const types = [\n // GET_CATEGORY_LIST,\n // GET_CATEGORY_LIST_SUCCESS,\n // GET_CATEGORY_LIST_FAILED,\n // ];\n // await this.props.getNewPurchaseFundList(params, types);\n // this.props.removeNavData();\n // }\n // this.setState({\n\n // category: { value: \"\" },\n // scheme: { value: \"\" },\n // time: \"1D\",\n // });\n\n // if (!value) {\n // this.props.removeNavData();\n // }\n // };\n\n handleChange = (label) => async (event) => {\n this.setState({ [label]: { value: event.target.value } });\n if (!!event.target.value) {\n const params = {\n plntype: REGULAR,\n opt: \"S\",\n schemetype: event.target.value,\n fund: \"102\",\n };\n const types = [\n GET_SCHEME_LIST,\n GET_SCHEME_LIST_SUCCESS,\n GET_SCHEME_LIST_FAILED,\n ];\n await this.props.getNewPurchaseFundList(params, types);\n }\n this.setState({\n category: { value: event.target.value },\n scheme: { value: \"\" },\n });\n this.props.removeNavData();\n };\n\n changeScheme = (value) => {\n this.setState({\n scheme: { value },\n });\n if (!!value) {\n const plan = value.value.split(\"~\");\n const params = {\n Plan: plan[2],\n flag: this.state.time,\n Fund: \"102\",\n Scheme: plan[1],\n };\n this.props.getNavData(params);\n }\n if (!value) {\n this.props.removeNavData();\n }\n };\n\n changeTime = (value) => () => {\n this.setState({\n time: value,\n });\n const { scheme } = this.state;\n if (!!scheme.value) {\n const plan = scheme.value.value.split(\"~\");\n const params = {\n Plan: plan[2],\n flag: value,\n Fund: \"102\",\n Scheme: plan[1],\n };\n this.props.getNavData(params);\n }\n };\n\n render() {\n const { fundsList, schemeList, categoryList } = this.props;\n const { fund, category, scheme, time } = this.state;\n return (\n
\n
\n NAV Graph & NAV Table\n
\n \n
\n {/*
\n
AMC
\n */}\n {/*
*/}\n
\n \n {categoryList.map((item, index) => (\n \n {item.fm_subcategory}\n \n ))}\n \n
\n
\n
Scheme
\n ({\n label: item.Scheme_Desc,\n value: item.Scheme_Plan,\n }))}\n value={scheme.value}\n placeholder=\"Select Scheme\"\n handleChange={this.changeScheme}\n disabled={!category.value}\n />\n
\n
\n \n 1 W\n
\n \n 1 Mon\n
\n \n 3 Mon\n
\n \n 1 Yr\n \n\n \n 3 Yr\n \n \n 5 Yr\n \n \n \n
\n \n {/* */}\n
\n \n \n );\n }\n}\n\nexport default connect(\n ({ transactions }) => {\n const { fundsList, schemeList, categoryList } = transactions;\n return { fundsList, schemeList, categoryList };\n },\n { getNewPurchaseFundList, getNavData, removeNavData }\n)(Nav);\n\nexport class BajajFund extends Component {\n render() {\n return (\n \n \n LIC Asset Mutual Fund\n \n \n );\n }\n}\n","import { CALL_API } from \"../api.middleware\";\nimport {\n GET_FUNDS_LIST_PAN,\n GET_FUNDS_LIST_PAN_SUCCESS,\n GET_FUNDS_LIST_PAN_FAILED,\n GET_TRANSACTION_HISTORY,\n GET_TRANSACTION_HISTORY_SUCCESS,\n GET_TRANSACTION_HISTORY_FAILED,\n GET_NAV_DATA,\n GET_NAV_DATA_SUCCESS,\n GET_NAV_DATA_FAILED,\n REMOVE_TRANSACTION_HISTORY_DATA,\n REMOVE_NAV_DATA\n} from \"../types\";\n\nexport const getFundsByPan = params => async dispatch => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/GetFundslistByPAN\",\n params,\n types: [\n GET_FUNDS_LIST_PAN,\n GET_FUNDS_LIST_PAN_SUCCESS,\n GET_FUNDS_LIST_PAN_FAILED\n ],\n method: \"GET\"\n }\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const getTransactionHistory = params => async dispatch => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/GetTrxnDatabyFund\",\n params,\n types: [\n GET_TRANSACTION_HISTORY,\n GET_TRANSACTION_HISTORY_SUCCESS,\n GET_TRANSACTION_HISTORY_FAILED\n ],\n method: \"GET\"\n }\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\n\n\nexport const getNavData = params => async dispatch => {\n try {\n await dispatch({\n [CALL_API]: {\n url: \"/GetNAVGraph\",\n params,\n method: \"GET\",\n types: [GET_NAV_DATA, GET_NAV_DATA_SUCCESS, GET_NAV_DATA_FAILED]\n }\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const removeNavData = () => {\n return {\n type: REMOVE_NAV_DATA\n };\n};\n\nexport const RemoveTransactionData = () => {\n return {\n type: REMOVE_TRANSACTION_HISTORY_DATA\n };\n};\n","import React, { Component } from \"react\";\nimport CustomizedSelect from \"./customizedSelect\";\nimport { Input } from \"../../forms/input\";\nimport Signbutton, { Debtbutton } from \"../../forms/button\";\nimport { connect } from \"react-redux\";\nimport {\n YES,\n EXISTING,\n NEW,\n REGULAR,\n PURCHASE,\n NO,\n ALL,\n ADDITIONAL_PURCHASE,\n} from \"../../../store/types\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport { Checkbox } from \"@material-ui/core\";\nimport Radio from \"@material-ui/core/Radio\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport {\n validateSubBroker,\n getAssetClasses,\n getOtherSchemes,\n submitPurchaseData,\n showPurchaseConfirmation,\n saveTransactionDetails,\n} from \"../../../store/actions\";\nimport IntegrationReactSelect from \"../../forms/autoCompleteInput\";\nimport { NEW_TRANSACTION_URL } from \".\";\nimport { BajajFund } from \"../nav\";\nclass AdditionalPurchase extends Component {\n constructor(props) {\n super(props);\n this.state = {\n fund: { value: { value: \"102\" } },\n folios: [],\n folio: { value: \"\" },\n schemes: [],\n schemeType: EXISTING,\n combo: { flag: \"\", disclamier: \"\", label: \"\" },\n isCombo: false,\n multiples: \"\",\n scheme: { value: \"\" },\n radioValue: { value: \"no\" },\n arnCode: { value: this.props.token },\n subArnCode: { value: \"\" },\n subBrokerCode: { value: \"\" },\n euinNo: { value: \"\" },\n category: { value: \"\" },\n bank: { value: \"\" },\n categories: [],\n banks: [],\n amount: { value: \"\" },\n combo: { flag: \"\", disclamier: \"\", label: \"\" },\n isCombo: false,\n };\n }\n\n handleFundChange = (value) => {\n if (!value) {\n this.setState({\n folios: [],\n folio: { value: \"\" },\n scheme: { value: \"\" },\n schemeType: EXISTING,\n subArnCode: { value: \"\" },\n subBrokerCode: { value: \"\" },\n euinNo: { value: \"\" },\n category: { value: \"\" },\n radioValue: { value: \"no\" },\n amount: { value: \"\" },\n });\n return;\n } else if (value.value === this.state.fund.value.value) {\n return;\n } else {\n const fund = value.value;\n const folios = this.props.fundList.reduce((prev, curr) => {\n if (curr.pFlag === YES && curr.Fund === fund) {\n return [...prev, curr.Acno];\n }\n return prev;\n }, []);\n this.setState({\n fund: { value },\n folios: Array.from(new Set(folios)),\n folio: { value: \"\" },\n schemes: [],\n scheme: { value: \"\" },\n schemeType: EXISTING,\n subArnCode: { value: \"\" },\n subBrokerCode: { value: \"\" },\n euinNo: { value: \"\" },\n category: { value: \"\" },\n radioValue: { value: \"no\" },\n amount: { value: \"\" },\n });\n if (!!fund) {\n this.validateBrokerCode(fund)();\n }\n }\n };\n\n async componentDidMount() {\n window.scrollTo({\n behavior: \"smooth\",\n top: 0,\n });\n const { transactionDetails } = this.props;\n if (Object.keys(transactionDetails).length > 0) {\n this.setState(transactionDetails);\n return;\n }\n this.getFolios();\n }\n getFolios = () => {\n const fund = \"102\";\n const folios = this.props.fundList.reduce((prev, curr) => {\n if (curr.pFlag === YES && curr.Fund.trim() === fund) {\n return [...prev, curr.Acno];\n }\n return prev;\n }, []);\n\n this.setState({\n fund: { value: { value: \"102\" } },\n folios: Array.from(new Set(folios)),\n folio: { value: \"\" },\n schemes: [],\n scheme: { value: \"\" },\n schemeType: EXISTING,\n subArnCode: { value: \"\" },\n subBrokerCode: { value: \"\" },\n euinNo: { value: \"\" },\n category: { value: \"\" },\n radioValue: { value: \"no\" },\n amount: { value: \"\" },\n });\n this.validateBrokerCode(fund)();\n };\n\n validateBrokerCode = (fund) => async () => {\n const { subArnCode, arnCode } = this.state;\n if (\n !!this.state.subArnCode.value &&\n this.state.subArnCode.value === this.state.arnCode.value.split(\"-\")[1]\n ) {\n this.setState({\n subArnCode: {\n value: \"\",\n isError: true,\n errorMessage: \"ARN and Sub ARN Code should not be the same\",\n },\n });\n return;\n }\n const params = {\n Fund: \"102\",\n SubAgentCd: !!subArnCode.value ? `ARN-${subArnCode.value}` : \"\",\n AgentCd: arnCode.value,\n };\n const response = await this.props.validateSubBroker(params);\n\n if (!!response && !!response.DtData && response.DtData.length > 0) {\n const getLength = response.DtData.length === 1;\n let value = {\n value: response.DtData[0].abm_agent,\n label: response.DtData[0].abm_agent,\n };\n if (!!getLength) {\n this.setState({\n euinNo: { value },\n });\n }\n } else if (!response) {\n this.setState({\n subArnCode: {\n value: \"\",\n isError: true,\n errorMessage: `Please enter a valid Sub ARN Code`,\n },\n });\n }\n };\n\n handleFolioChange = (value) => {\n if (this.state.folios.length > 0) {\n if(this.state.folio.value.value !== value.value) {\n this.setState({\n schemes: [],\n schemeType: EXISTING,\n banks: [],\n scheme: { value: \"\" },\n subArnCode: { value: \"\" },\n subBrokerCode: { value: \"\" },\n euinNo: { value: \"\" },\n category: { value: \"\" },\n radioValue: { value: \"no\" },\n amount: { value: \"\" },\n }) }\n if (!value) {\n this.setState({\n folio: { value: \"\" },\n schemes: [],\n schemeType: EXISTING,\n banks: [],\n scheme: { value: \"\" },\n subArnCode: { value: \"\" },\n subBrokerCode: { value: \"\" },\n euinNo: { value: \"\" },\n category: { value: \"\" },\n radioValue: { value: \"no\" },\n amount: { value: \"\" },\n });\n return;\n } else if (value.value === this.state.folio.value.value) {\n return;\n } else {\n const folio = value.value;\n const schemes = this.schemes(folio);\n this.setState({\n folio: { value },\n schemes,\n schemeType: EXISTING,\n });\n }\n } else {\n alert(\"No folios Found\");\n }\n };\n\n changeEuin = (value) => {\n this.setState({\n euinNo: { value },\n });\n };\n\n changeValue = (label) => (event) => {\n if (label === \"amount\" && event.target.value.length <= 10) {\n this.setState({\n [label]: { value: event.target.value },\n });\n } else if (\n (label === \"subArnCode\" || label === \"subBrokerCode\") &&\n event.target.value.length <= 20\n ) {\n this.setState({\n [label]: { value: event.target.value },\n });\n } else if (label === \"radioValue\" && event.target.value === \"no\") {\n if (!this.state.euinNo.value) {\n this.setState({\n radioValue: { value: event.target.value },\n });\n } else {\n this.setState({\n [label]: { value: event.target.value },\n euinNo: { value: \"\" },\n });\n }\n } else if (\n label !== \"amount\" &&\n label !== \"subArnCode\" &&\n label !== \"subBrokerCode\" &&\n label === \"radioValue\" &&\n event.target.value !== \"no\"\n ) {\n this.setState({\n [label]: { value: event.target.value },\n });\n }\n };\n\n getAssetClasses = async () => {\n const params = {\n Fund: this.state.fund.value.value,\n Folio: this.state.folio.value.value,\n };\n const assetClasses = await this.props.getAssetClasses(params);\n if (assetClasses) {\n this.setState({\n categories: assetClasses.DtData,\n });\n }\n };\n\n getOtherSchemes = async (value) => {\n const params = {\n schtype: REGULAR,\n category: value,\n acno: this.state.folio.value.value,\n fundCode: \"102\",\n customfund: \"102\",\n trantype: PURCHASE,\n };\n const otherSchemes = await this.props.getOtherSchemes(params);\n if (otherSchemes) {\n this.setState({\n schemes: otherSchemes.DtData,\n });\n }\n };\n\n schemes = (folio) => {\n return this.props.fundList.reduce((prev, curr) => {\n if (\n curr.pSchFlg === YES &&\n curr.Fund.trim() === \"102\" &&\n curr.Acno === folio\n ) {\n return [...prev, curr];\n }\n return prev;\n }, []);\n };\n\n handleCategoryChange = (event) => {\n if (event.target.value) {\n this.getOtherSchemes(event.target.value);\n this.setState({\n category: { value: event.target.value },\n scheme: { value: \"\" },\n });\n } else {\n this.setState({\n category: { value: \"\" },\n scheme: { value: \"\" },\n });\n }\n };\n\n showError = (label) => (event) => {\n const {\n [label]: { value },\n } = this.state;\n\n if (label === \"amount\") {\n if (\n parseFloat(this.state.minAmount) > parseFloat(this.state.amount.value)\n ) {\n this.setState({\n [label]: {\n value: \"\",\n isError: true,\n errorMessage: `The amount should be ₹ ${this.state.minAmount} or more`,\n },\n });\n } else if (\n !!this.state.amount.value &&\n !!this.state.multiples &&\n parseFloat(this.state.amount.value) %\n parseFloat(this.state.multiples) !=\n 0\n ) {\n this.setState({\n [label]: {\n value: \"\",\n isError: true,\n errorMessage: `The amount should be in the multiples of ${this.state.multiples}`,\n },\n });\n }\n } else {\n this.setState({\n [label]: {\n value,\n isError: !value,\n },\n });\n }\n };\n\n changeSchemeType = (value) => () => {\n if (value === this.state.schemeType) {\n return;\n }\n if (value === EXISTING) {\n const schemes = this.schemes(this.state.folio.value.value);\n this.setState({\n schemeType: value,\n schemes,\n category: { value: \"\" },\n scheme: { value: \"\" },\n amount: { value: \"\" },\n });\n } else {\n this.setState({\n schemeType: value,\n scheme: { value: \"\" },\n category: { value: \"\" },\n amount: { value: \"\" },\n });\n if (!!this.state.fund.value && !!this.state.folio.value) {\n this.getAssetClasses();\n this.getOtherSchemes();\n }\n }\n };\n\n handleSchemeChange = (value) => {\n if (!value) {\n this.setState({\n scheme: { value: \"\" },\n scheme: { value: \"\" },\n subArnCode: { value: \"\" },\n subBrokerCode: { value: \"\" },\n euinNo: { value: \"\" },\n radioValue: { value: \"no\" },\n amount: { value: \"\" },\n });\n return;\n } else if (\n !!value &&\n !!this.state.scheme.value &&\n value.value === this.state.scheme.value.value\n ) {\n return;\n } else {\n const scheme = value.value;\n const checkCombo =\n !!scheme && !!scheme.combo_flag && scheme.combo_flag === \"Y\";\n\n this.setState({\n scheme: { value },\n minAmount: scheme.MinAmt || scheme.fm_newpur,\n amount: { value: \"\" },\n isCombo: !!checkCombo ? true : false,\n multiples: !!scheme && !!scheme.multiples ? scheme.multiples : \"\",\n combo: {\n flag: !!checkCombo ? \"Y\" : \"N\",\n disclamier: scheme.combo_disclaimer,\n label: scheme.combo_lable,\n },\n subArnCode: { value: \"\" },\n subBrokerCode: { value: \"\" },\n euinNo: { value: \"\" },\n\n radioValue: { value: \"no\" },\n });\n }\n };\n\n submit = async () => {\n const {\n funds,\n categories,\n multiples,\n schemes,\n folios,\n banks,\n arnCode,\n subArnCode,\n subBrokerCode,\n radioValue,\n euinNo,\n minAmount,\n schemeType,\n category,\n bank,\n isCombo,\n combo,\n ...others\n } = this.state;\n\n const keys = Object.keys(others);\n\n if (this.state.schemeType === NEW && this.state.category.value === \"\") {\n this.setState({\n category: {\n value: \"\",\n isError: true,\n errorMessage: \"(category is mandatory*)\",\n },\n });\n }\n if (\n this.state.euinNo.value === \"\" &&\n this.state.radioValue.value === \"no\"\n ) {\n this.setState({\n euinNo: {\n value: \"\",\n isError: true,\n errorMessage: \"EUIN No is mandatory\",\n },\n });\n }\n const findError = keys.every((key) => !!others[key].value);\n const arn = this.state.arnCode.value.split(\"-\");\n if (!findError) {\n keys.forEach((key) => {\n !others[key].value &&\n this.setState({\n [key]: {\n ...others[key],\n isError: true,\n errorMessage: `${\n key === \"folio\"\n ? \"Folio\"\n : key === \"scheme\"\n ? \"Scheme\"\n : key === \"amount\"\n ? \"Minimum Investment Amount\"\n : key\n } is mandatory*`,\n },\n });\n });\n const firstErroredKey = keys.find((key) => !others[key].value);\n switch (firstErroredKey) {\n case \"fund\": {\n this.fundField.focus();\n break;\n }\n case \"folio\": {\n this.folioField.focus();\n break;\n }\n case \"scheme\": {\n this.schemeField.focus();\n break;\n }\n case \"amount\": {\n this.amountField.focus();\n break;\n }\n // case \"bank\": {\n // this.bankField.focus();\n // break;\n // }\n }\n } else if (schemeType === NEW && !category.value) {\n this.setState({\n category: { ...category, isError: true },\n });\n this.categoryField.focus();\n return;\n } else if (radioValue.value === \"no\" && !euinNo.value) {\n this.setState({\n euinNo: {\n ...euinNo,\n isError: true,\n errorMessage: \"EUIN No is mandatory\",\n },\n });\n this.euinField.focus();\n return;\n } else if (\n !!others.amount.value &&\n parseFloat(minAmount) > parseFloat(others.amount.value)\n ) {\n this.setState({\n amount: {\n ...others[\"amount\"],\n value: \"\",\n isError: true,\n errorMessage: `(Minimum Amount should be ${minAmount} ₹)`,\n },\n });\n this.amountField.focus();\n return;\n }\n // else if (+others.amount.value > 1000000) {\n // this.setState({\n // amount: {\n // ...others[\"amount\"],\n // isError: true,\n // errorMessage: `Amount should be less than or equal 1,000,000 ₹`,\n // },\n // });\n // this.amountField.focus();\n // return;\n // }\n else if (arn[1] === this.state.subArnCode.value) {\n this.setState({\n subArnCode: {\n value: \"\",\n isError: true,\n errorMessage: `and ARN code should not match `,\n },\n });\n } else {\n const { communicationDetails, investorData } = this.props;\n const Xmobile = communicationDetails.find(\n (detail) =>\n detail.Fund === this.state.fund.value.value &&\n detail.Acno === this.state.folio.value.value &&\n detail.PAN === investorData.PAN &&\n !!detail.Mobile\n );\n const Xemail = communicationDetails.find(\n (detail) =>\n detail.Fund === this.state.fund.value.value &&\n detail.Acno === this.state.folio.value.value &&\n detail.PAN === investorData.PAN &&\n !!detail.email\n );\n\n const Email = !!Xemail && !!Xemail.email ? Xemail.email : \"\";\n const Mobile = !!Xmobile && !!Xmobile.Mobile ? Xmobile.Mobile : \"\";\n const params = {\n InvestorName: investorData.invname,\n i_entby: this.props.userId,\n trtype: PURCHASE,\n Desci: \"YES~W\",\n SubbrokerArn: !!this.state.subArnCode.value\n ? `ARN-${subArnCode.value}`\n : \"\",\n ARNCode: this.state.arnCode.value,\n EuinCode:\n this.state.radioValue.value === \"no\"\n ? this.state.euinNo.value.value\n : \"\",\n i_Userid: this.props.userId,\n Mobile: Mobile,\n PanNo: investorData.PAN,\n Email: Email,\n i_Acno: this.state.folio.value.value,\n\n Subbroker: this.state.subBrokerCode.value,\n i_Fund: \"102\",\n i_UntAmtValue: this.state.amount.value,\n EUINFlag: this.state.radioValue.value === \"no\" ? NO : YES,\n EuinValid: this.state.radioValue.value === \"no\" ? NO : YES,\n // Bankid: `${this.state.bank.value.bnkcode}~${this.state.bank.value.bnkactype}~${this.state.bank.value.bnkacno}`,\n i_Scheme:\n this.state.scheme.value.value.Sch ||\n this.state.scheme.value.value.fm_scheme,\n i_Plan:\n this.state.scheme.value.value.Pln ||\n this.state.scheme.value.value.fm_plan,\n i_Option:\n this.state.scheme.value.value.Opt ||\n this.state.scheme.value.value.fm_option,\n i_oldihno: \"0\",\n i_InvDistFlag: \"W\",\n ModuleName: \"Webile\",\n customfund: \"102\",\n comboswitch: !!this.state.isCombo ? \"Y\" : \"N\",\n };\n\n const response = await this.props.submitPurchaseData(params);\n if (response) {\n const {\n DtData: [purchaseData],\n } = response;\n const confirmationParams = {\n Trtype: PURCHASE,\n fund: this.state.fund.value.value,\n Refno: purchaseData.refno,\n ModuleName: \"Webile\",\n customfund: \"102\",\n };\n const confirmationResponse = await this.props.showPurchaseConfirmation(\n confirmationParams\n );\n\n if (!!confirmationResponse) {\n this.props.saveTransactionDetails(this.state);\n this.props.history.push({\n pathname:\n NEW_TRANSACTION_URL +\n \"/additional-purchase/digital/transact/confirm\",\n state: {\n title: \"ADDITIONAL PURCHASE SUMMARY\",\n type: ADDITIONAL_PURCHASE,\n scheme: { Fund: this.state.fund.value.value,\n scheme: this.state.scheme.value },\n ARNCode: this.state.arnCode.value.split(\"-\")[1],\n subArnCode: this.state.subArnCode.value,\n Folio: this.state.folio.value,\n folio: this.state.folio.value,\n methodType: this.state.schemeType,\n },\n });\n }\n }\n }\n };\n\n ComboChange = () => {\n this.setState({\n isCombo: !this.state.isCombo,\n });\n };\n\n keyDown = (label) => (event) => {\n const { folios } = this.state;\n if (folios.length === 0) {\n alert(\"No Folios Found\");\n }\n };\n\n render() {\n const {\n fund,\n funds = [],\n folio,\n folios = [],\n schemeType,\n schemes = [],\n scheme,\n radioValue,\n arnCode,\n subArnCode,\n subBrokerCode,\n euinNo,\n categories,\n category,\n combo,\n isCombo,\n // bank,\n banks,\n amount,\n } = this.state;\n const { euinList } = this.props;\n return (\n
\n
Additional Purchase
\n
\n
Folio*
\n ({\n label: item,\n value: item,\n }))}\n onFocus={this.keyDown(\"folios\")}\n value={folio.value}\n placeholder=\"Select Folio\"\n handleChange={this.handleFolioChange}\n inputRef={(ele) => (this.folioField = ele)}\n disabled={!fund.value}\n isError={folio.isError}\n errorMessage={folio.errorMessage}\n />\n
\n
Select Scheme Type*
\n
\n \n \n
\n {schemeType === NEW && (\n
\n (this.categoryField = ele)}\n isError={category.isError}\n borderColor=\"#a6a6a6\"\n errorMessage={category.errorMessage}\n >\n {categories.map((item, index) => (\n \n {item.CatDesc}\n \n ))}\n \n
\n )}\n
\n
Scheme*
\n ({\n value: item,\n label: item.PlnDesc\n ? `${item.SchDesc1} - ${item.PlnDesc} - ${item.OptDesc}`\n : item.fm_schdesc,\n }))}\n value={scheme.value}\n placeholder=\"Select Scheme\"\n handleChange={this.handleSchemeChange}\n disabled={!folio.value}\n inputRef={(ele) => (this.schemeField = ele)}\n isError={scheme.isError}\n errorMessage={scheme.errorMessage}\n />\n
\n
\n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n onBlur={this.showError(\"amount\")}\n onChange={this.changeValue(\"amount\")}\n inputref={(ele) => (this.amountField = ele)}\n bordercolor=\"#a6a6a6\"\n isShowError={amount.isError}\n errorMessage={amount.errorMessage}\n />\n
\n
\n \n
\n
\n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n type=\"number\"\n value={subArnCode.value}\n isShowError={subArnCode.isError}\n errorMessage={subArnCode.errorMessage}\n onBlur={this.validateBrokerCode(\"102\")}\n onChange={this.changeValue(\"subArnCode\")}\n inputref={(ele) => (this.subArnField = ele)}\n bordercolor=\"#a6a6a6\"\n />\n
\n
\n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n value={subBrokerCode.value}\n onChange={this.changeValue(\"subBrokerCode\")}\n inputref={(ele) => (this.subBrokerField = ele)}\n bordercolor=\"#a6a6a6\"\n type={\"number\"}\n />\n
\n {/*
\n
EUIN Declaration
\n \n \n
\n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
YES
\n
\n
\n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
NO
\n
\n \n
\n
*/}\n {radioValue.value === \"no\" ? (\n
\n
EUIN Selection*
\n\n ({\n value: item.abm_agent,\n label: item.abm_agent,\n }))}\n value={euinNo.value}\n placeholder=\"Select EUIN\"\n handleChange={this.changeEuin}\n errorMessage={euinNo.errorMessage}\n disabled={!euinList.length}\n inputRef={(ele) => (this.euinField = ele)}\n isError={euinNo.isError}\n />\n
\n ) : (\n
\n I/We hereby confirm that the EUIN box has been intentionally left\n the blank by me/us as this is an 'execution-only' transaction\n without any interaction or advice by any personnel of the above\n distributor or notwithstanding the advice of in-appropriateness,if\n any provided by any personnel of the distributor and the distributor\n has not charged any advisory fees on this transaction\n
\n )}\n {combo.flag === \"Y\" && (\n
\n \n \n {combo.label}\n
\n
\n )} \n {combo.flag === \"Y\" && (\n \n {combo.disclamier}\n \n )}\n
\n \n
\n  \n \n );\n }\n}\n\nexport default connect(\n ({ authReducer, transactions }) => {\n const {\n fundList,\n token,\n userId,\n bankDetails,\n investorData,\n communicationDetails,\n } = authReducer;\n const { euinList, transactionDetails } = transactions;\n return {\n fundList,\n token,\n userId,\n euinList,\n bankDetails,\n investorData,\n communicationDetails,\n transactionDetails,\n };\n },\n {\n validateSubBroker,\n getAssetClasses,\n getOtherSchemes,\n submitPurchaseData,\n showPurchaseConfirmation,\n saveTransactionDetails,\n }\n)(AdditionalPurchase);\n","import React, { Component } from \"react\";\nimport CustomizedSelect from \"./customizedSelect\";\nimport { Input } from \"../../forms/input\";\nimport Signbutton, { Debtbutton } from \"../../forms/button\";\nimport { connect } from \"react-redux\";\nimport {\n YES,\n PARTIAL,\n FULL,\n UNITS,\n AMOUNT,\n PURCHASE,\n REDEMPTION,\n} from \"../../../store/types\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport {\n getBankDetails,\n getRedemptionPaymentDetails,\n saveTransactionDetails,\n} from \"../../../store/actions/transactions\";\nimport moment from \"moment\";\nimport { NEW_TRANSACTION_URL } from \".\";\nimport IntegrationReactSelect from \"../../forms/autoCompleteInput\";\nimport { BajajFund } from \"../nav\";\n\nclass Redemption extends Component {\n constructor(props) {\n super(props);\n // const { fundList } = this.props;\n // const funds = fundList.reduce((prev, curr) => {\n // if (curr.rSchFlg === YES) {\n // const findIndex =\n // prev.findIndex((fund) => fund.Fund === curr.Fund) !== -1;\n // if (!findIndex) {\n // return [\n // ...prev,\n // { Fund: curr.Fund, FundDesc: curr.FundDesc, scheme: curr.Sch },\n // ];\n // }\n // }\n // return prev;\n // }, []);\n\n this.state = {\n // funds,\n fund: { value: { value: \"102\" } },\n folios: [],\n folio: { value: \"\" },\n schemes: [],\n scheme: { value: \"\" },\n bank: { value: \"\", errorMessage: \"\" },\n amount: { value: \"\" },\n redemptionType: PARTIAL,\n redemptionMode: UNITS,\n banks: [],\n };\n }\n async componentDidMount() {\n window.scrollTo({\n behavior: \"smooth\",\n top: 0,\n });\n const { transactionDetails } = this.props;\n if (Object.keys(transactionDetails).length > 0) {\n this.setState(transactionDetails);\n return;\n }\n this.getfolios();\n }\n\n getfolios = () => {\n const folios = this.props.fundList.reduce((prev, curr) => {\n if (curr.rSchFlg === YES && curr.Fund.trim() === \"102\") {\n return [...prev, curr.Acno];\n }\n return prev;\n }, []);\n this.setState({\n fund: { value: { value: \"102\" } },\n folios: Array.from(new Set(folios)),\n scheme: { value: \"\" },\n folio: { value: \"\" },\n redemptionType: PARTIAL,\n redemptionMode: UNITS,\n });\n };\n\n handleFundChange = (value) => {\n const fund = !!value ? value.value : \"\";\n if (!value) {\n this.setState({\n fund: { value: \"\" },\n folios: [],\n scheme: { value: \"\" },\n folio: { value: \"\" },\n redemptionType: PARTIAL,\n redemptionMode: UNITS,\n amount: { value: \"\" },\n });\n return;\n } else if (value.value === this.state.fund.value.value) {\n return;\n } else {\n const folios = this.props.fundList.reduce((prev, curr) => {\n if (curr.rSchFlg === YES && curr.Fund === fund) {\n return [...prev, curr.Acno];\n }\n return prev;\n }, []);\n this.setState({\n fund: { value },\n folios: Array.from(new Set(folios)),\n scheme: { value: \"\" },\n folio: { value: \"\" },\n redemptionType: PARTIAL,\n redemptionMode: UNITS,\n });\n }\n };\n handleFolioChange = async (value) => {\n const folio = !!value ? value.value : \"\";\n if (!folio) {\n this.setState({\n folio: { value: \"\" },\n scheme: { value: \"\" },\n schemes: [],\n banks: [],\n bank: { value: \"\" },\n redemptionType: PARTIAL,\n redemptionMode: UNITS,\n amount: { value: \"\" },\n });\n } else if (value.value === this.state.folio.value) {\n return;\n } else {\n const params = {\n Acno: folio,\n Trtype: \"\",\n Fund: this.state.fund.value.value,\n };\n let schemes = this.schemes(folio);\n schemes = schemes.filter((scheme) => scheme.BalUnits !== 0);\n const response = await this.props.getBankDetails(params);\n\n if (response) {\n const banks = response.Table1;\n this.setState({\n folio: {\n value,\n isError: !schemes.length,\n errorMessage: !schemes.length\n ? \"Redemption in zero balance folios is not allowed\"\n : \"\",\n },\n scheme: { value: \"\" },\n schemes,\n amount: {value: \"\"},\n banks,\n bank: { value: \"\" },\n redemptionType: PARTIAL,\n redemptionMode: UNITS,\n });\n }\n }\n };\n\n schemes = (folio) => {\n return this.props.fundList.reduce((prev, curr) => {\n if (\n curr.rSchFlg === YES &&\n curr.Fund.trim() === \"102\" &&\n curr.Acno === folio &&\n !!curr.BalUnits\n ) {\n return [...prev, curr];\n }\n return prev;\n }, []);\n };\n handleSchemeChange = (value) => {\n const scheme = !!value ? value.value : \"\";\n if (!scheme) {\n this.setState({\n scheme: { value: \"\" },\n minAmount: \"\",\n amount: { value: \"\" },\n redemptionType: PARTIAL,\n redemptionMode: UNITS,\n });\n } else if (value.value === this.state.scheme.value.value) {\n return;\n } else {\n this.setState({\n scheme: { value },\n minAmount: !!scheme ? scheme.RedMinAmt || scheme.fm_newpur : \"\",\n amount: { value: \"\" },\n redemptionType: PARTIAL,\n redemptionMode: UNITS,\n });\n }\n };\n\n showError = (label) => () => {\n const {\n [label]: { value },\n } = this.state;\n\n if (label === \"amount\") {\n if (!!this.state.scheme && !!this.state.scheme.value) {\n this.setState({\n [label]: {\n value,\n isError:\n this.state.redemptionMode === AMOUNT\n ? this.state.scheme.value.value.MinAmt > this.state.amount.value\n ? true\n : !value\n : this.state.scheme.value.value.MinAmt > this.state.scheme.value.value.LastNAV*this.state.amount.value ? true\n : this.state.scheme.value.value.BalUnits <\n this.state.amount.value\n ? true\n : !value,\n errorMessage:\n this.state.redemptionMode === AMOUNT\n ? this.state.scheme.value.value.MinAmt > this.state.amount.value\n ? `(Amount should be ${this.state.scheme.value.value.MinAmt})`\n : \"\"\n : this.state.scheme.value.value.MinAmt > this.state.scheme.value.value.LastNAV*this.state.amount.value ? `Units should not be less than ${this.state.minAmount/this.state.scheme.value.value.LastNAV}`\n : this.state.scheme.value.value.BalUnits <\n this.state.amount.value\n ? `Please enter units less than or equals to Balance Units`\n : \"\",\n },\n });\n }\n } else {\n this.setState({\n [label]: {\n value,\n isError: !value,\n },\n });\n }\n };\n handleRedemptionValueChange(event) {\n if (event.target.value.length <= 10) {\n this.setState({\n amount: { value: event.target.value },\n });\n }\n }\n\n changeRedemptionType = (value) => () => {\n if (value === FULL) {\n this.setState({\n redemptionType: FULL,\n redemptionMode: UNITS,\n amount: {\n value: !!this.state.scheme.value\n ? this.state.scheme.value.value.BalUnits\n : \"\",\n },\n });\n }\n if (value === PARTIAL) {\n this.setState({\n redemptionType: PARTIAL,\n amount: { value: \"\" },\n });\n }\n };\n changeRedemptionMode = (value) => () => {\n if (value === AMOUNT) {\n this.setState({\n redemptionMode: AMOUNT,\n amount: { value: \"\" },\n });\n }\n if (value === UNITS) {\n this.setState({\n redemptionMode: UNITS,\n });\n }\n };\n handlefolioBankDetailsChange = (event) => {\n this.setState({\n bank: { value: event.target.value },\n });\n };\n\n submit = async () => {\n const {\n funds,\n banks,\n schemes,\n folios,\n redemptionType,\n redemptionMode,\n minAmount,\n bank,\n ...others\n } = this.state;\n if (this.state.bank.value === \"\") {\n this.setState({\n bank: {\n value: \"\",\n isError: true,\n errorMessage: \"Bank details are mandatory\",\n },\n });\n }\n \n let currValue;\n if (!!this.state.scheme.value) {\n currValue = !!this.state.scheme.value.value\n ? this.state.scheme.value.value.Fund_CurValue\n : \"\";\n }\n if(this.state.scheme?.value?.label?.includes(\"Tax\")) {\n if( this.state.redemptionMode === \"AMOUNT\" && this.state.amount.value%500 !== 0 ) {\n alert(\"Amount should be multiple of 500\")\n return\n }\n }\n const keys = Object.keys(others);\n const findError = keys.every((key) => !!others[key].value );\n if (!findError) {\n keys.forEach((key) => {\n !others[key].value &&\n this.setState({\n [key]: {\n ...others[key],\n isError: true,\n errorMessage: `${\n key === \"folio\"\n ? \"Folio\"\n : key === \"scheme\"\n ? \"Scheme\"\n : key === \"amount\"\n ? \"Redemption Value\"\n : key\n } is mandatory`,\n },\n });\n });\n const firstErroredKey = keys.find((key) => !others[key].value);\n switch (firstErroredKey) {\n case \"fund\": {\n this.fundField.focus();\n break;\n }\n case \"folio\": {\n this.folioField.focus();\n break;\n }\n case \"scheme\": {\n this.schemeField.focus();\n break;\n }\n case \"amount\": {\n this.amountField.focus();\n break;\n }\n // case \"bank\": {\n // this.bankField.focus();\n // break;\n // }\n }\n } else if (\n this.state.redemptionMode === AMOUNT &&\n this.state.scheme.value.value?.MinAmt > this.state.amount.value\n ) {\n this.setState({\n amount: {\n value: \"\",\n isError: true,\n errorMessage: `Minimum Amount shoud be ${this.state.scheme.value.value?.MinAmt} ₹`,\n },\n });\n }\n if (this.state.scheme.value.value?.MinAmt > this.state.scheme.value.value?.LastNAV*this.state.amount.value) {\n return;\n }\n // else if (\n // !!currValue &&\n // !!this.state.amount.value &&\n // currValue < this.state.amount.value\n // ) {\n // this.setState({\n // amount: {\n // value: \"\",\n // isError: true,\n // errorMessage:\n // \"( Investment amount should not be greater than Current value )\"\n // }\n // });\n // }\n else if (\n !!this.state.scheme.value && !!this.state.amount.value && parseInt(this.state.scheme.value.value.CurValue.replace(/,/g, '')) < parseInt(this.state.amount.value)\n ) {\n this.setState({\n amount: {\n value: \"\",\n isError: true,\n errorMessage:\n \"( Investment amount should not be greater than Current value )\"\n }\n });\n return;\n }\n\n else if (\n this.state.redemptionMode !== AMOUNT &&\n this.state.scheme.value.value?.BalUnits < this.state.amount.value\n ) {\n this.setState({\n amount: {\n value: \"\",\n isError: true,\n errorMessage: `Please enter units less than or equal to your current holding`,\n },\n });\n } else if (this.state.bank.value === \"\") {\n this.setState({\n bank: {\n ...others[\"bank\"],\n value: \"\",\n isError: true,\n errorMessage: `Please select the bank`,\n },\n });\n return\n } else {\n const params = {\n amount: redemptionMode === AMOUNT ? others.amount.value : \"0\",\n Fund: \"102\",\n plan: others.scheme.value.value.Pln,\n customfund: \"102\",\n scheme: others.scheme.value.value.Sch,\n acno: others.scheme.value.value.Acno,\n trdt: moment(new Date()).format(\"MM/DD/YYYY\"),\n units: redemptionMode === UNITS ? others.amount.value : \"0\",\n ttrtype: PURCHASE,\n };\n const response = await this.props.getRedemptionPaymentDetails(params);\n if (response) {\n this.props.saveTransactionDetails(this.state);\n this.props.history.push({\n pathname:\n NEW_TRANSACTION_URL + \"/redemption/digital/transact/confirm\",\n state: {\n title: \"Redemption Summary\",\n type: REDEMPTION,\n scheme: others.scheme.value.value,\n redemptionMode,\n Folio: { value: others.scheme.value.value.Acno },\n redemptionType,\n amount: others.amount.value,\n bank: this.state.bank.value,\n },\n });\n }\n }\n };\n\n render() {\n const {\n fund,\n funds = [],\n folio,\n folios = [],\n schemes = [],\n scheme,\n bank,\n banks,\n amount,\n redemptionType,\n redemptionMode,\n } = this.state;\n\n return (\n
\n
Redemption
\n
\n
Folio*
\n ({\n label: item,\n value: item,\n }))}\n value={folio.value}\n placeholder=\"Select Folio\"\n handleChange={this.handleFolioChange}\n inputRef={(ele) => (this.folioField = ele)}\n isError={folio.isError}\n disabled={!fund.value}\n errorMessage={folio.errorMessage}\n />\n
\n\n
\n
Scheme*
\n ({\n label: item.PlnDesc\n ? `${item.SchDesc1} - ${item.PlnDesc} - ${item.OptDesc}`\n : item.fm_schdesc,\n value: item,\n }))}\n value={scheme.value}\n placeholder=\"Select Scheme\"\n handleChange={this.handleSchemeChange}\n inputRef={(ele) => (this.schemeField = ele)}\n isError={scheme.isError}\n disabled={!folio.value}\n errorMessage={scheme.errorMessage}\n />\n
\n\n
\n
\n
Balance Units
\n
Current Value
\n
NAV as on Date
\n
Minimum Amount (₹)
\n
\n
\n
{!!scheme.value ? scheme.value.value.BalUnits : \"\"}
\n
{!!scheme.value ? scheme.value.value.CurValue : \"\"}
\n
{!!scheme.value ? scheme.value.value.LastNAV : \"\"}
\n
{!!scheme.value ? scheme.value.value.MinAmt : \"\"}
\n
\n
\n\n
Redemption Type*
\n
\n \n \n
\n\n
Redemption Mode*
\n
\n \n \n
\n\n
\n \n (evt.key === \"e\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n bordercolor=\"#a6a6a6\"\n errorMessage={amount.errorMessage}\n isShowError={amount.isError}\n type=\"number\"\n onBlur={this.showError(\"amount\")}\n disabled={redemptionType === FULL ? true : false}\n inputref={(ele) => (this.amountField = ele)}\n onChange={(event) => this.handleRedemptionValueChange(event)}\n value={amount.value}\n />\n
\n\n
\n (this.bankField = ele)}\n >\n {banks.map((item, index) => (\n \n {item.bnkname}-{item.bnkacno}\n \n ))}\n \n {/* {!!bank.errorMessage ?
{bank.errorMessage}
: \"\"} */}\n
\n
\n \n
\n
\n );\n }\n}\n\nexport default connect(\n ({ authReducer, transactions }) => {\n const {\n fundList,\n token,\n userId,\n bankDetails,\n investorData,\n communicationDetails,\n } = authReducer;\n const { transactionDetails } = transactions;\n\n return {\n fundList,\n token,\n userId,\n bankDetails,\n investorData,\n communicationDetails,\n transactionDetails,\n };\n },\n { getBankDetails, getRedemptionPaymentDetails, saveTransactionDetails }\n)(Redemption);\n","import React, { Component } from \"react\";\nimport CustomizedSelect from \"./customizedSelect\";\nimport { Input } from \"../../forms/input\";\nimport IntegrationReactSelect from \"../../forms/autoCompleteInput\";\nimport Signbutton, { Debtbutton } from \"../../forms/button\";\nimport {\n validateSubBroker,\n getNewPurchaseFundList,\n getOtherSchemes,\n getAssetClasses,\n setSwitchDetails,\n getRedemptionPaymentDetails,\n saveTransactionDetails,\n} from \"../../../store/actions\";\n\nimport { connect } from \"react-redux\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport {\n YES,\n PARTIAL,\n FULL,\n UNITS,\n AMOUNT,\n REGULAR,\n PURCHASE,\n SWITCH,\n} from \"../../../store/types\";\nimport Radio from \"@material-ui/core/Radio\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport moment from \"moment\";\nimport { NEW_TRANSACTION_URL } from \".\";\nimport { BajajFund } from \"../nav\";\nclass switchCmponent extends Component {\n constructor(props) {\n super(props);\n const { fundList } = this.props;\n const { switchDetails } = this.props;\n // const funds = fundList.reduce((prev, curr) => {\n // if (curr.sSchFlg === YES) {\n // const findIndex =\n // prev.findIndex((fund) => fund.Fund === curr.Fund) !== -1;\n // if (!findIndex) {\n // return [\n // ...prev,\n // {\n // Fund: curr.Fund,\n // FundDesc: curr.FundDesc,\n // opt: curr.Opt,\n // SchType: curr.SchType,\n // },\n // ];\n // }\n // }\n // return prev;\n // }, []);\n this.state = {\n // funds,\n fund: { value: { value: \"102\" } },\n folios: [],\n folio: { value: \"\" },\n schemes: [],\n scheme: { value: \"\" },\n radioValue: { value: \"no\" },\n arnCode: { value: this.props.token },\n subArnCode: { value: \"\" },\n subBrokerCode: { value: \"\" },\n euinNo: { value: \"\" },\n category: { value: \"\" },\n categories: [],\n multiples : { value: \"\" },\n switchInSchemes: [],\n switchInScheme: { value: \"\" },\n amount: { value: \"\" },\n switchType: PARTIAL,\n switchMode: UNITS,\n ...switchDetails,\n };\n }\n\n handleFundChange = (value) => {\n if (!value) {\n this.setState({\n fund: { value: \"\" },\n folios: [],\n folio: { value: \"\" },\n scheme: { value: \"\" },\n amount: { value: \"\" },\n switchInScheme: { value: \"\" },\n category: { value: \"\" },\n });\n return;\n } else if (\n !!value &&\n !!this.state.fund &&\n value.value === this.state.fund.value.value\n ) {\n return;\n } else {\n const fund = value.value;\n const folios = this.props.fundList.reduce((prev, curr) => {\n if (curr.Fund === fund && curr.sSchFlg === YES) {\n return [...prev, curr.Acno];\n }\n return prev;\n }, []);\n this.setState({\n fund: { value },\n folios: Array.from(new Set(folios)),\n folio: { value: \"\" },\n scheme: { value: \"\" },\n category: { value: \"\" },\n switchInScheme: { value: \"\" },\n switchType: PARTIAL,\n switchMode: UNITS,\n });\n if (!!fund) {\n this.validateBrokerCode(fund)();\n }\n }\n };\n\n async componentDidMount() {\n window.scrollTo({\n behavior: \"smooth\",\n top: 0,\n });\n const { transactionDetails } = this.props;\n if (Object.keys(transactionDetails).length > 0) {\n this.setState(transactionDetails);\n return;\n }\n this.getFolios();\n }\n\n getFolios = () => {\n const folios = this.props.fundList.reduce((prev, curr) => {\n if (curr.Fund.trim() === \"102\" && curr.sSchFlg === YES) {\n return [...prev, curr.Acno];\n }\n return prev;\n }, []);\n this.setState({\n fund: { value: { value: \"102\" } },\n folios: Array.from(new Set(folios)),\n folio: { value: \"\" },\n scheme: { value: \"\" },\n category: { value: \"\" },\n switchInScheme: { value: \"\" },\n switchType: PARTIAL,\n switchMode: UNITS,\n });\n // if (!!fund) {\n this.validateBrokerCode(\"102\")();\n // }\n };\n\n validateBrokerCode = (fund) => async () => {\n const { subArnCode, arnCode } = this.state;\n if (\n !!this.state.subArnCode.value &&\n this.state.subArnCode.value === this.state.arnCode.value.split(\"-\")[1]\n ) {\n this.setState({\n subArnCode: {\n value: \"\",\n isError: true,\n errorMessage: \"ARN and Sub ARN Code should not be the same\",\n },\n });\n return;\n }\n const params = {\n Fund: \"102\",\n SubAgentCd: !!subArnCode.value ? `ARN-${subArnCode.value}` : \"\",\n AgentCd: arnCode.value,\n };\n const response = await this.props.validateSubBroker(params);\n if (!!response && !!response.DtData && response.DtData.length > 0) {\n const getLength = response.DtData.length === 1;\n let value = {\n value: response.DtData[0].abm_agent,\n label: response.DtData[0].abm_agent,\n };\n if (!!getLength) {\n this.setState({\n euinNo: { value },\n });\n }\n } else if (!response) {\n this.setState({\n subArnCode: {\n value: \"\",\n isError: true,\n errorMessage: `Please enter a valid Sub ARN Code`,\n },\n });\n }\n };\n\n handleFolioChange = async (value) => {\n if (!value) {\n this.setState({\n folio: { value: \"\" },\n schemes: [],\n scheme: { value: \"\" },\n category: { value: \"\" },\n switchInScheme: { value: \"\" },\n switchType: PARTIAL,\n switchMode: UNITS,\n amount: { value: \"\" },\n });\n return;\n } else if (\n !!value &&\n !!this.state.folio &&\n value.value === this.state.folio.value.value\n ) {\n return;\n } else {\n const folio = value.value;\n const schemes = this.schemes(folio);\n\n this.setState({\n folio: {\n value,\n isError: !schemes.length,\n errorMessage: !schemes.length\n ? \"SWITCH in zero balance folios is not allowed\"\n : \"\",\n },\n schemes,\n scheme: { value: \"\" },\n category: { value: \"\" },\n switchInScheme: { value: \"\" },\n switchType: PARTIAL,\n switchMode: UNITS,\n categories: [],\n subArnCode: { value: \"\" },\n subBrokerCode: { value: \"\" },\n euinNo: { value: \"\" },\n amount: { value: \"\" },\n });\n\n this.getAssetClasses();\n }\n };\n schemes = (folio) => {\n return this.props.fundList.reduce((prev, curr) => {\n if (\n curr.sSchFlg === YES &&\n curr.Fund === this.state.fund.value.value &&\n curr.Acno === folio &&\n !!curr.BalUnits\n ) {\n return [...prev, curr];\n }\n return prev;\n }, []);\n };\n handleSchemeChange = (value) => {\n if (!value) {\n this.setState({\n scheme: { value: \"\" },\n minAmount: \"\",\n amount: { value: \"\" },\n category: { value: \"\" },\n switchInScheme: { value: \"\" },\n switchType: PARTIAL,\n switchMode: UNITS,\n categories: [],\n });\n return;\n } else if (\n !!value.value &&\n !!this.state.scheme.value.value &&\n value.value.SchDesc === this.state.scheme.value.value.SchDesc\n ) {\n return;\n } else {\n const scheme = value.value;\n if (!!value.value && !value.value.BalUnits) {\n this.setState({\n folio: {\n value: \"\",\n isError: \"true\",\n errorMessage: \"Switch in Zero balance folios is not accepted\",\n },\n scheme: { value: \"\" },\n });\n } else {\n this.setState({\n scheme: { value },\n minAmount: !!scheme ? scheme.MinAmt : \"\",\n amount: { value: \"\" },\n category: { value: \"\" },\n switchInScheme: { value: \"\" },\n });\n }\n this.getAssetClasses();\n }\n };\n handleCategoryChange = (event) => {\n if (!!event.target.value) {\n this.getOtherSchemes(event.target.value);\n this.setState({\n category: { value: event.target.value },\n switchInScheme: { value: \"\" },\n switchInSchemes: [],\n });\n }\n // else if(event.target.value===){\n\n // }\n else {\n this.setState({\n category: { value: \"\" },\n switchInScheme: { value: \"\" },\n switchInSchemes: [],\n });\n }\n };\n getAssetClasses = async () => {\n const params = {\n Fund: this.state.fund.value.value,\n Folio: this.state.folio.value.value,\n };\n const assetClasses = await this.props.getAssetClasses(params);\n if (assetClasses) {\n this.setState({\n categories: assetClasses.DtData,\n });\n }\n };\n\n changeEuin = (value) => {\n this.setState({\n euinNo: { value },\n });\n };\n\n getOtherSchemes = async (value) => {\n const params = {\n schtype: REGULAR,\n category: value,\n acno: this.state.folio.value.value,\n fundCode: this.state.fund.value.value,\n trantype: \"S\",\n };\n const otherSchemes = await this.props.getOtherSchemes(params);\n if (otherSchemes) {\n this.setState({\n switchInSchemes: otherSchemes.DtData,\n });\n }\n };\n handleSwitchInSchemeChange = (value) => {\n const { scheme } = this.state;\n var setSwitchOutScheme, setSwitchInScheme;\n setSwitchOutScheme = `${value.value.fm_scheme}${value.value.fm_plan}${value.value.fm_option}`;\n setSwitchInScheme = `${scheme.value.value.Sch}${scheme.value.value.Pln}${scheme.value.value.Opt}`;\n\n if (!value) {\n this.setState({\n switchInScheme: { value },\n });\n return;\n } else if (setSwitchOutScheme === setSwitchInScheme) {\n this.setState({\n switchInScheme: {\n value: \"\",\n isError: true,\n errorMessage: `Switch in scheme should not be same as Switch out scheme`,\n },\n });\n return;\n }\n this.setState({\n switchInScheme: { value },\n multiples: {\n value: value.value.multiples,\n }\n });\n };\n changeValue = (label) => (event) => {\n if (\n (label === \"subArnCode\" || label === \"subBrokerCode\") &&\n event.target.value.length <= 20\n ) {\n this.setState({\n [label]: { value: event.target.value },\n });\n } else if (label === \"radioValue\" && event.target.value === \"no\") {\n if (!this.state.euinNo.value) {\n this.setState({\n radioValue: { value: event.target.value },\n });\n } else {\n this.setState({\n [label]: { value: event.target.value },\n euinNo: { value: \"\" },\n });\n }\n } else if (label === \"radioValue\" && event.target.value !== \"no\") {\n this.setState({\n [label]: { value: event.target.value },\n euinNo: { value: \"\" },\n });\n }\n else if (\n label !== \"subArnCode\" &&\n label !== \"subBrokerCode\" &&\n label === \"radioValue\" &&\n event.target.value !== \"no\"\n ) {\n this.setState({\n [label]: { value: event.target.value },\n });\n }\n };\n\n handleSwitchValueChange(event) {\n if (event.target.value.length <= 10) {\n this.setState({\n amount: { value: event.target.value.replace(/^0+/, \"\") },\n });\n }\n }\n\n changeSwitchType = (value) => () => {\n if (value === FULL) {\n this.setState({\n switchType: FULL,\n switchMode: UNITS,\n amount: {\n value: !!this.state.scheme.value\n ? this.state.scheme.value.value.BalUnits\n : \"\",\n },\n });\n }\n if (value === PARTIAL) {\n this.setState({\n switchType: PARTIAL,\n amount: { value: \"\" },\n });\n }\n };\n changeSwitchMode = (value) => () => {\n if (value === AMOUNT) {\n this.setState({\n switchMode: AMOUNT,\n amount: { value: \"\" },\n });\n }\n if (value === UNITS) {\n this.setState({\n switchMode: UNITS,\n amount: { value: \"\" },\n });\n }\n };\n showError = (label) => () => {\n const {\n [label]: { value },\n } = this.state;\n if (!!this.state.scheme && !!this.state.scheme.value.value) {\n if (label === \"amount\") {\n this.setState({\n [label]: {\n value,\n isError:\n this.state.switchMode === AMOUNT\n ? this.state.scheme.value.value.MinAmt > this.state.amount.value\n ? true\n : !value\n : this.state.scheme.value.value.MinAmt > this.state.scheme.value.value.LastNAV*this.state.amount.value ? true : this.state.scheme.value.value.BalUnits <\n this.state.amount.value\n ? true\n : +this.state.amount.value > 5250 ? true\n : !value,\n errorMessage:\n this.state.switchMode === AMOUNT\n ? this.state.scheme.value.value.MinAmt > this.state.amount.value\n ? `Minimum amount should be ${this.state.minAmount}`\n : \"\"\n : this.state.scheme.value.value.MinAmt > this.state.scheme.value.value.LastNAV*this.state.amount.value ? `Units should not be less than ${this.state.minAmount/this.state.scheme.value.value.LastNAV}` :\n this.state.scheme.value.value.BalUnits <\n this.state.amount.value\n ? `Please enter Switch Value less than or equal to Balance Units`\n : +this.state.amount.value > 5250 ? `Please enter Switch Value less than or equal to 5250`\n : \"\",\n },\n });\n }\n } else {\n this.setState({\n [label]: {\n value,\n isError: !value,\n },\n });\n }\n };\n\n submit = async () => {\n let currValue, currAmountValue;\n\n const {\n funds,\n schemes,\n switchInSchemes,\n folios,\n switchType,\n switchMode,\n minAmount,\n categories,\n arnCode,\n subArnCode,\n subBrokerCode,\n euinNo,\n amount,\n radioValue,\n isError,\n errorMessage,\n multiples,\n ...others\n } = this.state;\n\n const arn = this.state.arnCode.value.split(\"-\");\n const keys = Object.keys(others);\n if (!!this.state.scheme.value) {\n currValue = parseFloat(\n this.state.scheme.value.value.CurValue.replace(/,/g, \"\")\n );\n }\n if(!!this.state.amount.isError){\n return;\n }\n currAmountValue =\n this.state.switchType !== FULL\n ? parseFloat(this.state.amount.value.replace(/,/g, \"\"))\n : \"\";\n const findError = keys.every((key) => !!others[key].value);\n if (!findError) {\n keys.forEach((key) => {\n !others[key].value &&\n this.setState({\n [key]: {\n ...others[key],\n isError: true,\n errorMessage: `${\n key === \"folio\"\n ? \"Folio\"\n : key === \"scheme\"\n ? \"Switch out scheme\"\n : key === \"category\"\n ? \"Category\"\n : key === \"switchInScheme\"\n ? \"Switch in Scheme\"\n : key\n } is Mandatory`,\n },\n });\n });\n const firstErroredKey = keys.find((key) => !others[key].value);\n switch (firstErroredKey) {\n case \"fund\": {\n this.fundField.focus();\n break;\n }\n case \"folio\": {\n this.folioField.focus();\n break;\n }\n case \"scheme\": {\n this.switchOutField.focus();\n break;\n }\n case \"category\": {\n this.category.focus();\n break;\n }\n case \"switchInScheme\": {\n this.switchInScheme.focus();\n break;\n }\n }\n } else if (this.state.amount.value === \"\") {\n this.setState({\n amount: {\n value: \"\",\n isError: true,\n errorMessage: `Switch value is mandatory`,\n },\n });\n return;\n } else if (arn[1] === this.state.subArnCode.value) {\n this.setState({\n subArnCode: {\n value: \"\",\n isError: true,\n errorMessage: `and ARN code should not match `,\n },\n });\n } else if (\n (this.state.scheme.value.value.MinAmt > this.state.amount.value &&\n this.state.switchMode === AMOUNT) ||\n (this.state.scheme.value.value.BalUnits < this.state.amount.value &&\n this.state.switchMode === UNITS &&\n this.state.switchType === PARTIAL) ||\n (currValue < currAmountValue && this.state.switchMode === AMOUNT)\n ) {\n if (\n this.state.scheme.value.value.MinAmt > this.state.amount.value &&\n this.state.switchMode === AMOUNT\n ) {\n\n this.setState({\n amount: {\n ...others[\"amount\"],\n value: \"\",\n isError: true,\n errorMessage: `Minimum Amount value is ${this.state.minAmount}`,\n },\n });\n this.amountField.focus();\n return;\n } \n else if (\n \n currValue < currAmountValue \n ) {\n this.setState({\n amount: {\n ...others[\"amount\"],\n isError: true,\n errorMessage: `You don't have enough Amount To Redeem! in Switch`,\n },\n });\n } else if (\n this.state.scheme.value.label === this.state.switchInScheme.value.label\n ) {\n this.setState({\n switchInScheme: {\n value:\"\",\n isError: true,\n errorMessage: `Switch in scheme and Switch out scheme cannot be same`,\n },\n });\n return;\n } else if (\n this.state.scheme.value.value.BalUnits < this.state.amount.value &&\n this.state.switchMode === UNITS\n ) {\n this.setState({\n ...others[\"amount\"],\n isError: true,\n errorMessage: `Please enter Switch Value less than or equal to Balance Units`,\n });\n }\n this.amountField.focus();\n return;\n } else if (\n this.state.radioValue.value === \"no\" &&\n this.state.euinNo.value === \"\"\n ) {\n this.setState({\n euinNo: {\n value: \"\",\n isError: true,\n errorMessage: `EUIN selection is mandatory`,\n },\n });\n this.euinField.focus();\n } else {\n this.props.setSwitchDetails(this.state);\n const params = {\n amount: switchMode === AMOUNT ? this.state.amount.value : \"0\",\n fund: \"102\",\n customfund: \"102\",\n plan: others.scheme.value.value.Pln,\n scheme: others.scheme.value.value.Sch,\n acno: others.scheme.value.value.Acno,\n trdt: moment(new Date()).format(\"MM/DD/YYYY\"),\n units: switchMode === UNITS ? this.state.amount.value : \"0\",\n ttrtype: PURCHASE,\n };\n const response = await this.props.getRedemptionPaymentDetails(params);\n if (response) {\n this.props.saveTransactionDetails(this.state);\n this.props.history.push({\n pathname: NEW_TRANSACTION_URL + \"/switch/digital/transact/confirm\",\n state: {\n title: \"Switch Summary\",\n type: SWITCH,\n scheme: others.scheme.value.value,\n Folio: { value: others.scheme.value.value.Acno },\n switchInScheme: others.switchInScheme.value.value,\n fund: \"102\",\n switchMode,\n subArnCode: this.state.subArnCode.value,\n subBrokerCode: this.state.subBrokerCode.value,\n switchType,\n euin: this.state.euinNo.value,\n amount: this.state.amount.value,\n },\n });\n }\n }\n };\n\n render() {\n const {\n fund,\n funds = [],\n folio,\n folios = [],\n schemes = [],\n scheme,\n radioValue,\n arnCode,\n subArnCode,\n subBrokerCode,\n euinNo,\n categories,\n category,\n switchInScheme,\n switchInSchemes,\n amount,\n switchType,\n switchMode,\n } = this.state;\n const { euinList } = this.props;\n return (\n
\n
Switch
\n
\n
Folio
\n ({\n label: item,\n value: item,\n }))}\n value={folio.value}\n placeholder=\"Select Folio\"\n handleChange={this.handleFolioChange}\n inputRef={(ele) => (this.folioField = ele)}\n disabled={!fund.value}\n isError={folio.isError}\n errorMessage={folio.errorMessage}\n />\n
\n
\n
\n Switch out Scheme\n
\n ({\n value: item,\n label: item.PlnDesc\n ? `${item.SchDesc1} - ${item.PlnDesc} - ${item.OptDesc}`\n : item.fm_schdesc,\n }))}\n value={scheme.value}\n placeholder=\"Select Scheme\"\n handleChange={this.handleSchemeChange}\n disabled={!folio.value}\n inputRef={(ele) => (this.switchOutField = ele)}\n isError={scheme.isError}\n errorMessage={scheme.errorMessage}\n />\n
\n
\n
\n
Balance Units
\n
Current Value
\n
NAV as on Date
\n
Minimum Amount (₹)
\n
\n
\n
\n {!!scheme && !!scheme.value ? scheme.value.value.BalUnits : \"\"}\n
\n
\n {!!scheme && !!scheme.value ? scheme.value.value.CurValue : \"\"}\n
\n
\n {!!scheme && !!scheme.value ? scheme.value.value.LastNAV : \"\"}\n
\n
\n {!!scheme && !!scheme.value ? scheme.value.value.MinAmt : \"\"}\n
\n
\n
\n
\n (this.category = ele)}\n isError={category.isError}\n disabled={!scheme.value}\n errorMessage={category.errorMessage}\n >\n {categories.map((item, index) => (\n \n {item.CatDesc}\n \n ))}\n \n
\n\n
\n
\n Switch In Scheme\n
\n ({\n label: item.fm_schdesc,\n value: item,\n }))}\n label=\"Fund\"\n handleChange={this.handleSwitchInSchemeChange}\n value={switchInScheme.value}\n placeholder=\"Select Fund\"\n disabled={!category.value}\n inputRef={(ele) => (this.switchInScheme = ele)}\n isError={switchInScheme.isError}\n errorMessage={switchInScheme.errorMessage}\n />\n
\n\n
\n \n
\n\n
\n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n bordercolor=\"#a6a6a6\"\n disabled={!fund.value}\n isShowError={subArnCode.isError}\n errorMessage={subArnCode.errorMessage}\n value={subArnCode.value}\n onBlur={\n !!fund.value ? this.validateBrokerCode(fund.value.value.Fund) : \"\"\n }\n onChange={this.changeValue(\"subArnCode\")}\n />\n
\n
\n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n bordercolor=\"#a6a6a6\"\n value={subBrokerCode.value}\n onChange={this.changeValue(\"subBrokerCode\")}\n />\n
\n\n {/*
\n
EUIN Declaration
\n \n \n
\n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
YES
\n
\n
\n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
NO
\n
\n \n
\n
*/}\n\n {radioValue.value === \"no\" ? (\n
\n
EUIN Selection*
\n\n ({\n label: item.abm_agent,\n value: item.abm_agent,\n }))}\n label=\"Fund\"\n handleChange={this.changeEuin}\n value={euinNo.value}\n disabled={!euinList.length}\n placeholder=\"Select EUIN\"\n inputRef={(ele) => (this.euinField = ele)}\n isError={euinNo.isError}\n errorMessage={euinNo.errorMessage}\n />\n
\n ) : (\n
\n I/We hereby confirm that the EUIN box has been intentionally left\n the blank by me/us as this is an 'execution-only' transaction\n without any interaction or advice by any personnel of the above\n distributor or notwithstanding the advice of in-appropriateness,if\n any provided by any personnel of the distributor and the distributor\n has not charged any advisory fees on this transaction\n
\n )}\n\n
Switch Type
\n
\n \n \n
\n\n
Switch Mode
\n
\n \n \n
\n\n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n errorMessage={amount.errorMessage}\n isShowError={amount.isError}\n onBlur={this.showError(\"amount\")}\n disabled={switchType === FULL ? true : false}\n onChange={(event) => this.handleSwitchValueChange(event)}\n value={amount.value}\n inputref={(ele) => (this.amountField = ele)}\n />\n\n
\n \n
\n
\n );\n }\n}\n\nexport default connect(\n ({ authReducer, transactions }) => {\n const { fundList, token, userId, investorData, communicationDetails } =\n authReducer;\n const { euinList, switchDetails = {}, transactionDetails } = transactions;\n return {\n fundList,\n token,\n userId,\n euinList,\n switchDetails,\n investorData,\n communicationDetails,\n transactionDetails,\n };\n },\n {\n validateSubBroker,\n getNewPurchaseFundList,\n getOtherSchemes,\n setSwitchDetails,\n getAssetClasses,\n getRedemptionPaymentDetails,\n saveTransactionDetails,\n }\n)(switchCmponent);\n","import React, { Component } from \"react\";\nimport CustomizedSelect from \"./customizedSelect\";\nimport Signbutton, { Debtbutton } from \"../../forms/button\";\nimport { Input } from \"../../forms/input\";\nimport { Checkbox } from \"@material-ui/core\";\nimport {\n EXISTING,\n NEW,\n NEWP,\n YES,\n REGULAR,\n PURCHASE,\n SIP_TRANS_TYPE,\n INVESTMENT_FREQUENCY,\n SIP_DAY,\n SIP,\n NO,\n PAYMENT_MODE,\n} from \"../../../store/types\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport Radio from \"@material-ui/core/Radio\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport { connect } from \"react-redux\";\nimport {\n validateSubBroker,\n swpOptions,\n getNewPurchaseFundList,\n getOtherSchemes,\n getAssetClasses,\n CalcSIPEnddt,\n setSipDetails,\n submitPurchaseData,\n showPurchaseConfirmation,\n getMinimumAmount,\n EBamountValidation,\n saveTransactionDetails,\n getCheckPanKotm,\n getCheckPanAotm,\n} from \"../../../store/actions\";\nimport IntegrationReactSelect from \"../../forms/autoCompleteInput\";\nimport { NEW_TRANSACTION_URL } from \".\";\nimport { isBefore, isAfter, isEqual } from \"date-fns\";\nconst initialState = {\n fund: { value: \"\" },\n funds: [],\n folio: { value: \"\" },\n folios: [],\n category: { value: \"\" },\n minimumLumpsumAmout: \"\",\n categories: [],\n scheme: { value: \"\" },\n schemes: [],\n investmentFrequency: { value: \"\" },\n frequencies: [],\n installments: { value: \"\" },\n sipDay: { value: \"\" },\n sipDays: [],\n sip_start_date: { value: \"\" },\n sip_end_date: { value: \"\" },\n installmentAmount: { value: \"\" },\n investmentAmount: { value: \"\" },\n mode: { value: \"\" },\n perpetualSip: false,\n modes: [],\n minAmount: \"\",\n kotm: false,\n selectedKotm: { value: \"\" },\n umrn: [],\n};\nclass Sip extends Component {\n constructor(props) {\n super(props);\n const { sipDetails, location, fundList, history } = this.props;\n const { state } = location;\n const checkExisting =\n !!fundList && fundList.find((ele) => ele.Fund === \"102\" && !!ele.Acno);\n const checkMode =\n !!history &&\n !!history.location &&\n !!history.location.state &&\n !!history.location.state.mode\n ? history.location.state.mode\n : !!sipDetails && !!sipDetails.mode && !!sipDetails.mode.value\n ? sipDetails.mode.value\n : \"\";\n\n const checkPan =\n !!history &&\n !!history.location &&\n !!history.location.state &&\n !!history.location.state.pan\n ? history.location.state.pan\n : !!sipDetails && !!sipDetails.pan && !!sipDetails.pan.value\n ? sipDetails.pan.value\n : \"\";\n const checkfolio = {\n value:\n !!history &&\n !!history.location &&\n !!history.location.state &&\n !!history.location.state.folio\n ? history.location.state.folio\n : !!sipDetails && !!sipDetails.folio && !!sipDetails.folio.value\n ? sipDetails.folio.value\n : \"\",\n label:\n !!history &&\n !!history.location &&\n !!history.location.state &&\n !!history.location.state.folio\n ? history.location.state.folio\n : !!sipDetails && !!sipDetails.folio && !!sipDetails.folio.value\n ? sipDetails.folio.value\n : \"\",\n };\n\n this.state = {\n sipTypes:\n // (!!state && !!state.pan) || !checkExisting\n // ? [\n // { label: \"New Folio - SIP Registration\", value: NEWP },\n // {\n // label: \"New Folio - SIP Registration with payment\",\n // value: NEW,\n // },\n // ]\n // :\n [\n { label: \"Existing Folio - SIP Registration\", value: EXISTING },\n {\n label: \"Existing Folio - SIP Registration with payment\",\n value: \"EXISTINGP\",\n },\n // { label: \"New Folio - SIP Registration\", value: NEWP },\n // {\n // label: \"New Folio - SIP Registration with payment\",\n // value: NEW,\n // },\n ],\n\n invName: { value: \"\" },\n sipType: { value: checkMode === \"ENACH\" ? EXISTING : \"\" },\n multiples: \"\",\n fund: { value: \"\" },\n pan: { value: checkPan },\n code: { value: \"+91\" },\n funds: [],\n folio: { value: checkfolio },\n folios: [],\n arnCode: { value: this.props.token },\n subArnCode: { value: \"\" },\n subBrokerCode: { value: \"\" },\n schemeType: EXISTING,\n category: { value: \"\" },\n categories: [],\n schemes: [],\n scheme: { value: \"\" },\n mode: { value: checkMode },\n disbleEmail: false,\n disbleMobile: false,\n euinNo: { value: \"\" },\n radioValue: { value: \"no\" },\n minAmount: \"\",\n minAmountValue: { value: \"\" },\n frequencies: [],\n investmentFrequency: { value: \"\" },\n sipDays: [],\n sipDay: { value: \"\" },\n installments: { value: \"\" },\n sip_start_date: { value: \"\" },\n sip_end_date: { value: \"\" },\n email: { value: \"\" },\n mobile: { value: \"\" },\n installmentAmount: { value: \"\" },\n investmentAmount: { value: \"\" },\n modes: [],\n maxAmount: \"\",\n Family_Code_Email: { value: \"\" },\n Family_Code_Phone: { value: \"\" },\n ...sipDetails,\n };\n }\n\n async componentDidMount() {\n window.scrollTo({\n behavior: \"smooth\",\n top: 0,\n });\n const { transactionDetails } = this.props;\n if (Object.keys(transactionDetails).length > 0) {\n this.setState(transactionDetails);\n return;\n }\n this.validateBrokerCode(\"102\")();\n\n // if (this.state.mode.value === \"ENACH\") {\n // const { history, sipDetails } = this.props;\n // const schemes = await this.schemes(\n // !!history &&\n // !!history.location &&\n // !!history.location.state &&\n // !!history.location.state.folio\n // ? history.location.state.folio\n // : !!sipDetails && !!sipDetails.folio && !!sipDetails.folio.value\n // ? sipDetails.folio.value\n // : \"\"\n // );\n\n // this.setState({\n // minAmountValue: { value: \"\" },\n // schemes,\n // schemeType: EXISTING,\n // });\n // this.validateBrokerCode(\"189\")();\n // }\n }\n\n handlechangeSIPEndDateChange = () => {\n const { perpetualSip } = this.state;\n let startDateSplitting = this.state.sip_start_date.value;\n const [day, month, year] = startDateSplitting.split('/');\n const startDate = new Date(year, month - 1, day);\n if (!perpetualSip && this.state.kotm) {\n \n let selectedFrequency = this.state.investmentFrequency.value.FrequencyID;\n let endDate = new Date(\n this?.state?.selectedKotm?.value[\"MANDATE END DATE\"]\n );\n let monthsDifference =\n (endDate.getFullYear() - startDate.getFullYear()) * 12 +\n (endDate.getMonth() - startDate.getMonth());\n let noofFrequency =\n selectedFrequency == \"Monthly\"\n ? monthsDifference\n : selectedFrequency == \"Daily\"\n ? Math.floor((endDate - startDate) / (1000 * 60 * 60 * 24))\n : selectedFrequency == \"Weekly\"\n ? (endDate - startDate) / (1000 * 60 * 60 * 24) / 7\n : selectedFrequency == \"Quarterly\"\n ? Math.floor(monthsDifference / 3)\n : selectedFrequency == \"Yearly\"\n ? Math.floor(monthsDifference / 12)\n : \"\";\n this.setState({\n perpetualSip: !this.state.perpetualSip,\n sip_end_date: {\n value: this?.state?.selectedKotm?.value[\"MANDATE END DATE\"],\n },\n installments: {\n value: Math.floor(noofFrequency),\n disabled: true,\n },\n });\n } else if (!perpetualSip && !this.state.kotm) {\n let selectedFrequency = this.state.investmentFrequency.value.FrequencyID;\n let endDate = new Date(\"2099-12-31\");\n let monthsDifference =\n (endDate.getFullYear() - startDate.getFullYear()) * 12 +\n (endDate.getMonth() - startDate.getMonth());\n let noofFrequency =\n selectedFrequency == \"Monthly\"\n ? monthsDifference\n : selectedFrequency == \"Daily\"\n ? Math.floor((endDate - startDate) / (1000 * 60 * 60 * 24))\n : selectedFrequency == \"Weekly\"\n ? (endDate - startDate) / (1000 * 60 * 60 * 24) / 7\n : selectedFrequency == \"Quarterly\"\n ? Math.floor(monthsDifference / 3)\n : selectedFrequency == \"Yearly\"\n ? Math.floor(monthsDifference / 12)\n : \"\";\n this.setState({\n perpetualSip: !this.state.perpetualSip,\n sip_end_date: { value: \"31/12/2099\" },\n installments: {\n value: Math.floor(noofFrequency),\n disabled: true,\n },\n });\n } else if (!!perpetualSip) {\n this.setState({\n perpetualSip: !this.state.perpetualSip,\n sipDay: { value: \"\" },\n sip_end_date: { value: \"\" },\n sip_start_date: { value: \"\" },\n installments: {\n value: \"\",\n placeholder: \"\",\n disabled: false,\n },\n });\n }\n };\n\n // handleFundChange = async (value) => {\n // const fund = !!value ? value.value : \"\";\n // const fundValue = !!value\n // ? this.state.sipType.value === NEW || this.state.sipType.value === NEWP\n // ? fund.amc_code\n // : fund.Fund\n // : \"\";\n\n // if (!value) {\n // this.setState({\n // ...initialState,\n // funds: this.state.funds,\n // fund: { value },\n // schemes: [],\n // scheme: { value: \"\" },\n // modes: [],\n // mode: { value: \"\" },\n // euinNo: { value: \"\" },\n // radioValue: { value: \"no\" },\n // minAmount: \"\",\n // frequencies: [],\n // investmentFrequency: { value: \"\" },\n // sipDays: [],\n // sipDay: { value: \"\" },\n // minAmountValue: { value: \"\" },\n // installments: { value: \"\" },\n // sip_start_date: { value: \"\" },\n // sip_end_date: { value: \"\" },\n // email: {\n // value:\n // this.state.sipType.value === NEW ||\n // this.state.sipType.value === NEWP\n // ? this.state.email.value\n // : \"\",\n // },\n // mobile: {\n // value:\n // this.state.sipType.value === NEW ||\n // this.state.sipType.value === NEWP\n // ? this.state.mobile.value\n // : \"\",\n // },\n // installmentAmount: { value: \"\" },\n // investmentAmount: { value: \"\" },\n // });\n // return;\n // } else if (\n // !!value &&\n // !!this.state.fund.value &&\n // value.value.Fund === this.state.fund.value.value.Fund &&\n // value.value.Fund !== undefined\n // ) {\n // return;\n // } else {\n // const params = {\n // opt: PAYMENT_MODE,\n // Fund: fundValue,\n // astscheme:\n // !!this.props.investorData && !!this.props.investorData.PAN\n // ? this.props.investorData.PAN\n // : \"\",\n // };\n // const folios = this.props.fundList.reduce((prev, curr) => {\n // if (curr.Fund === fundValue && curr.sipFlag === YES) {\n // return [...prev, curr.Acno];\n // }\n // return prev;\n // }, []);\n // this.setState({\n // ...initialState,\n // funds: this.state.funds,\n // fund: { value },\n // folios: Array.from(new Set(folios)),\n // folio: { value: \"\" },\n // });\n // if (!!value) {\n // this.validateBrokerCode(fundValue)();\n // }\n // if (\n // this.state.sipType.value === NEW ||\n // this.state.sipType.value === NEWP\n // ) {\n // this.getAssetClasses(fundValue);\n // }\n // const response = await this.props.swpOptions(params);\n // if (response) {\n // const { Dtinformation } = response;\n // this.setState({\n // modes: Dtinformation,\n // minAmountValue: { value: \"\" },\n // mode: { value: \"\" },\n // });\n // }\n // }\n // };\n\n validateBrokerCode = (fund) => async () => {\n const { subArnCode, arnCode } = this.state;\n if (\n !!subArnCode.value &&\n subArnCode.value === arnCode.value.split(\"-\")[1]\n ) {\n this.setState({\n subArnCode: {\n value: \"\",\n isError: true,\n errorMessage: `Sub ARN Code should not be same as ARN Code`,\n },\n });\n } else {\n const params = {\n Fund: \"102\",\n SubAgentCd: !!subArnCode.value ? `ARN-${subArnCode.value}` : \"\",\n AgentCd: arnCode.value,\n };\n const response = await this.props.validateSubBroker(params);\n\n if (!!response && !!response.DtData && response.DtData.length > 0) {\n const getLength = response.DtData.length === 1;\n let value = {\n value: response.DtData[0].abm_agent,\n label: response.DtData[0].abm_agent,\n };\n if (!!getLength) {\n this.setState({\n euinNo: { value },\n });\n }\n } else if (!response) {\n this.setState({\n subArnCode: {\n value: \"\",\n isError: true,\n errorMessage: `(Please enter a valid Sub ARN Code)`,\n },\n });\n }\n }\n };\n getUMRN = async (type) => {\n const params = {\n Fund: \"102\",\n PAN: this.props.investorData.PAN,\n Acno: this.state.folio.value.value ? this.state.folio.value.value : 0,\n };\n const response =\n type === \"KOTM\"\n ? await this.props.getCheckPanKotm(params)\n : await this.props.getCheckPanAotm(params);\n const umrn = await response.Table1;\n if (umrn.length > 1) {\n const maxAmt = umrn.reduce(\n (max, obj) => (obj.Amt > max ? obj.Amt : max),\n 0\n );\n const filteredData = umrn.filter((obj) => obj.Amt === maxAmt);\n this.setState({\n selectedKotm: { value: filteredData[0] },\n });\n }\n if (umrn.length === 1) {\n this.setState({\n selectedKotm: { value: umrn[0] },\n });\n }\n this.setState({\n umrn,\n });\n };\n\n handleFolioChange = (value) => {\n const folio = !!value ? value.value : \"\";\n const { folios } = this.state;\n const state = { folios };\n\n if (!value) {\n this.setState({\n ...initialState,\n ...state,\n mode: { value: this.state.mode.value },\n folio: { value },\n });\n return;\n } else if (\n !!value &&\n !!this.state.folio.value &&\n value.value === this.state.folio.value.value\n ) {\n return;\n } else {\n const schemes = this.schemes(folio);\n this.setState({\n ...initialState,\n ...state,\n mode: { value: this.state.mode.value },\n folio: { value },\n minAmountValue: { value: \"\" },\n schemes,\n euinNo:{value:\"\"},\n subArnCode:{value:\"\"},\n subBrokerCode:{value:\"\"},\n schemeType: EXISTING,\n });\n }\n };\n\n changeEuin = (value) => {\n this.setState({\n euinNo: { value },\n });\n };\n\n changeValue = (label) => async (event) => {\n if (\n (label === \"installmentAmount\" || label === \"investmentAmount\") &&\n event.target.value.length <= 10\n ) {\n this.setState({\n [label]: { value: parseFloat(event.target.value.replace(/^0+/, \"\")) },\n });\n } else if (label === \"mode\") {\n this.setState({\n sipDay: { value: \"\" },\n sip_start_date: { value: \"\" },\n sip_end_date: { value: \"\" },\n perpetualSip: false,\n });\n if (event.target.value === \"KOTM\") {\n this.getUMRN(\"KOTM\");\n } else if (event.target.value === \"AOTM\") {\n this.getUMRN(\"AOTM\");\n }\n this.setState({\n [label]: { value: event.target.value },\n kotm: event.target.value === \"KOTM\" || event.target.value === \"AOTM\",\n selectedKotm: { value: \"\" },\n });\n } else if (label === \"kotm\") {\n this.setState({\n selectedKotm: {\n value: event.target.value,\n },\n });\n } else if (label === \"code\") {\n if (!/^[+]\\d{1,3}$/.test(event.target.value)) {\n this.setState({\n [label]: {\n value: event.target.value,\n isError: true,\n errorMessage: \"Enter a valid Country Code\",\n },\n });\n } else {\n this.setState({ [label]: { value: event.target.value } });\n }\n } else if (label === \"installments\" && event.target.value.length <= 4) {\n if (parseFloat(event.target.value) <= 9999) {\n this.setState({\n [label]: {\n value: parseFloat(event.target.value.replace(/^0+/, \"\")),\n },\n sipDay: { value: \"\" },\n sip_start_date: { value: \"\" },\n sip_end_date: { value: \"\" },\n });\n const modeparams = {\n opt: PAYMENT_MODE,\n Fund: \"102\",\n astscheme:\n !!this.props.investorData && !!this.props.investorData.PAN\n ? this.props.investorData.PAN\n : !!this.state && !!this.state.pan\n ? this.state.pan\n : \"\",\n };\n const res = await this.props.swpOptions(modeparams);\n if (res) {\n const { Dtinformation } = res;\n this.setState({\n modes: Dtinformation,\n mode: { value: \"\" },\n });\n }\n } else if (!event.target.value) {\n this.setState({\n [label]: {\n value: \"\",\n isError: \"\",\n errorMessage: !!event.target.value\n ? \"no of installemnts should not be more than 500\"\n : \"no of installments is mandatory\",\n },\n sipDay: { value: \"\" },\n sip_start_date: { value: \"\" },\n sip_end_date: { value: \"\" },\n });\n }\n } else if (label === \"mobile\") {\n if (!/^[6-9]\\d{9}$/.test(event.target.value)) {\n this.setState({\n [label]: {\n value: event.target.value,\n isError: true,\n errorMessage: \"Enter a valid Mobile Number\",\n },\n });\n } else {\n this.setState({ [label]: { value: event.target.value } });\n }\n } else if (\n (label === \"subArnCode\" || label === \"subBrokerCode\") &&\n event.target.value.length <= 20\n ) {\n this.setState({\n [label]: { value: event.target.value },\n });\n } else if (label === \"radioValue\" && event.target.value === \"no\") {\n if (!this.state.euinNo.value) {\n this.setState({\n radioValue: { value: event.target.value },\n });\n } else {\n this.setState({\n [label]: { value: event.target.value },\n euinNo: { value: \"\" },\n });\n }\n } else if (label === \"radioValue\" && event.target.value !== \"no\") {\n this.setState({\n [label]: { value: event.target.value },\n euinNo: { value: \"\" },\n });\n }\n else if (label === \"email\") {\n this.setState({\n [label]: { value: event.target.value },\n });\n } else if (label === \"invName\" && event.target.value.length <= 40) {\n if (/^[a-zA-Z ]*$/.test(event.target.value)) {\n this.setState({\n [label]: { value: event.target.value },\n });\n }\n } else if (\n label !== \"installmentAmount\" &&\n label !== \"invName\" &&\n label !== \"subArnCode\" &&\n label !== \"installments\" &&\n label !== \"subBrokerCode\" &&\n label !== \"email\" &&\n label !== \"mobile\" &&\n label !== \"investmentAmount\" &&\n label === \"radioValue\" &&\n event.target.value !== \"no\"\n ) {\n this.setState({\n [label]: { value: event.target.value },\n });\n }\n };\n\n getAssetClasses = async (fund, folio) => {\n const params = {\n Fund: \"102\",\n Folio: folio,\n };\n const assetClasses = await this.props.getAssetClasses(params);\n if (assetClasses) {\n this.setState({\n categories: assetClasses.DtData,\n });\n }\n };\n\n getOtherSchemes = async (category) => {\n const params = {\n schtype: REGULAR,\n category,\n acno:\n this.state.sipType.value === NEW || this.state.sipType.value === NEWP\n ? \"0\"\n : this.state.folio.value.value,\n fundCode: \"102\",\n trantype: SIP_TRANS_TYPE,\n };\n\n const otherSchemes = await this.props.getOtherSchemes(params);\n const FundName = \"102\";\n\n if (otherSchemes) {\n this.setState({\n schemes: otherSchemes.DtData,\n mode: { value: this.state.mode.value },\n fund: {\n ...this.state.fund,\n errorMessage:\n (FundName.trim() === \"128\" ||\n FundName.trim() === \"116\" ||\n FundName.trim() === \"102\") &&\n this.state.category.value === \"LIQUID\" &&\n otherSchemes.DtData.length === 0\n ? \"Liquid Schemes are not allowed for SIP\"\n : otherSchemes.DtData.length === 0 &&\n (FundName.trim() !== \"128\" ||\n FundName.trim() !== \"116\" ||\n FundName.trim() !== \"102\")\n ? \"No Schemes under this fund\"\n : \"\",\n },\n });\n }\n };\n\n schemes = (folio) => {\n if (\n this.state.sipType.value === EXISTING ||\n this.state.mode.value === \"ENACH\" ||\n this.state.sipType.value === \"EXISTINGP\"\n ) {\n return this.props.fundList.reduce((prev, curr) => {\n if (\n parseFloat(curr.Fund) === 102 &&\n parseFloat(curr.Acno) === parseFloat(folio) &&\n curr.sipSchFlg === YES\n ) {\n return [...prev, curr];\n }\n return prev;\n }, []);\n }\n };\n\n handleCategoryChange = (event) => {\n const category = event.target.value;\n const { funds, fund, folios, folio, categories } = this.state;\n const state = {\n funds,\n fund,\n folios,\n\n folio,\n categories,\n };\n if (!category) {\n this.setState({\n ...initialState,\n ...state,\n category: { value: \"\" },\n mode: { value: this.state.mode.value },\n });\n return;\n }\n this.setState({\n ...initialState,\n ...state,\n category: { value: category },\n mode: { value: this.state.mode.value },\n subArnCode:{value:\"\"},\n subBrokerCode:{value:\"\"},\n euinNo:{value:\"\"}\n });\n this.getOtherSchemes(category);\n };\n\n handleSipTypeChange = async (event) => {\n const sipType = event.target.value;\n const { communicationDetails, investorData } = this.props;\n\n const detailsEmail = communicationDetails.find(\n (detail) =>\n detail.PAN === investorData.PAN &&\n !!detail.email &&\n !!detail.Fund &&\n String(detail.Fund).trim() === \"102\"\n );\n const detailsMobile = communicationDetails.find(\n (detail) =>\n detail.PAN === investorData.PAN &&\n !!detail.Mobile &&\n String(detail.Fund).trim() === \"102\"\n );\n\n const Setstate = {\n ...initialState,\n schemeType: EXISTING,\n invName: {\n value:\n !!investorData && !!investorData.invname ? investorData.invname : \"\",\n },\n email: {\n value:\n (sipType === NEW || sipType === NEWP) &&\n // !!location.state &&\n // !location.state.pan &&\n !!detailsEmail &&\n !!detailsEmail.email\n ? detailsEmail.email\n : \"\",\n },\n mobile: {\n value:\n (sipType === NEW || sipType === NEWP) &&\n // !!location.state &&\n // !location.state.pan &&\n !!detailsMobile &&\n !!detailsMobile.Mobile\n ? detailsMobile.Mobile\n : \"\",\n },\n disbleEmail:\n !!detailsEmail &&\n !!detailsEmail.email &&\n (sipType === NEW || sipType === NEWP)\n ? true\n : false,\n disbleMobile:\n !!detailsMobile &&\n (sipType === NEW || sipType === NEWP) &&\n !!detailsMobile.Mobile\n ? true\n : false,\n mode: { value: this.state.mode.value },\n };\n\n if (!sipType) {\n this.setState({\n ...Setstate,\n sipType: { value: event.target.value },\n minAmountValue: { value: \"\" },\n });\n return;\n } else if (event.target.value === this.state.sipType.value) {\n return;\n }\n const folios = this.props.fundList.reduce((prev, curr) => {\n if (parseFloat(curr.Fund) === 102 && curr.sipFlag === YES) {\n return [...prev, curr.Acno];\n }\n return prev;\n }, []);\n this.setState({\n ...Setstate,\n sipType: { value: sipType },\n funds: [],\n fund: { value: { value: \"102\" } },\n folios: Array.from(new Set(folios)),\n folio: { value: \"\" },\n mode: { value: this.state.mode.value },\n });\n if (!!sipType) {\n this.validateBrokerCode(\"102\")();\n }\n if (sipType === NEW || sipType === NEWP) {\n this.getAssetClasses(\"102\");\n }\n\n this.setState({\n minAmountValue: { value: \"\" },\n });\n };\n\n changeSchemeType = (value) => () => {\n const { folios, folio } = this.state;\n const state = {\n folios,\n folio,\n };\n if (value === this.state.schemeType) {\n return;\n }\n if (value === EXISTING || value === \"EXISTINGP\") {\n const schemes = this.schemes(this.state.folio.value.value);\n this.setState({\n ...initialState,\n ...state,\n schemeType: value,\n minAmountValue: { value: \"\" },\n schemes,\n mode: { value: this.state.mode.value },\n });\n } else {\n this.setState({\n ...initialState,\n minAmountValue: { value: \"\" },\n ...state,\n schemeType: value,\n mode: { value: this.state.mode.value },\n });\n if (!!this.state.folio.value) {\n this.getAssetClasses(\n this.state.sipType.value === NEW ? \"102\" : \"102\",\n this.state.folio.value.value\n );\n }\n }\n };\n\n handleSchemeChange = (value) => {\n const scheme = !!value ? value.value : \"\";\n const { funds, fund, folios, folio, categories, category, schemes } =\n this.state;\n const state = {\n funds,\n fund,\n folios,\n\n folio,\n categories,\n category,\n schemes,\n };\n if (!value) {\n this.setState({\n ...initialState,\n ...state,\n scheme: { value: value },\n });\n return;\n }\n\n this.setState({\n ...initialState,\n ...state,\n multiples: !!scheme && !!scheme.multiples ? scheme.multiples : \"\",\n mode: { value: this.state.mode.value },\n scheme: { value },\n // minAmount: !!scheme ? scheme.sipminamt || scheme.SIPminamt : \"\",\n // minAmountValue: {\n // value: !!scheme ? scheme.sipminamt || scheme.SIPminamt : \"\",\n // },\n euinNo:{value:\"\"},\n subArnCode:{value:\"\"},\n subBrokerCode:{value:\"\"},\n minimumLumpsumAmout:\n this.state.sipType.value === NEW\n ? scheme.fm_newpur\n : this.state.sipType.value === \"EXISTINGP\"\n ? scheme.MinAmt\n : \"\",\n });\n const params = {\n opt: INVESTMENT_FREQUENCY,\n fund: \"102\",\n };\n this.getInvestmentFrequency(params, \"frequencies\");\n };\n\n getInvestmentFrequency = async (params, label) => {\n const response = await this.props.swpOptions(params);\n if (response) {\n this.setState({\n [label]: response.Dtinformation,\n });\n }\n };\n FamilyDescriptionEmail = (event) => {\n this.setState({\n Family_Code_Email: { value: event },\n });\n };\n FamilyDescriptionPhone = (event) => {\n this.setState({\n Family_Code_Phone: { value: event },\n });\n };\n\n changeFrequency = async (event) => {\n const investmentFrequency = event.target.value;\n let minAmount = \"\";\n const {\n funds,\n fund,\n folios,\n\n folio,\n categories,\n category,\n schemes,\n scheme,\n frequencies,\n } = this.state;\n const state = {\n funds,\n fund,\n folios,\n\n folio,\n categories,\n category,\n schemes,\n scheme,\n frequencies,\n };\n if (!investmentFrequency) {\n this.setState({\n ...initialState,\n ...state,\n installments: { value: \"\" },\n sip_end_date: { value: \"\" },\n sip_start_date: { value: \"\" },\n sipDay: { value: \"\" },\n investmentFrequency: { value: investmentFrequency },\n mode: { value: this.state.mode.value },\n });\n return;\n }\n if (this.state.sipType.value === NEW || this.state.sipType.value === NEWP) {\n const minParams = {\n Fund: \"102\",\n Scheme: this.state.scheme.value.value.fm_scheme,\n Trtype: \"SIP\",\n Frequency: event.target.value.FrequencyID,\n };\n const response = await this.props.getMinimumAmount(minParams);\n\n if (response) {\n const { DtData } = response;\n minAmount = DtData[0].minamt;\n this.setState({\n minAmountValue: { value: minAmount }\n })\n }\n }\n if (this.state.sipType.value === EXISTING || this.state.sipType.value === \"EXISTINGP\") {\n const minParams = {\n Fund: \"102\",\n\n Scheme:\n this.state.scheme.value.value.Sch ||\n this.state.scheme.value.value.fm_scheme,\n Trtype: \"SIP\",\n Frequency: event.target.value.FrequencyID,\n };\n console.log(\"minParams,\",minParams,this.state.scheme)\n const response = await this.props.getMinimumAmount(minParams);\n if (response) {\n const { DtData } = response;\n minAmount = DtData[0].minamt;\n this.setState({\n minAmountValue: { value: minAmount },\n minimumLumpsumAmout:minAmount\n })\n }\n }\n\n this.setState({\n investmentFrequency: { value: investmentFrequency },\n installments: { value: \"\" },\n sip_end_date: { value: \"\" },\n sip_start_date: { value: \"\" },\n // minAmountValue: {\n // value: this.state.minAmountValue.value,\n // },\n });\n\n const params = {\n opt: SIP_DAY,\n fund: \"102\",\n astscheme: investmentFrequency.FrequencyID,\n };\n this.getInvestmentFrequency(params, \"sipDays\");\n };\n\n changeSipDay = (value) => {\n const sipDay = !!value ? value.value : \"\";\n\n this.setState({\n perpetualSip: false,\n sipDay: { value: value },\n installmentAmount: { value: \"\" },\n investmentAmount: { value: \"\" },\n sip_end_date: { value: \"\" },\n sip_start_date: { value: \"\" },\n });\n if (!!sipDay && !!this.state.installments.value) {\n this.getSipEndDate(sipDay);\n } else if (!this.state.installments.value) {\n this.setState({\n sipDay: { value: \"\" },\n\n installments: {\n isError: true,\n errorMessage: \"Please enter Installments\",\n },\n });\n this.installmentsField.focus();\n }\n };\n\n changeDateFormat(date) {\n const [day, month, year] = date.split(\"/\");\n return new Date(year, month - 1, day);\n }\n\n getSipEndDate = async (sipDay) => {\n const modeparams = {\n opt: PAYMENT_MODE,\n Fund: \"102\",\n astscheme:\n !!this.props.investorData && !!this.props.investorData.PAN\n ? this.props.investorData.PAN\n : !!this.state && !!this.state.pan\n ? this.state.pan\n : \"\",\n };\n const res = await this.props.swpOptions(modeparams);\n if (res) {\n const { Dtinformation } = res;\n this.setState({\n modes: Dtinformation,\n });\n }\n\n const params = {\n fund: \"102\",\n StartDate: sipDay,\n Installments: this.state.installments.value,\n Frequency: this.state.investmentFrequency.value.FrequencyID,\n trtype: \"SIP\",\n sch:\n this.state.scheme.value.value.Sch ||\n this.state.scheme.value.value.fm_scheme,\n };\n const response = await this.props.CalcSIPEnddt(params);\n if (response) {\n const {\n DtData: [dates],\n } = response;\n const { SIP_EndDate, SIP_StartDate } = dates;\n if (!!SIP_EndDate) {\n const reformSIPEndDT = SIP_EndDate.split(\"/\");\n if (parseFloat(reformSIPEndDT[2]) > 2099) {\n this.setState({\n sipDay: { value: \"\" },\n sip_start_date: { value: \"\" },\n sip_end_date: { value: \"\" },\n installments: {\n value: \"\",\n isError: true,\n errorMessage:\n \"Your SIP installments are going beyond 2099, select lesser number of installments.\",\n },\n });\n this.installmentsField.focus();\n } else if (\n parseFloat(reformSIPEndDT[2]) <= 2099 &&\n !!this.props.enachEndDate\n ) {\n const isStartDateValid =\n this.changeDateFormat(SIP_StartDate) >=\n this.changeDateFormat(this.props.enachStartDate);\n\n const isEndDateValid =\n this.changeDateFormat(SIP_EndDate) <=\n this.changeDateFormat(this.props.enachEndDate);\n if (isStartDateValid && isEndDateValid) {\n this.setState({\n sip_start_date: { value: SIP_StartDate, isError: false },\n sip_end_date: { value: SIP_EndDate, isError: false },\n });\n }\n if (!isStartDateValid) {\n this.setState({\n sip_start_date: {\n value: SIP_StartDate,\n isError: true,\n errorMessage: `SIP Start Date should be after or same as Enach Start Date (${this.props.enachStartDate}) )`,\n },\n sip_end_date: { value: SIP_EndDate, isError: false },\n });\n }\n if (!isEndDateValid) {\n this.setState({\n sip_end_date: {\n value: SIP_EndDate,\n isError: true,\n errorMessage: `SIP End Date should be before or same as Enach End Date (${this.props.enachEndDate}) )`,\n },\n sip_start_date: {\n value: SIP_StartDate,\n isError: false,\n },\n });\n }\n } else if (parseFloat(reformSIPEndDT[2]) <= 2099) {\n this.setState({\n sip_start_date: { value: SIP_StartDate, isError: false },\n sip_end_date: { value: SIP_EndDate, isError: false },\n });\n }\n }\n } else {\n alert(\"Something went wrong or Your SIP installments are going beyond 2099, select lesser number of installments.\");\n this.setState({\n sipDay: { value: \"\" },\n installments: {\n value: \"\",\n },\n })\n }\n };\n\n showError = (label) => async (event) => {\n const {\n [label]: { value },\n } = this.state;\n\n if (label === \"email\") {\n this.setState({\n [label]: {\n value,\n isError: !/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n )\n ? true\n : !value,\n errorMessage: !/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n )\n ? `Enter an vaild Email Id`\n : \"\",\n },\n });\n } else if (label === \"code\") {\n if (!/^[+]\\d{1,3}$/.test(event.target.value)) {\n this.setState({\n [label]: {\n value: \"\",\n isError: true,\n errorMessage: \"Enter a valid Country Code\",\n },\n });\n }\n } else if (label === \"mobile\") {\n this.setState({\n [label]: {\n value,\n isError: !/^[6-9]\\d{9}$/.test(this.state.mobile.value)\n ? true\n : !value,\n errorMessage: !/^[6-9]\\d{9}$/.test(this.state.mobile.value)\n ? `Enter a valid Phone Number`\n : !value,\n },\n });\n } else if (label === \"installments\") {\n this.setState({\n [label]: {\n value,\n isError:\n !!this.state.investmentFrequency.value &&\n !!this.state.investmentFrequency.value.Minimum_Instalment &&\n parseFloat(this.state.installments.value) <\n parseFloat(\n this.state.investmentFrequency.value.Minimum_Instalment\n )\n ? true\n : !value,\n errorMessage:\n !!this.state.investmentFrequency.value &&\n !!this.state.investmentFrequency.value.Minimum_Instalment &&\n parseFloat(this.state.installments.value) <\n parseFloat(\n this.state.investmentFrequency.value.Minimum_Instalment\n )\n ? \"Number of installments should be greater than or equal to the minimum number of installments mentioned above\"\n : \"Installments is mandatory\",\n },\n });\n } else if (label === \"installmentAmount\") {\n const { location } = this.props;\n const { state } = location;\n const { scheme } = this.state;\n const checkScheme = !!scheme && !!scheme.value && !!scheme.value.value;\n if (\n !!checkScheme &&\n (scheme.value.value.Sch === \"EB\" ||\n scheme.value.value.fm_scheme === \"EB\")\n ) {\n const params = {\n pan:\n !!this.props.investorData && !!this.props.investorData.PAN\n ? this.props.investorData.PAN\n : !!state && !!state.pan\n ? state.pan\n : \"\",\n amt: this.state.installmentAmount.value,\n };\n const response = await this.props.EBamountValidation(params);\n if (!!response && !!response.Dtinformation) {\n return;\n } else {\n this.setState({\n [label]: {\n value: \"\",\n isError: true,\n errorMessage: `${response}`,\n },\n });\n }\n } else if (\n parseFloat(this.state.minAmountValue.value) >\n parseFloat(this.state.installmentAmount.value)\n ) {\n this.setState({\n [label]: {\n value: \"\",\n isError: true,\n errorMessage: `The amount should be ₹ ${this.state.minAmountValue.value} or more`,\n },\n });\n } else if (\n parseFloat(this.props.enachMaxAmount) <\n parseFloat(this.state.installmentAmount.value)\n ) {\n this.setState({\n [label]: {\n value: \"\",\n isError: true,\n errorMessage: `Installment Amount should be less than or equal to ${this.props.enachMaxAmount}(₹) as per Enach Registration Amount`,\n },\n });\n } else if (\n !!this.state.installmentAmount.value &&\n !!this.state.multiples &&\n parseFloat(this.state.installmentAmount.value) %\n parseFloat(this.state.multiples) !=\n 0\n ) {\n this.setState({\n [label]: {\n value: \"\",\n isError: true,\n errorMessage: `The amount should be in the multiples of ${this.state.multiples}`,\n },\n });\n } else if (\n +this.state.selectedKotm.value.Amt < +this.state.installmentAmount.value\n ) {\n this.setState({\n installmentAmount: {\n value: \"\",\n isError: true,\n errorMessage: `SIP installment amount cannot exceed\n mandate registration limit of ${this.state.selectedKotm.value.Amt}.`,\n },\n });\n this.installmentAmount.focus();\n return;\n }\n return;\n } else {\n this.setState({\n [label]: {\n value,\n isError: !value,\n errorMessage: `${label} is mandatory`,\n },\n });\n }\n };\n\n submit = async () => {\n const {\n sipTypes,\n funds,\n pan,\n folio,\n disbleEmail,\n disbleMobile,\n fund,\n folios,\n arnCode,\n subArnCode,\n invName,\n email,\n subBrokerCode,\n schemeType,\n category,\n mobile,\n categories,\n schemes,\n euinNo,\n radioValue,\n minimumLumpsumAmout,\n multiples,\n minAmount,\n minAmountValue,\n frequencies,\n sipDays,\n investmentAmount,\n installmentAmount,\n perpetualSip,\n mode,\n modes,\n installments,\n maxAmount,\n code,\n Family_Code_Email,\n Family_Code_Phone,\n kotm,\n selectedKotm,\n umrn,\n ...others\n } = this.state;\n let d1, d2;\n const split_enddate = this?.state?.sip_end_date?.value.split(\"/\");\n const split_mandatedate =\n this?.state?.selectedKotm?.value[\"MANDATE END DATE\"]?.split(\"/\");\n d1 = new Date(\n Number(split_enddate[2]),\n Number(split_enddate[1]) - 1,\n Number(split_enddate[0])\n );\n if (this?.state?.selectedKotm?.value[\"MANDATE END DATE\"]?.split(\"/\")) {\n d2 = new Date(\n Number(split_mandatedate[2]),\n Number(split_mandatedate[1]) - 1,\n Number(split_mandatedate[0])\n );\n }\n const { location } = this.props;\n if (\n !/^[+]\\d{1,3}$/.test(code.value) &&\n (this.state.sipType.value === NEW || this.state.sipType.value === NEWP)\n ) {\n this.setState({\n [code]: {\n value: \"\",\n isError: true,\n errorMessage: !code.value\n ? \"Country Code is Mandatory\"\n : \"Enter a valid Country Code\",\n },\n });\n return;\n }\n if (!this.state.email.value) {\n this.setState({\n email: {\n value: \"\",\n isError: true,\n errorMessage: \"Email ID is mandatory\",\n },\n });\n }\n if (\n !/^[+]\\d{1,3}/.test(this.state.code.value) &&\n (this.state.sipType.value === NEW || this.state.sipType.value === NEWP)\n ) {\n this.setState({\n code: {\n value: \"\",\n isError: true,\n errorMessage: !code.value\n ? \"Country Code is Mandatory\"\n : \"Enter a valid Country Code\",\n },\n });\n return;\n }\n if (\n !!this.state.sip_start_date.isError ||\n !!this.state.sip_end_date.isError\n ) {\n return;\n }\n if (!this.state.invName.value) {\n this.setState({\n invName: {\n value: \"\",\n isError: true,\n errorMessage: \"Investor name is mandatory\",\n },\n });\n }\n if (!this.state.installmentAmount.value) {\n this.setState({\n installmentAmount: {\n value: \"\",\n isError: true,\n errorMessage: \"installmentAmount is mandatory\",\n },\n });\n }\n if (this.state.invName.value.charAt(0) === \" \") {\n this.setState({\n invName: {\n value: \"\",\n isError: true,\n errorMessage: \"Enter valid name\",\n },\n });\n return;\n }\n if (!this.state.mobile.value) {\n this.setState({\n mobile: {\n value: \"\",\n isError: true,\n errorMessage: \"Mobile is mandatory\",\n },\n });\n }\n if (!this.state.folio.value) {\n this.setState({\n folio: {\n value: \"\",\n isError: true,\n errorMessage: \"Folio is mandatory\",\n },\n });\n }\n if (!this.state.category.value) {\n this.setState({\n category: {\n value: \"\",\n isError: true,\n errorMessage: \"Category is mandatory\",\n },\n });\n }\n if (!this.state.investmentAmount.value) {\n this.setState({\n investmentAmount: {\n value: \"\",\n isError: true,\n errorMessage: \"Investment Amount is mandatory\",\n },\n });\n }\n if (!this.state.euinNo.value) {\n this.setState({\n euinNo: {\n value: \"\",\n isError: true,\n errorMessage: \"EUIN No is mandatory\",\n },\n });\n }\n if (!this.state.selectedKotm.value && kotm) {\n this.setState({\n selectedKotm: {\n value: \"\",\n isError: true,\n errorMessage: \"UMRN is mandatory*\",\n },\n });\n }\n\n const keys = Object.keys(others);\n\n const findError = keys.every((key) => !!others[key].value);\n\n const arn = this.state.arnCode.value.split(\"-\");\n if (!findError) {\n keys.forEach((key) => {\n !others[key].value &&\n this.setState({\n [key]: {\n ...others[key],\n isError: true,\n errorMessage: `${\n key === \"sipType\"\n ? \"SIP Type\"\n : key === \"scheme\"\n ? \"Scheme\"\n : key === \"investmentFrequency\"\n ? \"Investment frequency\"\n : key === \"installments\"\n ? \"Installments\"\n : key === \"sipDay\"\n ? \"SIP day\"\n : key === \"sip_start_date\"\n ? \"SIP Start date\"\n : key === \"sip_end_date\"\n ? \"SIP end date\"\n : key === \"installmentAmount\"\n ? \"Installment Amount\"\n : key\n } is mandatory`,\n },\n });\n });\n const firstErroredKey = keys.find((key) => !others[key].value);\n switch (firstErroredKey) {\n case \"sipType\":\n this.sipTypeField.focus();\n break;\n case \"fund\":\n this.fundField.focus();\n break;\n case \"scheme\":\n this.schemeField.focus();\n break;\n case \"investmentFrequency\":\n this.investmentFrequency.focus();\n break;\n case \"installments\":\n this.installmentsField.focus();\n break;\n case \"sipDay\":\n this.sipDay.focus();\n break;\n case \"installmentAmount\":\n this.installmentAmount.focus();\n break;\n\n case \"email\":\n this.emailField.focus();\n break;\n case \"mobile\":\n this.mobileField.focus();\n break;\n default:\n break;\n }\n } else if (\n invName.value === \"\" &&\n (this.state.sipType.value === NEW || this.state.sipType.value === NEWP)\n ) {\n this.setState({\n invName: {\n value: \"\",\n isError: true,\n errorMessage: \"Investor name is mandatory\",\n },\n });\n this.invNameField.focus();\n return;\n } else if (others.sipType === EXISTING && !folio.value) {\n this.setState({ folio: { ...folio, isError: true } });\n this.folioField.focus();\n return;\n } else if (\n (others.sipType.value === NEW || schemeType === NEW) &&\n !category.value\n ) {\n this.setState({ category: { ...category, isError: true } });\n this.categoryField.focus();\n return;\n } else if (\n (others.sipType.value === NEW || others.sipType.value === NEWP) &&\n (!email.value ||\n !/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(email.value))\n ) {\n this.setState({\n email: {\n ...email,\n isError: true,\n errorMessage: \"Please enter an valid Email ID\",\n },\n });\n this.emailField.focus();\n return;\n } else if (\n others.sipType.value === NEW &&\n (!mobile.value || !/^[6-9]\\d{9}$/.test(mobile.value))\n ) {\n this.setState({ mobile: { ...mobile, isError: true } });\n this.mobileField.focus();\n return;\n } else if (radioValue.value === \"no\" && !euinNo.value) {\n this.setState({\n euinNo: { ...euinNo, isError: true },\n });\n this.euinField.focus();\n return;\n } else if (\n (others.sipType.value === NEW || others.sipType.value === \"EXISTINGP\") &&\n (!investmentAmount.value ||\n parseFloat(investmentAmount.value) <\n parseFloat(this.state.minimumLumpsumAmout))\n ) {\n if (\n parseFloat(investmentAmount.value) <\n parseFloat(this.state.minimumLumpsumAmout)\n ) {\n this.setState({\n investmentAmount: {\n value: \"\",\n isError: true,\n errorMessage: `Lumpsum amount should be more than ${this.state.minimumLumpsumAmout}`,\n },\n });\n } else {\n this.setState({\n investmentAmount: { ...investmentAmount, isError: true },\n });\n }\n\n this.investmentAmount.focus();\n return;\n } else if (arn[1] === this.state.subArnCode.value) {\n this.setState({\n subArnCode: {\n value: \"\",\n isError: true,\n errorMessage: `and ARN code should not match `,\n },\n });\n } else if (\n !!others.investmentFrequency.value &&\n !!others.investmentFrequency.value.Minimum_Instalment &&\n this.state.installments.value <\n others.investmentFrequency.value.Minimum_Instalment &&\n others.investmentFrequency.value.FrequencyID !== \"Quarterly\" &&\n !perpetualSip\n ) {\n this.installmentsField.focus();\n this.setState({\n installments: {\n value: \"\",\n isError: true,\n errorMessage: `Please check minimum no of installments`,\n },\n });\n } else if (\n this.state.minAmountValue.value > this.state.installmentAmount.value\n ) {\n this.setState({\n installmentAmount: {\n value: \"\",\n isError: true,\n errorMessage: `Installment Amount should be ${this.state.minAmountValue.value}(₹)`,\n },\n });\n this.installmentAmount.focus();\n return;\n }\n // else if (+this.state.installmentAmount.value > 1000000) {\n // this.setState({\n // installmentAmount: {\n // value: \"\",\n // isError: true,\n // errorMessage: `Installment Amount should be less than or equal to 1,000,000(₹)`,\n // },\n // });\n // this.installmentAmount.focus();\n // return;\n // }\n else if (\n !!others.investmentFrequency.value &&\n this.state.installments.value < 4 &&\n others.investmentFrequency.value.FrequencyID === \"Quarterly\" &&\n !perpetualSip\n ) {\n this.setState({\n installments: {\n value: \"\",\n isError: true,\n errorMessage: `Please check minimum no of installments`,\n },\n });\n } else if (this.state.installmentAmount.value > this.props.enachMaxAmount) {\n this.setState({\n installmentAmount: {\n value: \"\",\n isError: true,\n errorMessage: `Installment Amount should be less than or equal to ${this.props.enachMaxAmount}(₹)`,\n },\n });\n this.installmentAmount.focus();\n return;\n } else if (d1 > d2) {\n this.setState({\n sip_end_date: {\n value: \"\",\n isError: true,\n errorMessage: `SIP end date cannot exceed mandate validity\n date of ${selectedKotm.value[\"MANDATE END DATE\"]}.`,\n },\n });\n return;\n } else {\n this.props.setSipDetails(this.state);\n const family_email_relationship = !!this.state.Family_Code_Email.value\n .value\n ? family_description_codes.find(\n (ele) =>\n ele.family_code === this.state.Family_Code_Email.value.value\n )\n : \"\";\n const family_mobile_relationship = !!this.state.Family_Code_Phone.value\n .value\n ? family_description_codes.find(\n (ele) =>\n ele.family_code === this.state.Family_Code_Phone.value.value\n )\n : \"\";\n if (\n others.sipType.value === NEW ||\n others.sipType.value === NEWP ||\n others.sipType.value === \"EXISTINGP\"\n ) {\n const { investorData } = this.props;\n const params = {\n InvestorName: this.state.invName.value || \"\",\n i_entby: this.props.userId,\n trtype: PURCHASE,\n Desci: \"YES~W\",\n SubbrokerArn: !!this.state.subArnCode.value\n ? `ARN-${subArnCode.value}`\n : \"\",\n ARNCode: this.state.arnCode.value,\n EuinCode:\n this.state.radioValue.value === \"no\"\n ? this.state.euinNo.value.value\n : \"\",\n i_Userid: this.props.userId,\n CountryCode: this.state.code.value,\n Mobile: this.state.mobile.value,\n PanNo: investorData.PAN || this.state.pan.value,\n Email: this.state.email.value,\n i_Acno:\n others.sipType.value === \"EXISTINGP\"\n ? this.state.folio.value.value\n : \"0\",\n Subbroker: this.state.subBrokerCode.value,\n i_Fund: \"102\",\n customfund: \"102\",\n\n i_UntAmtValue:\n this.state.sipType.value === NEW ||\n this.state.sipType.value === \"EXISTINGP\"\n ? this.state.investmentAmount.value\n : \"\",\n EUINFlag: this.state.radioValue.value === \"no\" ? NO : YES,\n EuinValid: this.state.radioValue.value === \"no\" ? NO : YES,\n noofinstallments: this.state.installments.value,\n i_Scheme:\n this.state.scheme.value.value.Sch ||\n this.state.scheme.value.value.fm_scheme,\n i_Plan:\n this.state.scheme.value.value.Pln ||\n this.state.scheme.value.value.fm_plan,\n i_Option:\n this.state.scheme.value.value.Opt ||\n this.state.scheme.value.value.fm_option,\n i_oldihno: \"0\",\n i_InvDistFlag: \"W\",\n sipenddt: new Date(\n this.state.sip_end_date.value.split(\"/\").reverse().join(\"/\")\n ).toLocaleDateString(\"en-US\"),\n sipstartdt: new Date(\n this.state.sip_start_date.value.split(\"/\").reverse().join(\"/\")\n ).toLocaleDateString(\"en-US\"),\n sipfrequency: this.state.investmentFrequency.value.FrequencyID,\n sipamount: this.state.installmentAmount.value,\n ModuleName: \"Webile\",\n paymode: this.state.mode.value,\n fEmailFlag: this.state.Family_Code_Email.value.value,\n fMobileFlag: this.state.Family_Code_Phone.value.value,\n UMRN: this.state.selectedKotm?.value?.UMRNNO,\n };\n\n const response = await this.props.submitPurchaseData(params);\n if (response) {\n const {\n DtData: [purchaseData],\n } = response;\n const confirmationParams = {\n Trtype: PURCHASE,\n fund: \"102\",\n customfund: \"102\",\n Refno: purchaseData.refno,\n ModuleName: \"Webile\",\n };\n const confirmationResponse =\n await this.props.showPurchaseConfirmation(confirmationParams);\n\n if (confirmationResponse) {\n this.props.saveTransactionDetails(this.state);\n this.props.history.push({\n pathname: NEW_TRANSACTION_URL + \"/sip/digital/transact/confirm\",\n state: {\n title: \"SIP\",\n type: SIP,\n transactiontype: this.state.sipType.value,\n mode: this.state.mode.value,\n fEmailFlag: family_email_relationship,\n fMobileFlag: family_mobile_relationship,\n InvestorEmail:\n this.state.sipType.value === NEW ||\n this.state.sipType.value === NEWP\n ? this.state.email.value\n : \"\",\n InvestorMobile:\n this.state.sipType.value === NEW ||\n this.state.sipType.value === NEWP\n ? this.state.mobile.value\n : \"\",\n arnCode: this.state.arnCode.value,\n scheme: {\n Fund: \"102\",\n },\n perpetual: perpetualSip,\n UMRN: this.state.selectedKotm?.value?.UMRNNO,\n },\n });\n }\n }\n } else {\n this.props.saveTransactionDetails(this.state);\n this.props.history.push({\n pathname:\n this.state.mode.value === \"ENACH\"\n ? `/new-transaction/sip/digital/modes/enach-folios/transact/confirm`\n : `/new-transaction/sip/digital/modes/transact/confirm`,\n state: {\n title: \"SIP\",\n type: SIP,\n mode: this.state.mode.value,\n InvestorEmail:\n this.state.sipType.value === NEW ||\n this.state.sipType.value === NEWP\n ? this.state.email.value\n : \"\",\n InvestorMobile:\n this.state.sipType.value === NEW ||\n this.state.sipType.value === NEWP\n ? this.state.mobile.value\n : \"\",\n arnCode: this.state.arnCode.value,\n Folio: { value: this.state.folio.value.value },\n scheme: {\n Fund: \"102\",\n },\n perpetual: perpetualSip,\n isEnach: this.state.mode.value === \"ENACH\",\n UMRN: this.state.selectedKotm?.value?.UMRNNO,\n },\n });\n }\n }\n };\n\n render() {\n console.log(\"this.state\",this.state)\n const {\n sipType,\n schemeType,\n fund,\n sipTypes,\n mode,\n modes,\n folios,\n folio,\n arnCode,\n subArnCode,\n subBrokerCode,\n categories,\n category,\n schemes,\n scheme,\n euinNo,\n radioValue,\n\n frequencies,\n investmentFrequency,\n sipDays,\n sipDay,\n installments,\n sip_end_date,\n sip_start_date,\n installmentAmount,\n investmentAmount,\n email,\n mobile,\n invName,\n Family_Code_Email,\n Family_Code_Phone,\n kotm,\n selectedKotm,\n } = this.state;\n const { euinList } = this.props;\n\n return (\n
\n
SIP Registration
\n {this.state.mode.value !== \"ENACH\" && (\n
\n (this.sipTypeField = ele)}\n isError={sipType.isError}\n errorMessage={sipType.errorMessage}\n >\n {sipTypes.map((item, index) => (\n \n {item.label}\n \n ))}\n \n
\n )}\n\n {/* {(sipType.value === NEW || sipType.value === NEWP) && (\n\n )} */}\n {(sipType.value === NEW || sipType.value === NEWP) && (\n
\n
\n (this.invNameField = ele)}\n />\n
\n
\n
\n Email Family Description\n
\n ({\n label: item.family_description,\n value: item.family_code,\n }))}\n value={Family_Code_Email.value}\n placeholder=\"Select Family Description\"\n handleChange={this.FamilyDescriptionEmail}\n />\n
\n
\n (this.emailField = ele)}\n />\n
\n
\n
\n Mobile Family Description\n
\n ({\n label: item.family_description,\n value: item.family_code,\n }))}\n value={Family_Code_Phone.value}\n placeholder=\"Select Phone Description\"\n handleChange={this.FamilyDescriptionPhone}\n />\n
\n
\n (this.codeField = ele)}\n okKeyDown={(e) => {\n const keys = [\n \"Backspace\",\n \"Delete\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"+\",\n ];\n if (isNaN(e.key) && !keys.includes(e.key)) {\n e.preventDefault();\n }\n }}\n />\n
\n
\n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n type=\"number\"\n onChange={this.changeValue(\"mobile\")}\n onBlur={this.showError(\"mobile\")}\n isShowError={mobile.isError}\n errorMessage={mobile.errorMessage}\n inputref={(ele) => (this.mobileField = ele)}\n />\n
\n
\n )}\n\n {(this.state.mode.value === \"ENACH\" ||\n sipType.value === EXISTING ||\n sipType.value === \"EXISTINGP\") && (\n
\n
\n
Folio*
\n ({\n label: item,\n value: item,\n }))}\n value={\n this.state.mode.value === \"ENACH\"\n ? this.state.folio.value\n : folio.value\n }\n placeholder=\"Select Folio\"\n handleChange={this.handleFolioChange}\n inputRef={(ele) => (this.folioField = ele)}\n // disabled={!fund.value}\n isError={folio.isError}\n errorMessage={folio.errorMessage}\n />\n
\n
Select Scheme Type*
\n
\n \n \n
\n
\n )}\n\n {(schemeType === NEW ||\n sipType.value === NEW ||\n sipType.value === NEWP) && (\n
\n (this.categoryField = ele)}\n isError={category.isError}\n errorMessage={category.errorMessage}\n >\n {categories.map((item, index) => (\n \n {item.CatDesc}\n \n ))}\n \n
\n )}\n
\n
Scheme*
\n ({\n label: item.PlnDesc\n ? `${item.SchDesc1} - ${item.PlnDesc} - ${item.OptDesc}`\n : item.fm_schdesc,\n value: item,\n }))}\n value={scheme.value}\n placeholder=\"Select Scheme\"\n // handleInputchange={this.handleInputChange}\n handleChange={this.handleSchemeChange}\n disabled={\n schemeType === EXISTING &&\n (sipType.value === EXISTING || sipType.value === \"EXISTINGP\")\n ? !folio.value\n : !category.value\n }\n inputRef={(ele) => (this.schemeField = ele)}\n isError={scheme.isError}\n errorMessage={scheme.errorMessage}\n />\n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n {/*
\n
EUIN Declaration*
\n \n \n
\n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
YES
\n
\n
\n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
NO
\n
\n \n
\n
*/}\n {radioValue.value === \"no\" ? (\n
\n
EUIN Selection*
\n\n ({\n value: item.abm_agent,\n label: item.abm_agent,\n }))}\n errorMessage={euinNo.errorMessage}\n value={euinNo.value}\n placeholder=\"Select EUIN\"\n handleChange={this.changeEuin}\n disabled={!euinList.length}\n inputRef={(ele) => (this.euinField = ele)}\n isError={euinNo.isError}\n />\n
\n ) : (\n
\n I/We hereby confirm that the EUIN box has been intentionally left\n the blank by me/us as this is an 'execution-only' transaction\n without any interaction or advice by any personnel of the above\n distributor or notwithstanding the advice of in-appropriateness,if\n any provided by any personnel of the distributor and the distributor\n has not charged any advisory fees on this transaction\n
\n )}\n\n
\n (this.investmentFrequency = ele)}\n isError={investmentFrequency.isError}\n errorMessage={investmentFrequency.errorMessage}\n >\n {frequencies.map((item, index) => (\n \n {item.FrequencyDescription}\n \n ))}\n \n
\n\n
\n (this.installmentsField = ele)}\n errorMessage={installments.errorMessage}\n disabled={installments.disabled}\n placeholder={installments.placeholder}\n />\n
\n
\n \n {modes.map((item, index) => (\n \n {item.Pay_Mode}\n \n ))}\n \n
\n {kotm && (\n
\n
\n (this.kotmField = ele)}\n isError={selectedKotm.error}\n errorMessage={selectedKotm.errorMessage}\n disabled={this.state?.umrn.length === 1 ? true : false}\n >\n {this.state.umrn.map((item, index) => (\n \n {item.UMRNNO}\n \n ))}\n \n
\n
\n {this.state?.umrn.length === 1 && (\n
\n The investor has only one active KOTM mandate.\n
\n )}\n
\n
\n )}\n {kotm && (\n
\n
\n
Mandate amount limit
\n
Start Date
\n
End Date
\n
Bank Name
\n
Bank Account No
\n
\n
\n
\n {selectedKotm.value ? selectedKotm.value.Amt : \"\"}\n (INR)\n
\n
\n {selectedKotm.value\n ? selectedKotm.value[\"MANDATE START DATE\"]\n : \"\"}{\" \"}\n
\n
\n {selectedKotm.value\n ? selectedKotm.value[\"MANDATE END DATE\"]\n : \"\"}\n
\n
\n {selectedKotm.value ? selectedKotm.value[\"BANK NAME\"] : \"\"}\n
{\" \"}\n
\n {selectedKotm.value ? selectedKotm.value[\"BANK A/C NO\"] : \"\"}\n
\n
\n
\n )}\n
\n
SIP Day*
\n ({\n value: item.sip_cycleid,\n label: item.sip_cycleid,\n }))}\n value={sipDay.value}\n placeholder=\"SIP Day\"\n handleChange={this.changeSipDay}\n // disabled={!investmentFrequency.value || !installments.value}\n inputRef={(ele) => (this.sipDay = ele)}\n isError={sipDay.isError}\n errorMessage={sipDay.errorMessage}\n />\n
\n
\n \n
\n\n
\n \n
\n\n {!!sip_start_date && !!sip_start_date.value && (\n \n \n
Perpetual SIP
\n
\n )}\n\n
\n
\n
Minimum Amount
\n {(sipType.value === NEW || sipType.value === \"EXISTINGP\") && (\n
Minimum Lumpsum Investment Amount
\n )}\n
\n
\n
\n {!!this.state.minAmountValue\n ? this.state.minAmountValue.value\n : \"\"}\n (₹)\n
\n {(sipType.value === NEW || sipType.value === \"EXISTINGP\") && (\n
{this.state.minimumLumpsumAmout}(₹)
\n )}\n
\n
\n\n
\n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n bordercolor=\"#a6a6a6\"\n value={installmentAmount.value}\n onChange={this.changeValue(\"installmentAmount\")}\n type=\"number\"\n onBlur={this.showError(\"installmentAmount\")}\n isShowError={installmentAmount.isError}\n inputref={(ele) => (this.installmentAmount = ele)}\n errorMessage={installmentAmount.errorMessage}\n />\n
\n\n {(sipType.value === NEW || sipType.value === \"EXISTINGP\") && (\n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n bordercolor=\"#a6a6a6\"\n value={investmentAmount.value}\n onChange={this.changeValue(\"investmentAmount\")}\n type=\"number\"\n onBlur={this.showError(\"investmentAmount\")}\n isShowError={investmentAmount.isError}\n inputref={(ele) => (this.investmentAmount = ele)}\n errorMessage={investmentAmount.errorMessage}\n />\n )}\n {!!this.props.enachMaxAmount && (\n \n Note:\n {`As per the ENACH Registration - Maximum Amount is Rs. ₹ ${this.props.enachMaxAmount}`}\n \n )}\n {!!this.props.enachBank && (\n \n Bank account number:{\" \"}\n {this.props.enachBank}\n \n )}\n {!!this.props.umr && (\n \n UMRN number:{\" \"}\n {this.props.umr}\n \n )}\n
\n \n
\n \n );\n }\n}\n\nexport default connect(\n ({ authReducer, transactions }) => {\n const {\n fundList,\n token,\n userId,\n investorData,\n communicationDetails,\n enachBank,\n umr,\n enachStartDate,\n enachEndDate,\n enachMaxAmount,\n } = authReducer;\n const {\n transactionDetails,\n euinList,\n fundsList,\n sipDetails = {},\n } = transactions;\n return {\n fundList,\n token,\n userId,\n euinList,\n investorData,\n communicationDetails,\n fundsList,\n sipDetails,\n enachBank,\n umr,\n enachStartDate,\n enachEndDate,\n enachMaxAmount,\n transactionDetails,\n };\n },\n {\n validateSubBroker,\n swpOptions,\n getNewPurchaseFundList,\n EBamountValidation,\n getOtherSchemes,\n getAssetClasses,\n CalcSIPEnddt,\n setSipDetails,\n getCheckPanKotm,\n getCheckPanAotm,\n submitPurchaseData,\n showPurchaseConfirmation,\n getMinimumAmount,\n saveTransactionDetails,\n }\n)(Sip);\nexport const family_description_codes = [\n {\n family_description: \"Self\",\n family_code: \"SE\",\n },\n {\n family_description: \"Spouse\",\n family_code: \"SP\",\n },\n {\n family_description: \"Dependent Children\",\n family_code: \"DC\",\n },\n {\n family_description: \"Dependent Siblings\",\n family_code: \"DS\",\n },\n {\n family_description: \"Dependent Parents\",\n family_code: \"DP\",\n },\n {\n family_description: \"Guardian\",\n family_code: \"GD\",\n },\n];\n","import React, { Component } from \"react\";\nimport CustomizedSelect from \"./customizedSelect\";\nimport { Input } from \"../../forms/input\";\nimport Signbutton from \"../../forms/button\";\nimport { connect } from \"react-redux\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport { YES, SWP } from \"../../../store/types\";\nimport {\n swpOptions,\n CalcSIPEnddt,\n getMinimumAmount,\n saveTransactionDetails,\n} from \"../../../store/actions\";\nimport { NEW_TRANSACTION_URL } from \".\";\nimport IntegrationReactSelect from \"../../forms/autoCompleteInput\";\nimport { textAlign } from \"@material-ui/system\";\n// import { BajajFund } from \"../nav\";\nclass Swp extends Component {\n constructor(props) {\n super(props);\n const { fundList } = this.props;\n // const funds = fundList.reduce((prev, curr) => {\n // const findIndex =\n // prev.findIndex((fund) => fund.Fund === curr.Fund) !== -1;\n // if (!findIndex) {\n // return [...prev, { Fund: curr.Fund, FundDesc: curr.FundDesc }];\n // }\n // return prev;\n // }, []);\n\n this.state = {\n // funds,\n minAmountValue: { value: \"\" },\n fund: { value: { value: \"102\" } },\n folios: [],\n folio: { value: \"\" },\n schemes: [],\n scheme: { value: \"\" },\n swpOption: { value: \"\" },\n swpOptions: [],\n swpFrequency: { value: \"\" },\n swpFrequencyOptions: [],\n withdrawals: { value: \"\" },\n minAmountValue: { value: \"\" },\n sipDay: { value: \"\" },\n sipStartDate: { value: \"\" },\n sipEndDate: { value: \"\" },\n amount: { value: \"\" },\n sipCycle: [],\n minswp : {value : 0}\n };\n }\n handleFundChange = (value) => {\n if (!value) {\n this.setState({\n fund: { value: \"\" },\n folios: [],\n folio: { value: \"\" },\n schemes: [],\n scheme: { value: \"\" },\n swpOption: { value: \"\" },\n swpOptions: [],\n swpFrequency: { value: \"\" },\n swpFrequencyOptions: [],\n withdrawals: { value: \"\" },\n sipDay: { value: \"\" },\n sipStartDate: { value: \"\" },\n sipEndDate: { value: \"\" },\n amount: { value: \"\" },\n sipCycle: [],\n });\n } else if (value.value === this.state.fund.value.value) {\n return;\n } else {\n const fund = !!value ? value.value : \"\";\n const folios = this.props.fundList.reduce((prev, curr) => {\n if (curr.sFlag === YES && curr.Fund === fund) {\n return [...prev, curr.Acno];\n }\n return prev;\n }, []);\n this.setState({\n fund: { value },\n folios: Array.from(new Set(folios)),\n folio: { value: \"\" },\n scheme: { value: \"\" },\n withdrawals: { value: \"\" },\n swpFrequency: { value: \"\" },\n });\n }\n };\n\n async componentDidMount() {\n window.scrollTo({\n behavior: \"smooth\",\n top: 0,\n });\n const { transactionDetails } = this.props;\n if (Object.keys(transactionDetails).length > 0) {\n this.setState(transactionDetails);\n return;\n }\n this.getfolios();\n }\n\n getfolios = () => {\n const folios = this.props.fundList.reduce((prev, curr) => {\n if (curr.sFlag === YES && curr.Fund.trim() === \"102\") {\n return [...prev, curr.Acno];\n }\n return prev;\n }, []);\n this.setState({\n fund: { value: { value: \"102\" } },\n folios: Array.from(new Set(folios)),\n folio: { value: \"\" },\n scheme: { value: \"\" },\n withdrawals: { value: \"\" },\n swpFrequency: { value: \"\" },\n });\n };\n\n handleFolioChange = async (value) => {\n const folio = !!value ? value.value : \"\";\n const schemes = !!value ? this.schemes(folio) : [];\n // const banks = this.props.bankDetails.filter(item => item.foliono === folio);\n this.setState({\n folio: { value },\n schemes,\n scheme: { value: \"\" },\n });\n };\n schemes = (folio) => {\n return this.props.fundList.reduce((prev, curr) => {\n if (curr.Fund === this.state.fund.value.value && curr.Acno === folio) {\n return [...prev, curr];\n }\n return prev;\n }, []);\n };\n\n handleSchemeChange = async (value) => {\n if (!value) {\n this.setState({\n swpOption: { value: \"\" },\n swpOptions: [],\n swpFrequency: { value: \"\" },\n swpFrequencyOptions: [],\n withdrawals: { value: \"\" },\n sipDay: { value: \"\" },\n sipStartDate: { value: \"\" },\n sipEndDate: { value: \"\" },\n amount: { value: \"\" },\n sipCycle: [],\n });\n } else if (\n !!value &&\n !!this.state.scheme.value.value &&\n value.value.SchDesc === this.state.scheme.value.value.SchDesc\n ) {\n return;\n } else {\n if (value.value.BalUnits === 0) {\n this.setState({\n folio: {\n value: \"\",\n isError: true,\n errorMessage: \"SWP in zero balance folios is not allowed\",\n },\n scheme: {\n value: \"\",\n },\n });\n } else {\n const params = {\n fund: this.state.fund.value.value,\n opt: \"SWPW\",\n customfund: \"102\",\n };\n let swpOptionsResponse = [];\n const response = await this.props.swpOptions(params);\n if (response) {\n swpOptionsResponse = response.Dtinformation;\n }\n this.setState({\n scheme: { value },\n swpOptions: swpOptionsResponse,\n });\n this.handleSwpOptonChange({ target: { value: swpOptionsResponse[0] } });\n }\n }\n };\n handleSwpOptonChange = async (event) => {\n if (\n !!this.state.swpOption.value &&\n event.target.value.code === this.state.swpOption.value.code\n ) {\n this.setState({\n swpOption: { value: event.target.value },\n })\n return;\n } else {\n const swpOption = event.target.value;\n const params = {\n opt: \"SWF\",\n fund: this.state.fund.value.value,\n };\n const response = await this.props.swpOptions(params);\n const swpFrequencyOptionsResponse = response.Dtinformation;\n\n this.setState({\n swpOption: { value: swpOption },\n withdrawals: { value: \"\" },\n swpFrequency: { value: \"\" },\n swpFrequencyOptions: swpFrequencyOptionsResponse,\n });\n }\n };\n\n handleSwpFrequencyChange = async (event) => {\n const swpFrequency = event.target.value;\n const params = {\n opt: \"SWPD\",\n fund: this.state.fund.value.value,\n astscheme:\n !!event.target.value && !!event.target.value.FrequencyDescription\n ? event.target.value.FrequencyDescription\n : \"\",\n };\n const response = await this.props.swpOptions(params);\n const sipCycleResponse = response.Dtinformation;\n\n this.setState({\n swpFrequency: { value: swpFrequency },\n sipDay: { value: \"\" },\n minswp : {value: event.target.value.Minimum_Instalment},\n sipStartDate: { value: \"\" },\n sipEndDate: { value: \"\" },\n sipCycle: sipCycleResponse,\n minAmountValue: {\n value: 1000,\n },\n });\n };\n\n handleNoOfWithDrawals(event) {\n if (event.target.value.length <= 4 && !!event.target.value) {\n if (parseFloat(event.target.value) <= 1200 && event.target.value !== \"0\") {\n this.setState({\n withdrawals: {\n value: parseFloat(event.target.value.replace(/^0+/, \"\")),\n },\n sipStartDate: { value: \"\" },\n sipEndDate: { value: \"\" },\n sipDay: { value: \"\" },\n // swpFrequency: { value: \"\" },\n });\n } else {\n this.setState({\n withdrawals: {\n value: \"\",\n isError: true,\n errorMessage: !!event.target.value\n ? \"no of withdrwals should not be more than 1200\"\n : \"\",\n },\n sipStartDate: { value: \"\" },\n sipEndDate: { value: \"\" },\n sipDay: { value: \"\" },\n // swpFrequency: { value: \"\" },\n });\n }\n } else if (!event.target.value) {\n this.setState({\n withdrawals: {\n value: \"\",\n isError: true,\n errorMessage:\n !!event.target.value && event.target.value !== \"0\"\n ? \"no of withdrawals should not be more than 500\"\n : event.target.value === \"0\"\n ? \"no of withdrwals should not be zero\"\n : \"please enter the minimum no of withdrawals\",\n },\n sipStartDate: { value: \"\" },\n sipEndDate: { value: \"\" },\n sipDay: { value: \"\" },\n });\n }\n }\n async handleSwpDay(event) {\n const day = event.target.value;\n this.setState({\n sipDay: { value: day },\n });\n if (day) {\n const params = {\n Fund: this.state.fund.value.value,\n StartDate: day,\n installments: this.state.withdrawals.value,\n Frequency: this.state.swpFrequency.value.FrequencyDescription,\n trtype: \"SWP\",\n sch: this.state.scheme.value.value.Sch,\n };\n\n const response = await this.props.CalcSIPEnddt(params);\n\n const sipStartDateResponse = response.DtData[0].SIP_StartDate;\n const sipEndDateResponse = response.DtData[0].SIP_EndDate;\n\n if (!!sipEndDateResponse) {\n const reformSIPEndDT = sipEndDateResponse.split(\"/\");\n if (parseFloat(reformSIPEndDT[2]) > 2099 ) {\n this.setState({\n sipDay: { value: \"\" },\n swpFrequency: { value: \"\" },\n sipStartDate: { value: \"\" },\n sipEndDate: { value: \"\" },\n withdrawals: {\n value: \"\",\n isError: true,\n errorMessage:\n \"Your SIP withdrawals are going beyond 2099, select lesser number of withdrawals.\",\n },\n });\n } else if (parseFloat(reformSIPEndDT[2]) <= 2099) {\n this.setState({\n sipDay: { value: day },\n sipStartDate: { value: sipStartDateResponse },\n sipEndDate: { value: sipEndDateResponse },\n });\n }\n }\n }\n }\n\n showError = (label) => () => {\n const {\n [label]: { value },\n } = this.state;\n\n if (label === \"withdrawals\") {\n this.setState({\n [label]: {\n value,\n isError: this.state.withdrawals.value < this.state.minswp.value ? true : !value,\n errorMessage:\n this.state.withdrawals.value < this.state.minswp.value\n ? \"Number of withdrawals should be greater than or equal to the minimum number of installments mentioned above\"\n : \"\",\n },\n });\n }\n else if (label === \"amount\") {\n this.setState({\n [label]: {\n value,\n isError:\n +this.state.minAmountValue.value > +this.state.amount.value\n ? true\n : !value,\n errorMessage:\n +this.state.minAmountValue.value > +this.state.amount.value\n ? `Amount should be min ${this.state.minAmountValue.value}`\n : \"\"\n }\n });\n return;\n }\n else {\n this.setState({\n [label]: {\n value,\n isError: !value,\n errorMessage: `${label} is mandatory*`,\n },\n });\n }\n };\n\n handleMinimumAmount(event) {\n if (event.target.value.length <= 10) {\n this.setState({\n amount: { value: parseFloat(event.target.value.replace(/^0+/, \"\")) },\n });\n }\n }\n\n submit = () => {\n let currValue;\n\n if (!!this.state.scheme.value) {\n currValue = parseFloat(\n this.state.scheme.value.value.CurValue.replace(/,/g, \"\")\n );\n }\n if (Number(this.state.amount.value) >= currValue) {\n this.setState({\n amount: {\n value: \"\",\n isError: true,\n errorMessage: \"Amount is greater than the current value\",\n },\n });\n return;\n }\n if (\n this.state.withdrawals.value * Number(this.state.amount.value) >\n currValue\n ) {\n this.setState({\n amount: {\n value: \"\",\n isError: true,\n errorMessage: \"Installmentwise enter the greater than current value\",\n },\n });\n return;\n }\n if (this.state.amount.errorMessage && this.state.amount.errorMessage !== \"\") { return; }\n if (this.state.swpOption.value.code!==\"C\" && !this.state.amount.value) {\n this.setState({\n amount: {\n value: \"\",\n isError: true,\n errorMessage: \"(Investment amount is mandatory)\",\n },\n });\n return;\n }\n if (\n !!this.state.scheme.value &&\n !!this.state.amount.value &&\n parseInt(this.state.scheme.value.value.CurValue.replace(/,/g, \"\")) <\n parseInt(this.state.amount.value)\n ) {\n this.setState({\n amount: {\n value: \"\",\n isError: true,\n errorMessage: `(Withdrawal amount is more than Current Value)`,\n },\n });\n return;\n }\n\n const {\n funds,\n folios,\n schemes,\n swpOptions,\n swpFrequencyOptions,\n // withdrawals,\n sipStartDate,\n sipEndDate,\n amount,\n sipCycle,\n bank,\n banks,\n ...others\n } = this.state;\n const keys = Object.keys(others);\n const findError = keys.every((key) => !!others[key].value);\n if (!findError) {\n keys.forEach((key) => {\n !others[key].value &&\n this.setState({\n [key]: {\n ...others[key],\n isError: true,\n errorMessage: `${\n key === \"sipDay\"\n ? \"SWP day\"\n : key === \"swpFrequency\"\n ? \"With-drawal frequency\"\n : key === \"swpOption\"\n ? \"With-drawal option\"\n : key === \"folio\"\n ? \"Folio\"\n : key === \"withdrawals\"\n ? \"Withdrawals\"\n : key === \"scheme\"\n ? \"Scheme\"\n : \"\"\n } is mandatory`,\n },\n });\n });\n const firstErroredKey = keys.find((key) => !others[key].value);\n switch (firstErroredKey) {\n case \"fund\": {\n this.fundField.focus();\n break;\n }\n case \"folio\": {\n this.folioField.focus();\n break;\n }\n case \"scheme\": {\n this.schemeField.focus();\n break;\n }\n case \"swpOption\": {\n this.swpOptionField.focus();\n break;\n }\n case \"sipDay\": {\n this.sipDayField.focus();\n break;\n }\n case \"swpFrequency\": {\n this.swpFrquencyField.focus();\n break;\n }\n }\n } else if (this.state.withdrawals.value < 2) {\n this.setState({\n withdrawals: {\n value: \"\",\n isError: true,\n errorMessage: `Please check the minimum With-drawals value`,\n },\n });\n } else if (\n (parseFloat(this.state.amount.value) < this.state.minAmountValue.value ||\n !this.state.amount.value) &&\n this.state.swpOption.value.Description === \"FIXED\"\n ) {\n this.setState({\n amount: {\n value: \"\",\n isError: true,\n errorMessage: `Minimum amount is ${this.state.minAmountValue.value}(₹)`,\n },\n });\n // }\n // else {\n // this.setState({\n // amount: {\n // value: \"\",\n // isError: true,\n // errorMessage: \"(*Amount should not be greater than Current Value)\"\n // }\n // });\n // }\n // return;\n } else {\n const { funds, folios, schemes, swpFrequencyOptions, ...others } =\n this.state;\n this.props.saveTransactionDetails(this.state);\n this.props.history.push({\n pathname: NEW_TRANSACTION_URL + \"/swp/digital/transact/confirm\",\n state: {\n title: \"SWP Payment Summary\",\n type: SWP,\n Folio: { value: others.scheme.value.value.Acno },\n withDrawals: others.withdrawals.value,\n scheme: others.scheme.value.value,\n swpFrequency: others.swpFrequency.value,\n sipEndDate: others.sipEndDate.value,\n swpOption: others.swpOption.value,\n sipStartDate: others.sipStartDate.value,\n amount: others.amount.value,\n sipDay: others.sipDay.value,\n },\n });\n }\n };\n render() {\n const {\n funds,\n fund,\n folio,\n folios,\n scheme,\n schemes,\n swpOption,\n swpOptions,\n swpFrequency,\n swpFrequencyOptions,\n withdrawals,\n sipDay,\n sipStartDate,\n sipEndDate,\n sipCycle,\n amount,\n minswp\n } = this.state;\n return (\n
\n
SWP Plan
\n
\n
Folio*
\n ({\n label: item,\n value: item,\n }))}\n disabled={!fund.value}\n value={folio.value}\n placeholder=\"Select Folio\"\n handleChange={this.handleFolioChange}\n inputRef={(ele) => (this.folioField = ele)}\n isError={folio.isError}\n errorMessage={folio.errorMessage}\n />\n
\n
\n
Scheme*
\n ({\n label: item.PlnDesc\n ? `${item.SchDesc1} - ${item.PlnDesc} - ${item.OptDesc}`\n : item.fm_schdesc,\n value: item,\n }))}\n disabled={!folio.value}\n value={scheme.value}\n placeholder=\"Select Scheme\"\n handleChange={this.handleSchemeChange}\n inputRef={(ele) => (this.schemeField = ele)}\n isError={scheme.isError}\n errorMessage={scheme.errorMessage}\n />\n
\n
\n
\n {/*
Minimum Amount (₹)
*/}\n
Current Value
\n
\n
\n {/*
{!!scheme.value ? scheme.value.value.MinAmt : \"\"}
*/}\n
{!!scheme.value ? `₹${ scheme.value.value.CurValue} ` : \"\"}
\n
\n
\n
\n (this.swpOptionField = ele)}\n isError={swpOption.isError}\n errorMessage={swpOption.errorMessage}\n >\n {swpOptions.map((item, index) => (\n \n {item.Description}\n \n ))}\n \n
\n
\n (this.swpFrquencyField = ele)}\n isError={swpFrequency.isError}\n // disabled={!withdrawals.value}\n errorMessage={swpFrequency.errorMessage}\n >\n {swpFrequencyOptions.map((item, index) => (\n \n {item.FrequencyDescription}\n \n ))}\n \n
\n
\n this.handleNoOfWithDrawals(event)}\n onBlur={this.showError(\"withdrawals\")}\n isShowError={withdrawals.isError}\n errorMessage={withdrawals.errorMessage}\n disabled={!scheme.value}\n value={withdrawals.value}\n />\n
\n
\n (this.sipDayField = ele)}\n isError={sipDay.isError}\n errorMessage={sipDay.errorMessage}\n handleChange={(event) => this.handleSwpDay(event)}\n >\n {sipCycle.map((item, index) => (\n \n {item.sip_cycleid}\n \n ))}\n \n
\n
Withdrawal Period
\n
\n \n
\n\n
\n \n
\n {this.state.swpOption.value.Description === \"Fixed\" ? (\n
\n \n Minimum Amount :\n {!!this.state.minAmountValue\n ? this.state.minAmountValue.value\n : \"\"}\n (₹)\n
\n
\n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n bordercolor=\"#a6a6a6\"\n type=\"number\"\n errorMessage={amount.errorMessage}\n isShowError={amount.isError}\n onBlur={this.showError(\"amount\")}\n // disabled={redemptionType === FULL ? true : false}\n onChange={(event) => this.handleMinimumAmount(event)}\n value={amount.value}\n />\n
\n
\n ) : (\n \"\"\n )}\n
\n \n
\n \n );\n }\n}\n\nexport default connect(\n ({ authReducer, transactions }) => {\n const {\n fundList,\n token,\n userId,\n bankDetails,\n investorData,\n communicationDetails,\n } = authReducer;\n const { euinList, transactionDetails } = transactions;\n return {\n fundList,\n token,\n userId,\n euinList,\n bankDetails,\n investorData,\n communicationDetails,\n transactionDetails,\n };\n },\n { swpOptions, CalcSIPEnddt, getMinimumAmount, saveTransactionDetails }\n)(Swp);\n","import React, { Component } from \"react\";\nimport CustomizedSelect from \"./customizedSelect\";\nimport { Input } from \"../../forms/input\";\nimport Signbutton from \"../../forms/button\";\nimport { connect } from \"react-redux\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport IntegrationReactSelect from \"../../forms/autoCompleteInput\";\nimport {\n MuiPickersUtilsProvider,\n KeyboardDatePicker,\n} from \"@material-ui/pickers\";\nimport moment from \"moment\";\n\nimport DateFnsUtils from \"@date-io/date-fns\";\nimport {\n addBusinessDays,\n addDays,\n addMonths,\n addWeeks,\n isWednesday,\n format,\n} from \"date-fns\";\nimport {\n validateSubBroker,\n getAssetClasses,\n getOtherSchemes,\n swpOptions,\n CalcSIPEnddt,\n setStpDetails,\n saveTransactionDetails,\n STPMinGap,\n STPCycleDateValidation\n} from \"../../../store/actions\";\nimport { REGULAR, PURCHASE, STP } from \"../../../store/types\";\nimport Radio from \"@material-ui/core/Radio\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport { NEW_TRANSACTION_URL } from \".\";\nimport { BajajFund } from \"../nav\";\n\nclass Stp extends Component {\n constructor(props) {\n super(props);\n // const { fundList } = this.props;\n const { stpDetails } = this.props;\n // const funds = fundList.reduce((prev, curr) => {\n // const findIndex =\n // prev.findIndex((fund) => fund.Fund === curr.Fund) !== -1;\n // if (!findIndex) {\n // return [...prev, { Fund: curr.Fund, FundDesc: curr.FundDesc }];\n // }\n // return prev;\n // }, []);\n\n this.state = {\n // funds,\n fund: { value: { value: \"102\" } },\n folios: [],\n folio: { value: \"\" },\n schemes: [],\n scheme: { value: \"\" },\n radioValue: { value: \"no\" },\n arnCode: { value: this.props.token },\n subArnCode: { value: \"\" },\n euinNo: { value: \"\" },\n subBrokerCode: { value: \"\" },\n categories: [],\n category: { value: \"\" },\n switchInSchemes: [],\n switchInScheme: { value: \"\" },\n sipCycle: [],\n sipDay: { value: \"\" },\n transfers: { value: \"\" },\n sipEndDate: { value: \"\" },\n sipStartDate: { value: \"\" },\n stpDates: [],\n swpOptions: [],\n swpOption: { value: \"\" },\n amount: { value: \"\" },\n swpFrequency: { value: \"\" },\n minimumInstallments: \"\",\n multiples: \"\",\n minDate: \"\",\n ...stpDetails,\n };\n }\n\n handleFundChange = (value) => {\n if (!value) {\n this.setState({\n fund: { value: \"\" },\n folios: [],\n folio: { value: \"\" },\n subArnCode: { value: \"\" },\n euinNo: { value: \"\" },\n subBrokerCode: { value: \"\" },\n categories: [],\n category: { value: \"\" },\n switchInSchemes: [],\n switchInScheme: { value: \"\" },\n sipCycle: [],\n sipDay: { value: \"\" },\n transfers: { value: \"\" },\n sipEndDate: { value: \"\" },\n sipStartDate: { value: \"\" },\n swpOption: { value: \"\" },\n amount: { value: \"\" },\n swpFrequency: { value: \"\" },\n schemes: [],\n scheme: { value: \"\" },\n });\n return;\n } else if (value.value === this.state.fund.value.value) {\n return;\n } else {\n const fund = value.value;\n const folios = this.props.fundList.reduce((prev, curr) => {\n if (curr.Fund === fund) {\n return [...prev, curr.Acno];\n }\n return prev;\n }, []);\n this.setState({\n fund: { value },\n folios: Array.from(new Set(folios)),\n folio: { value: \"\" },\n scheme: { value: \"\" },\n schemes: [],\n subArnCode: { value: \"\" },\n euinNo: { value: \"\" },\n subBrokerCode: { value: \"\" },\n categories: [],\n category: { value: \"\" },\n switchInSchemes: [],\n switchInScheme: { value: \"\" },\n sipCycle: [],\n sipDay: { value: \"\" },\n transfers: { value: \"\" },\n sipEndDate: { value: \"\" },\n sipStartDate: { value: \"\" },\n swpOption: { value: \"\" },\n amount: { value: \"\" },\n swpFrequency: { value: \"\" },\n });\n if (!!fund) {\n this.validateBrokerCode(fund)();\n }\n }\n };\n\n async componentDidMount() {\n // Scroll to top of the window\n window.scrollTo({\n behavior: \"smooth\",\n top: 0,\n });\n \n try {\n const { transactionDetails } = this.props;\n if (Object.keys(transactionDetails).length > 0) {\n this.setState(transactionDetails);\n } else {\n // If transaction details not available, fetch SWP options\n const params = {\n fund: \"102\",\n opt: \"SWPW\",\n customfund: \"102\",\n };\n \n const response = await this.props.swpOptions(params);\n const swpOptionsResponse = response?.Dtinformation; // Ensure Dtinformation exists in response\n \n if (swpOptionsResponse) {\n // Update state with transfers and SWP options\n this.setState({\n transfers: { value: this.props.transferValue }, // Assuming transferValue is available in props\n swpOptions: swpOptionsResponse,\n });\n }\n }\n \n // Fetch additional data (assuming this is an asynchronous function call)\n this.getFolios();\n } catch (error) {\n console.error(\"Error in componentDidMount:\", error);\n // Handle error if necessary\n }\n }\n \n getFolios = () => {\n const folios = this.props.fundList.reduce((prev, curr) => {\n if (curr.Fund.trim() === \"102\") {\n return [...prev, curr.Acno];\n }\n return prev;\n }, []);\n\n this.setState({\n fund: { value: { value: \"102\" } },\n folios: Array.from(new Set(folios)),\n folio: { value: \"\" },\n scheme: { value: \"\" },\n schemes: [],\n subArnCode: { value: \"\" },\n euinNo: { value: \"\" },\n subBrokerCode: { value: \"\" },\n categories: [],\n category: { value: \"\" },\n switchInSchemes: [],\n switchInScheme: { value: \"\" },\n sipCycle: [],\n sipDay: { value: \"\" },\n transfers: { value: \"\" },\n sipEndDate: { value: \"\" },\n sipStartDate: { value: \"\" },\n swpOption: { value: \"\" },\n amount: { value: \"\" },\n swpFrequency: { value: \"\" },\n });\n this.validateBrokerCode(\"102\")();\n };\n\n validateBrokerCode = (fund) => async () => {\n const { subArnCode, arnCode } = this.state;\n if (\n !!this.state.subArnCode.value &&\n this.state.subArnCode.value === this.state.arnCode.value.split(\"-\")[1]\n ) {\n this.setState({\n subArnCode: {\n value: \"\",\n isError: true,\n errorMessage: \"ARN and Sub ARN Code should not be the same\",\n },\n });\n return;\n }\n const params = {\n Fund: \"102\",\n SubAgentCd: !!subArnCode.value ? `ARN-${subArnCode.value}` : \"\",\n AgentCd: arnCode.value,\n };\n const response = await this.props.validateSubBroker(params);\n if (!!response && !!response.DtData && response.DtData.length > 0) {\n const getLength = response.DtData.length === 1;\n let value = {\n value: response.DtData[0].abm_agent,\n label: response.DtData[0].abm_agent,\n };\n if (!!getLength) {\n this.setState({\n euinNo: { value },\n });\n }\n } else if (!response) {\n this.setState({\n subArnCode: {\n value: \"\",\n isError: true,\n errorMessage: `Please enter a valid Sub ARN Code`,\n },\n });\n }\n };\n\n handleFolioChange = (value) => {\n if (!value) {\n this.setState({\n folio: { value: \"\" },\n schemes: [],\n scheme: { value: \"\" },\n subArnCode: { value: \"\" },\n euinNo: { value: \"\" },\n subBrokerCode: { value: \"\" },\n categories: [],\n category: { value: \"\" },\n switchInSchemes: [],\n switchInScheme: { value: \"\" },\n sipCycle: [],\n sipDay: { value: \"\" },\n transfers: { value: \"\" },\n sipEndDate: { value: \"\" },\n sipStartDate: { value: \"\" },\n swpOption: { value: \"\" },\n amount: { value: \"\" },\n swpFrequency: { value: \"\" },\n });\n return;\n } else if (value.value === this.state.folio.value.value) {\n return;\n } else {\n this.getAssetClasses(value.value);\n const schemes = this.schemes(value.value);\n\n this.setState({\n folio: { value },\n schemes,\n scheme: { value: \"\" },\n });\n }\n };\n\n getAssetClasses = async (value) => {\n const params = {\n Fund: this.state.fund.value.value,\n Folio: value,\n };\n const assetClasses = await this.props.getAssetClasses(params);\n if (assetClasses) {\n this.setState({\n categories: assetClasses.DtData,\n });\n }\n };\n\n schemes = (value) => {\n return this.props.fundList.reduce((prev, curr) => {\n if (curr.Fund === this.state.fund.value.value && curr.Acno === value) {\n return [...prev, curr];\n }\n return prev;\n }, []);\n };\n handleSchemeChange = (value) => {\n if (!value) {\n this.setState({\n scheme: { value: \"\" },\n category: { value: \"\" },\n switchInSchemes: [],\n switchInScheme: { value: \"\" },\n sipCycle: [],\n sipDay: { value: \"\" },\n transfers: { value: \"\" },\n sipEndDate: { value: \"\" },\n sipStartDate: { value: \"\" },\n swpOption: { value: \"\" },\n amount: { value: \"\" },\n swpFrequency: { value: \"\" },\n });\n return;\n } else if (value.value === this.state.scheme.value.value) {\n return;\n } else {\n if (!value.value.BalUnits) {\n this.setState({\n folio: {\n value: \"\",\n isError: \"true\",\n errorMessage: \"STP in Zero balance folios is not accepted\",\n },\n scheme: { value: \"\" },\n });\n } else {\n this.setState({\n scheme: { value },\n category: { value: \"\" },\n switchInSchemes: [],\n switchInScheme: { value: \"\" },\n sipCycle: [],\n sipDay: { value: \"\" },\n transfers: { value: \"\" },\n sipEndDate: { value: \"\" },\n sipStartDate: { value: \"\" },\n swpOption: { value: \"\" },\n amount: { value: \"\" },\n swpFrequency: { value: \"\" },\n });\n }\n }\n };\n handleCategoryChange = (event) => {\n if (event.target.value) {\n this.getOtherSchemes(event.target.value);\n this.setState({\n category: { value: event.target.value },\n switchInScheme: { value: \"\" },\n sipCycle: [],\n sipDay: { value: \"\" },\n transfers: { value: \"\" },\n sipEndDate: { value: \"\" },\n sipStartDate: { value: \"\" },\n swpOption: { value: \"\" },\n });\n } else {\n this.setState({\n category: { value: \"\" },\n switchInScheme: { value: \"\" },\n });\n }\n };\n getOtherSchemes = async (value) => {\n const params = {\n schtype: REGULAR,\n category: value,\n acno: this.state.folio.value.value,\n fundCode: this.state.fund.value.value,\n trantype: \"T\",\n };\n const otherSchemes = await this.props.getOtherSchemes(params);\n\n if (otherSchemes) {\n this.setState({\n switchInSchemes: otherSchemes.DtData,\n });\n }\n };\n handleSwitchInScheme = async (value) => {\n if (!value) {\n this.setState({\n switchInScheme: { value: \"\" },\n // sipCycle: [],\n sipDay: { value: \"\" },\n transfers: { value: \"\" },\n sipEndDate: { value: \"\" },\n sipStartDate: { value: \"\" },\n swpOption: { value: \"\" },\n });\n return;\n } else if (value.value === this.state.switchInScheme.value.value) {\n return;\n } else {\n if (!!value) {\n if (\n `${value.value.fm_scheme}~${value.value.fm_plan}~${value.value.fm_option}` ===\n `${this.state.scheme.value.value.Sch}~${this.state.scheme.value.value.Pln}~${this.state.scheme.value.value.Opt}`\n ) {\n this.setState({\n switchInScheme: {\n value: \"\",\n isError: true,\n errorMessage:\n \"Transfer from Scheme and Transfer to Scheme should not be same\",\n },\n });\n } else {\n const params = {\n opt: \"SF\",\n fund: this.state.fund.value.value,\n astscheme: \"\",\n };\n const sipCycleResponse = await this.props.swpOptions(params);\n const sipCycleResponseOptions = !!sipCycleResponse\n ? sipCycleResponse.Dtinformation\n : \"\";\n this.setState({\n switchInScheme: { value },\n stpDates: sipCycleResponseOptions,\n multiples: value.multiples,\n });\n }\n }\n }\n };\n changeValue = (label) => (event) => {\n if (\n label === \"subArnCode\" ||\n (label === \"subBrokerCode\" && event.target.value.length <= 20)\n ) {\n this.setState({\n [label]: { value: event.target.value },\n });\n } else if (label === \"radioValue\" && event.target.value === \"no\") {\n if (!this.state.euinNo.value) {\n this.setState({\n radioValue: { value: event.target.value },\n });\n } else {\n this.setState({\n [label]: { value: event.target.value },\n euinNo: { value: \"\" },\n });\n }\n } else if (\n label !== \"subArnCode\" &&\n label !== \"subBrokerCode\" &&\n label === \"radioValue\" &&\n event.target.value !== \"no\"\n ) {\n this.setState({\n [label]: { value: event.target.value },\n });\n }\n };\n\n async handleSwpDay(event) {\n const day = event.target.value;\n const frequency = this.state.swpFrequency.value;\n const transfers = this.state.transfers.value;\n const x = parseFloat(this.state.transfers.value.replace(/,/g, \"\"));\n if (\n this.state.transfers.value !== \"\" &&\n (x > parseFloat(this.state.minimumInstallments) ||\n x === parseFloat(this.state.minimumInstallments))\n ) {\n const params = {\n Fund: this.state.fund.value.value,\n StartDate: day,\n installments: this.state.transfers.value,\n Frequency: this.state.swpFrequency.value,\n trtype: \"STP\",\n sch: this.state.scheme.value.value.Sch,\n };\n if (frequency === \"Weekly\") {\n const { startDate, endDate } = calculateStpDates(transfers, day);\n const reformSIPEndDT = endDate.value.split(\"/\");\n if (parseFloat(reformSIPEndDT[2]) >= 2099) {\n this.setState({\n sipDay: { value: \"\" },\n sipStartDate: { value: \"\" },\n sipEndDate: { value: \"\" },\n transfers: {\n value: \"\",\n isError: true,\n errorMessage:\n \"Your SIP installments are going beyond 2099, select lesser number of installments.\",\n },\n });\n return;\n }\n this.setState({\n sipDay: { value: day },\n sipStartDate: startDate,\n sipEndDate: endDate,\n });\n return;\n }\n\n const response = await this.props.CalcSIPEnddt(params);\n const sipStartDateResponse = response.DtData[0].SIP_StartDate;\n const sipEndDateResponse = response.DtData[0].SIP_EndDate;\n if (!!sipEndDateResponse) {\n const reformSIPEndDT = sipEndDateResponse.split(\"/\");\n if (parseFloat(reformSIPEndDT[2]) >= 2099) {\n this.setState({\n sipDay: { value: \"\" },\n sipStartDate: { value: \"\" },\n sipEndDate: { value: \"\" },\n transfers: {\n value: \"\",\n isError: true,\n errorMessage:\n \"Your SIP installments are going beyond 2099, select lesser number of installments.\",\n },\n });\n } else if (parseFloat(reformSIPEndDT[2]) < 2099) {\n this.setState({\n sipDay: { value: day },\n sipStartDate: { value: sipStartDateResponse },\n sipEndDate: { value: sipEndDateResponse },\n });\n }\n }\n }\n }\n handleChangeTransfers = async (event) => {\n const transferValue = event.target.value;\n const params = {\n fund: \"102\",\n opt: \"SWPW\",\n customfund: \"102\",\n };\n if (!this.state.swpOption.value && event.target.value.length <= 3) {\n const response = await this.props.swpOptions(params);\n const swpOptionsResponse = response.Dtinformation;\n if (!!transferValue && parseFloat(transferValue) <= 999) {\n this.setState({\n transfers: { value: transferValue },\n swpOptions: swpOptionsResponse,\n sipDay: { value: \"\" },\n sipEndDate: { value: \"\" },\n sipStartDate: { value: \"\" },\n swpOption: { value: swpOptionsResponse[0] },\n });\n } else if (!transferValue) {\n this.setState({\n transfers: {\n value: \"\",\n isError: true,\n errorMessage: !!transferValue\n ? \"no of transfers value should not be more than 999\"\n : \"transfers value is mandatory*\",\n },\n swpOptions: swpOptionsResponse,\n sipDay: { value: \"\" },\n sipEndDate: { value: \"\" },\n sipStartDate: { value: \"\" },\n swpOption: { value: \"\" },\n });\n }\n } else if (event.target.value.length <= 3) {\n this.setState({\n transfers: { value: transferValue },\n sipEndDate: { value: \"\" },\n sipDay: { value: \"\" },\n sipStartDate: { value: \"\" },\n });\n }\n };\n handleSwpOptionChange = (event) => {\n const swpOption = event.target.value;\n\n this.setState({\n swpOption: { value: swpOption },\n amount: { value: \"\" },\n });\n };\n handleChangeTransferAmount = (event) => {\n const transferAmount = event.target.value;\n if (event.target.value.length <= 10) {\n this.setState({\n amount: { value: transferAmount.replace(/^0+/, \"\") },\n });\n }\n };\n changeEuin = (value) => {\n this.setState({\n euinNo: { value },\n });\n };\n\n submit = () => {\n let currValue;\n let amountValue;\n const {\n amount,\n transfers,\n minDate,\n sipDay,\n funds,\n folios,\n schemes,\n categories,\n switchInSchemes,\n sipCycle,\n subBrokerCode,\n subArnCode,\n radioValue,\n euinNo,\n arnCode,\n swpOptions,\n stpDates,\n minimumInstallments,\n multiples,\n ...others\n } = this.state;\n if (!!this.state.scheme.value) {\n currValue = parseInt(\n this.state.scheme.value.value.CurValue.replace(/,/g, \"\")\n );\n }\n\n if (this.state.amount && this.state.amount.value) {\n amountValue = parseFloat(this.state.amount.value.replace(/,/g, \"\"));\n }\n if (\n this.state.euinNo.value.value === \"\"\n ) {\n this.setState({\n euinNo: {\n value: \"\",\n isError: true,\n errorMessage: \"EUIN No is mandatory\",\n },\n });\n }\n if (\n !!this.state.scheme.value &&\n !!this.state.amount.value &&\n parseInt(this.state.amount.value) > currValue\n ) {\n this.setState({\n amount: {\n value: \"\",\n isError: true,\n errorMessage: `(Transfer amount is more than the current Value)`,\n },\n });\n return;\n }\n\n const minAmount = 1000;\n const arn = this.state.arnCode.value.split(\"-\");\n const keys = Object.keys(others);\n\n const findError = keys.every((key) => !!others[key].value);\n if (!findError) {\n keys.forEach((key) => {\n !others[key].value &&\n this.setState({\n [key]: {\n ...others[key],\n isError: true,\n errorMessage: `${key === \"sipDay\"\n ? \"STP date\"\n : key === \"swpOption\"\n ? \"STP option\"\n : key === \"folio\"\n ? \"Folio\"\n : key === \"scheme\"\n ? \"Transfer from Scheme\"\n : key === \"category\"\n ? \"Category\"\n : key === \"switchInScheme\"\n ? \"Transfer to Scheme\"\n : key === \"swpFrequency\"\n ? \"Frequency\"\n : key === \"sipEndDate\"\n ? \"End date\"\n : key === \"sipStartDate\"\n ? \"Start date\"\n : key\n } is mandatory`,\n },\n });\n });\n const firstErroredKey = keys.find((key) => !others[key].value);\n switch (firstErroredKey) {\n case \"fund\": {\n this.fundField.focus();\n break;\n }\n case \"folio\": {\n this.folioField.focus();\n break;\n }\n case \"scheme\": {\n this.schemeField.focus();\n break;\n }\n case \"category\": {\n this.categoryField.focus();\n break;\n }\n case \"switchInScheme\": {\n this.switchInSchemeField.focus();\n break;\n }\n case \"swpOption\": {\n this.swpField.focus();\n break;\n }\n }\n } else if (\n !!this.state.subArnCode.value &&\n arn[1] === this.state.subArnCode.value\n ) {\n this.setState({\n subArnCode: {\n value: \"\",\n isError: true,\n errorMessage: `and ARN code should not match `,\n },\n });\n } else if (\n (amountValue < minAmount || this.state.amount.value === \"\") &&\n this.state.swpOption.value.Description === \"Fixed\"\n ) {\n if (this.state.amount.value === \"\") {\n this.setState({\n amount: {\n ...others[\"amount\"],\n value: \"\",\n isError: true,\n errorMessage: `Transfer amount value is mandatory`,\n },\n });\n } else if (amountValue < minAmount) {\n this.setState({\n amount: {\n ...others[\"amount\"],\n value: \"\",\n isError: true,\n errorMessage: `Minimum amount is 1000 (₹) for Monthly STP frequency`,\n },\n });\n }\n\n // else if (amountValue > currValue) {\n // this.setState({\n // amount: {\n // ...others[\"amount\"],\n // isError: true,\n // errorMessage: `(Transfer amount is more than the current Value)`\n // }\n // });\n // }\n } else if (\n +this.state.amount.value % +this.state.multiples !== 0 &&\n this.state.swpOption.value.Description === \"Fixed\"\n ) {\n this.setState({\n amount: {\n ...others[\"amount\"],\n isError: true,\n errorMessage: `Transfer amount should be multiple of ${this.state.multiples}`,\n },\n });\n return;\n } else if (\n this.state.radioValue.value === \"no\" &&\n !this.state.euinNo.value\n ) {\n this.euinField.focus();\n this.setState({\n euinNo: {\n value: \"\",\n isError: true,\n errorMessage: \"EUIN selection is mandatory\",\n },\n });\n } else if (!this.state.swpOption.value) {\n this.setState({\n swpOption: {\n value: \"\",\n isError: true,\n errorMessage: \"STP option is mandatory\",\n },\n });\n } else {\n const {\n scheme,\n amount,\n transfers,\n sipEndDate,\n swpOption,\n sipStartDate,\n sipDay,\n euinNo,\n switchInScheme,\n stpDates,\n ...stpDetails\n } = this.state;\n\n this.props.setStpDetails(this.state);\n this.props.saveTransactionDetails(this.state);\n this.props.history.push({\n pathname: NEW_TRANSACTION_URL + \"/stp/digital/transact/confirm\",\n state: {\n title: \"STP Payment Summary\",\n type: STP,\n Folio: { value: this.state.scheme.value.value.Acno },\n scheme: { Fund: \"102\" },\n ...stpDetails,\n },\n });\n }\n };\n handleSTPDates = (label) => async(event) => {\n const value = format(new Date(event), \"MM/dd/yyyy\");\n console.log(\"value\", value, label)\n\n if (label === \"EndDate\") {\n const params = {\n Frequency: this.state.swpFrequency.value,\n Fund: \"102\",\n Scheme: this.state.switchInScheme.value.value.fm_scheme,\n trtype: \"STP\",\n StartDate:this.state.sipStartDate.value,\n EndDate:value,\n };\n const response= await this.props.STPCycleDateValidation(params)\n console.log(\"response\",response)\n\n\n if (!!response && response.length>2) {\n this.setState({\n sipEndDate: {\n value: \"\",\n isError: true,\n errorMessage: response\n },\n });\n } else {\n this.setState({\n sipEndDate: {\n value,\n isError: false,\n errorMessage: \"\",\n },\n });\n }\n\n } else {\n \n this.setState({ sipStartDate: { value },sipEndDate:{value:\"\"} });\n\n }\n\n }\n\n showError = (label) => () => {\n let amountValue, currValue;\n const {\n [label]: { value },\n } = this.state;\n if (!!this.state.amount.value) {\n amountValue = parseFloat(this.state.amount.value.replace(/,/g, \"\"));\n }\n if (!!this.state.scheme.value) {\n currValue = parseFloat(\n this.state.scheme.value.value.CurValue.replace(/,/g, \"\")\n );\n }\n const minAmount = 1000;\n\n if (label === \"transfers\") {\n this.setState({\n [label]: {\n value,\n isError:\n parseFloat(this.state.transfers.value) <\n parseFloat(this.state.minimumInstallments) ||\n this.state.transfers.value === \"\"\n ? true\n : !value,\n errorMessage:\n parseFloat(this.state.transfers.value) <\n parseFloat(this.state.minimumInstallments) ||\n this.state.transfers.value === \"\"\n ? `No of Installments in STP transaction should be minimum ${this.state.minimumInstallments}`\n : \"\",\n },\n });\n } else if (label === \"amount\") {\n this.setState({\n [label]: {\n value,\n isError:\n (amountValue || 0) < minAmount &&\n this.state.swpOption.value.Description === \"Fixed\"\n ? true\n : !value,\n errorMessage:\n (amountValue || 0) < minAmount &&\n this.state.swpOption.value.Description === \"Fixed\"\n ? `Minimum Amount should be ${minAmount}(₹)`\n : \"\",\n },\n });\n } else {\n this.setState({\n [label]: {\n value,\n isError: !value,\n },\n });\n }\n };\n handleChangeStpFrequency = async (event) => {\n if (event.target.value === this.state.swpFrequency.value) {\n return;\n } else {\n const transfer = this.state.stpDates.find(\n (ele) => ele.FrequencyID === event.target.value\n );\n const params = {\n Frequency: event.target.value,\n Fund: \"102\",\n Scheme: this.state.switchInScheme.value.value.fm_scheme,\n trtype: \"STP\"\n };\n const response = await this.props.STPMinGap(params)\n const mingap = response.DtData[0].Mingap;\n const currentDate = new Date();\n\n const newDate = addDays(currentDate, Number(mingap));\n\n const formattedDate = format(newDate, 'yyyy-MM-dd'); // Format as 'yyyy-MM-dd'\n\n this.setState({\n sipStartDate:{value:\"\"},\n sipEndDate:{value:\"\"},\n swpFrequency: { value: event.target.value },\n minimumInstallments: transfer.Minimum_Instalment,\n minDate: formattedDate,\n transfers: { value: \"\" },\n });\n }\n };\n\n render() {\n const {\n funds,\n fund,\n folio,\n folios,\n scheme,\n schemes,\n categories,\n category,\n arnCode,\n subArnCode,\n subBrokerCode,\n switchInScheme,\n switchInSchemes,\n euinNo,\n radioValue,\n sipCycle,\n sipDay,\n transfers,\n sipStartDate,\n sipEndDate,\n swpOptions,\n swpOption,\n stpDates,\n amount,\n } = this.state;\n console.log(\"this.state\", this.state)\n\n // let e;\n // e = parseFloat(this.state.transfers.value.replace(/,/g, \"\"));\n const { euinList } = this.props;\n return (\n
\n
STP Plan
\n
\n
Folio
\n ({\n label: item,\n value: item,\n }))}\n type=\"number\"\n value={folio.value}\n placeholder=\"Select Folio\"\n handleChange={this.handleFolioChange}\n inputRef={(ele) => (this.folioField = ele)}\n disabled={!fund.value}\n isError={folio.isError}\n errorMessage={folio.errorMessage}\n />\n
\n
\n
\n Transfer From Scheme\n
\n ({\n value: item,\n label: item.PlnDesc\n ? `${item.SchDesc1} - ${item.PlnDesc} - ${item.OptDesc}`\n : item.fm_schdesc,\n }))}\n value={scheme.value}\n placeholder=\"Select Scheme\"\n handleChange={this.handleSchemeChange}\n disabled={!folio.value}\n inputRef={(ele) => (this.schemeField = ele)}\n isError={scheme.isError}\n errorMessage={scheme.errorMessage}\n />\n
\n
\n
\n
Balance Units
\n
Current Value
\n
\n
\n
{!!scheme.value.value ? scheme.value.value.BalUnits : \"\"}
\n
{!!scheme.value.value ? `₹${scheme.value.value.CurValue}` : \"\"}
\n
\n
\n
\n (this.categoryField = ele)}\n isError={category.isError}\n disabled={!scheme.value}\n errorMessage={category.errorMessage}\n >\n {categories.map((item, index) => (\n \n {item.CatValue}\n \n ))}\n \n
\n
\n
\n Transfer To Scheme\n
\n ({\n label: item.fm_schdesc,\n value: item,\n multiples: item.multiples,\n }))}\n label=\"Fund\"\n handleChange={this.handleSwitchInScheme}\n value={switchInScheme.value}\n placeholder=\"Select Fund\"\n inputRef={(ele) => (this.switchInSchemeField = ele)}\n isError={switchInScheme.isError}\n errorMessage={switchInScheme.errorMessage}\n />\n
\n\n
\n \n
\n\n
\n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n disabled={!fund.value}\n type=\"number\"\n isShowError={subArnCode.isError}\n errorMessage={subArnCode.errorMessage}\n onBlur={\n !!fund.value ? this.validateBrokerCode(fund.value.value.Fund) : \"\"\n }\n onChange={this.changeValue(\"subArnCode\")}\n />\n
\n\n
\n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n type=\"number\"\n onChange={this.changeValue(\"subBrokerCode\")}\n />\n
\n {/*
\n
EUIN Declaration
\n \n \n
\n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
YES
\n
\n
\n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
NO
\n
\n \n
\n
*/}\n {radioValue.value === \"no\" ? (\n
\n
EUIN Selection*
\n\n ({\n label: item.abm_agent,\n value: item.abm_agent,\n }))}\n label=\"Fund\"\n handleChange={this.changeEuin}\n value={euinNo.value}\n disabled={!euinList.length}\n placeholder=\"Select EUIN\"\n inputRef={(ele) => (this.euinField = ele)}\n isError={euinNo.isError}\n errorMessage={euinNo.errorMessage}\n />\n
\n ) : (\n
\n I/We hereby confirm that the EUIN box has been intentionally left\n the blank by me/us as this is an 'execution-only' transaction\n without any interaction or advice by any personnel of the above\n distributor or notwithstanding the advice of in-appropriateness,if\n any provided by any personnel of the distributor and the distributor\n has not charged any advisory fees on this transaction\n
\n )}\n
\n (this.stpFrequencyField = ele)}\n handleChange={this.handleChangeStpFrequency}\n value={this.state.swpFrequency.value}\n isError={this.state.swpFrequency.isError}\n errorMessage={this.state.swpFrequency.errorMessage}\n >\n {stpDates.length > 0\n ? stpDates.map((item, index) => (\n \n {item.FrequencyDescription}\n \n ))\n : \"\"}\n {/* {\n \n {switchInScheme.value !== \"\" ? \"Monthly\" : \"\"}\n \n } */}\n \n
\n {this.state.swpFrequency.value === \"Weekly\" && (\n \n Note:\n STP Start Date should fall on Friday when opted for Weekly.\n
\n )}\n {/*
\n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n onChange={this.handleChangeTransfers}\n onBlur={this.showError(\"transfers\")}\n isShowError={transfers.isError}\n errorMessage={transfers.errorMessage}\n />\n
*/}\n\n {/*
\n (this.swpDateField = ele)}\n isError={sipDay.isError}\n placeholder=\"STP Date\"\n value={\n this.state.sipDay.value\n // this.state.transfers.value !== \"\" && (e > 60 || e === 60)\n // ? this.state.sipDay.value\n // : \"\"\n }\n onBlur={this.showError(\"transfers\")}\n handleChange={(event) => this.handleSwpDay(event)}\n errorMessage={sipDay.errorMessage}\n >\n {sipCycle.map((item, index) => (\n \n {item.sip_cycleid}\n \n ))}\n \n
*/}\n\n
Time Period
\n
\n
From*
\n \n \n \n {!!sipStartDate.errorMessage && (\n
\n {\" \"}\n {sipStartDate.errorMessage}\n
\n )}\n
\n
\n
To*
\n \n \n \n {!!sipEndDate.errorMessage && (\n
\n {\" \"}\n {sipEndDate.errorMessage}\n
\n )}\n
\n
\n (this.swpField = ele)}\n isError={swpOption.isError}\n errorMessage={swpOption.errorMessage}\n value={swpOption.value}\n handleChange={this.handleSwpOptionChange}\n // disabled\n >\n {swpOptions.map((item, index) => (\n \n {item.Description}\n \n ))}\n \n
\n {swpOption.value.Description === \"Fixed\" ? (\n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n onChange={this.handleChangeTransferAmount}\n value={amount.value}\n type=\"number\"\n onBlur={this.showError(\"amount\")}\n isShowError={amount.isError}\n errorMessage={amount.errorMessage}\n />\n ) : (\n \"\"\n )}\n
\n \n
\n \n );\n }\n}\n\nexport default connect(\n ({ authReducer, transactions }) => {\n const {\n fundList,\n token,\n userId,\n bankDetails,\n investorData,\n communicationDetails,\n } = authReducer;\n const { euinList, stpDetails = {}, transactionDetails } = transactions;\n return {\n fundList,\n token,\n userId,\n euinList,\n stpDetails,\n bankDetails,\n investorData,\n communicationDetails,\n transactionDetails,\n };\n },\n {\n validateSubBroker,\n getAssetClasses,\n getOtherSchemes,\n swpOptions,\n setStpDetails,\n CalcSIPEnddt,\n saveTransactionDetails,\n STPMinGap,\n STPCycleDateValidation\n }\n)(Stp);\n\nexport const calculateStpDates = (transfers, selectedDate) => {\n const today = new Date(new Date().setHours(0, 0, 0, 0));\n const isSelectedDatePassed = new Date().setDate(selectedDate) < today;\n var startDate = isSelectedDatePassed\n ? new Date(addMonths(new Date().setDate(selectedDate), 1))\n : new Date(new Date().setDate(selectedDate));\n if (startDate < new Date(addDays(today, 5))) {\n startDate = new Date(addDays(today, 5));\n }\n while (true) {\n if (isWednesday(startDate)) {\n const endDate = addWeeks(startDate, transfers - 1);\n return {\n startDate: { value: format(startDate, \"dd/MM/yyyy\") },\n endDate: { value: format(endDate, \"dd/MM/yyyy\") },\n };\n }\n startDate = addDays(startDate, 1);\n }\n};\n","import React, { Component } from \"react\";\nimport Image from \"../Image\";\n\nexport default class UploadFile extends Component {\n render() {\n const { id, isShowError, fileName } = this.props;\n return (\n \n \n \n
\n \n \n Upload\n
\n \n \n
{fileName}
\n \n \n
\n );\n }\n}\n","import React, { Component } from \"react\";\nimport CustomizedSelect from \"./customizedSelect\";\nimport { connect } from \"react-redux\";\nimport {\n getNewPurchaseFundList,\n physicalTransaction,\n} from \"../../../store/actions\";\n\nimport { PHYSICAL_NEW, EXISTING, NEW, YES } from \"../../../store/types\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport { Input } from \"../../forms/input\";\nimport UploadFile from \"../uploadFile\";\nimport Signbutton from \"../../forms/button\";\nimport CustomizedDialogs from \"../customModal\";\nimport { NEW_TRANSACTION_URL } from \".\";\n\nimport CustomLoader from \"../../forms/Loader\";\nimport { Checkbox } from \"@material-ui/core\";\n\nclass NfoPhysicalMode extends Component {\n constructor(props) {\n super(props);\n const { investorData, communicationDetails = [] } = this.props;\n const Xmobile = (communicationDetails || []).find(\n (detail) => detail.PAN === investorData.PAN && !!detail.Mobile\n );\n const Xemail = (communicationDetails || []).find(\n (detail) => detail.PAN === investorData.PAN && !!detail.email\n );\n const Email = !!Xemail && !!Xemail.email ? Xemail.email : \"\";\n const Mobile = !!Xmobile && !!Xmobile.Mobile ? Xmobile.Mobile : \"\";\n this.state = {\n emailId: { value: Email },\n mobile: { value: Mobile },\n fund: { value: \"102\" },\n upload: { errorMessage: \"\" },\n sipTypes: [\n { label: \"Existing Folio - SIP Registration\", value: EXISTING },\n { label: \"New Folio - SIP Registration with payment\", value: NEW },\n ],\n sipType: { value: \"\" },\n file: {},\n disabled: false,\n fundsList: [],\n fundList: [],\n open: false,\n folio: {\n value: this.props.location.state.type !== PHYSICAL_NEW ? \"\" : \"0\",\n },\n submitting: false,\n terms: true,\n refno: \"\",\n };\n }\n\n // componentWillMount() {\n // // this.setState({\n // // fundsList: this.funds(this.props),\n // // });\n // }\n\n funds = (props) => {\n let { fundsList } = props;\n const { type, flag } = this.props.location.state;\n if (type !== PHYSICAL_NEW) {\n if (!!flag) {\n fundsList = fundsList.filter((item) => item[flag] === YES);\n }\n fundsList = fundsList.reduce((prev, curr) => {\n const findIndex =\n prev.findIndex((fund) => fund.Fund === curr.Fund) !== -1;\n if (!findIndex) {\n return [...prev, { Fund: curr.Fund, FundDesc: curr.FundDesc }];\n }\n return prev;\n }, []);\n }\n return fundsList;\n };\n\n changeValue = (label) => (event) => {\n if (label === \"mobile\" && event.target.value.length <= 10) {\n this.setState({\n [label]: { value: event.target.value },\n });\n } else if (label !== \"mobile\") {\n this.setState({\n [label]: { value: event.target.value },\n });\n }\n };\n\n showError = (label) => () => {\n const {\n [label]: { value },\n } = this.state;\n if (label === \"emailId\") {\n this.setState({\n [label]: {\n value,\n isError:\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.emailId.value\n ) === false\n ? true\n : !value,\n errorMessage:\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.emailId.value\n ) === false\n ? `( *enter an vaild email address )`\n : \"\",\n },\n });\n } else if (label === \"mobile\") {\n this.setState({\n [label]: {\n value,\n isError:\n /^(?:(?:\\+|0{0,2})91(\\s*[\\-]\\s*)?|[0]?)?[6-9]\\d{9}$/.test(\n this.state.mobile.value\n ) === false\n ? true\n : !value,\n errorMessage:\n /^(?:(?:\\+|0{0,2})91(\\s*[\\-]\\s*)?|[0]?)?[6-9]\\d{9}$/.test(\n this.state.mobile.value\n ) === false\n ? `(* Enter a valid Phone Number)`\n : !value,\n },\n });\n } else {\n this.setState({\n [label]: {\n value,\n isError: !value,\n },\n });\n }\n };\n handleSipTypeChange = (event) => {\n const sipType = event.target.value;\n\n const state = {\n schemeType: EXISTING,\n email: { value: \"\" },\n\n mobile: { value: \"\" },\n };\n if (!sipType) {\n this.setState({\n ...state,\n sipType: { value: event.target.value },\n });\n return;\n } else if (event.target.value === this.state.sipType.value) {\n return;\n }\n const { fundList, fundsList } = this.props;\n\n const funds =\n sipType === EXISTING\n ? this.funds(this.props)\n : fundList.map((fund) => ({\n Fund: fund.amc_code,\n FundDesc: fund.amc_name,\n AadharFlag: fund.Aadhar,\n }));\n this.setState({\n // ...state,\n sipType: { value: event.target.value },\n // fundsList: funds,\n fund: { value: \"102\" },\n folio: { value: \"\" },\n });\n };\n\n componentDidMount() {\n window.scrollTo({\n behavior: \"smooth\",\n top: 0,\n });\n const fund = \"102\";\n let folios = [];\n const { type, flag } = this.props.location.state;\n let { fundsList } = this.props;\n if (type !== PHYSICAL_NEW) {\n if (!!flag) {\n fundsList = fundsList.filter((item) => item[flag] === YES);\n }\n folios = fundsList.reduce((prev, curr) => {\n if (curr.Fund === fund) {\n return [...prev, curr.Acno];\n }\n return prev;\n }, []);\n }\n this.setState({\n fund: { value: fund },\n folios: Array.from(new Set(folios)),\n });\n }\n\n fundChange = (event) => {\n const fund = event.target.value;\n let folios = [];\n const { type, flag } = this.props.location.state;\n let { fundsList } = this.props;\n if (type !== PHYSICAL_NEW) {\n if (!!flag) {\n fundsList = fundsList.filter((item) => item[flag] === YES);\n }\n folios = fundsList.reduce((prev, curr) => {\n if (curr.Fund === fund) {\n return [...prev, curr.Acno];\n }\n return prev;\n }, []);\n }\n this.setState({\n fund: { value: fund },\n folios: Array.from(new Set(folios)),\n });\n };\n\n fileUpload = (label) => (e) => {\n if (!!e.target.files.length) {\n const file = e.target.files[0];\n this.setState({\n [label]: file.name,\n });\n\n var fileReader = new FileReader();\n var base64;\n // Onload of file read the file content\n fileReader.onload = (fileLoadedEvent) => {\n base64 = fileLoadedEvent.target.result;\n // Print data in console\n this.setState({\n file: { value: base64.split(\",\")[1] },\n });\n };\n // Convert data to base64\n fileReader.readAsDataURL(file);\n this.setState({\n upload: { errorMessage: \"Upload Successfully\" },\n });\n }\n };\n\n closeModal = () => {\n this.setState({\n open: false,\n });\n this.props.history.replace(NEW_TRANSACTION_URL);\n };\n\n toggleCheckbox = () => {\n this.setState({ terms: !this.state.terms });\n };\n\n submit = async () => {\n const {\n upload_file,\n fundsList,\n open,\n fund,\n folios,\n disabled,\n refno,\n submitting,\n upload,\n sipType,\n sipTypes,\n fundList,\n folio,\n terms,\n ...others\n } = this.state;\n const { type } = this.props.location.state;\n const keys = Object.keys(others);\n\n const findError = keys.every((key) => !!others[key].value);\n\n if (!findError) {\n keys.forEach((key) => {\n !others[key].value &&\n this.setState({ [key]: { ...others[key], isError: true } });\n });\n const firstErroredKey = keys.find((key) => !others[key].value);\n switch (firstErroredKey) {\n case \"emailId\": {\n this.emailIdField.focus();\n break;\n }\n case \"mobile\": {\n this.mobileField.focus();\n break;\n }\n case \"fund\": {\n this.fundField.focus();\n break;\n }\n }\n } else if (\n !this.state.folio.value &&\n this.state.sipType.value === EXISTING\n ) {\n this.setState({\n folio: {\n value: \"\",\n isError: true,\n errorMessage: \"folio is mandatory\",\n },\n });\n } else if (\n !!this.state.emailId.value &&\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.emailId.value\n ) === false\n ) {\n this.setState({\n emailId: {\n ...others[\"emailId\"],\n isError: true,\n errorMessage: `Enter a vaild Email address`,\n },\n });\n return;\n } else if (\n !!this.state.mobile.value &&\n /^(?:(?:\\+|0{0,2})91(\\s*[\\-]\\s*)?|[0]?)?[6-9]\\d{9}$/.test(\n this.state.mobile.value\n ) === false\n ) {\n this.setState({\n mobile: {\n ...others[\"mobile\"],\n isError: true,\n errorMessage: `Enter a vaild Phone number`,\n },\n });\n return;\n } else {\n this.setState({ submitting: true });\n const payload = {\n email: others.emailId.value,\n folio: this.state.folio.value || \"0\",\n fund: \"102\",\n customfund: \"102\",\n mobile: others.mobile.value,\n pan: this.props.investorData.PAN || \"\",\n Pdffile: others.file.value,\n reqtype: type,\n userid: this.props.userId,\n };\n\n const response = await this.props.physicalTransaction(payload);\n\n if (\n !!response &&\n !!response.DtData &&\n !!response.DtData[0] &&\n !!response.DtData[0].ihno\n ) {\n this.setState({ open: true, refno: response.DtData[0].ihno });\n }\n this.setState({ submitting: false });\n }\n };\n\n render() {\n const {\n emailId,\n mobile,\n fund,\n folio,\n fundsList = [],\n fundList = [],\n folios = [],\n sipType,\n sipTypes,\n terms,\n } = this.state;\n const type = this.props.location.state.type;\n return (\n \n \n
\n {type === \"isip\" && (\n
\n (this.sipTypeField = ele)}\n isError={sipType.isError}\n errorMessage={sipType.errorMessage}\n >\n {sipTypes.map((item, index) => (\n \n {item.label}\n \n ))}\n \n
\n )}\n
\n\n {type !== PHYSICAL_NEW && this.state.sipType.value !== NEW && (\n
\n (this.folioField = ele)}\n isError={folio.isError}\n >\n {folios.map((item, index) => (\n \n {item}\n \n ))}\n \n
\n )}\n
\n (this.emailIdField = ele)}\n errorMessage={this.state.emailId.errorMessage}\n />\n
\n\n
\n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n value={mobile.value}\n type=\"number\"\n onChange={this.changeValue(\"mobile\")}\n onBlur={this.showError(\"mobile\")}\n isShowError={mobile.isError}\n errorMessage={mobile.errorMessage}\n inputref={(ele) => (this.mobileField = ele)}\n />\n
\n
\n {!!this.state.upload.errorMessage ? (\n \n {this.state.upload.errorMessage}\n
\n ) : (\n \"\"\n )}\n \n
\n Only .pdf files allowed. File size to not exceed 24 MB\n
\n \n\n \n \n \n I have understood and agree to your{\" \"}\n \n Terms and Conditions\n {\" \"}\n of the Phygital Mode\n \n \n\n
\n alert(\"Please Read Terms and Conditions\")\n }\n />\n
\n \n
\n );\n }\n}\n\nexport default connect(\n ({ authReducer, transactions }, props) => {\n const { location } = props;\n const { investorData, communicationDetails, token, userId } = authReducer;\n const { fundsList } = transactions;\n const { fundList } = authReducer;\n\n return {\n investorData,\n communicationDetails,\n token,\n fundList: location.state.type === \"isip\" ? fundsList : [],\n fundsList: location.state.type === PHYSICAL_NEW ? fundsList : fundList,\n userId,\n };\n },\n {\n getNewPurchaseFundList,\n physicalTransaction,\n }\n)(NfoPhysicalMode);\n","import React, { Component } from \"react\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport CustomizedSelect from \"./customizedSelect\";\nimport {\n getNewPurchaseFundList,\n getFolioSipCancellation,\n getCancellationReason\n} from \"../../../store/actions/investors\";\nimport { connect } from \"react-redux\";\n\nimport { DetailsGroup } from \"./newPurchaseConfirm\";\n\nimport { SipCancelModal } from \"../customModal\";\nimport Image from \"../../Image\";\nimport CustomLoader from \"../../forms/Loader\";\n\nclass SipCancellation extends Component {\n constructor(props) {\n super(props);\n this.state = {\n sipTypes: [\n { label: \"SIP\", value: \"SIP\" },\n { label: \"STP\", value: \"STP\" },\n { label: \"SWP\", value: \"SWP\" },\n ],\n funds: [],\n folios: [],\n fund: { value: \"\" },\n sipType: { value: \"\" },\n cancelDetails: {},\n checked: \"\",\n ShowMore: \"\",\n visible: \"\",\n rejectionReasons:[],\n rejectionreasonsOpen:false,\n othersText:{value:\"\"},\n selectedReason:\"\",\n reasonMandatory:false,\n loading: false,\n };\n }\n async componentDidMount(){\n window.scrollTo({\n behavior: \"smooth\",\n top: 0,\n });\n const response = await this.props.getCancellationReason({txntype:\"SIP\"})\n this.setState({rejectionReasons:response.DtData})\n } \n\n\n handleSipTypeChange = async (event) => {\n this.setState({\n sipType: { value: event.target.value },\n folios: [],\n funds: [],\n fund: { value: \"102\" },\n });\n const { investorData } = this.props;\n const body = {\n Trtype: event.target.value,\n Pan: investorData.PAN,\n Fund: \"102\",\n customfund: \"102\",\n invdistflag: \"W\",\n };\n this.setState({\n loading: true,\n });\n const response = await this.props.getFolioSipCancellation(body);\n if (!!response && !!response.DtData && response.DtData.length > 0) {\n this.setState({\n folios: response.DtData,\n fund: { value: \"102\" },\n });\n }\n this.setState({\n loading: false,\n });\n };\n\n handleChangeCheckbox = (value) => () => {\n this.setState({\n checked: value,\n });\n };\n onSubmit = () => {\n const { checked, folios, fund, sipType } = this.state;\n\n const Foliodata = !!folios && folios.find((ele) => ele.ihno == checked);\n if (!!Foliodata) {\n this.props.history.push({\n pathname: `/new-transaction/sip-cancellation/digital/transact/confirm`,\n state: {\n folioDetails: Foliodata,\n type: \"Sip cancellation\",\n fundName: \"QUANT MUTUAL FUND\",\n sipType: sipType.value,\n },\n });\n }\n };\n\n ShowDetails = (label) => () => {\n if (label === this.state.ShowMore) {\n this.setState({\n ShowMore: \"\",\n });\n } else {\n this.setState({\n ShowMore: label,\n });\n }\n };\n\n pause = (ele) => () => {\n if (ele.pause_flag === \"Y\" && ele.pause_err_msg === \"\") {\n this.props.history.push({\n pathname: `/new-transaction/sip-cancellation/digital/transact/confirm`,\n state: {\n title:\"PAUSE SIP\",\n type: \"Sip Pause\",\n pauseDetails: ele,\n scheme: { Fund: \"102\" },\n fundName: \"QUANT MUTUAL FUND\",\n sipType: this.state.sipType.value,\n },\n });\n } else if (!!ele.pause_err_msg) {\n alert(`${ele.pause_err_msg}`);\n }\n };\n\n closeNoModal = () => {\n this.setState({\n open: false,\n rejectionreasonsOpen:false,\n message: \"\",\n notAllowedPopUp: false,\n othersText:{value:\"\"},\n selectedReason:\"\"\n });\n };\n closeYesModal = () => {\n this.setState({\n open:false,\n rejectionreasonsOpen:true,\n })\n };\n\n closemodelafterrejecttion=()=>{\n if(!this.state.selectedReason || (this.state?.selectedReason?.includes(\"Others\") && !this.state.othersText.value)){\n this.setState({reasonMandatory:true})\n return;\n }\n if(this.state.selectedReason.includes(\"Others\") && !this.state.othersText.value){\n this.setState({\n othersText: {\n value:\"\",\n isError: true,\n errorMessage: \"Reason is mandatory\",\n },\n });\n return;\n }\n if ( this.state.selectedReason.includes(\"Others\") && this.state.othersText.value.length < 10) {\n this.setState({\n othersText: {\n value:\"\",\n isError: true,\n errorMessage: \"Please enter at least 10 characters\",\n },\n });\n return;\n }\n if( this.state.selectedReason.includes(\"Others\") && this.state.othersText.value.length > 100) {\n this.setState({\n othersText: {\n value: \"\",\n isError: true,\n errorMessage: \"Maximum character length is 100\",\n },\n });\n return;\n }\n\n const { cancelDetails } = this.state;\n this.props.history.push({\n pathname: `/new-transaction/sip-cancellation/digital/transact/confirm`,\n state: {\n type: \"Sip cancellation\",\n pauseDetails: cancelDetails,\n scheme: { Fund: 102 },\n fundName: \"LIC MUTUAL FUND\",\n sipType: this.state.sipType.value,\n cancellationReason:this.state.selectedReason.includes(\"Others\")?this.state.othersText.value:this.state.selectedReason,\n reasons:this.state.rejectionReasons\n },\n });\n }\n \n \n cancel = (ele) => () => {\n if (\n ele.pause_flag === \"Y\" &&\n ele.pause_err_msg === \"\" &&\n this.state.sipType.value === \"SIP\"\n ) {\n this.setState({\n open: true,\n cancelDetails: ele,\n message: \"Do you want to cancel SIP?\",\n });\n } else {\n this.props.history.push({\n pathname: `/new-transaction/sip-cancellation/digital/transact/confirm`,\n state: {\n type: \"Sip cancellation\",\n pauseDetails: ele,\n scheme: { Fund: \"102\" },\n fundName: \"QUANT MUTUAL FUND\",\n sipType: this.state.sipType.value,\n },\n });\n }\n };\n handleReasonChange = (e)=>{\n this.setState({selectedReason:e.target.value,reasonMandatory:false,othersText:{value:\"\"}})\n }\n selectedotherreason = (e) => {\n const inputValue = e.target.value.replace(/[^A-Za-z\\s]/g, '');\n if (inputValue.length <= 100) {\n this.setState({ othersText: { value: inputValue } });\n } else if (inputValue.length < 10) {\n this.setState({\n othersText: {\n value: inputValue,\n isError: true,\n errorMessage: \"Please enter at least 10 characters\",\n },\n });\n return;\n } else {\n this.setState({\n othersText: {\n value: inputValue.slice(0, 100),\n isError: true,\n errorMessage: \"Maximum character length is 100\",\n },\n });\n }\n }\n\n render() {\n const { sipTypes, sipType, funds, fund, folios } = this.state;\n return (\n
\n \n
Pause/Cancellation Module
\n
\n (this.sipTypeField = ele)}\n // isError={sipType.isError}\n // errorMessage={sipType.errorMessage}\n >\n {sipTypes.map((item, index) => (\n \n {item.label}\n \n ))}\n \n
\n {/*\n
\n (this.sipTypeField = ele)}\n // isError={sipType.isError}\n // errorMessage={sipType.errorMessage}\n >\n {funds.map((item, index) => (\n \n {item.label}\n \n ))}\n \n
*/}\n\n {folios.map((ele, index) => (\n \n \n \n {this.state.sipType.value} - {index + 1}\n
\n
\n {ele.pause_flag !== \"N\" && this.state.sipType.value === \"SIP\" && (\n \n \n \n Pause\n
\n \n )}\n\n \n \n \n Cancel\n \n \n \n \n
\n \n\n {this.state.ShowMore === ele.ihno && (\n
\n \n \n \n
\n )}\n
\n \n \n {this.state.ShowMore === ele.ihno\n ? \"Hide Details\"\n : \"View Details\"}\n \n \n\n \n ))}\n\n\n\n\n \n );\n }\n}\n\nexport default connect(\n ({ authReducer }) => {\n const { token, userId, investorData } = authReducer;\n\n return {\n token,\n userId,\n investorData,\n };\n },\n { getNewPurchaseFundList, getFolioSipCancellation,getCancellationReason }\n)(SipCancellation);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport CustomizedSelect from \"./customizedSelect\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport { YES } from \"../../../store/types\";\nimport IntegrationReactSelect from \"../../forms/autoCompleteInput\";\nimport { getNctType, getNctSave } from \"../../../store/actions/transactions\";\nimport { Input } from \"../../forms/input\";\nimport UploadFile from \"../uploadFile\";\nimport Signbutton from \"../../forms/button\";\nimport CustomizedDialogs from \"../customModal\";\nimport { NEW_TRANSACTION_URL } from \".\";\n\nclass NctType extends Component {\n constructor(props) {\n super(props);\n const { fundList } = this.props;\n const funds = fundList.reduce((prev, curr) => {\n const findIndex =\n prev.findIndex((fund) => fund.Fund === curr.Fund) !== -1;\n if (!findIndex) {\n return [\n ...prev,\n { Fund: curr.Fund, FundDesc: curr.FundDesc, scheme: curr.Sch },\n ];\n }\n\n return prev;\n }, []);\n this.state = {\n funds: funds,\n fund: { value: \"\" },\n ihno: \"\",\n folios: [],\n folio: { value: \"\" },\n NctTypes: [],\n NctType: { value: \"\" },\n emailId: { value: \"\" },\n mobile: { value: \"\" },\n upload: { errorMessage: \"\" },\n file: {},\n submitting: false,\n };\n }\n\n handleFundChange = (value) => {\n const fund = !!value ? value.value : \"\";\n if (!value) {\n this.setState({\n fund: { value: \"\" },\n folios: [],\n ihno: \"\",\n NctTypes: [],\n NctType: { value: \"\" },\n folio: { value: \"\" },\n emailId: { value: \"\" },\n mobile: { value: \"\" },\n ihno: \"\",\n upload: { errorMessage: \"\" },\n file: {},\n submitting: false,\n });\n return;\n } else if (value.value === this.state.fund.value.value) {\n return;\n } else {\n const folios = this.props.fundList.reduce((prev, curr) => {\n if (curr.Fund === fund) {\n return [...prev, curr.Acno];\n }\n return prev;\n }, []);\n this.setState({\n fund: { value },\n ihno: \"\",\n NctTypes: [],\n folios: Array.from(new Set(folios)),\n folio: { value: \"\" },\n NctType: { value: \"\" },\n emailId: { value: \"\" },\n mobile: { value: \"\" },\n upload: { errorMessage: \"\" },\n file: {},\n submitting: false,\n });\n }\n };\n\n handleFolioChange = async (value) => {\n const folio = !!value ? value.value : \"\";\n if (!folio) {\n this.setState({\n folio: { value: \"\" },\n emailId: { value: \"\" },\n mobile: { value: \"\" },\n ihno: \"\",\n NctType: { value: \"\" },\n upload: { errorMessage: \"\" },\n file: {},\n submitting: false,\n });\n } else if (value.value === this.state.folio.value) {\n return;\n } else {\n this.setState({\n folio: { value },\n });\n const params = {\n fund: this.state.fund.value.value,\n };\n const response = await this.props.getNctType(params);\n if (!!response && !!response.DtData && response.DtData.length > 0) {\n this.setState({\n NctTypes: response.DtData,\n ihno: \"\",\n folio: { value: value },\n upload: { errorMessage: \"\" },\n file: {},\n submitting: false,\n });\n }\n }\n };\n\n handleNctTypeChange = async (value) => {\n const nctType = !!value ? value.value : \"\";\n if (!nctType) {\n this.setState({\n emailId: { value: \"\" },\n mobile: { value: \"\" },\n ihno: \"\",\n NctType: { value: \"\" },\n upload: { errorMessage: \"\" },\n file: {},\n submitting: false,\n });\n } else if (value.value === this.state.NctType.value) {\n return;\n } else {\n this.setState({\n NctType: { value },\n });\n const { confirmationData, investorData } = this.props;\n const Xemail = (this.props.communicationDetails || []).find(\n (detail) =>\n detail.Fund.trim() === this.state.fund.value.value.trim() &&\n detail.Acno === this.state.folio.value.value &&\n detail.PAN === investorData.PAN &&\n !!detail.email\n );\n const Xmobile = (this.props.communicationDetails || []).find(\n (detail) =>\n detail.Fund.trim() === this.state.fund.value.value.trim() &&\n detail.Acno === this.state.folio.value.value &&\n detail.PAN === investorData.PAN &&\n !!detail.Mobile\n );\n const Email = !!Xemail && !!Xemail.email ? Xemail.email : \"\";\n\n const Mobile = !!Xmobile && !!Xmobile.Mobile ? Xmobile.Mobile : \"\";\n this.setState({\n emailId: { value: Email },\n ihno: \"\",\n mobile: { value: Mobile },\n NctType: { value },\n upload: { errorMessage: \"\" },\n open: false,\n file: {},\n submitting: false,\n });\n }\n };\n\n changeValue = (label) => (event) => {\n if (label === \"mobile\" && event.target.value.length <= 10) {\n this.setState({\n [label]: { value: event.target.value },\n });\n } else if (label !== \"mobile\") {\n this.setState({\n [label]: { value: event.target.value },\n });\n }\n };\n fileUpload = (label) => (e) => {\n if (!!e.target.files.length) {\n const file = e.target.files[0];\n this.setState({\n [label]: file.name,\n });\n\n var fileReader = new FileReader();\n var base64;\n // Onload of file read the file content\n fileReader.onload = (fileLoadedEvent) => {\n base64 = fileLoadedEvent.target.result;\n // Print data in console\n this.setState({\n file: { value: base64.split(\",\")[1] },\n });\n };\n // Convert data to base64\n fileReader.readAsDataURL(file);\n this.setState({\n upload: { errorMessage: \"Upload Successfully\" },\n });\n }\n };\n\n submit = async () => {\n const {\n upload_file,\n funds,\n open,\n folios,\n ihno,\n submitting,\n NctTypes,\n file,\n upload,\n ...others\n } = this.state;\n const keys = Object.keys(others);\n const findError = keys.every((key) => !!others[key].value);\n if (!findError) {\n keys.forEach((key) => {\n !others[key].value &&\n this.setState({\n [key]: {\n ...others[key],\n isError: true,\n errorMessage: `${key.toUpperCase()} is Mandatory`,\n },\n });\n });\n const firstErroredKey = keys.find((key) => !others[key].value);\n switch (firstErroredKey) {\n case \"emailId\": {\n this.emailIdField.focus();\n break;\n }\n case \"NctType\": {\n this.NctTypeField.focus();\n break;\n }\n case \"folio\": {\n this.folioField.focus();\n break;\n }\n case \"mobile\": {\n this.mobileField.focus();\n break;\n }\n case \"fund\": {\n this.fundField.focus();\n break;\n }\n }\n } else if (\n !!this.state.emailId.value &&\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.emailId.value\n ) === false\n ) {\n this.setState({\n emailId: {\n ...others[\"emailId\"],\n isError: true,\n errorMessage: `Enter a vaild Email address`,\n },\n });\n return;\n } else if (\n !!this.state.mobile.value &&\n /^(?:(?:\\+|0{0,2})91(\\s*[\\-]\\s*)?|[0]?)?[6-9]\\d{9}$/.test(\n this.state.mobile.value\n ) === false\n ) {\n this.setState({\n mobile: {\n ...others[\"mobile\"],\n isError: true,\n errorMessage: `Enter a vaild Phone number`,\n },\n });\n return;\n } else {\n const payload = {\n email: others.emailId.value,\n folio: this.state.folio.value.value,\n fund: this.state.fund.value.value,\n mobile: this.state.mobile.value,\n pan: this.props.investorData.PAN || \"\",\n Pdffile: this.state.file.value,\n userid: this.props.userId,\n reqtype: \"nct\",\n nctdescription: this.state.NctType.value.label.toUpperCase(),\n ncttype: this.state.NctType.value.value,\n };\n this.setState({ submitting: true });\n\n const response = await this.props.getNctSave(payload);\n if (\n !!response &&\n !!response.DtData &&\n !!response.DtData[0] &&\n !!response.DtData[0].Ihno\n ) {\n this.setState({\n open: true,\n ihno: response.DtData[0].Ihno,\n });\n }\n this.setState({ submitting: false });\n }\n };\n closeModal = () => {\n this.setState({\n open: false,\n });\n this.props.history.replace(NEW_TRANSACTION_URL);\n };\n\n render() {\n const {\n funds,\n folios,\n fund,\n folio,\n NctTypes,\n NctType,\n emailId,\n mobile,\n } = this.state;\n return (\n
\n
NCT
\n
\n
Fund
\n ({\n label: item.FundDesc,\n value: item.Fund,\n }))}\n value={fund.value}\n placeholder=\"Select Fund\"\n handleChange={this.handleFundChange}\n inputRef={(ele) => (this.fundField = ele)}\n isError={fund.isError}\n errorMessage={fund.errorMessage}\n />\n
\n\n
\n
Folio
\n ({\n label: item,\n value: item,\n }))}\n value={folio.value}\n placeholder=\"Select Folio\"\n handleChange={this.handleFolioChange}\n inputRef={(ele) => (this.folioField = ele)}\n isError={folio.isError}\n disabled={!fund.value}\n errorMessage={folio.errorMessage}\n />\n
\n\n
\n
NCT Type
\n ({\n label: item.nm_description,\n value: item.nm_code,\n }))}\n value={NctType.value}\n placeholder=\"Select NCT Type\"\n handleChange={this.handleNctTypeChange}\n inputRef={(ele) => (this.NctTypeField = ele)}\n isError={NctType.isError}\n disabled={!folio.value}\n errorMessage={NctType.errorMessage}\n />\n
\n\n
\n (this.emailIdField = ele)}\n errorMessage={this.state.emailId.errorMessage}\n />\n
\n
\n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n value={mobile.value}\n onChange={this.changeValue(\"mobile\")}\n // onBlur={this.showError(\"mobile\")}\n isShowError={mobile.isError}\n errorMessage={mobile.errorMessage}\n inputref={(ele) => (this.mobileField = ele)}\n />\n
\n\n
\n {!!this.state.upload.errorMessage ? (\n \n {this.state.upload.errorMessage}\n
\n ) : (\n \"\"\n )}\n \n
\n only pdf files are allowed, File size to not exceed 24 MB\n
\n\n
\n \n
\n \n
\n \n );\n }\n}\n\nexport default connect(\n ({ authReducer, transactions }, props) => {\n const { location } = props;\n const { investorData, communicationDetails, token, userId } = authReducer;\n // const { fundsList } = transactions;\n const { fundList } = authReducer;\n\n return {\n investorData,\n communicationDetails,\n token,\n\n fundList,\n userId,\n };\n },\n { getNctType, getNctSave }\n)(NctType);\n","import React, { Component } from \"react\";\nimport { Input } from \"../../forms/input\";\nimport Signbutton from \"../../forms/button\";\nimport { connect } from \"react-redux\";\nimport InputBase from \"@material-ui/core/InputBase\";\nimport { getEnach } from \"../../../store/actions/transactions\";\nimport { EnachModal } from \"../customModal\";\nimport Image from \"../../Image\";\nclass ENACH extends Component {\n constructor(props) {\n super(props);\n const { investorData, communicationDetails, location } = this.props;\n const { state } = location;\n const Xemail =\n !!this.props.communicationDetails &&\n !!this.props.communicationDetails.length > 0 &&\n !!investorData.PAN &&\n (this.props.communicationDetails || []).find(\n (detail) =>\n detail.PAN === investorData.PAN &&\n !!detail.email &&\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(detail.email)\n );\n\n const Xmobile =\n !!this.props.communicationDetails &&\n !!this.props.communicationDetails.length > 0 &&\n !!investorData.PAN &&\n (this.props.communicationDetails || []).find(\n (detail) => detail.PAN === investorData.PAN && !!detail.Mobile\n );\n\n const Email = !!Xemail && !!Xemail.email ? Xemail.email : \"\";\n const Mobile = !!Xmobile && !!Xmobile.Mobile ? Xmobile.Mobile : \"\";\n\n this.state = {\n email: { value: Email || \"\" },\n EnachOpen: false,\n eNachAMCOpen: false,\n disabled: false,\n pan: {\n value:\n !!investorData && !!investorData.PAN\n ? investorData.PAN\n : !!state && !!state.pan\n ? state.pan\n : \"\",\n },\n mobile: { value: Mobile },\n name: {\n value:\n !!investorData && !!investorData.invname ? investorData.invname : \"\",\n },\n ref: \"\",\n code: { value: \"+91\" },\n };\n }\n\n changeValue = (label) => async (event) => {\n const value = event.target.value;\n if (label === \"mobile\") {\n this.setState({\n [label]: { value: event.target.value },\n });\n }\n if (label === \"code\") {\n if (!value) {\n this.setState({\n [label]: {\n value,\n isError: true,\n errorMessage: \"Country Code is Mandatory\",\n },\n });\n } else if (!/^[+]\\d{1,3}$/.test(value)) {\n this.setState({\n [label]: {\n value,\n isError: true,\n errorMessage: \"Enter a Valid Country Code\",\n },\n });\n } else {\n this.setState({\n [label]: { value },\n });\n }\n }\n };\n submit = async () => {\n const {\n ref,\n EnachOpen,\n EnachRef,\n disabled,\n eNachAMCOpen,\n code,\n ...others\n } = this.state;\n\n const { email, mobile, pan, name } = this.state;\n const { location } = this.props;\n const { state } = location;\n if (\n !!state &&\n !!state.pan &&\n (!email.value || !mobile.value || !name.value)\n ) {\n alert(\"Please fill all fields to submit\");\n this.setState({\n email: {\n value: this.state.email.value,\n isError: false,\n errorMessage: \"\",\n },\n });\n } else if (!code.value) {\n this.setState({\n code: {\n value: this.state.code.value,\n isError: true,\n errorMessage: \"Country Code is Mandatory\",\n },\n });\n return;\n } else if (!/^[+]\\d{1,3}$/.test(code.value)) {\n this.setState({\n code: {\n value: this.state.code.value,\n isError: true,\n errorMessage: \"Enter a Valid Country Code\",\n },\n });\n return;\n }\n if (!this.state.mobile.value) {\n this.setState({\n mobile: {\n value: \"\",\n isError: true,\n errorMessage: \"Enter a valid phone number\",\n },\n });\n this.mobileField.focus();\n return;\n } else if (\n !/^[6-9]\\d{9}$/.test(this.state.mobile.value) &&\n this.state.code.value === \"+91\"\n ) {\n this.setState({\n mobile: {\n value: \"\",\n isError: true,\n errorMessage: \"Enter a valid phone number\",\n },\n });\n this.mobileField.focus();\n return;\n } else {\n this.setState({\n disabled: true,\n });\n const params = {\n Email: this.state.email.value,\n Contact: this.state.mobile.value,\n Name: this.state.name.value,\n Pan: this.state.pan.value,\n invdistflag: \"W\",\n arncode: this.props.token,\n countrycode: this.state.code.value,\n customfund:\"102\"\n };\n const response = await this.props.getEnach(params);\n if (\n !!response &&\n !!response.DtData &&\n !!response.DtData[0] &&\n !!response.DtData[0].en_ihno\n ) {\n this.setState({\n EnachRef: response.DtData[0].en_ihno,\n EnachOpen: true,\n });\n }\n }\n\n // const keys = Object.keys(others);\n // const findError = keys.every((key) => !!others[key].value);\n // if (!findError) {\n // keys.forEach((key) => {\n // !others[key].value &&\n // this.setState({\n // [key]: {\n // ...others[key],\n // isError: true,\n // errorMessage: `${key.toUpperCase()} is Mandatory`,\n // },\n // });\n // });\n // const firstErroredKey = keys.find((key) => !others[key].value);\n // switch (firstErroredKey) {\n // case \"email\": {\n // this.emailField.focus();\n // break;\n // }\n // case \"mobile\": {\n // this.mobileField.focus();\n // break;\n // }\n // case \"pan\": {\n // this.panField.focus();\n // break;\n // }\n // case \"name\": {\n // this.nameField.focus();\n // break;\n // }\n // }\n // } else if (\n // !!this.state.pan.value &&\n // /^([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}?$/.test(this.state.pan.value) ===\n // false\n // ) {\n // this.setState({\n // pan: {\n // ...others[\"pan\"],\n // isError: true,\n // errorMessage: `Enter a vaild PAN`,\n // },\n // });\n // return;\n // } else if (\n // !!this.state.email.value &&\n // /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n // this.state.email.value\n // ) === false\n // ) {\n // this.setState({\n // email: {\n // ...others[\"email\"],\n // isError: true,\n // errorMessage: `Enter a vaild Email address`,\n // },\n // });\n // return;\n // } else if (\n // !!this.state.mobile.value &&\n // /^[6-9]\\d{9}$/.test(\n // this.state.mobile.value\n // ) === false\n // ) {\n // this.setState({\n // mobile: {\n // ...others[\"mobile\"],\n // isError: true,\n // errorMessage: `Enter a vaild Phone number`,\n // },\n // });\n // return;\n // } else {\n\n // }\n this.setState({\n disabled: false,\n });\n };\n\n OpenEnachAMCOpen = () => {\n this.setState({\n eNachAMCOpen: true,\n });\n };\n\n OpenEnachAMCClose = () => {\n this.setState({\n eNachAMCOpen: false,\n });\n };\n\n close = () => {\n this.setState({\n EnachOpen: false,\n });\n this.props.history.push(\"/dashboard\");\n // const refno = encodeURIComponent(btoa(this.state.EnachRef));\n // window.open(\n // `https://api.karvymfs.com/25/Enach/EnachRegd.aspx?refno=${refno}`,\n // \"_self\"\n // );\n };\n\n onEmailBlur = () => {\n if (\n !!this.state.email.value &&\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n ) === false\n ) {\n this.setState({\n email: {\n value: \"\",\n isError: true,\n errorMessage: \"Enter a vaild Email ID\",\n },\n });\n }\n };\n render() {\n const { mobile, email, pan, name } = this.state;\n const { location } = this.props;\n const { state } = location;\n\n return (\n
\n
eNACH
\n
\n \n // (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n // evt.preventDefault()\n // }\n bordercolor=\"#a6a6a6\"\n // onChange={this.changeValue(\"pan\")}\n // isShowError={pan.isError}\n // inputref={(ele) => (this.panField = ele)}\n // errorMessage={this.state.pan.errorMessage}\n />\n
\n
\n (this.nameField = ele)}\n // errorMessage={this.state.name.errorMessage}\n />\n
\n\n
\n (this.emailField = ele)}\n errorMessage={this.state.email.errorMessage}\n />\n
\n
\n {\n if (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") {\n evt.preventDefault();\n }\n }}\n onChange={this.changeValue(\"code\")}\n isError={this.state.code.isError}\n isShowError={this.state.code.isError}\n errorMessage={this.state.code.errorMessage}\n inputref={(ele) => (this.countryCodeField = ele)}\n />\n
\n
\n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n bordercolor=\"#a6a6a6\"\n onChange={this.changeValue(\"mobile\")}\n isShowError={mobile.isError}\n inputref={(ele) => (this.mobileField = ele)}\n errorMessage={this.state.mobile.errorMessage}\n />\n
\n\n {/* \n \n eNACH Participating AMCs{\" \"}\n
\n \n */}\n
\n \n
\n{/* \n */}\n\n \n \n );\n }\n}\n\nexport default connect(\n ({ authReducer, transactions }, props) => {\n const { location } = props;\n const { investorData, communicationDetails, token, userId } = authReducer;\n // const { fundsList } = transactions;\n const { fundList } = authReducer;\n return {\n investorData,\n communicationDetails,\n token,\n fundList,\n userId,\n };\n },\n { getEnach }\n)(ENACH);\n","var a = [\n \"\",\n \"one \",\n \"two \",\n \"three \",\n \"four \",\n \"five \",\n \"six \",\n \"seven \",\n \"eight \",\n \"nine \",\n \"ten \",\n \"eleven \",\n \"twelve \",\n \"thirteen \",\n \"fourteen \",\n \"fifteen \",\n \"sixteen \",\n \"seventeen \",\n \"eighteen \",\n \"nineteen \",\n];\nvar b = [\n \"\",\n \"\",\n \"twenty\",\n \"thirty\",\n \"forty\",\n \"fifty\",\n \"sixty\",\n \"seventy\",\n \"eighty\",\n \"ninety\",\n];\n\nexport function amountInWords(num) {\n if ((num = num.toString()).length > 9) return \"overflow\";\n let n = (\"000000000\" + num)\n .substr(-9)\n .match(/^(\\d{2})(\\d{2})(\\d{2})(\\d{1})(\\d{2})$/);\n if (!n) return;\n var str = \"\";\n str +=\n n[1] != 0\n ? (a[Number(n[1])] || b[n[1][0]] + \" \" + a[n[1][1]]) + \"crore \"\n : \"\";\n str +=\n n[2] != 0\n ? (a[Number(n[2])] || b[n[2][0]] + \" \" + a[n[2][1]]) + \"lakh \"\n : \"\";\n str +=\n n[3] != 0\n ? (a[Number(n[3])] || b[n[3][0]] + \" \" + a[n[3][1]]) + \"thousand \"\n : \"\";\n str +=\n n[4] != 0\n ? (a[Number(n[4])] || b[n[4][0]] + \" \" + a[n[4][1]]) + \"hundred \"\n : \"\";\n str +=\n n[5] != 0\n ? (str != \"\" ? \"and \" : \"\") +\n (a[Number(n[5])] || b[n[5][0]] + \" \" + a[n[5][1]]) +\n \"only \"\n : \"\";\n return str;\n}\n","export const firstLetterCaptilize = (text) => {\n return text.charAt(0).toUpperCase() + text.slice(1).toLowerCase();\n};\n\nexport const firstLetterOnlyCaptilize = (text) => {\n return text.charAt(0).toUpperCase() + text.slice(1);\n};\n\nexport const pascalCase = (text) => {\n const textArray = text.split(\" \");\n const pascalArray = textArray.map((t) => firstLetterOnlyCaptilize(t));\n return pascalArray.join(\" \");\n};\n\nexport const captalize = (text) => {\n return text.toUpperCase();\n};\n\nexport const formatDate = (date) => {\n return `${checkZero(date.getDate())}/${checkZero(\n date.getMonth() + 1\n )}/${date.getFullYear()}`;\n};\nconst checkZero = (data) => {\n return data.length == 1 ? `0${data}` : data;\n};\n","import React, { Component } from \"react\";\nimport { DetailsGroup } from \"./newPurchaseConfirm\";\nimport moment from \"moment\";\nimport { Paper } from \"@material-ui/core\";\nimport Signbutton from \"../../forms/button\";\nimport { EnachModal } from \"../customModal\";\n\nimport { connect } from \"react-redux\";\nimport { getEnach } from \"../../../store/actions/transactions\";\nimport CustomLoader from \"../../forms/Loader\";\nimport { amountInWords } from \"../../forms/amount-to-words\";\nimport { pascalCase } from \"../../forms/captalize\";\nimport Image from \"../../Image\";\n\nclass EnachConfirm extends Component {\n constructor(props) {\n super(props);\n this.state = {\n EnachRef: \"\",\n EnachOpen: false,\n disabled: false,\n };\n }\n close = () => {\n this.setState({\n EnachOpen: false,\n });\n this.props.history.push(\"/dashboard\");\n };\n\n submit = async () => {\n this.setState({\n disabled: true,\n });\n const { location } = this.props;\n const { state } = location;\n const {\n Contact,\n Email,\n Name,\n Pan,\n acno,\n bank,\n enddate,\n startdate,\n frequency,\n amount,\n bankName,\n } = state;\n const reformStDT = moment(startdate).format(\"MM/DD/YYYY\");\n const reformEndDT = moment(enddate).format(\"MM/DD/YYYY\");\n const params = {\n Email: Email,\n Contact: Contact,\n Name: Name,\n Pan: Pan,\n invdistflag: \"W\",\n customfund: \"102\",\n arncode: this.props.token,\n frequency: frequency,\n acno: acno,\n startdate: reformStDT,\n enddate: reformEndDT,\n txnamount: amount,\n bank_code: bank.split(\"|\")[0],\n BankName: bankName,\n bank_acno: bank.split(\"|\")[2],\n bank_ifsc: bank.split(\"|\")[3],\n };\n\n const response = await this.props.getEnach(params);\n if (\n !!response &&\n !!response.DtData &&\n !!response.DtData[0] &&\n !!response.DtData[0].en_ihno\n ) {\n this.setState({\n EnachRef: response.DtData[0].en_ihno,\n EnachOpen: true,\n });\n }\n this.setState({\n disabled: false,\n });\n };\n\n render() {\n const { location } = this.props;\n const { state } = location;\n const {\n Contact,\n Email,\n Name,\n Pan,\n acno,\n bank,\n enddate,\n startdate,\n frequency,\n amount,\n } = state;\n const { EnachRef, EnachOpen, disabled } = this.state;\n return (\n \n \n
\n \n
\n
\n Summary for ENACH Registration\n
\n \n \n \n \n \n \n\n \n\n \n Note:{\" \"}\n \n Your in the process of registration of a E-Mandate. Please submit\n to continue the registration process. In case of any discrepancy\n found in the above mentioned fields you may go back to edit the\n required fields.\n \n \n\n
\n \n
\n
\n \n \n
E-MANDATE
\n
Powered by
\n
\n \"\"\n \n\n \n
\n
\n );\n }\n}\n\nexport default connect(\n ({ authReducer }) => {\n const { token, userId } = authReducer;\n return { token, userId };\n },\n { getEnach }\n)(EnachConfirm);\n","const enUs = {\n login: {\n headerLinks: {\n link1: \"Quick Links\",\n link2: \"Sign In\",\n link3: \"Sign Up\",\n },\n switchActions: {\n loginWithPassword: \"Sign In Via Password\",\n loginWithOTP: \"Sign In Via OTP\",\n },\n form: {\n title1: \"Dear \",\n secondaryTitle: \"Investor\",\n titleCaption: \"Sign in to experience a wide range of services\",\n termstext: \"By using this site you agree to our \",\n termsLink: \"Terms & Conditions\",\n panOrPekrn: {\n label: \"Enter PAN / PEKRN\",\n validation: {\n emptyError: \"User id Required\",\n minLengthError: \"User id should be 10 digit unique alphanumeric \",\n },\n },\n password: {\n label: \"Enter Password\",\n validation: {\n emptyError: \"Password Required\",\n },\n },\n rememberMe: {\n label: \"Remember me\",\n },\n action: {\n button: {\n label: \"Sign In\",\n verifyOtp: \"Verify OTP\",\n },\n href: {\n forgotPassword: {\n label: \"Forgot Password?\",\n },\n },\n },\n answer: \"please enter your answer\",\n },\n quickLinks: {\n title: \"Quick \",\n secondaryTitle: \"Links\",\n easyAccess: \"Easy access for seamless experience\",\n transmission: {\n title: \"Transmission Request \",\n subtitle: \"Demise of secondary holder\",\n },\n pan: {\n title: \"Update PAN Details \",\n },\n applyPan: {\n title: \"Apply for PAN\",\n },\n explore: {\n title: \"Explore MF\",\n },\n },\n applyPan: {\n heading: \"Apply for PAN\",\n info: \"Please select any one gateway from the below options\",\n infoBottom:\n \"(Note: You will be re-directed to a new page outside MFCentral)\",\n clickHere: \" Click Here\",\n websiteInfo:\n \"For more information on PAN – Online application, please visit the Income Tax Website :\",\n },\n },\n footer: {\n copyRightText: \"© 2021 MFCentral. All rights reserved.\",\n actions: {\n termsOfUse: {\n title: \"Terms of Use\",\n },\n privacy: {\n title: \"Privacy Policy\",\n },\n termsOfBusiness: {\n title: \"Disclosures\",\n },\n },\n siteDeveloper: {\n title: \"Site designed by KFintech & CAMS\",\n },\n },\n signUp: {\n switchActions: {\n sigUpWithPAN: \"PAN\",\n sigUpWithPEKRN: \"PEKRN\",\n },\n signupText: \"Sign Up\",\n form: {\n title1: \"Welcome, \",\n secondaryTitle: \"Investor!\",\n titleCaption: \"Let’s get started! \",\n Disclamer: {\n disclamerText: \"Disclaimer - \",\n disclamerInfo: \"I have read and accept the Terms of use.\",\n },\n Policies: {\n title: \" I agree and accept the \",\n TandC: \"Terms & Conditions\",\n },\n pan: {\n label: \"Enter your PAN\",\n validations: {\n emptyError: \"PAN Required\",\n regexError: \"PAN Should be ten-digit unique alphanumeric number\",\n individualPan: \"Please enter individual pan number\",\n },\n },\n mobile: {\n label: \"Enter your registered mobile number\",\n validations: {\n emptyError: \"Mobile Number Required\",\n regexError: \"Enter a valid 10 digit mobile number\",\n },\n },\n email: {\n label: \"Enter your email\",\n validations: {\n emptyError: \"Email Required\",\n regexError: \"Enter a valid email\",\n },\n },\n pekrn: {\n label: \"Enter your PEKRN\",\n validations: {\n emptyError: \"PEKRN Required\",\n regexError: \"PEKRN length should be 9-12 characters\",\n },\n },\n action: {\n button: \"Create Account\",\n },\n TermsAndCond: {\n title1:\n \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodoconsequat. Duis aute irure dolor in reprehenderit in voluptate velit essecillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum\",\n title2:\n \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodoconsequat. Duis aute irure dolor in reprehenderit in voluptate velit essecillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum\",\n },\n },\n },\n dashboard: {\n notAvailable: \"Not Available\",\n notifications: {\n notificationsTxt: \"Notifications\",\n clearAll: \"Clear All\",\n noNotifications: \"No New Notifications\",\n },\n dashboardLeft: {\n link1: \"Home\",\n link2: \"Portfolio\",\n link3: \"Service Requests\",\n link4: \"Track Status\",\n link5: \"Unclaimed Payouts\",\n link6: \"CAS\",\n invest: \"Transact\",\n },\n dashboardHome: {\n welcome: {\n welcome: \"Welcome, \",\n username: \"Neha Sagar!\",\n info: \"Explore our exciting range of services\",\n notificationinfoLeft: \"You have \",\n notificationinfoRight: \" Unregistered folios \",\n unregisteredFolios: \"Click to view unregistered folios\",\n },\n quicklinks: {\n box1: {\n heading: \"View\",\n headingBold: \"Portfolio\",\n info: \"Quick overview of your holdings​\",\n },\n box2: {\n heading: \"Submit \",\n headingBold: \"Service Requests\",\n info: \"Single-window solution for change requests​​\",\n },\n box3: {\n heading: \"Track\",\n headingBold: \"Status\",\n info: \"View status of submitted service requests​\",\n },\n box4: {\n heading: \"Transact\",\n info: \"Seamless transactions across your Mutual Fund investments, with ease.\",\n },\n },\n slider: {\n slider1: {\n text: \"Mutual Funds are subject to market risk, however, there are certain criteria's you must keep in mind while investing in short-term.\",\n },\n },\n },\n dematHoldingNote: {\n info1: \"Please note: Your DEMAT holdings are sourced from NSDL & CDSL.\",\n info2:\n \"For any queries or assistance in your DEMAT holdings, please contact your Depository Participant (DP).\",\n },\n dbPortfolio: {\n investedvalue: \"Invested Value\",\n marketvalue: \"Market Value\",\n gainLoss: \"Gain/Loss (Absolute)\",\n banner: {\n heading: \"My\",\n headingBold: \"Portfolio\",\n },\n portfolioPlaceholder: \"Start investing and view your funds here\",\n bottom: {\n heading: \"Did you know?\",\n info: \"As a long-term investor, you need to rebalance your portfolio on a periodic basis.\",\n link: \"Click here to read more\",\n chartLink: \"View Details\",\n },\n },\n dbNct: {\n heading: \"Submit \",\n headingBold: \"Service Requests​\",\n },\n portfolioDetails: {\n heading: \"Portfolio Details\",\n tabs: {\n asset: \"Asset Class wise Details\",\n amc: \"Fund House wise Details\",\n assetAllocation: \"Asset Allocation\",\n },\n sortby: \"Sort By\",\n select: \"Select\",\n list: {\n holdingPercentage: \"Holding Percentage\",\n },\n sortbyList: {\n gainLoss: \"Gain/Loss\",\n marketValue: \"Invested Value\",\n atoz: \"A-Z\",\n },\n },\n portfolioSchemes: {\n fundName: \"HDFC mutual fund\",\n folio: \"Select Folio \",\n balanceUnits: \"Balance Units\",\n minimumAmount: \"Min. Amount\",\n cagr: \"CAGR\",\n readMore: \"Read More\",\n buyNow: \"Buy Now\",\n nav: \"NAV\",\n popularSchemes: {\n heading: \"Popular Schemes\",\n sliders: {\n slider1Title:\n \"HDFC Retirement Savings Fund Hybrid Equity Plan Direct Growth\",\n },\n },\n adsSection: {\n introduce: \"Introducing\",\n slides: {\n learnMore: \"Learn More\",\n slide1: {\n title: \"HDFC FLEXI CAP FUND\",\n info: \" The scheme seeks to provide long-term capital appreciation /income by investing predominantly in Small-Cap companies.\",\n },\n },\n },\n },\n OtpScreen: {\n subHeading: \"Enter \",\n subHeadingSpan: \"OTP\",\n subHeadingInfo:\n \"Please enter the 6-digit OTP sent to your email address \",\n phoneOtpSubject:\n \"We’ve sent you an SMS with a 6-digit verification code on \",\n otpPhoneSubject: \"Please enter the 6-digit OTP sent to your mobile\",\n otpEmailSubject: \"Please enter the 6-digit OTP sent to your email\",\n registeredEmail: \"your registered email id \",\n buttonText: \"Verify OTP\",\n buttonTextWhileLoading: \"Sending\",\n otpValid: \"OTP will remain valid for 2 min​\",\n },\n changeEmail: {\n changeEmailHeading: \"Change/Update Email Address\",\n emailError: \"Old and New Email Id's should not be same\",\n subHeading: \"Change / Update Email \",\n subHeadingSpan: \"New Email Address\",\n subHeadingInfo:\n \"Please enter the new email address and choose family relationship below.\",\n buttonText: \"Proceed\",\n List: {\n tableInfo: \"Please select one/multiple folio(s) /schemes​\",\n buttonText: \"Submit \",\n emailNote: \"The new email Id will be updated across all folios\",\n toolTip:\n \"For seamless integration your email address will only be updated across all your folios \",\n },\n UploadDocument: {\n subHeading: \"Upload Signed Document\",\n subHeadingInfo1:\n \"The mobile number is not on record for this folio. Kindly download the application form \",\n subHeadingInfo2: \"Click Here\",\n subHeadingInfo3: \", complete it and upload it here.\",\n buttonText: \"Upload\",\n uploadBtnText: \"Choose File\",\n },\n Success: {\n back: \"Back\",\n subHeading: \"Success!\",\n subHeadingInfo1: \"Your change of email Id \",\n subHeadingInfo2:\n \" has been successfully accepted with unique reference number \",\n subHeadingInfo3: \" to track your request in the folios below: \",\n buttonText: \"Track My Request\",\n getStarted: \"Get Started\",\n },\n toolTipWithSameEmailId: \"New email Id already available in this folio\",\n },\n Success: {\n back: \"Back\",\n subHeading: \"Success!\",\n subHeadingInfo1:\n \"Your request is successfully submitted with tracking reference number \",\n subHeadingInfo3: \"Please click on the below button to track your status.\",\n buttonText: \"Track My Request\",\n success: \"Success\",\n successMessage:\n \"Your registered mobile number has been changed. Request you to re-login.\",\n sucessMsg1:\n \"Your change of registered mobile number request has been accepted with tracking reference number \",\n sucessEmailMsg1:\n \"Your change of registered email address request has been accepted with tracking reference number \",\n successMsg2: \" Request you to re-login.\",\n securityQuestions: \"Security Q&A Update Successful!\",\n },\n Failed: {\n back: \"Back\",\n subHeading: \"Request Failed\",\n subHeadingInfo1:\n \"Dear Investor, Due to technical difficulties, we are unable to process your request at the moment. Please try again in sometime.​\",\n buttonText: \"Try Again\",\n },\n noFoliosFound: \"No eligible folio(s) found\",\n UpdatePan: {\n UpdatePanHeading: \"Update PAN Details\",\n subHeading: \"Enter \",\n subHeadingSpan: \"Mobile or Email\",\n subHeadingInfo: \"We will send a 6-digit verification code\",\n buttonText: \"Submit\",\n verifyWithMobile: \"Verify with mobile\",\n verifyWithEmail: \"Verify with email\",\n mobile: \"Mobile Number\",\n email: \"Email ID\",\n UpdatePanInfo: \"Please select the folio(s) you want to update\",\n uploadPan: \"Upload PAN Card (Coloured copy)\",\n selectedFolios: {\n subheading: \"Review your details\",\n primaryHolder: \"Primary Holder - \",\n contactNo: \"Contact No - \",\n pan: \"PAN/PEKRN - \",\n folioNo: \"Folio No \",\n enterPan: \"Enter PAN\",\n enterPanInfo: \"Your name should match with as per your PAN number\",\n buttonText: \"Proceed\",\n addFolioText: \"Add Another Folio\",\n panValidating: \"Validating PAN\",\n nameValidating: \"Validating Name\",\n panSuccessful: \"PAN Validation Successful\",\n nameSuccessful: \"Name Validation Successful\",\n panFailed: \"PAN Validation failed\",\n nameFailed: \"Name Validation failed\",\n folioNameFailed: \"Name Validation failed for folio No: \",\n folioNameInfo:\n \" Dear User,​ PAN entered is incorrect. Please enter the correct PAN to proceed. Alternately, you could submit a request form at the nearest KFintech/CAMS front office.\",\n panVerification: {\n kycValidating: \"Checking KYC Status\",\n aadharValidating: \"Checking if PAN is Aadhaar seeded\",\n kycSuccessful: \"KYC Verification Successful\",\n aadharSuccessful: \"Aadhaar seeding Successful\",\n kycFailed: \"KYC Verification Failed\",\n aadharFailed: \"Aadhaar seeding Failed\",\n },\n },\n Success: {\n back: \"Back\",\n subHeading: \"Success!\",\n subHeadingInfo1: \"Your PAN \",\n subHeadingInfo2:\n \" is successfully accepted with unique reference number \",\n subHeadingInfo3: \" to track your request in the folios:\",\n buttonText: \"Track My Request\",\n },\n UpdatePanCondition:\n \"Maximum of 3 folio(s) are eligible under a single request. Please select accordingly.\",\n },\n UnregisteredFolios: {\n heading: \"Unregistered Folios\",\n tabs: {\n newRequest: {\n tabHeading: \"New Request\",\n info1: \"Please Note: Due to availability of multiple \",\n info2:\n \", the following folio(s) could not be registered under MFCentral\",\n uploadHeading: \"Upload Request Letter\",\n clickHere: \"Click Here\",\n uploadInfo:\n \"Please upload a duly signed scanned copy of the below change request form to proceed further. \",\n toDownload: \" to Download \",\n },\n myRequest: {\n tabHeading: \"Track Requests\",\n info: \"The following folios are successfully registered for online view and transacting\",\n },\n },\n TrackRequest: {\n list1:\n \"MFCentral allows investors to access Mutual Fund folio(s) that are registered with the same mobile number.​\",\n list2:\n \"For successfully initiating update for unregistered folio(s), please upload scanned copy of the request letter clearly specifying Fund name and folio number along with signature.​\",\n list3:\n \"The change will automatically reflect in MFCentral once the mobile number is successfully authenticated. (This might take up to 5 working days)​\",\n disclaimer: \"DISCLAMER\",\n disclaimerInfo:\n \" : If the authenticated mobile numbers associated with any of the folio is changed using any platform other than MFCentral, you will not be able to use services under MFCentral till mobile numbers across folios are made uniform and re-authenticated\",\n },\n Success: {\n back: \"Back\",\n subHeading: \"Success!\",\n subHeadingInfo:\n \"Requested mobile number will be updated in selected folios after validating the signed request submitted. Post update, you will be able to access your folio details in MFCentral\",\n buttonText: \"Track My Request\",\n },\n },\n ChangeDividend: {\n noSelectLeinUnits: \"Lein units schemes are not eligible for selection\",\n ChangeDividendHeading: \"Change of IDCW Option\",\n radioHeading: \"Select IDCW Option\",\n payoutToReinvest: \"Payout to Reinvest\",\n reinvestToPayout: \"Reinvest to Payout\",\n ChangeDividendInfo: \"Please select the folio(s)/scheme(s)​\",\n filters: \"Filters\",\n category: \"Category\",\n amc: \"Funds\",\n searchByAMC: \"Search by AMC\",\n selectedFilters: \"Selected Filters:\t\",\n removeFilter: \"Remove Filter\",\n buttonText: \"Submit \",\n Success: {\n back: \"Back\",\n subHeading: \"Success!\",\n subHeadingInfo1: \"Your Change of Dividend Option from \",\n subHeadingInfo2:\n \" has been successfully accepted with unique reference number \",\n subHeadingInfo3: \" to track your request in the AMC(s) Schemes below: \",\n buttonText: \"Track My Request\",\n },\n toolTip: {\n info1:\n \"The folio cannot be selected as the folio(s)/scheme is not eligible.\",\n },\n },\n ChangeMobile: {\n ChangeMobileHeading: \"Change Registered Mobile Number\",\n ChangeMobileInfo:\n \"The new mobile number will be updated across all folios.\",\n filters: \"Filters\",\n category: \"Category\",\n searchByAMC: \"Search by AMC\",\n selectedFilters: \"Selected Filters:\t\",\n removeFilter: \"Remove Filter\",\n buttonText: \"Submit \",\n Note: \"Please Note: The change in registered mobile number will reflect in all folios\",\n newMobile: {\n heading: \"Change / Update Mobile Number\",\n headingSpan: \"New Mobile Number\",\n info: \"Please enter the new mobile number and choose family relationship below\",\n },\n toolTipWithSameMobile:\n \"New mobile number is already available in this folio\",\n UploadDocument: {\n subHeading: \"Upload Signed Document\",\n subHeadingInfo1:\n \"The Email ID is not on record for this folio. Kindly download the application form \",\n subHeadingInfo2: \"Click Here\",\n subHeadingInfo3: \", complete it and upload it here.\",\n buttonText: \"Upload\",\n uploadBtnText: \"Choose File\",\n },\n Success: {\n back: \"Back\",\n subHeading: \"Success!\",\n subHeadingInfo1: \"Your change of mobile number \",\n subHeadingInfo2:\n \" has been successfully accepted with unique reference number \",\n subHeadingInfo3: \" to track your request in the folios below: \",\n buttonText: \"Track My Request\",\n },\n toolTip:\n \"For seamless integration your mobile number will only be updated across all your folios\",\n },\n UpdateNominee: {\n UpdateNomineeHeading: \"Update Nominee Details\",\n relationShip: \"Invalid Email/Mobile Relationship\",\n UpdateNomineeInfo: \"Please select the folio(s):​\",\n buttonText: \"Submit \",\n buttonNext: \"Next \",\n EmptyNomineeInfo:\n \"No eligible folio(s) were found to accept the request​\",\n nomineeText: \"Nominee\",\n name: \"Name\",\n relation: \"Relation\",\n share: \"Share\",\n more: \"More\",\n less: \"Less\",\n gender: \"Gender\",\n address: \"Address\",\n clear: \"Clear\",\n cancel: \"Cancel\",\n save: \"Save\",\n guardianDetailsHeading: \"Guardian Details\",\n addNominee: \"Add Nominee\",\n singleMOHAllowed:\n 'Folio(s) with mode of holding as \"Single\" are only (are) applicable',\n nomineeFields: {\n pan: \"PAN*\",\n address1: \"Address 1 (optional)\",\n address2: \"Address 2 (optional)\",\n pin: \"PIN Code (optional)\",\n city: \"City (optional)\",\n state: \"State (optional)\",\n country: \"Country (optional)\",\n },\n NoteModals: {\n deleteNominee: \"Please confirm the deletion of Nominee.\",\n greaterModal:\n \"Total Share(%) of all nominees must be 100. Kindly re-check.\",\n lessModal:\n \"Total Share(%) of all nominees must be 100. Kindly re-check.\",\n okay: \"Okay\",\n },\n Success: {\n back: \"Back\",\n subHeading: \"Success!\",\n subHeadingInfo1: \"You request change of dividend option from \",\n subHeadingInfo2: \" Please use the reference number \",\n subHeadingInfo3: \" to track your request in the AMC(s) Schemes below :\",\n buttonText: \"Track My Request\",\n investorNote:\n \"After Investor authorises the transaction, details will be updated after T+1 day.\",\n },\n Failure: {\n back: \"Back\",\n subHeading: \"Oops!\",\n subHeadingInfo1:\n \"Dear Investor,​ Due to technical difficulties, we couldn’t process your request at this moment. Please try again in sometime.​\",\n buttonText: \"Try Again\",\n },\n },\n ChangeBank: {\n ChangeBankHeading: \"Change of Bank Account Details​\",\n ChangeBankInfo: \"Please select the folio(s):​ ​\",\n ChangeBankInfoSpan:\n \"(Change can be made for folios registered under same bank)​\",\n buttonText: \"Submit\",\n Note: \"​(Only folios with same default bank details can be changed through a single request.)\",\n selectedFolios: {\n subheading: \"Selected folios\",\n primaryHolder: \"Primary Holder - \",\n ifsc: \"IFSC - \",\n accountNo: \"Account No - \",\n bankName: \"Bank name - \",\n folioNo: \"Folio No \",\n uploadDocuments: \"Upload Documents\",\n uploadDocumentsInfo:\n \"Document Format : .pdf / .jpg / .jpeg / .png | Each File size : < 2 MB\",\n buttonText: \"Submit\",\n save: \"Save\",\n cancelledCheque:\n \"Upload Default Bank A/C Proof (Coloured scan of Cheque)\",\n bankCheque: \"Upload New Bank A/C Proof (Coloured scan of Cheque)\",\n addNewBankHeading: \"Add New Bank Account Details \",\n addNewBankHeadingInfo:\n \"Please Note: Kindly enter the details carefully.​\",\n fields: {\n accountNumber: \"Account Number\",\n ifsc: \"IFSC \",\n bankName: \"Bank Name \",\n accountType: \"Account Type \",\n branch: \"Branch \",\n city: \"City \",\n },\n ocrDataValidating: \"Verifying information​\",\n bankValidating: \"Validating bank details\",\n ocrDataFailed: \"Verification unsuccessful​ \",\n ocrDataFailedInfo:\n \"Dear User,​ System could not identify the details. Please upload a signed request below.​\",\n bankValidationFailed: \"Bank Validation failed \",\n bankValidationFailedInfo:\n \"Bank Validation failed, Please upload a signed request below.​\",\n pennyDropFailed: \"Penny Drop failed \",\n pennyDropFailedInfo:\n \"Penny Drop failed, Please upload a signed request below.​\",\n uploadRequestLetter: \"Upload Request Letter\",\n ocrDataSuccess: \"OCR data extraction Success\",\n bankValidationSuccess: \"Bank Validation Succesful\",\n },\n tooltip: {\n info1:\n \"Update Bank Account Details can only be carried out for folio(s) with same bank account details\",\n },\n },\n ConsolidationFolios: {\n ConsolidationFoliosHeading: \"Consolidation of Folios \",\n ConsolidationFoliosInfo: \"Selected Mutual Fund :\",\n chooseMutualFund: \"Choose Mutual Fund​\",\n targetFolio: \"Target Folio :\",\n buttonText: \"Next\",\n submitBtn: \"Submit\",\n selectFolio: \"Please select the target folio​\",\n sourceFolio:\n \"Please select “source folios” to consolidate with target folio\",\n NoConsolidateFoliosInfo: \"No eligible folio(s) found\",\n EmptyFolioInfo:\n \"There are currently no folios available for consolidation\",\n terms:\n \"I agree & give consent to consolidate my selected source folios into target folio irrespective of bank & nominee details not matching exactly. I also understand that dividend option (Reinvest or Payout) of the schemes in source folio will be converted into dividend option of the schemes in target folio\",\n Success: {\n back: \"Back\",\n subHeading: \"Success!\",\n subHeadingInfo1: \"Your consolidation of folio request in the \",\n subHeadingInfo2: \" is successfully accepted with reference number \",\n subHeadingInfo3: \" to track your request in the folios:\",\n buttonText: \"Track My Request\",\n },\n Failure: {\n back: \"Back\",\n subHeading: \"Request Failed\",\n subHeadingInfo1:\n \"Your request to do consolidation of folio(s) in selected is submitted with the respective AMCs except for the below folios for which the requests failed \",\n buttonText: \"Try Again\",\n },\n },\n ChangeTaxStatus: {\n ChangeTaxStatusHeading: \"Change of Tax status \",\n ChangeTaxStatusHeadingSpan: \"(Resident Indian or Non-Resident Indian)\",\n radioHeading: \"Choose status change:​ \",\n option1: \"Bank Account Type​\",\n option2: \"Bank Account Details​\",\n ChangeTaxStatusInfo: \"Please select the folio(s)/Scheme(s)\",\n buttonText: \"Submit \",\n newStatusType: \"New Tax Residency Status​\",\n newAccountType: \"New Bank Account Type\",\n uploadDocuments: \"Upload Bank Mandate\",\n // uploadDocumentsInfo:\n // \"Document Format : .pdf / .jpg / .jpeg / .png | Each File size : < 2 MB\",\n uploadDocumentsInfo: \"Document Format : .pdf | Each File size : < 2 MB\",\n newProof: \"New bank mandate proof (Coloured scan of Cheque)\",\n Success: {\n back: \"Back\",\n subHeading: \"Success!\",\n subHeadingInfo1:\n \"Your Change of Tax status request is successfully accepted with unique reference number \",\n subHeadingInfo3: \" to track your request in the folios:\",\n buttonText: \"Track My Request\",\n },\n toolTip: {\n info: \"Tax status & Default Bank account no should be same across all your folios\",\n },\n noteModals: {\n heading: \"NOTE\",\n info: \"For Change of Bank Account Details, click here \",\n proceedText: \"Proceed\",\n cancelText: \"Cancel\",\n redirecting:\n \"You are now being redirected to “Change of Bank Account Details”\",\n confirmationText: \"Are you sure you want to delete folio?\",\n },\n },\n UpdateForm15: {\n UpdateForm15Heading: \"Update Form 15 G/H Details\",\n UpdateForm15GHeading: \"Update Form 15 G Details\",\n UpdateForm15HHeading: \"Update Form 15 H Details\",\n UpdateForm15Info:\n \"Form 15 G & 15 H are valid for a single financial year. Investors need to submit the forms at the beginning of each financial year (1st April to 31st March). The forms can be submitted anytime during the financial year, however TDS deduction would strop from the subsequent quarter. Hence, it is advisable to submit Form 15 G/H at the beginning of the financial year.​\",\n panDetails: \"Enter PAN\",\n TaxAccessed: \"Are you assessed to Tax under the Income Tax Act 1961 ?\",\n yes: \"Yes\",\n no: \"No\",\n buttonText: \"Generate OTP\",\n radioHeading: \"Select an Option \",\n form15G: \"Register Form 15G\",\n form15H: \"Register Form 15H (Only for investors aged 60 years or above)\",\n submit: \"Submit\",\n UpdateForm15TableInfo: \"Please select the funds:​\",\n EmptyNomineeInfo:\n \"There are no KFintech/CAMS serviced mutual funds for the selected PAN \",\n agreeTerms: \"I accept and agree to the change across folios​\",\n listModalInfo: \"This folio is not applicable for Update of Form 15 G/H\",\n okayBtn: \"Okay\",\n proceedBtn: \"Proceed\",\n pleaseNote: \"PLEASE NOTE\",\n modalInfo:\n \"“Form 15 G/H details will be applied only from the beginning of the subsequent quarter after submission of the same. It is strongly recommended that Form 15 G/H details are submitted at the beginning of Financial year itself, to avoid any TDS deduction.”\",\n Income: {\n heading: \"Please enter the below details for Financial Year : \",\n dob: \"Date of Birth\",\n enterAmount: \"Enter Amount\",\n dividendIncome: \"Estimated dividend income (RS)\",\n totalDividendIncome: \"Total income (RS)\",\n cumulativeIncome: \"Cumulative Dividend Amount\",\n form15GcumulativeIncomeExceed:\n \"Note: Cumulative Dividend Amount for all financial years should not exceed Rs. 2,50,000\",\n form15GdividendIncomeExceed:\n \"Dividend income should not exceed Rs. 2,50,000\",\n form15GtotalValueExceed:\n \"This total value should not exceed Rs 2,50,000\",\n form15HcumulativeIncomeExceed:\n \"Note: Cumulative Dividend Amount for all financial years should not exceed Rs. 10,00,000\",\n form15HdividendIncomeExceed:\n \"Dividend income should not exceed Rs. 10,00,000\",\n form15HtotalValueExceed:\n \"This total value should not exceed Rs 10,00,000\",\n form15HdividendIncomeExceedError:\n \"Sorry! The amount entered exceeds the limit of Rs. 10,00,000\",\n form15GdividendIncomeExceedError:\n \"Sorry! The amount entered exceeds the limit of Rs. 2,50,000\",\n totalIncomeInfo:\n \"Total income is a sum total of income from dividend and annual income.​\",\n registerButton: \"Register\",\n incomeExceedLimit:\n \"Please Note: Maximum set limit for Total Income under Form 15 G/H is Rs 6,00,000. To avail the tax deduction, please ensure your income falls within the range.​\",\n overwriteBtn: \"Overwrite & Proceed\",\n unselectBtn: \"Unselect & Proceed\",\n incomeModalInfo:\n \"Please confirm if you wish to overwrite the previous selection with the new information.\",\n DetailsOfIncome: \"Details of income\",\n slNo: \"Sl. No. - \",\n idNo: \"Identification number of relevant investment / Account etc., -\",\n NatureOfIncome: \"Nature of income\",\n SectionDeductible: \"Section under which tax is deductible\",\n AmountOfIncome: \"Amount of income\",\n declaration:\n \"I, do hereby declare that I am resident in India within the meaning of section 6 of the Income-tax Act, 1961.\",\n readMore: \"Read more​\",\n submit: \"Submit\",\n buttonText: \"Declaration\",\n lastAssesmentYear: \"Select last assessment year\",\n declarationModal: {\n heading: \"Declaration\",\n instructions: \"Instructions\",\n para1:\n \"I, do hereby declare that I am an Indian Resident within the meaning of section 6 of the Income-tax Act, 1961. I also hereby declare that to the best of my knowledge and belief what is stated above is correct, complete and is truly stated. I declare that the income(s) referred to in this form are not includible in the total income of any other person under section 60 to 64 of the Income-tax Act, 1961. I further declare that the tax on my estimated total income including income/incomes referred to in estimated income and aggregate amount of income/incomes referred to in total estimated income column in accordance with the provision of the Income-tax Act,1961, for the previous year ending on 31-March-2021 relevant to the assessment year 2021-22 will be nil.\",\n para2:\n \"I/We also declare that my income/incomes referred to an estimated income and aggregate amount of income/incomes referred to in estimated total income for the previous year ending 31-March-2021 relevant to the assessment year 2021-2022 will not exceed the maximum amount which is not chargeable to Income tax.\",\n para3:\n \"As per provisions of section 206AA(2), for Form 15 G the declaration under section 197A(1) or 197A(1A) and a person (other than a company or firm) under section 197A(1A). Form 15H – Declaration can be furnished by a resident individual who is of the age of 60 years or above at any time during the previous year.\",\n para4:\n ' Please mention \"Yes\" if assessed to tax under the provision of Income tax Act, 1961 for any of the assessment year out of six assessment year preceding the year in which the declaration is filed.',\n para5:\n \"Please mention the amount of estimated total income of the previous year for which the declaration is filed including the amount of income for which this declaration is made.\",\n para6:\n \"In case any declaration(s) in Form No. 15G/H is filed before filling this declaration during the previous year, mention the aggregate amount of income for which said declaration(s) have been filed.\",\n para7:\n \"Before signing the declaration/verification, the declarant should satisfy himself that the information furnished in this form is true, correct and complete in all respects. Any person making a false statement in the declaration shall be liable to prosecution under section 277 of the income tax Act, 1961 and on conviction be punishable.\",\n para8:\n \" In a case where tax sought to be evaded exceeds twenty-five lakh rupees, with rigorous imprisonment which shall not be less than six months, but which may extend to seven years and with fine In any other case, with rigorous imprisonment which shall not be less than three months, but which may extend to two years and with fine”\",\n },\n totalIncomeValidation:\n \"Total income should be greater than or equal to Estimated Income\",\n },\n Success: {\n back: \"Back\",\n subHeading: \"Success!\",\n subHeadingInfo1:\n \"Your request to update Minor to Major for the First holder PAN is sucessfully submitted withreference number \",\n subHeadingInfo3: \" to track your request in the folios:\",\n buttonText: \"Track My Request\",\n },\n },\n MinorStatus: {\n MinorStatusHeading: \"Status Modification from Minor to Major\",\n MinorStatusInfo: \"Please select the Folio(s):​\",\n buttonText: \"Update PAN\",\n EmptyNomineeInfo:\n \"No minor investments found for the selected Guardian PAN \",\n differentPanError:\n \"To proceed with your request, kindly select folio(s) with same PAN\",\n differentBankError:\n \"Folio(s) with same bank account can be selected under a single request.\",\n sessionExpired: \"Session expired. Please try again after 30 minutes\",\n requestFailed:\n \"Your recent requests have failed. Please try after 30 minutes from your last request\",\n EnterPan: {\n subHeading: \"Enter \",\n subHeadingSpan: \"PAN\",\n subHeadingInfo: \"Please enter details of First Holder/Minor\",\n enter: \"Enter Here\",\n },\n toolTipText: {\n info1:\n \"Selection applicable only for folio(s) with same First Holder details\",\n info2:\n \"Selection applicable only for folio(s) with same Bank Account Number\",\n },\n ReviewDetails: {\n subheading: \"Review your details​\",\n accountNo: \"Account No - \",\n ifsc: \"IFSC - \",\n accountType: \"Account Type - \",\n folioNo: \"Folio No \",\n uploadDocuments: \"Upload Documents\",\n uploadDocumentsInfo:\n \"Document Format : .pdf / .jpg / .jpeg / .png | Each File size : < 2 MB\",\n buttonText: \"Submit\",\n save: \"Save\",\n editFolio: \"Edit Folio \",\n editFolioBank: \"Edit bank account details for Folio No. \",\n fields: {\n accountNumber: \"Account Number\",\n ifsc: \"IFSC \",\n bankName: \"Bank Name \",\n accountType: \"Account Type \",\n branch: \"Branch \",\n city: \"City \",\n },\n uploadPanHeading: \"Upload PAN Copy (1st Holder only)\",\n uploadChequeHeading: \"Upload Coloured Scan of Cheque (1st Holder only)\",\n uploadSignatureHeading: \"Upload Proof of Signature (1st Holder only)\",\n uploadSignatureInfo:\n \"(Both investor and attestation sign of either guardian/banker is a must)\",\n uploadSignatureLink: \"Click Here\",\n uploadSignatureLinkInfo: \" to download the form\",\n },\n Success: {\n back: \"Back\",\n subHeading: \"Success!\",\n subHeadingInfo1:\n \"Your request to update Minor to Major for the First holder PAN is sucessfully submitted withreference number \",\n subHeadingInfo3: \" to track your request in the folios:\",\n buttonText: \"Track My Request\",\n },\n panVerification: {\n kycValidating: \"Verifying KYC Status​\",\n aadharValidating: \"Verifying Aadhaar Seeding​\",\n kycSuccessful: \"KYC Verification is Succesful\",\n aadharSuccessful: \"Aadhar seeding is Succesful\",\n kycFailed: \"KYC Verification Failed\",\n aadharFailed: \"Aadhar seeding Failed\",\n },\n noteModals: {\n heading: \"Enter PAN to Proceed\",\n info: \"Your Folio No. \",\n info2: \" is not associated with any PAN, Please update PAN to proceed \",\n proceedText: \"Yes\",\n cancelText: \"No\",\n },\n },\n CorrectionFolios: {\n CorrectionFoliosHeading: \"Correction of erroneous data captured in Folio\",\n CorrectionFoliosInfo: \"Please select the folio\",\n buttonText: \"Submit\",\n Selection: {\n selectionInfo: \"Please select the items to change \",\n search: \"Search nature of correction\",\n selectedFolio: \"Folio : \",\n amc: \"Fund : \",\n makeSelection: \"Please make a selection from the left menu.​\",\n makeSelectionMobile:\n \"Please click on above button to select corrections\",\n nameInRecords: \"In records :\",\n enterCorrectDetails: \"Enter Correct Details​\",\n buttonText: \"Submit\",\n Fields: {\n primaryHolder: \"Primary Holder Name​\",\n secondHolder: \"2nd Holder Name​\",\n thirdHolder: \"3rd Holder Name\",\n guardianName: \"Guardian​ ​Name\",\n mobileNo: \"Mobile Number​\",\n emailAddress: \"Email Address​\",\n dateOfBirth: \"Date of Birth\",\n bankAccNo: \"​Bank Account Number\",\n bankAccType: \"​Bank Account Type​\",\n bankIfsc: \"Bank IFSC​\",\n taxResidency: \"Tax Residency​\",\n modeOfHolding: \"Mode of Holding​\",\n dpIdNdClientId: \"Dp ID\",\n email: \"Email\",\n errors: {\n mobile: {\n startingWithZero: \"Mobile number should not start with 0\",\n validNumber: \"Please enter valid mobile number\",\n },\n name: {\n minFiveCharacters: \"Name should have minimum 5 characters\",\n noNumericValues: \"Numeric values are not allowed\",\n sameNames: \"Old name and new name are same\",\n },\n },\n },\n },\n Failure: {\n back: \"Back\",\n subHeading: \"Request Failed\",\n subHeadingInfo1:\n \"Dear Investor,​ Due to technical difficulties, we couldn’t process your request at this moment. Please try again in sometime.​\",\n buttonText: \"Try Again\",\n },\n },\n UpdateIFSC: {\n UpdateIFSCHeading: \"Update Bank IFSC\",\n UpdateIFSCInfo: \"Please select the folio(s)\",\n buttonText: \"Proceed\",\n Details: {\n heading: \"Add the IFSC of the same bank registered under the folio. \",\n info: \"Please Note: We will credit your bank account with a small token amount in order to verify your bank account, kindly enter correct bank details carefully.\",\n submit: \"Submit\",\n fields: {\n accountNumber: \"Account Number\",\n ifsc: \"IFSC \",\n bankName: \"Bank Name \",\n accountType: \"Account Type \",\n branch: \"Branch \",\n city: \"City \",\n },\n },\n toolTipInfo: {\n info: \"Selection applicable only for folio(s) with same Bank Account Number\",\n },\n noteModals: {\n heading: \"NOTE​\",\n info: 'Please Note: For successful Update (Updation?) of Bank IFSC , primary holder\"s name should be same as per both MF Folio and Bank Account details.',\n proceedText: \"Proceed\",\n cancelText: \"Cancel\",\n pleaseConfirm: \"Please confirm the bank details\",\n bankName: \"Bank Name\",\n ifscCode: \"IFSC Code\",\n city: \"City\",\n branch: \"Branch\",\n },\n },\n BankMandate: {\n BankMandateHeading: \"Multiple Bank Mandate Registration\",\n selectOption: \"Select Option\",\n BankMandateInfo:\n \"Please select folios from the below table to modify the Bank Mandate\",\n buttonText: \"Submit\",\n toolTipText:\n \"Selected folio has only single bank account. Please select folios with multiple bank accounts.\",\n noteModals: {\n heading: \"NOTE​\",\n info: \"Unique reference no. for this request is '1234'. For successful completion of Multiple Bank Mandate Registration, name as per folio and bank records should be matched.\",\n proceedText: \"Proceed\",\n cancelText: \"Cancel\",\n },\n selectedFolios: {\n subheading: \"Selected folios\",\n primaryHolder: \"Primary Holder - \",\n ifsc: \"IFSC - \",\n bankName: \"Bank name - \",\n folioNo: \"Folio No \",\n uploadDocuments: \"Upload Bank Mandate\",\n uploadDocumentsInfo:\n \"Document Format : .pdf / .jpg / .jpeg / .png | Each File size : < 2 MB\",\n buttonText: \"Submit\",\n save: \"Save\",\n radioOption1: \"Add New Bank Account\",\n radioOption2: \"Delete Default Bank Account\",\n radioOption3: \"Change Default Bank Account\",\n next: \"Next\",\n defaultBank: \"Upload Default Bank A/C Proof (Coloured scan of Cheque)​\",\n newBank: \"Upload New Bank A/C Proof (Coloured scan of Cheque)​\",\n addNewBankHeading: \"Add New Bank Account Details \",\n addNewBankHeadingInfo:\n \"Please Note: A nominal amount will be credited to your bank account to confirm the details entered by you. Kindly enter the details carefully.​\",\n fields: {\n accountNumber: \"Account Number\",\n ifsc: \"IFSC \",\n bankName: \"Bank Name \",\n accountType: \"Account Type \",\n branch: \"Branch \",\n city: \"City \",\n },\n ocrDataValidating: \"Verifying information​\",\n bankValidating: \"Validating bank details\",\n ocrDataFailed: \"Verification unsuccessful​ \",\n ocrDataFailedInfo:\n \"Dear User,​ System could not identify the details. Please upload a signed request below.​\",\n bankValidationFailed: \"Bank Validation failed \",\n bankValidationFailedInfo:\n \"Bank Validation failed, Please upload a signed request below.​\",\n pennyDropFailed: \"Penny Drop failed \",\n pennyDropFailedInfo:\n \"Penny Drop failed, Please upload a signed request below.​\",\n uploadRequestLetter: \"Upload Request Letter\",\n ocrDataSuccess: \"OCR data matched with bank\",\n bankValidationSuccess: \"Bank Validation Succesful\",\n chooseBankToDelete: \"Choose bank account details to delete\",\n chooseNewDefaultBank: \"Choose New Default Bank account details \",\n },\n Failure: {\n back: \"Back\",\n subHeading: \"Request Declined\",\n subHeadingInfo1:\n \"Name does not match with the bank account. Your request could not be accepted, Please check your details\",\n buttonText: \"Try Again\",\n },\n },\n FatcaDeclaration: {\n FatcaDeclarationHeading: \"FATCA/CRS Declaration\",\n enterPanPekrnHeading: \"Primary Holder Details\",\n enterPanPekrn: \" PAN/PEKRN \",\n taxResident: \"Are you a tax resident of any country other than India?\",\n yesTxt: \"YES\",\n noTxt: \"NO\",\n acknowledge:\n \"I hereby declare that the information entered by me is true to the best of my knowledge and belief. \",\n readMore: \"Read More\",\n buttonText: \"Submit\",\n fillFollowing: \"Please fill the following details\",\n nationality: \"Nationality\",\n countryOfBirth: \"Country of Birth\",\n taxResidencyCountry: \"Country of Tax residency\",\n tinNo: \"Tax Identification No. or Equivalent*\",\n tinNotAvailable: \"TIN unavailable\",\n identificationType: \"Identification Type*\",\n tinTxt: \"TIN\",\n othersTxt: \"Others (please specify)\",\n typeHere: \"Type Here\",\n selectReason: \"Please select the reason:\",\n accountHolderLiable:\n \"The country where the account holder is liable to pay tax does not issue TIN to its residents.\",\n noTinRequired:\n \"TIN not required (Applicable only if the authorities of the respective country of tax residency do not require TIN to be collected)\",\n othersSpecify: \"Others (Please specify  reason)\",\n errors: {\n taxResidency: \"Please choose tax residency\",\n countryOfBirth: \"Please select country of birth\",\n nationality: \"Please select Nationality\",\n countryOfTaxResidency: \"Please select Country of Tax Residency\",\n tinNumber: \"Please enter TIN number\",\n validTinNumber: \"Please enter valid TIN number\",\n identificationType: \"Please select Identification Type\",\n identificationReason: \"Please enter Identification Type\",\n noTinReason: \"Please select reason for no TIN number\",\n maxCharacterForTinReason: \"Reason should be less than 10 characters\",\n declarationBox: \"Please check the declaration\",\n reasonOptionText: \"Please give reason for no TIN number\",\n placeOfBirth: \"Please give place of birth\",\n minLength: \"Please enter minimum 5 characters\",\n pobMinLength: \"Please enter minimum 2 characters\",\n },\n kycFields: {\n heading: \"KYC Details\",\n fatherName: \"Father Name\",\n spouseName: \"Spouse Name\",\n occupation: \"Occupation\",\n netWorth: \"Net Worth*\",\n netWorthDate: \"Net Worth Date\",\n annualIncomeSlab: \"Annual Income\",\n pepFlag: \"PEP Status\",\n addressType: \"Address Type*\",\n sourceOfWealth: \"Source of Wealth*\",\n placeOfBirth: \"Place of Birth*\",\n remarks: \"Any other KYC related information\",\n form: {\n errors: {\n fatherName: \"Please enter father name\",\n netWorthDate: \"Please select net worth date\",\n occupation: \"Please Select Occupation\",\n spouseName: \"Please enter spouse name\",\n annualIncomeSlab: \"Please Select Annual Income\",\n pepFlag: \"Please Select PEP Status\",\n addressType: \"Please Select Address Type\",\n sourceOfWealth: \"Please Select Source of Wealth\",\n placeOfBirth: \"Please enter Place of Birth\",\n remarks: \"Please enter remarks\",\n netWorth: \"Please enter net worth\",\n minLength: \"Please enter minimum 2 characters\",\n pobMinLength: \"Please enter minimum 2 characters\",\n zeroError: \"Amount should be greater than zero\",\n },\n },\n },\n },\n noteModals: {\n nctModal: {\n heading: \"Please Note​\",\n info: \"For security reasons, service requests will only be accepted for Folios registered with MFCentral.\",\n proceedText: \"Proceed\",\n cancelText: \"Cancel\",\n },\n otpModal: {\n heading: \"Proceed with OTP\",\n info: \"We will send a 6-digit verification code to your registered mobile number\",\n infoEmail:\n \"We will send a 6-digit verification code to your registered email address\",\n proceedText: \"Yes\",\n cancelText: \"No\",\n },\n otpAuth: {\n heading: \"OTP Authentication\",\n subHeading:\n \"The one-time password will be sent to your registered mobile number\",\n subHeadingMail:\n \"The one-time password will be sent to your registered email address\",\n confirmText: \"Please confirm the change to proceed further.\",\n },\n consolidation: {\n heading: \"PLEASE NOTE\",\n info: \"Your Source Folio and Target Folio should have the same Set of Holders, Mode of Holding, Tax Status and Holding Pattern.\",\n },\n bank: {\n info: \"Selection of minimum one folio is mandatory, to proceed\",\n },\n taxStatus: {\n info: \"Selection of minimum one folio is mandatory, to proceed\",\n },\n bankMandate: {\n info: \"Selection of minimum one folio is mandatory, to proceed\",\n },\n changePassword:\n \"Password Changed! Please re-login to enjoy our services.\",\n feedbackSubmitted: \"Feedback submitted successfully\",\n okayTxt: \"Okay\",\n displayNameChanged: \"Display name changed successfully\",\n },\n TransmissionRequest: {\n TransmissionRequestHeading: \"Transmission Request\",\n info: \"Note:If you are a primary holder, please login and do the transmission request.\",\n TransmissionUnitHeading: \"Transmission of Units\",\n TransmissionRequestInfoSpan: \"Please Note: \",\n TransmissionRequestInfo:\n \"You can raise only one request per fund, though you can raise a single request for multiple folios within fund, depending on your nature of claim\",\n selectOption: \"Select an Option\",\n IamFolioHolder: \"I am a holder in the folio\",\n IamNominee: \"I am a Nominee\",\n IamClaimant: \"I am a Claimant\",\n submitBtn: \"Submit\",\n followingDetails: \"Please fill the following details\",\n enterPan: \"Enter your PAN\",\n enterName: \"Enter your Name\",\n enterMobile: \"Enter your Mobile\",\n enterEmail: \"Enter your Email ID\",\n multipleNomineesNote:\n \"In case of multiple nominees, all the nominees need to raise the Transmission request together\",\n uploadDC: \"Upload death certificate \",\n followingFolios: \"Following folios matching deceased holder PAN\",\n modal: {\n heading: \"NOTE\",\n info: \"“MFCentral will help you with raising a request for Transmission and guide you on the necessary documents required towards the same. However, it is mandatory to submit the original request form along with all the supporting documents at your nearest CAMS or Kfintech branch within 15 days from the request date for consideration of the request. Also, an SMS and email will be sent to the registered mobile numbers and email Ids on the registered folios regarding this request”\",\n infoNote:\n \"Please do not proceed if this is feature is erroneously used by you.\",\n exit: \"Exit\",\n iAgree: \"I agree\",\n },\n\n holderDetails: {\n enterHolderPan: \"Please enter primary holder PAN\",\n primaryHolderDetails: \"Please fill the following details\",\n enterPan: \"Enter Here\",\n registeredMobile: \"Registered Mobile\",\n registeredEmail: \"Registered Email ID\",\n enterRegisteredMobile: \"Primary Holder Mobile\",\n enterRegisteredEmail: \"Primary Holder Email\",\n selectAmc: \"Select Fundhouse\",\n enterFolio: \"Enter Folio\",\n natureOfClaim: \"Nature of Claim\",\n addFolio: \"Add Another Folio\",\n modal: {\n heading: \"NOTE\",\n info: \"“You can raise a single request in MF Central for multiple funds and multiple claim types. However, you need to mandatorily submit multiple set of documents per Fund and Nature of Claim to your nearest Kfintech or Cams branch within 15 days of submission of request on MFCentral, else this request will deemed to have expired”\",\n okay: \"Okay\",\n },\n modal2: {\n heading: \"NOTE\",\n info: \"“Please ensure that your request is considered complete only when submitted to the nearest Kfintech / Cams branch within 15 days from the date of placing this request. Along with the below documents (Please clearly mention your Unique reference number generated after successful submission of this request on top of each of the below documents). Click ok to Proceed”\",\n cancel: \"Cancel\",\n okay: \"Okay\",\n },\n nomineeModal: {\n heading: \"NOTE\",\n info: \"In case of multiple nominees please visit RTAs servicing respective funds and submit a physical transmission request\",\n cancel: \"Cancel\",\n okay: \"Okay\",\n },\n holderModal: {\n heading: \"NOTE\",\n info: \"The request will be rejected unless all the surviving holders have signed the physical transmission request form.\",\n cancel: \"Cancel\",\n okay: \"Okay\",\n },\n claimValues: {\n value1: \"I am a Holder in the folio\",\n value2: \"I am a Nominee\",\n value3: \"I am a Claimant\",\n },\n addedFolio: {\n fund: \"Fund - \",\n folio: \"Folio - \",\n natureClaim: \"Nature of Claim - \",\n },\n },\n pan: {\n enterPan: \"Please enter Deceased PAN - \",\n panUpload: \"Upload death certificate of PAN - \",\n multiplePan:\n \"Provide multiple PANs in case of death of Multiple holders in any of the folios\",\n addPan: \"Add Another PAN \",\n },\n download: {\n primaryHolderPan: \"Primary holder PAN : \",\n uploadDeathCertificate: \"Upload death certificate \",\n clickHere: \"Click Here\",\n toDownloadPrefilled: \" to download pre-filled \",\n toDownloadBlank: \" to download blank \",\n submitBtn: \"Submit\",\n },\n downloadList: {\n TransmissionInfo:\n \"The following list of documents to be carried to the nearest CAMS or KFintech branch:\",\n mainInfo:\n \"Please ensure that all the documents as per the following grid are complete in all aspect and submitted to your nearest KFintech or CAMS branch for further processing of the transmission request. You can print a copy of the below document grid after submission of the request, for future reference.\",\n signedT2: \"Duly filled in and Signed Form T-2 \",\n deathCertificate:\n \"Death Certificate original or Death certificate Photocopy duly attested by a Notary Public or Gazetted Officer\",\n birthCertificate:\n \"In case claimant is Minor, please provide a Copy of Birth Certificate\",\n kycCertificate:\n \"In case Claimant is Minor, please submit KYC form of the Guardian (If not already KYC complied)\",\n newBankMandate: \"New Bank mandate\",\n newBankMandateInfo:\n \"(with Cancelled cheque leaf with name and bank account number pre-printed OR copy of bank statement / Photocopy of Bank Passbook with current entries (not older than 3 months) attested by a Notary Public or a Gazetted Officer or Bank Manager)\",\n nominationForm: \"Nomination Form \",\n doneBtn: \"Okay\",\n natureOfClaim: \"Nature of claim\",\n documentSet: \"Document Set\",\n fundFolios: \"Fund & Folios\",\n documentRequired: \"Documents Requirement\",\n folios: \"Folios\",\n claimant: \"Claimant\",\n claimantInfo:\n \"Based on the cumulative AUM, Documents will be different\",\n holder: \"Holder\",\n nominee: \"Nominee\",\n viewDocumentsRequired: \"View Documents Required\",\n okay: \"Okay\",\n },\n success: {\n back: \"Back\",\n success: \"Success!\",\n info1:\n \"Thank you for your request for Transmission of units. You request has been accepted vide reference number \",\n info2:\n \" . Please ensure that the documents as per the grid are submitted to the nearest Kfintech / Cams branch within 15 days of this request. Transmission request will be processed after validation of all the documents submitted. If documents are not received within 15 days, this request would be deemed to have expired / rejected.\",\n submitFormInfo: \" to download PDF of the Transmission request\",\n },\n postLogin: {\n subHeading: \"Enter \",\n subHeadingSpanPan: \"PAN\",\n subHeadginSpanPekrn: \"PEKRN\",\n subHeadingInfoPan: \"Please enter PAN Details (Deceased holder)​\",\n subHeadingInfoPekrn: \"Please enter PEKRN Details (Deceased holder)​\",\n proceedBtn: \"Proceed\",\n deceasedHolderName: \" Deceased holder Name :\",\n modifyNomineeDetails: \"I wish to modify Nominee details in the folio\",\n downloadNominationForm: \" to download Nomination Form\",\n mainInfo:\n \"The following list of documents to be carried to the nearest CAMS or KFintech branch:\",\n signedT1Form:\n \"Duly filled in and signed T-1 Form clearly displaying the Unique reference number (Multiple forms may be filled if more than three folio, scheme, plans are selected)\",\n dcCopy: \"Copy of the Death Certificate of the Deceased holder\",\n },\n form: {\n validation: {\n nameEmpty: \"Name Required\",\n emailEmpty: \"Email Required\",\n },\n },\n otp: {\n heading: \"Verify \",\n mobile: {\n headingSpan: \"Mobile\",\n },\n email: {\n headingSpan: \"Email\",\n },\n },\n validationError: \"Deceased pan should not be same as claimant pan\",\n },\n },\n crmDashboard: {\n heading: \"Service Dashboard\",\n totalRequests: \"Total Requests\",\n rejectedRequests: \"Rejected Requests \",\n inProgressRequests: \"In Progress Requests\",\n resolvedRequests: \"Resolved Requests\",\n financial: \"Financial\",\n nonFinancial: \"Non-Financial\",\n },\n nctLinks: {\n dividend: \"Change of IDCW Option\",\n changepan: \"Update PAN Details\",\n changeemail: \"Change/Update Email Address\",\n changecontact: \"Change Registered Mobile Number\",\n consolidation: \"Consolidation of Folios\",\n unclaimedpayout: \"View Unclaimed Payouts\",\n datacapture: \"Correction of erroneous data captured in Folio\",\n changebank: \"Change of Bank Account Details\",\n multiplebank: \"Multiple Bank Mandate Registration\",\n changenominee: \"Update Nominee Details\",\n changebanktype: \"Update Bank IFSC\",\n changeinvestor: \"Change of Tax Status \",\n changeinvestorinfo: \"(Resident Indian or Non-Resident Indian)​\",\n transmission: \"Transmission request​\",\n fatca: \"FATCA/CRS Declaration\",\n minor: \"Status Modification from Minor to Major\",\n form15: \"Update Form 15 G/H Details\",\n notMatched: \"No Match Found. Search for another keyword.\",\n },\n myProfile: {\n heading: \"My Profile\",\n accountInfo: \"Account Information\",\n userName: \"Display Name\",\n mobileNo: \"Registered Mobile Number\",\n emailId: \"Registered Email Address\",\n panNoOrPekrn: \"PAN/PEKRN\",\n security: \"Security\",\n dpHeading: \"Service Request To Depositories\",\n communications: \"Communications\",\n saveChanges: \"Save\",\n changePassword: \"Change Password\",\n changeSecurity: \"Change/Update Security Questions\",\n enableBiometrics: \"Enable Biometrics\",\n pushNotifications: \"Notifications\",\n whatsappNotifications: \"WhatsApp\",\n giveFeedback: \"Feedback/Query\",\n registerComplaint: \"Raise a complaint\",\n suggestion:\n \"We are here for you. Share your suggestions/feedback or grievances.\",\n changeUserName: \"Change User Name \",\n changeMobileNo: \"Change Mobile Number\",\n selectAmc: \"Select Fund House \",\n typehere: \"Please Type here\",\n submit: \"Submit\",\n enterFeedback: \"Please enter your feedback here\",\n enterName: \" Name\",\n enterEmail: \"Email ID\",\n enterRefId: \"Reference ID\",\n enterQuery: \"Type your query here\",\n enterServiceName: \"Query Type\",\n selectDpId: \"Select your DP ID\",\n enterDpId: \"Enter your DP ID\",\n enableFingerPrint: \"Enable Face Id/Fingerprint\",\n },\n updateSecurityQuestion: {\n heading: \"Change/Update Security Questions\",\n success: {\n heading: \"Change/Update Security Questions\",\n },\n successMessage: \"Your request has been successfully accepted\",\n },\n resetSecurityQuestion: {\n heading: \"Reset Security Questions\",\n question: \"Reset Security Questions?\",\n modal: {\n heading: \"Success\",\n info: \"Your security questions have been reset successfully\",\n },\n },\n changePassword: {\n heading: \"Change \",\n headingBold: \"Password\",\n oldPassword: \"Old Password\",\n setNewPassword: \"Set New Password\",\n confirmPassword: \"Confirm Password\",\n save: \"Save\",\n cancel: \"Cancel\",\n },\n forgotPassword: {\n heading: \"Forgot Password?\",\n info: \"Please enter PAN/PEKRN to receive one-time password on your registered mobile number\",\n otpinfo: \"Please enter the 6-digit OTP sent to \",\n label: \"Enter PAN / PEKRN\",\n otpAuthentication: \"OTP Authentication\",\n subHeading:\n \"Please enter the 6-digit OTP sent to your registered email id \",\n action: {\n otpRequest: {\n label: \"Request OTP\",\n },\n },\n },\n signupOtp: {\n heading: \"OTP Authentication\",\n headingBold: \"OTP\",\n action: {\n verifyOtp: \"Verify OTP\",\n },\n },\n verifyOtp: {\n heading: \"Enter 6 Digit OTP\",\n otpinfo: \"Please enter the 6-digit OTP sent to \",\n registered: \"Enter registered PAN / PEKRN\",\n },\n resetPassword: {\n heading: \"Reset Password\",\n reset: \"Reset\",\n },\n setPassword: {\n heading: \"Secure your Account\",\n user: \"User ID\",\n disclimer: {\n t1: \"Please use\",\n t2: \" while login\",\n },\n setPassword: \"Set Password\",\n setinput: \"Set New Password\",\n confirmPassword: \"Confirm New Password\",\n displayName: \"Display Name\",\n twoFactor: \"Two factor authentication\",\n selectQuestion: \"Security Question \",\n signIn: \"Sign In \",\n twoFAHeading: \"Security Question\",\n answer: \"Answer\",\n modal: {\n heading: \"Congratulations!\",\n info: \"Success! You are now registered with MFCentral.\",\n },\n action: {\n continue: \"Submit\",\n signIn: \"Sign In\",\n },\n },\n secretQuestionnaire: {\n heading: \"Two factor authentication\",\n userId: \"User ID : \",\n selectQuestion: \"Select Security Question \",\n answer: \"Answer\",\n submit: \"Submit\",\n questions: {\n question1: \"What is your first mobile brand?\",\n question2: \"What is your first Car/Bike?\",\n question3: \"Which is your favorite place for vacation?\",\n question4: \"What is the name of your favorite sports person?\",\n question5: \"Which city were you born in?\",\n question6: \"What is your favorite food?\",\n question7: \"Which year did you complete your graduation?\",\n question8: \"Where did you go to high school/college?\",\n question9: \"What was the first company that you worked for?\",\n question10: \"What is the name of your pet?\",\n },\n },\n passwordGuidelines: {\n one: \"Minimum 8 characters without any space.\",\n two: \"One Uppercase, One Lowercase and One Numeric value\",\n three: \"One special character\",\n },\n loginAuth: {\n Hi: \"Hi, \",\n forgotpin: \"Forgot PIN?\",\n or: \"Or\",\n skipTxt: \"Skip\",\n loginWithFingerprint: \"Login with fingerprint / faceId\",\n setPin: \"Set 4 digit PIN\",\n enterPin: \"Enter PIN\",\n confirmPin: \"Confirm PIN\",\n enableFingerPrint: \"Do you want to enable fingerprint?\",\n enableFingerPrintInfo:\n \"You can use your fingerprint for easy login to this App\",\n enableTxt: \"Enable\",\n skipNow: \"Skip for now\",\n verifyIdentity: \"Verify your identity\",\n verifyIdentityInfo: \"You can use Touch ID to login\",\n touchSensor: \"Touch the fingerprint sensor\",\n newPin: \"New PIN\",\n oldPin: \"Old PIN\",\n resetPin: \"Reset 4 digit PIN\",\n resetPinSuccess: \"Device pin changed successfully.\",\n },\n common: {\n termsConditions: \"Terms and Conditions\",\n euinDeclaration: \"Do you want to intentionally leave the EUIN box blank?\",\n serviceDashboard: \"Service Dashboard\",\n invalidEmailMobileNCT: \"Email/Mobile not found against this folio\",\n depReq: \"Service Request To Depositories\",\n nctDisableAboveThreshHold:\n \"You cannot access this service request as your cumulative AUM across all funds in the PAN exceeds 10Lakhs\",\n FAQ: \"FAQs\",\n noFoliosFound: \"No Folios Found\",\n referFAQ: \"For more information, please refer to \",\n back: \"Back\",\n otpinput: \"Enter OTP\",\n resendotp: \"Resend OTP in \",\n didntReceiveotp: \"Didn't receive OTP? \",\n resendtext: \"Resend\",\n equity: \"Equity\",\n debt: \"Debt\",\n liquid: \"Liquid\",\n asOn: \"As on\",\n viewMore: \"View More\",\n validatingIFSC: \"Validating IFSC\",\n invalidIFSC: \"Invalid IFSC code\",\n IFSCValidated: \"IFSC Validated\",\n noRecordsFound: \"No Records Found\",\n noOtp: \"Please enter otp\",\n spaceNotAllowed: \"Spaces are not allowed\",\n notAlligibleForPekrn: \"Not eligible for pekrn user\",\n cityMaxLength: \"City name should be less than 50 characters\",\n stateMaxLength: \"State should be less than 50 characters\",\n errors: {\n dob: {\n dobRequired: \"DOB required\",\n ageLessThanHundred: \"Age should be less than 100 years\",\n minDOBValidation: \"Date of birth should not exceed current date\",\n minorAgeValidation: \"You cannot be of a minor age.\",\n },\n password: {\n oldPasswordRequired: \"Please enter Old Password\",\n confirmPasswordRequired: \"Please enter confirm Password\",\n newPasswordRequired: \"Please enter New Password\",\n required: \"PAN / PEKRN Required\",\n minLengthError: \"PAN / PEKRN Should be 10 digit unique alphanumeric \",\n confirmPasswordError:\n \"Set New Password and Confirm New Password should be Same\",\n setPassword: \"Please enter password\",\n confirmPassword: \"Please confirm password\",\n },\n displayname: {\n required: \"Display name Required\",\n noSpecialCharacters: \"Special characters are not allowed\",\n },\n otp: {\n required: \"Otp Required\",\n length: \"Not a valid otp\",\n },\n email: {\n required: \"Email Required\",\n regex: \"Enter valid email id\",\n },\n mobile: {\n required: \"Mobile Number Required\",\n regex: \"Enter valid Mobile Number\",\n mobileLength: \"Mobile number must be of 10 digits\",\n },\n relationship: {\n emailRequired: \"Email Relationship is required\",\n mobileRequired: \"Mobile Relationship is required\",\n },\n pan: {\n required: \"PAN / PEKRN Required\",\n regex: \"Enter valid PAN / PEKRN number\",\n individualPan: \"Enter individual PAN number\",\n matchError: \"Pan should not be same as Guardian pan\",\n },\n bankErrors: {\n sameBankDetails:\n \"For a seamless experience, please ensure that the New Bank Details and Existing Bank Details are not the same.\",\n accountNo: {\n required: \"Account number required\",\n regexError: \"Please enter valid Account Number\",\n },\n accountType: \"Please select account type\",\n name: \"Please enter bank name\",\n ifsc: {\n required: \"Please enter ifsc code\",\n regex: \"Enter valid IFSC code\",\n },\n branch: \"Please enter branch name\",\n city: \"Please enter bank location\",\n },\n modeOfHolding: \"Please select mode of holding\",\n taxResidency: \"Please select tax residency\",\n },\n HoldingType: {\n title: \"Holding Type:\",\n allHoldings: \"All Holdings\",\n zeroHoldings: \"Zero Holdings\",\n nonZeroHoldings: \"Non-Zero Holdings\",\n },\n fundInfoModal: {\n info1:\n \"Portfolio and Common Account Statement (CAS) will cover only folios that have the first holder PAN and mobile number same as used during registration onto MFCentral.\",\n info2:\n \"Please also note that Service requests will be allowed only in the above folios under ‘Single’ or ‘Anyone or Survivor’ Mode of holding. Service request are currently also not allowed in Mutual Fund investments held in Demat form.\",\n info3:\n \"Please refer to the ‘Unregistered folio’ section or FAQs for more information on any missing folio or investment details\",\n },\n resetDevices: {\n resetTxt: \"Reset\",\n devicesTxt: \"Device\",\n cancel: \"Cancel\",\n },\n forceUpdate: {\n forceInfo:\n \"A new version is available.You have to download and install it,before you can continue to use the app\",\n skipInfo:\n \"A newer version is available.You may wish to skip or download the latest version\",\n },\n save: \"Save\",\n cancel: \"Cancel\",\n },\n unclaimedPayouts: {\n mainHeading: \"View Unclaimed Payouts\",\n subHeading: \"Please select the Folio(s)/ Scheme(s):​\",\n },\n trackStatus: {\n searchWithTransaction: \"Search with Transaction ID\",\n serviceRequestType: \"SERVICE REQUEST TYPE\",\n },\n sebi: {\n mainHeading: \"Consolidated Account Statement\",\n noFoliosToDownload:\n \"There are currently no folios available to download the CAS\",\n sebiInfo:\n \"The Consolidated Account Statement (CAS) as the name suggests is a statement that consists of all the mutual fund holidings of the person in which he/she might have invested over multiple mutual fund houses, over a given period of time. This gives you vital information pertaining to your funds like the Net Asset Value (NAV), NAV date, market value. The whole purpose of CAS is to keep the investor informed about the performance of the Mutual Fund in which they have invested their money.\",\n statementType: \"Statement Type\",\n period: \"Dated\",\n periodContent: \"As on 16 Jun 2021\",\n periodDisclaimer:\n \"Note: Under Summary option, the date selection is by default of today and will be non-editable\",\n folioListing: \"Folio Listing\",\n selectionHeading: \"Please choose what are all Folios to be included\",\n email: \"Email\",\n emailSelectionHeading:\n \"Please select the available email ID from drop down to change\",\n pan: \"PAN\",\n password: \"Password\",\n passwordSuggestion:\n \"Enter password of 8 digits with combination of both number & characters.\",\n selectPeriod: \"Please select the period\",\n table: {\n head: \"Portfolio Summary (Demat/Non-Demat Folios)\",\n submitLabel: \"Download\",\n },\n submit: \"Submit\",\n submitting: \"Submitting\",\n downloading: \"Downloading\",\n modal: {\n note: \"NOTE\",\n download: \"Download\",\n info1:\n \"Please Note: You can download CAS only 30 mins after the submission of request. Since CAS is aggregated using PAN and Primary Mobile Number combination, for a seamless experience, please ensure to update your primary mobile number for all folio(s).\",\n info2:\n \"Please Note: Demat holdings are updated once per week in the CAS. Hence, please check for your latest transactions after 7 working days.\",\n },\n },\n networkText: {\n timeOut: \"Your active session has timeout. Request you re-login.\",\n unableToProcess:\n \"Sorry! We are unable to process your request. Please re-try after sometime.\",\n },\n dbCommercial: {\n heading: \"Make \",\n headingBold: \"Commercial Transactions\",\n noNominee: {\n indNote:\n \"By checking this box, I agree to not nominate for below folio(s)\",\n },\n subheading: \"\",\n ctLinks: {\n newPurchase: \"Lumpsum/SIP\",\n additionalPurchase: \"Invest More\",\n sip: \"SIP\",\n redemption: \"Redemption\",\n switch: \"Switch\",\n stp: \"STP\",\n swp: \"SWP\",\n sipPause: \"Systematic Transactions\",\n sipPauseDetails: \"Systematic Transaction Details\",\n eMandate: \"eMandate\",\n },\n additionalPurchase: {\n heading: \"Invest More\",\n purchaseInfo: \"Please Select Scheme to Purchase\",\n investmentPage: {\n rightHeading: \"Investment Details\",\n pan: \"PAN No.\",\n viewMore: \"View More\",\n },\n errors: {\n enterARN: \"Please enter valid ARN Code\",\n enterSubBrokerARN: \"Please enter Sub Broker Code\",\n enterEUIN: \"Please enter valid EUIN Number(6 digits)\",\n enterRIA: \"Please enter valid RIA Code(9 digits)\",\n emptyFolio: \"Folio cannot be empty\",\n },\n },\n otmCancel: {\n heading: \"OTM Cancel\",\n },\n sip: {\n heading: \"SIP\",\n purchaseInfo: \"Please Select Scheme for SIP\",\n investmentPage: {\n rightHeading: \"Investment Details\",\n pan: \"PAN No.\",\n },\n errors: {\n emptyInstallment: \"Empty Installments\",\n emptySip: \"Empty SIP\",\n invalidInstallment: \"Invalid Installment\",\n sipDay: \"SIP Day and start date are different\",\n },\n },\n stp: {\n heading: \"STP\",\n stpDetails: \"STP Details\",\n minAmount: \"Minimum Amount\",\n stpType: \"STP Type\",\n fixed: \"Fixed\",\n notAllowed: \"STP is not allowed for this scheme\",\n variable: \"Variable\",\n frequency: \"Frequency\",\n daily: \"Daily\",\n weekly: \"Weekly\",\n monthly: \"Monthly\",\n quarterly: \"Quarterly\",\n noOfTransfers: \"No. of Transfers\",\n enterHere: \"Enter Here\",\n stpDay: \"STP Day\",\n selectDay: \"Select Day\",\n fromDate: \"From Date\",\n toDate: \"To Date\",\n amountInstallment: \"Amount per Installment\",\n button: \"Proceed\",\n },\n swp: {\n heading: \"SWP\",\n swpDetails: \"Please select scheme for SWP\",\n notAllowed: \"SWP is not allowed for this scheme\",\n },\n sipPause: {\n heading: \"SIP Pause\",\n },\n sipCancel: {\n heading: \"SIP Cancel\",\n },\n sipTransaction: {\n heading: \"Latest Transactions\",\n },\n profileDetails: {\n nominees: {\n noNominee: \"I do not wish to nominate\",\n addressCheck: \"Address same as Investor\",\n },\n },\n exploreMfs: {\n heading: \"Explore Mutual Funds\",\n okay: \"Okay\",\n searchmf: \"Search Mutual Fund Scheme\",\n allMfHouses: \"All Mutual Fund Houses\",\n viewAll: \"View All\",\n filter: \"FILTER\",\n mfCategory: \"Mutual Funds By Category\",\n inactiveScheme: \"Inactive Scheme\",\n inactiveSchemeInfo:\n \"This scheme is inactive, please select another scheme\",\n equity: \"Equity\",\n debt: \"Debt\",\n hybrid: \"Hybrid\",\n other: \"Other\",\n liquid: \"Liquid\",\n solutionOriented: \"Solution Oriented\",\n debtInfo: \"For short to medium term\",\n equityInfo: \"For long term (4 years or more)\",\n hybridInfo: \"For medium to long term\",\n mfFundSize: \"Mutual Funds By Fund Size\",\n below100Cr: \"Below 100 Crores\",\n upto500Cr: \"100-500 Crores\",\n upto1000Cr: \"500-1000 Crores\",\n above1000Cr: \"Above 1000 Crores\",\n mfByRisk: \"Mutual Funds By Risk\",\n low: \"Low\",\n moderatelyLow: \"Moderately Low\",\n moderate: \"Moderate\",\n moderatelyHigh: \"Moderately High\",\n high: \"High\",\n veryHigh: \"Very High\",\n filters: \"Filters\",\n fundHouse: \"Fund House\",\n searchAmc: \"Search AMC\",\n category: \"Category\",\n fundSize: \"Fund Size\",\n selectScheme: \"Select Schemes\",\n risk: \"Risk\",\n investmentType: \"Investment Type\",\n onlySip: \"Only SIP\",\n onlyLumpsum: \"Only Lumpsum\",\n clearAll: \"Clear All\",\n selectedFilters: \"Selected Filters\",\n wishlist: \"Wishlist\",\n share: \"Share\",\n changeSchemePlan: \"Change Scheme plan here\",\n startSip: \"Start SIP \",\n startLumpsum: \"Start Lumpsum\",\n Sip: \"SIP\",\n Lumpsum: \"Lumpsum\",\n returns: \"Returns - \",\n aum: \"AUM\",\n nav: \"NAV\",\n exitLoad: \"Exit Load\",\n minLumpsum: \"Min Lumpsum/SIP\",\n fundType: \"Fund Type\",\n plan: \"Plan\",\n planFilterTitle: \"Select Plan\",\n returnDuration: \"Return Duration\",\n minimumInvestmentFilterTitle: \"Min Investment\",\n returnCalculator: \"Return Calculator\",\n overThePast: \"Over the past\",\n totalInvestment: \"Total Investment\",\n fundsReturn: \"This Fund's Returns\",\n fundManager: \"Fund manager\",\n sectors: \"Sectors\",\n companies: \"Companies\",\n sector: \"Sector\",\n company: \"Company\",\n allocation: \"Allocation\",\n showAll: \"Show all\",\n showLess: \"Show less\",\n returnCalcDisclaim:\n \"The above returns & would be amount is computed basis past data, it is not necessary for the scheme to have similar or more returns, investment in this scheme is at your sole discretion\",\n errors: {\n kycError: \"Please fill all KYC details\",\n nomineeShare100: \"Nominee share must be 100 percent\",\n noNominee: \"Please check I do not wish to nominate or add nominees\",\n enterDistSubDist: \"Please enter ARN Code\",\n EUINmandatory: \"Euin Number is mandatory\",\n euinDeclaration: \"Please check the EUIN declaration\",\n RIAMandatory: \"Ria code is mandatory\",\n ISINMandatory: \"Isin is mandatory\",\n NameDOBOccupationRequired:\n \"investor name or dob or occupation or email or mobile are required\",\n BankDetailsMandatory: \"Bank Details are mandatory\",\n netWorth: \"Net Worth is mandatory\",\n euinFlag: \"Euin declartaion is required\",\n distId: \"ARN Code is required\",\n subDist: \"Sub Broker Code is required\",\n zeroNetWorth: \"Networth must be greater than zero\",\n fillAllDetails: \"Please fill tax Details\",\n fatcaDetails: \"Please fill fatca Details\",\n minLengthForArn: \"Min length of 4 digits required for arn codes\",\n maxLengthForEuin: \"Euin No should be 6 digits\",\n taxStatusError: \"Please select the tax status to Individual\",\n fatherName: \"Please enter father name\",\n netWorthDate: \"Please select net worth date\",\n occupation: \"Please Select Occupation\",\n spouseName: \"Please enter spouse name\",\n annualIncomeSlab: \"Please Select Annual Income\",\n pepFlag: \"Please Select PEP Status\",\n addressType: \"Please Select Address Type\",\n sourceOfWealth: \"Please Select Source of Wealth\",\n placeOfBirth: \"Please enter Place of Birth\",\n remarks: \"Please enter remarks\",\n chequeRequired: \"Please upload a cheque for penny-drop\",\n relationshipError: \"Email and mobile relationship are required\",\n },\n mfInvestment: {\n stpAmount: \"STP Amount\",\n swpAmount: \"SWP Amount\",\n selectSwpDay: \"Select SWP day\",\n selectStpDay: \"Select STP day\",\n existing: \"Select Existing Folio\",\n new: \"Create new Folio\",\n purAllow: \"One time purchase is not allowed for this scheme\",\n sipAllow: \"SIP is not allowed for this scheme\",\n investmentMode: \"Investment Mode\",\n investmentDetails: \"Investment Details\",\n investingThrough: \"Investing Through\",\n purchaseType: \"Select purchase type\",\n enterArn: \"Enter ARN\",\n subBrokerCode: \"Sub Broker code\",\n subBrokerArnCode: \"Sub Broker ARN code\",\n euinNo: \"EUIN No.\",\n yes: \"YES\",\n no: \"NO\",\n iAgree: \"I agree to \",\n euinDeclaration:\n \"Do you want to intentionally leave the EUIN box blank?\",\n lumpsumAmount: \"Lumpsum Amount\",\n sipAmount: \"SIP Amount\",\n disclaimers: \"I hereby agree to the\",\n disclaimersLink: \"Disclaimers \",\n and: \" and \",\n termsLink: \" Terms and Conditions\",\n of: \" of \",\n mfCentral: \"MFCentral\",\n addToCart: \"Add to Cart\",\n invest: \"Invest\",\n profileDetails: \"Profile Details\",\n edit: \"Edit\",\n prefilled:\n \"We have pre-filled details from your latest transacted folio\",\n personalDetails: \"Personal Details\",\n name: \"Name\",\n panNo: \"PAN No.\",\n moh: \"MOH\",\n nomineeDetails: \"Nominee Details\",\n bankDetails: \"Bank Details\",\n fatcaDetails: \"FATCA Details\",\n nominee: \"Nominee \",\n ifsc: \"IFSC\",\n accountNo: \"Account No\",\n countryofTaxR: \"Country of Tax Residency\",\n tinorEqui: \"TIN or equivalent\",\n taxIdType: \"Tax Id Type\",\n frequency: \"Frequency\",\n selectSipDay: \"Select the SIP day\",\n howLong: \"How long should this SIP run?\",\n untilIStop: \"Until I stop\",\n Or: \"Or\",\n tenure: \"Tenure\",\n years: \"Years\",\n bank: {\n ifsc: \"IFSC\",\n accountNo: \"Account No\",\n branch: \"Branch\",\n name: \"Bank Name\",\n },\n fatca: {\n cotr: \"Country of Tax Residency\",\n tin: \"TIN or Equivalent\",\n taxIdType: \"Tax Id Type\",\n countryOfBirth: \"Country of Birth\",\n nationality: \"Nationality\",\n },\n riaCode: \"RIA Code\",\n },\n mfPayment: {\n selectPayment: \"Select Paymode Mode\",\n otm: \"One Time Mandate\",\n upi: \"UPI\",\n netBanking: \"Net Banking\",\n modeOfRegistration: \"Mode of Registration\",\n otmRowStatus: \"OTM is not active\",\n otmUmrnEmpty: \"UMRN can't be empty\",\n addNew: \"Add new\",\n investmentDetails: \"Investment Details\",\n investingThrough: \"Investing Through\",\n investmentType: \"Investment Type\",\n investmentAmount: \"Investment Amount\",\n transactionNumber: \"Transaction Number\",\n payVia: \"Pay via \",\n enterUPIId: \"Enter UPI ID\",\n modal: {\n heading: \"Add New Bank Mandate\",\n mandateAmount: \"Mandate Amount\",\n bankAccount: \"Bank Account\",\n ifsc: \"IFSC \",\n submit: \"Submit\",\n },\n otmMaxAmountLabel:\n \"Max amount should be greater than investment amount\",\n otmExpiried: \"This OTM is not in range b/w SIP Start and End Dates\",\n otmNotEligible: \"This otm is not eligible\",\n },\n eMandate: {\n existingOtm: \"Existing One Time Mandate\",\n newOtm: \"New One Time Mandate\",\n umrnNo: \"UMRN Number -\",\n mandateAmount: \"Mandate Amount -\",\n mandateEndDate: \"Mandate End Date -\",\n mandateBank: \"Mandate Bank - \",\n registerMandate: \"Register eMandate\",\n enterFollowing: \"Please enter the following details\",\n enterBankDetails: \"Please enter Bank details\",\n submit: \"Submit\",\n gotoEmandate: \"Go To Emandate\",\n declaration: \"I hereby agree to the terms & conditions of MFCentral\",\n form: {\n required: {\n investorName: \"Investor Name is Required\",\n email: \"Email is Required\",\n mobile: \"Mobile Number is Required\",\n branch: \"Branch is Required\",\n ifsc: \"IFSC Code is required\",\n accountHolder: \"Account Holder name is required\",\n accountNo: \"Account no is required\",\n amount: \"Amount is required\",\n fromDate: \"From Date is required\",\n toDate: \"To Date is required\",\n confirmAccountNoValidationMsg:\n \"Confirm account number does not match with account No\",\n selectUntilToday: \"Please select\",\n bankName: \"Please select bank\",\n ifscAndBank: \"Ifsc and Bankname should be same bank\",\n existingBankError:\n \"Previously selected bank is not present in the current list\",\n },\n lengths: {\n mobile: \"Mobile Number should be 10 digits\",\n eMandateDuration: \"E-Mandate duration should be minimum 6 months\",\n },\n invalid: {\n email: \"Email is Invalid\",\n mobile: \"Mobile Number is Invalid\",\n ifsc: \"IFSC Code is Invalid\",\n amount: \"Amount cannot exceed 10 Lakhs\",\n },\n },\n fields: {\n investorPan: \"Investor PAN No.\",\n investorName: \"Investor Name\",\n investorMail: \"Investor Email\",\n mobileNo: \"Mobile No.\",\n ifscCode: \"IFSC Code\",\n branchName: \"Branch Name\",\n accountHolder: \"Account Holder Name\",\n amount: \"Amount\",\n bank: \"Bank\",\n bankAccountNo: \"Bank account number\",\n confirmBankAccountNo: \"Confirm Bank account number\",\n accountType: \"Account Type\",\n frequency: \"Frequency\",\n fromDate: \"From Date(dd/mm/yyyy)\",\n toDate: \"To Date(dd/mm/yyyy)\",\n untilCancelled: \"Until cancelled\",\n },\n },\n mfCart: {\n heading: \"My Cart \",\n cartDetails: \"Cart Details\",\n schemesAdded: \" Schemes Added to cart\",\n lumpsum: \"Lumpsum\",\n sip: \"SIP\",\n scheme: \"Scheme\",\n totalAmount: \"Total Amount\",\n proceedToPay: \"Proceed to Pay\",\n addMoreFunds: \" Add More Funds\",\n amountPayable: \"Amount Payable : \",\n },\n successScreen: {\n heading: \"Success!\",\n headingInfo:\n \"Your request is successfully submitted with tracking reference number \",\n investmentSummary: \"Investment Summary \",\n scheme: \"Scheme\",\n panNo: \"PAN No.\",\n folio: \"Folio\",\n investmentType: \"Investment Type\",\n investmentAmount: \"Investment Amount\",\n paymentMode: \"Payment Mode\",\n date: \"Date\",\n Id: \"ID\",\n goToTransact: \"Track My Request\",\n },\n failureScreen: {\n heading: \"Oops!\",\n headingInfo:\n \"Dear Investor,​ Due to technical difficulties, we couldn’t process your request at this moment. Please try again in sometime.​\",\n },\n pendingScreen: {\n heading: \"Pending\",\n },\n },\n fatcaStatus: {\n heading: \"FATCA Status\",\n info1: \"Your PAN is not FATCA verified.\",\n info2: \"Please continue to update FATCA details, now.\",\n info3: \"You can re-initiate this transaction after submitting the FATCA.\",\n cancel: \"Cancel\",\n continue: \"Continue\",\n checking: \"Checking FATCA Status...\",\n },\n otmStatus: {\n heading: \"OTM Status\",\n info1: `You do not have any active OTM linked`,\n lumpsum: \"Lumpsum\",\n eMandate: \"Go to eMandate\",\n checking: \"Fetching Details...\",\n continue: \"Continue\",\n },\n newPurchase: {\n heading: \"Lumpsum/SIP\",\n vrFooterSource: \"Source: \",\n vrFooterInfo: \"Value Research India Pvt Ltd\",\n leftMenu: {\n personalDetails: \"Personal Details\",\n contactDetails: \"Contact Details\",\n bankDetails: \"Bank Details\",\n nomineeDetails: \"Nominee Details\",\n fatcaKyc: \"FATCA & KYC Details\",\n kyc: \"KYC Details\",\n editProfileDetails: \"Edit Profile Details\",\n },\n rightMenu: {\n modeOfHolding: \"Mode of Holding\",\n income: \"Income\",\n firstHolderDetails: \"First Holder Details​\",\n emailRelationship: \"Email Relationship\",\n mobileRelationship: \"Mobile Relationship\",\n firstHolderName: \"First Holder Name\",\n firstHolderPan: \"First Holder PAN\",\n taxStatus: \"Tax Status\",\n netWorth: \"Net Worth\",\n moh: \"Mode of Holding\",\n gender: \"Gender\",\n dob: \"DOB\",\n email: \"Email\",\n occupation: \"Occupation\",\n secondHolderDetails: \"Second Holder Details\",\n secondHolderName: \"Second Holder Name\",\n secondHolderPan: \"Second Holder PAN\",\n address: \"Address\",\n proceed: \"Proceed\",\n mobile: \"Mobile\",\n noNominee: \"No Nominees associated for this Folio!\",\n fatcaEdit: {\n heading: \"Edit FATCA Details\",\n countryOfTaxResidency: \"Country of Tax residency - \",\n taxId: \"Tax ID - \",\n type: \"Type - \",\n addId: \"+ Add ID\",\n submit: \"Submit\",\n },\n kyc: {\n pep: \"Pep Status\",\n netWorth: \"Net Worth\",\n netWorthDate: \"Net Worth Date\",\n addressType: \"Address Type\",\n sow: \"Source of Wealth\",\n sof: \"Source of Funds\",\n fatherName: \"Father Name\",\n spouseName: \"Spouse Name\",\n cservices: \"Corporate Services\",\n remarks: \"Remarks\",\n placeOfBirth: \"Place Of Birth*\",\n },\n bank: {\n accountNo: \"Account No\",\n accountType: \"Account Type\",\n ifsc: \"IFSC\",\n micr: \"MICR Code\",\n },\n },\n validations: {\n lumpsumError: {\n minInvest: `Min. `,\n multipleOf: `multiple of `,\n maxInvest: \"Max. \",\n },\n NB: {\n bankNotSupportError: \"This fundhouse is not allowing selected bank\",\n paymentProviderError: \"Payment provider not allowing.\",\n notSupported: \"Netbanking not supported for given fund house\",\n },\n OTM: {\n bankNotSupportError: \"This fundhouse is not allowing selected bank\",\n paymentProviderError: \"Payment provider not allowing.\",\n notSupported: \"OTM not supported for given fund house\",\n },\n UPI: {\n bankNotSupportError: \"This fundhouse is not allowing selected bank\",\n paymentProviderError: \"Payment provider not allowing.\",\n notSupported: \"UPI not supported for given fund house\",\n },\n },\n paymentFlow: {\n initiatingPayment: \"Intiating Payment\",\n redirectingToPayment: \"Redirect to Payement\",\n successMessage: \"Your transaction has been accepted with Reference No \",\n },\n },\n redemption: {\n heading: \"Redemption\",\n investmentDetails: \"Investment Details\",\n selectSchemeToRedeem: \"Please select scheme to redeem\",\n redeemBy: \"Redeem By\",\n amount: \"Amount\",\n units: \"Units\",\n enter: \"Enter \",\n redeemable: \"Redeemable \",\n remaining: \"Remaining \",\n redeemFullAmount: \"Redeem Full Amount\",\n redeemFullUnits: \"Redeem All Units\",\n proceedBtn: \"Proceed\",\n redeemDetails: \"Redeem Details\",\n selectedFolio: \"Selected Folio\",\n currentValue: \"Available Amount\",\n totalBalanceUnits: \"Total Balance Units\",\n totalAmount: \"Total Available Amount\",\n redeemableUnits: \"Redeemable Units\t\",\n currentNav: \"Current NAV\",\n asOn: \"As on \",\n errors: {\n invalidAmount: \"Invalid Amount\",\n invalidUnits: \"Invalid Units\",\n maxAmount: \"Amount cannot be more than\",\n minAmount: \"Amount cannot be less than\",\n maxUnits: \"Units cannot be more than\",\n multiples: \"Amount should be multiple of\",\n },\n redemptionSummary: {\n redemptionSummary: \"Redemption Summary\",\n fund: \"Fund \",\n currentValue: \"Current Value\",\n redemptionUnits: \"Redemption Units\",\n remainingUnits: \"Remaining Units\",\n exitLoadUnits: \"Exit Load Units\",\n amountCreditedTo: \"Amount will be credited to : \",\n redeemAfter: \"Redeem after 1 year of purchase to \",\n redeemAfterSpan: \"save 5% extra tax\",\n proceed: \"Proceed\",\n stayInvested: \"Stay Invested\",\n redemptionReason: \"What is your reason for Redemption?\",\n goalAchieved: \"My Goal or Target Achieved\",\n needFunds: \"I need Funds\",\n poorPerformance: \"Poor Performance\",\n investInOther: \"I want to invest in another scheme\",\n cancel: \"Cancel\",\n },\n },\n switch: {\n heading: \"Switch\",\n switchFromInfo: \"Please select the scheme you want to switch from\",\n switchToInfo: \"Please select the target scheme\",\n switchFromAmountError: \"Amount is greater than available amount\",\n switchFromUnitError:\n \"Units is greater than available units in the switch from scheme\",\n selectedSwitchFrom: \"Selected From Scheme\",\n folioNo: \"Folio No\",\n totalBalanceUnits: \"Total Balance Units\",\n currentNav: \"Current NAV\",\n asOn: \"As on \",\n edit: \"Edit\",\n from: \"From\",\n to: \"To\",\n selectSwitchTo: \"Please Select Switch To Scheme\",\n switchDetails: \"Switch Details\",\n switchFrom: \"Switch From\",\n switchTo: \"Switch To\",\n switchFullAmount: \"Switch Full Amount\",\n switchFullUnits: \"Switch Full Units\",\n minSwitchAmount: \"Min. Switch amount\",\n minSwitchUnits: \"Min. Switch units\",\n exitLoad: \"Exit Load\",\n viewDetails: \"View Details\",\n filters: {\n existing: \"Existing\",\n newSchmes: \"New Schemes\",\n },\n errors: {\n noFunds: \"No funds available\",\n noFolios: \"No Folios Found\",\n EUIEmpty: \"EUI Code can't be empty\",\n acceptEUINDeclaration:\n \"Please Accept Do you want to intentionally leave the EUIN box blank?\",\n selectEUIN: \"Select Euin Option\",\n invalidARN: \"Invalid ARN\",\n RIALength9: \"Ria code should be of length 9\",\n amountEmpty: \"Amount can't be empty\",\n amountNegative: \"Amount can't be negative\",\n amountGreaterThan: \"Amount can not be greater than\",\n empty: \"can not be empty\",\n negative: \"can not be negative\",\n lessThan: \"can not be less than\",\n multiples: \"should be multiple of\",\n },\n },\n errors: {\n riaCodeRequired: \"Ria code is required\",\n riaCodeMin: \"Ria code is minimum 6 characters\",\n arn1Required: \"ARN-Code is required\",\n arn1Min: \"ARN-Code is minimum 6 charcters\",\n arn2Required: \"Sub-ARN is required\",\n arn2Min: \"Sub-ARN is minimum 6 charcters\",\n termsAndCondition: \"Please accept terms and conditions to proceed\",\n moh: \"The folio cannot be selected as the folio(s)/scheme is not eligible as the mode of holding is not single\",\n\n ct_minor:\n \"The folio(s)/scheme has Minor tax status but the age is above 18\",\n ct_nro:\n \"The folio cannot be selected as the folio(s)/scheme has NRI tax status without NRO bank account type\",\n\n avaialbleUnits:\n \"The folio cannot be selected as the folio(s)/scheme is not eligible has zero available amount\",\n noIFSC:\n \"IFSC code is not updated in your folio, please update IFSC code through Service Request and proceed for transaction\",\n ifscBank:\n \"IFSC code is not updated in your selected bank, please select a different bank\",\n noFundsAvailable: \"No amount/units available\",\n },\n termsModal: {\n additionalPurchase: {\n info1:\n \"I/We have read and understood the contents of the Scheme Information Document(s), Key Information Memorandum and Addenda issued for the respective scheme(s). I/We hereby apply to the Trustee of Mutual Fund and agree to abide by terms and conditions, rules, and regulation of the relevant scheme(s) / Mutual Fund. Also note that participating AMC(s) and their RTA(s) has every right to reject for various regulatory / statutory / internal requirements where folio / PAN is freezed / locked.\",\n info2:\n \"I/We confirm that payment for this transaction has been done through my/own bank account number which is registered in the folio and no third-party account is used for such payments. In case of any non-compliance, I/We authorize you to refund the said amount to the account where it is debited and will be liable for any consequences arising thereof.\",\n info3:\n \"Please note that w.e.f. 01.02.2021, NAV applicability and allotment of units for investment(s) is subject to realization of funds by the Mutual Fund. Online transfer of funds to the respective Mutual Fund account may take from a minimum of 1 to a maximum of 3 days for realization, depending on the banking arrangements of the Mutual Fund. This change is implemented as per SEBI Circular SEBI/HO/IMD/DF2/CIR/P/2020/253.\",\n },\n sip: {\n info1:\n \"I/We have read and understood the contents of the Scheme Information Document(s), Key Information Memorandum and Addenda issued for the respective scheme(s) and propose to open an account with one or more of the participating AMCS. I/We hereby agree to abide by terms and conditions, rules and regulation of the relevant scheme(s) / Mutual Fund.\",\n info2:\n \"I/We, hereby authorize concerned RTA(s) (who are co-hosting MF Central platform) to obtain any documents / specimen signature / information provided by me to any of the KRAs (Know your Customer Registration Agency) for the purpose of opening the Account. I/We further agree and confirm that concerned RTA(s) (who are co-hosting MF Central platform) can obtain such documents directly from any of the KRAs to whom the documents have been provided by me and no further authorization to the KRA from me is required. I/We further understand that these specimen signatures will be used for validating signatures in case of any physical transactions done by me/us. I/We further confirm that no physical application is being given by me/us for fresh purchases through this facility and the above documents obtained from KRAs can be used for the purpose of opening the account with any of the participating AMC. I/We further authorize concerned RTA(s) (who are co-hosting MF Central platform) to take further steps as it may deem necessary for opening the account if the information found in the KRA records is inadequate. I/We confirm that payment as and when made through MF Central application, will be done through my/own bank account number which is registered in the folio and no third-party account is used for such payments. In case of any non-compliance, I/We authorize you to refund the said amount to the account where it is debited, and I/We will be liable for any consequences arising thereof. Also note that participating AMC(s) and their RTA(s) has every right to reject for various regulatory / statutory / internal requirements where folio / PAN is freezed / locked.\",\n info3:\n \"Please note that w.e.f. 01.02.2021, NAV applicability and allotment of units for investment(s) is subject to realization of funds by the Mutual Fund. Online transfer of funds to the respective Mutual Fund account may take from a minimum of 1 to a maximum of 3 days for realization, depending on the banking arrangements of the Mutual Fund. This change is implemented as per SEBI Circular SEBI/HO/IMD/DF2/CIR/P/2020/253.\",\n },\n newPurchase: {\n info1:\n \"I/We have read and understood the contents of the Scheme Information Document(s), Key Information Memorandum and Addenda issued for the respective scheme(s) and propose to open an account with one or more of the participating AMCS. I/We hereby agree to abide by terms and conditions, rules, and regulation of the relevant scheme(s) / Mutual Fund.\",\n info2:\n \"I/We, hereby authorize concerned RTA(s) (who are co-hosting MF Central platform) to obtain any documents / specimen signature / information provided by me to any of the KRAs (Know your Customer Registration Agency) for the purpose of opening the Account. I/We further agree and confirm that concerned RTA(s) (who are co-hosting MF Central platform) can obtain such documents directly from any of the KRAs to whom the documents have been provided by me and no further authorization to the KRA from me is required. I/We further understand that these specimen signatures will be used for validating signatures in case of any physical transactions done by me/us. I/We further confirm that no physical application is being given by me/us for fresh purchases through this facility and the above documents obtained from KRAs can be used for the purpose of opening the account with any of the participating AMC. I/We further authorize concerned RTA(s) (who are co-hosting MF Central platform) to take further steps as it may deem necessary for opening the account if the information found in the KRA records is inadequate. I/We have neither received nor been induced by any rebate or gifts, directly or indirectly in making this investment. The ARN holder has disclosed to me/us all the commissions (in the form of trail commission or any other mode), payable to him for the different competing Schemes of various Mutual Funds from amongst which the Scheme is being recommended to me/us. I/We hereby confirm that I/we have not been offered / communicated any indicative portfolio and/or any indicative yield by the respective Mutual Fund / its distributor for this investment. I/We am/are authorized to undertake this transaction. Any other advisory charges shall be paid directly by the investor to the ARN Holder (AMFI registered Distributor) based on the investors' assessment of various factors including the service rendered by the ARN Holder. In case of existing investor where investment amount is Rs.10,000/- or more and your Distributor has opted to receive Transaction Charges, Rs.100/- will be deducted from the purchase amount and paid to the Distributor. Units will be issued against the balance amount invested. I/We confirm that payment as and when made through MF Central application, will be done through my/own bank account number which is registered in the folio and no third-party account is used for such payments. In case of any non-compliance, I/We authorize you to refund the said amount to the account where it is debited, and I/We will be liable for any consequences arising thereof. Also note that participating AMC(s) and their RTA(s) has every right to reject for various regulatory / statutory / internal requirements where folio / PAN is freezed / locked.\",\n info3:\n \"Please note that w.e.f. 01.02.2021, NAV applicability and allotment of units for investment(s) is subject to realization of funds by the Mutual Fund. Online transfer of funds to the respective Mutual Fund account may take from a minimum of 1 to a maximum of 3 days for realization, depending on the banking arrangements of the Mutual Fund. This change is implemented as per SEBI Circular SEBI/HO/IMD/DF2/CIR/P/2020/253.\",\n },\n redemption: {\n info1:\n \"If my/our unit/amount balance is inadequate to meet the request. I/We authorize you to redeem available units/amount and send the proceeds accordingly. I/We are authorized to undertake this transaction.\",\n info2:\n \"I/We have read and understood the contents of the Scheme Information Document(s), Key Information Memorandum and Addenda issued for the respective scheme(s). We hereby apply to the Trustee of Mutual Fund and agree to abide by terms and conditions, rules and regulation of the relevant scheme(s) / Mutual Fund. Also note that participating AMC(s) and their RTA(s) has every right to reject for various regulatory / statutory / internal requirements where folio / PAN is freezed / locked.\",\n info3:\n \"Unit balance available to switch/redeem may be lower than total balance because of ELSS, liens and recently purchased units.\",\n note: \"Note: \",\n },\n switch: {\n info1:\n \"I/We have read and understood the contents of the Scheme Information Document(s), Key Information Memorandum and Addenda issued for the respective scheme(s). I/We hereby apply to the Trustee of Mutual Fund and agree to abide by terms and conditions, rules, and regulation of the relevant scheme(s) / Mutual Fund. Also note that participating AMC(s) and their RTA(s) has every right to reject for various regulatory / statutory / internal requirements where folio / PAN is freezed / locked.\",\n info2:\n \"Unit balance available to switch/redeem may be lower than total balance because of ELSS, liens and recently purchased units.\",\n note: \"Note: \",\n },\n camsEMandate: {\n info: 'One Time Mandate (OTM) through Automated Clearing House facility (ACH) Computer Age Management Services Limited,(\"CAMS\"), the service provider offers the facility of OTM through ACH to facilitate investments through online modes. This facility is in addition to the facility of remitting the money through internet banking. The facility can be availed by the investor by providing a onetime Mandate in the prescribed form and is subject to the following terms and conditions. TERMS AND CONDITIONS ',\n info1:\n \"1) The Mandate will be registered under Automated Clearing House Mechanism (ACH) by CAMS or its appointed Payment Aggregator, (subject to the details provided being in order) through whom the mandate will be registered for the payments due from the Investor, (either for fresh purchase or additional purchase or SIP debits) \",\n info2:\n \"2) The investor agrees to abide by the terms and conditions of NACH facility of National Payment Corporation of India (NPCI), ECS facility of Reserve Bank of India (RBI) as applicable at the time of investment and as may be modified or amended from time to time.\",\n info3:\n \"3) The investor should refer to the Scheme Information Document (SID), Scheme Additional Information(SAI) and Key Information Memorandum, all Instructions, Addenda issued from time to time and available on the Mutual Funds¿ website towards Applicable NAV, Risk Factors, Loads and all other information related to various requirements of the respective Scheme / Plan before providing the OTM. It is deemed that the investor has agreed to all the terms and conditions of the scheme, as prevailing on the date of the providing the OTM. The AMC may amend any of the terms and conditions in the documents referred above, at any time without prior notice to the Investor and such amended terms and conditions will thereupon apply to and be binding on the Investor with respect to the OTM.\",\n info4:\n \"4) Unit holder(s) hereby confirms, acknowledges and undertakes to make payments for subscription of units from their respective bank account(s) only in compliance with applicable provisions relating restriction on third party payments as detailed in the SID / SAI and that the payment will be through legitimate sources only.\",\n info5:\n \"5) The Investor understands that this Facility is merely a transactional facility offered and that CAMS will not be liable for(a) acting in good faith on any instructions received from the investor(b) error, default, delay or inability of the CAMS to act on all or any of the instruction.\",\n info6:\n \"6) Authorization by Bank Account Holder(s) ¿ The Investor should provide the name of the bank & branch, bank account number and give the authorization for Registration under ACH. If the mode of operation of bank account is joint, all bank account holders would need to sign at the places marked. If the transaction is delayed or not effected at all for reasons of incomplete or incorrect information or due to any reason by the investors banker, the investor would not hold the Mutual Fund or the Bank or the service provider responsible\",\n info7:\n \"7) Unit holder(s) need to provide along with the mandate form an original cancelled cheque (or a copy) with name and Bank account number pre-printed which is to be used for registration of the mandate failing which registration may not be accepted. The Unit holder(s) cheque/bank account details are subject to verification. \",\n info8:\n \"8) Where the cancelled cheque or a copy of the cheque does not mention the bank account holders¿ name(s), investor should provide self-attested bank pass book copy / bank statement / bank letter to substantiate that the first unit holder is one of the joint holders of the bank account. \",\n info9:\n \"9) In the event of any mismatch between the bank account number mentioned in the application form and the Account Number appearing in the cheque leaf submitted, bank account number would be updated based on the cancelled cheque leaf provided the name(s) of the investor/applicant appears in the cheque leaf. 6) Applications incomplete in any respect are liable to be rejected. CAMS / Service Provider shall have absolute discretion to reject any such Application Forms.\",\n info10:\n \"10) CAMS or other service providers shall not be responsible and liable for any damages / compensation for any loss, damage etc. incurred by the investor. The investor assumes the entire risk of using this facility and takes full responsibility.\",\n info11:\n \"11) I have understood the terms and conditions as contained above and hereby authorized CAMS/Service provider to register the Bank Account as contained in the application form under ACH and to debit the appropriate amounts from time to time in the above account through the ACH facility. I confirm that the above is an option given to facilitate investment through online facility and CAMS will not be held responsible for any loss direct or indirect arising from the use of the above facility for the investments made by me.\",\n info12:\n \"12) The investor hereby declares that the particulars in one time mandate and any subsequent transactions provided will be correct and complete. If the transaction is delayed or not effected at all for reasons of incomplete or incorrect information or due to any reason by the investor's banker, the investor would not hold the Mutual Fund or the Bank responsible. \",\n info13:\n \"13) Please refer the SID, SAI and Key Information Memorandum, all Instructions, Addenda issued from time to time and available on Funds website towards Applicable NAV, Risk Factors, Loads and all other information related to various requirements of the respective Scheme / Plan before investing. It is deemed that the investor has agreed to all the terms and conditions of the scheme, as prevailing on the date of the application and investment.\",\n info14:\n \"14) Unit holder(s) hereby confirms, acknowledges and undertakes to make payments for subscription of units from their respective bank account(s) only in compliance with applicable provisions relating restriction on third party payments as detailed in the SID / SAI and that the payment will be through legitimate sources only.\",\n info15:\n \"15) The Mutual Fund, its Registrars, Banks and other service providers shall not be liable for, nor be in default by reason of, any failure or delay in completion of its obligation under this facility, where such failure or delay is caused, in whole or in part, by any acts of God, civil war, civil commotion, riots, strike, mutiny, revolution, fire, flood, fog, war, lightening, earthquake, change of Government policies, unavailability of bank's computer system, force majeure events, or any other cause of peril which is beyond their reasonable control and which has the effect of preventing the performance of contract by them. \",\n info16:\n \"16) The responsibility of providing correct bank account information in the onetime mandate or any other application form for this facility solely rests with the Unit holder(s) and the AMC / Fund / RTA / Banks / Service Providers will not be responsible or liable for any loss, claims, liability that may arise on account of any incorrect and / or erroneous data / information supplied by the Unit holder(s).\",\n info17:\n \"17) It will be the sole responsibility of the unit holder(s)¿ bank and its branch to ensure proper registration of the Mandate and confirm registration. It is expressly clarified that the AMC/RTA/Service providers only act as a unit holder’s messenger to unit holders¿ bank to register the mandate and will not be responsible for any action or inaction on part of the unit holders¿ bank. By signing the One Time Mandate form, Unit holder(s) and the bank account holders hereby agree to have authorized the AMC/RTA to register the mandate and process any transactions received thereafter.\",\n info18:\n \"18) The investor agrees to abide by the terms and conditions of NACH facility of National Payment Corporation of India (NPCI), ECS facility of Reserve Bank of India (RBI) as applicable at the time of investment and as may be modified or amended from time to time.\",\n info19:\n \"19) Applicable NAV for the transactions will be dependent upon the time of receipt of the transaction through online mode into RTA server, electronically time-stamped and other factors like scheme, type of transaction, amount of transaction, date and time of realization of clear funds through banking channels, as per detailed provisions mentioned in Scheme Information documents and will be treated on par transactions received through other modes. For the purpose of this Facility, such AMC/RTA offices/Call center/servers would be considered as an Official Point of Acceptance of the transaction.\",\n info20:\n \"20) It will be the responsibility of the Unit holder(s) to ensure that the cumulative transactions for the day for the SIP installments and lump sum purchases are within the mandate amount limit. Where multiple transactions, either for SIP installments or lump sum purchases are due for debit for a single day or where multiple investment requests are received through different modes in a single day and if the value of the cumulative debits exceeds the mandate amount, it may happen that some transaction may be rejected by the Unit holder(s) bank. The Bank may charge the Unit holder(s) for any failed transactions and it will have to be borne by the Unit holder(s) and not by the Fund or the AMC. The Fund may endeavor to give preference to the SIP installments and the lump sum purchases may be debited on the following days.\",\n info21:\n \"21) The unit holder understand that this Facility is merely a transactional facility offered and that the AMC/RTA will not be liable for (a) acting in good faith on any instructions received from the unit holder (b) error, default, delay or inability of the AMC/RTA to act on all or any of the instruction. 19) The unit holder shall always abide by the aforesaid terms and conditions while availing the facility and hereby undertake not to misuse the same and in the event of any damage shall indemnify the AMC/RTA for any loss arising therefrom. 20) The AMC may amend the above terms and conditions, at any time without prior notice to the unit holders and such amended terms and conditions will thereupon apply to and be binding on the unit holders.\",\n info22:\n \"22) Declaration & Signatures: This section needs to be signed by the applicant(s) / unit holder(s) at the places marked as per the proposed/existing mode of holding (i.e. Single, anyone or Survivor)\",\n },\n kfinEMandate: {\n info: \"I/We also confirm that I am/ we are account holder(s) in the bank account from which we are issuing the mandate. Please note that as per regulations the AMC is required to conduct due diligence to identify the source of the transaction and may also call for further supporting documents wherever required if it is found that I / we are not account holder(s) of the mandate registered by us then I/ we recognize that the AMC is likely to reject the same.\",\n info1: \"Please Note :-\",\n info2:\n \"· To register e-mandate you would be redirected to the Net Banking login page. Amount will be debit from your bank A/c for registration depending on the selected bank as per their policy.\",\n info3:\n \"· This e-mandate would get registered as part of SIP transaction with relevant details fetched as entered on this screen and would be available under OTM payment mode for registering fresh SIP transactions.\",\n info4:\n \"· e-mandate (eNACH) registration is not applicable for lumpsum transaction, minor or NRI investors.\",\n },\n },\n euinModal: {\n info: \" I/We hereby confirm that the EUIN box has been intentionally left blank by me/us as this is an “execution-only” transaction without any interaction or advice by the employee/relationship manager/salesperson of the above distributor or notwithstanding the advice of in-appropriateness, if any, provided by the employee/relationship manager/sales person of the distributor and the distributor has not charged any advisory fees on this transaction.\",\n },\n },\n nct: {\n errors: {\n default: \"This folio cannot be selected\",\n moh: 'Folio(s) with mode of holding as \"Single\" are only applicable',\n transactionSource: '\"Demat\" or \"Exchange\" Folio(s) are not allowed',\n minorFolio: ' \"Minor\" Folio(s) are not allowed',\n },\n },\n\n reInitiateNewPurchaseFields: {\n Frequency:{label:\"Frequency\"},\n // dd_fund: { label: \"Fund Code\" },\n // Fdesc: { label: \"Fund Description\" },\n // dd_scheme: { label: \"Scheme Code\" },\n // dd_plan: { label: \"Plan Code\" },\n // dd_option: { label: \"Option Code\" },\n dd_trdate: { label: \"Transaction Date\" },\n // dd_navdate: { label: \"NAV Date\" },\n // dd_branch: { label: \"Branch Code\" },\n dd_distributor: { label: \"Distributor Code\" },\n // dd_refno: { label: \"Reference Number\" },\n // refno: { label: \"Reference Number\" },\n // acno: { label: \"Account Number\" },\n // dd_appno: { label: \"Application Number\" },\n // appno: { label: \"Application Number\" },\n dd_trtype: { label: \"Transaction Type\" },\n // trtype: { label: \"Transaction Type\" },\n dd_amt: { label: \"Amount\" },\n // dd_fname: { label: \"First Name\" },\n // dd_mname: { label: \"Middle Name\" },\n // dd_lname: { label: \"Last Name\" },\n dd_email: { label: \"Email\" },\n dd_invgender: { label: \"Investor Gender\" },\n\n dd_invdob: { label: \"Investor Date of Birth\" },\n\n // Email: { label: \"Email\" },\n dd_mobileno: { label: \"Mobile Number\" },\n Schdesc: { label: \"Scheme Description\" },\n plndesc: { label: \"Plan Description\" },\n optdesc: { label: \"Option Description\" },\n fm_schdesc: { label: \"Scheme Description\" },\n fm_plandesc: { label: \"Plan Description\" },\n fm_optiondesc: { label: \"Option Description\" },\n sip_amt: { label: \"SIP Amount\" },\n // Mobile: { label: \"Mobile Number\" },\n // dd_category: { label: \"Category Code\" },\n // dd_chqno: { label: \"Cheque Number\" },\n // dd_chqdate: { label: \"Cheque Date\" },\n // dd_chqbank: { label: \"Cheque Bank\" },\n // dd_chqbranch: { label: \"Cheque Branch\" },\n // dd_chqtype: { label: \"Cheque Type\" },\n // dd_purred: { label: \"Purchase/Redemption Indicator\" },\n // dd_ihno: { label: \"Investment Holding Number\" },\n // dd_vip: { label: \"VIP Code\" },\n // dd_chqcode: { label: \"Cheque Code\" },\n // dd_depbankname: { label: \"Deposit Bank Name\" },\n // dd_depbankcode: { label: \"Deposit Bank Code\" },\n // dd_depslipno: { label: \"Deposit Slip Number\" },\n // dd_depositdate: { label: \"Deposit Date\" },\n // dd_deposittype: { label: \"Deposit Type\" },\n // dd_remarks: { label: \"Remarks\" },\n // dd_coaflag: { label: \"COA Flag\" },\n // dd_cobflag: { label: \"COB Flag\" },\n // dd_tpr: { label: \"TPR Code\" },\n // dd_dcr: { label: \"DCR Code\" },\n // dd_cuttime: { label: \"Cut-off Time\" },\n // dd_entby: { label: \"Entered By\" },\n dd_subbroker: { label: \"Sub Broker Code\" },\n // dd_mocode: { label: \"MO Code\" },\n // dd_ctdtr: { label: \"CTDTR Code\" },\n // dd_active: { label: \"Active Status\" },\n // dd_entdt: { label: \"Entry Date\" },\n // Enddt: { label: \"End Date\" },\n // dd_mktstatus: { label: \"Market Status\" },\n // dd_applrecdt: { label: \"Application Received Date\" },\n // dd_hvflag: { label: \"HV Flag\" },\n // dd_ddcharges: { label: \"DD Charges\" },\n dd_pangno: { label: \"PAN Number\" },\n // pan: { label: \"PAN Number\" },\n // dd_depslipgen: { label: \"Deposit Slip Generated\" },\n // dd_transferflag: { label: \"Transfer Flag\" },\n // dd_receiptno: { label: \"Receipt Number\" },\n // dd_multichqflag: { label: \"Multiple Cheque Flag\" },\n dd_bnkacno: { label: \"Bank Account Number\" },\n dd_bnkacname: { label: \"Bank Account Name\" },\n dd_acno: { label: \"Account Number\" },\n\n // dd_form6061: { label: \"Form 6061\" },\n // dd_mapinid: { label: \"MAPIN ID\" },\n \n // dd_panverify: { label: \"PAN Verification Status\" },\n dd_bnkacctype: { label: \"Bank Account Type\" },\n // dd_proxybranch: { label: \"Proxy Branch\" },\n // dd_macid: { label: \"MAC ID\" },\n // dd_salutation: { label: \"Salutation\" },\n dd_pangno2: { label: \"Secondary Applicant 1 PAN Number\" },\n dd_pangno3: { label: \"Secondary Applicant 2 PAN Number\" },\n dd_invadd1: { label: \"Investor Address Line 1\" },\n dd_invadd2: { label: \"Investor Address Line 2\" },\n dd_invadd3: { label: \"Investor Address Line 3\" },\n dd_invcity: { label: \"Investor City\" },\n dd_invstate: { label: \"Investor State\" },\n dd_country: { label: \"Investor Country\" },\n dd_invpin: { label: \"Investor PinCode\" },\n dd_phone: { label: \"Phone Number\" },\n dd_invphone2: { label: \"Secondary Phone Number\" },\n // dd_fax: { label: \"Fax Number\" },\n dd_joinholder1: { label: \"Secondary Applicant 1\" },\n dd_joinholder2: { label: \"Secondary Applicant 2\" },\n dd_jh1dob: { label: \"Secondary Applicant 1 Date of Birth\" },\n dd_jh2dob: { label: \"Secondary Applicant 2 Date of Birth\" },\n dd_jt1mobile: { label: \"Secondary Applicant 1 Mobile Number\" },\n dd_jt2mobile: { label: \"Secondary Applicant 2 Mobile Number\" },\n jt1mobile: { label: \"Secondary Applicant 1 Mobile Number\" },\n jt2mobile: { label: \"Secondary Applicant 2 Mobile Number\" },\n i_invgender2: { label: \"Secondary Applicant 1 Gender\" },\n i_invgender3: { label: \"Secondary Applicant 2 Gender\" },\n jt1category: { label: \"Secondary Applicant 1 Category\" },\n jt2category: { label: \"Secondary Applicant 2 Category\" },\n i_email2: { label: \"Secondary Applicant 1 Email\" },\n i_email3: { label: \"Secondary Applicant 2 Email\" },\n i_invstate2: { label: \"Secondary Applicant 1 State\" },\n i_invstate3: { label: \"Secondary Applicant 2 State\" },\n i_invcity2: { label: \"Secondary Applicant 1 City\" },\n i_invcity3: { label: \"Secondary Applicant 2 City\" },\n i_invpin2: { label: \"Secondary Applicant 1 Pincode\" },\n i_invpin3: { label: \"Secondary Applicant 2 Pincode\" },\n emailrelationship: { label: \"Email Relationship\" },\n mobilerelationship: { label: \"Mobile Relationship\" },\n // dd_jh1circle: { label: \"Secondary Applicant 1 Circle\" },\n // dd_jh2circle: { label: \"Secondary Applicant 2 Circle\" },\n // dd_divoption: { label: \"Dividend Option\" },\n dd_paymode: { label: \"Payment Mode\" },\n // paymode: { label: \"Payment Mode\" },\n // dd_redmode: { label: \"Redemption Mode\" },\n // dd_gencircle: { label: \"General Circle\" },\n // dd_mohoccpn: { label: \"Occupation Code\" },\n // dd_mohstatus: { label: \"Marital Status\" },\n // dd_gencntctperson: { label: \"Contact Person\" },\n // dd_mohold: { label: \"Mode of Holding\" },\n dd_genguardian: { label: \"Guardian Name\" },\n dd_genguardianDOB: { label: \"Guardian Date of Birth\" },\n // dd_pan2Form6061: { label: \"Secondary PAN Form 6061\" },\n // dd_pan3Form6061: { label: \"Tertiary PAN Form 6061\" },\n // dd_pan2Mapin: { label: \"Secondary PAN MAPIN\" },\n // dd_pan3Mapin: { label: \"Tertiary PAN MAPIN\" },\n dd_nominee: { label: \"Nominee Name\" },\n dd_NomRelation: { label: \"Nominee Relation\" },\n dd_NomDOB: { label: \"Nominee Date of Birth\" },\n dd_nomadd1: { label: \"Nominee Address Line 1\" },\n dd_nomadd2: { label: \"Nominee Address Line 2\" },\n dd_nomadd3: { label: \"Nominee Address Line 3\" },\n dd_nomcity: { label: \"Nominee City\" },\n dd_nomstate: { label: \"Nominee State\" },\n dd_nompin: { label: \"Nominee Pincode\" },\n dd_nrimobile: { label: \"NRI Mobile Number\" },\n dd_nriemail: { label: \"NRI Email\" },\n dd_nriadd1: { label: \"NRI Address Line 1\" },\n dd_nriadd2: { label: \"NRI Address Line 2\" },\n dd_nriadd3: { label: \"NRI Address Line 3\" },\n dd_nricity: { label: \"NRI City\" },\n dd_nristate: { label: \"NRI State\" },\n dd_nripin: { label: \"NRI Pincode\" },\n // dd_Donor: { label: \"Donor Name\" },\n // dd_DonorCircle: { label: \"Donor Circle\" },\n // dd_DonorDob: { label: \"Donor Date of Birth\" },\n // dd_Donoradd1: { label: \"Donor Address Line 1\" },\n // dd_Donoradd2: { label: \"Donor Address Line 2\" },\n // dd_Donoradd3: { label: \"Donor Address Line 3\" },\n // dd_Donorcity: { label: \"Donor City\" },\n // dd_Donorstate: { label: \"Donor State\" },\n // dd_Donorcountry: { label: \"Donor Country\" },\n // dd_Donorpin: { label: \"Donor PIN\" },\n // dd_DonorEmail: { label: \"Donor Email\" },\n // dd_DonorMobile: { label: \"Donor Mobile Number\" },\n // dd_Donorphone1: { label: \"Donor Phone Number 1\" },\n // dd_Donorphone2: { label: \"Donor Phone Number 2\" },\n // dd_Donorfax: { label: \"Donor Fax Number\" },\n // dd_Assignee: { label: \"Assignee Name\" },\n // dd_AssigneeDob: { label: \"Assignee Date of Birth\" },\n // dd_Assigneeadd1: { label: \"Assignee Address Line 1\" },\n // dd_Assigneeadd2: { label: \"Assignee Address Line 2\" },\n // dd_Assigneeadd3: { label: \"Assignee Address Line 3\" },\n // dd_Assigneecity: { label: \"Assignee City\" },\n // dd_Assigneestate: { label: \"Assignee State\" },\n // dd_Assigneepin: { label: \"Assignee PIN\" },\n // dd_Altchild: { label: \"Alternate Child\" },\n // dd_Altcadd1: { label: \"Alternate Child Address Line 1\" },\n // dd_Altcadd2: { label: \"Alternate Child Address Line 2\" },\n // dd_Altcadd3: { label: \"Alternate Child Address Line 3\" },\n // dd_Altccity: { label: \"Alternate Child City\" },\n // dd_scanstatus: { label: \"Scan Status\" },\n // dd_options: { label: \"Options\" },\n // dd_sipflag: { label: \"SIP Flag\" },\n dd_sipstartdt: { label: \"SIP Start Date\" },\n dd_sipenddt: { label: \"SIP End Date\" },\n dd_micrno: { label: \"MICR Number\" },\n dd_ifcscode: { label: \"IFSC Code\" },\n // dd_pminstatus: { label: \"PMIN Status\" },\n // dd_ckyc1: { label: \"CKYC 1\" },\n // dd_ckyc2: { label: \"CKYC 2\" },\n // dd_ckyc3: { label: \"CKYC 3\" },\n // dd_gckyc: { label: \"GCKYC\" },\n dd_nricountry: { label: \"NRI Country\" },\n \n // dd_DPName: { label: \"Depository Participant Name\" },\n // dd_DPId: { label: \"Depository Participant ID\" },\n // dd_DPACNo: { label: \"Depository Participant Account Number\" },\n // dd_DPOption: { label: \"Depository Participant Option\" },\n fm_category: { label: \"Category\" },\n // DPID: { label: \"Depository Participant ID\" },\n // ClientID: { label: \"Client ID\" },\n dd_bnkpin: { label: \"Bank Pincode\" },\n dd_bnkcity: { label: \"Bank City\" },\n dd_bnkadd1: { label: \"Bank Address Line 1\" },\n dd_bnkadd2: { label: \"Bank Address Line 2\" },\n dd_bnkadd3: { label: \"Bank Address Line 3\" },\n\n occupation: { label: \"Occupation\" },\n gross_income: { label: \"Gross Income\" },\n Country_of_Birth: { label: \"Country of Birth\" },\n Country_of_Citizenship: { label: \"Country of Citizenship\" },\n Foreign_Tax_Id: { label: \"Foreign Tax ID\" },\n // Percentage: { label: \"Percentage\" },\n combo_flag: { label: \"Combo Flag\" },\n // i_InvDistFlag: { label: \"Investor Distribution Flag\" },\n // customfund: { label: \"Custom Fund\" },\n // i_Fund: { label: \"Fund Code\" },\n // i_Scheme: { label: \"Scheme Code\" },\n // i_Plan: { label: \"Plan Code\" },\n // i_Option: { label: \"Option Code\" },\n etf_flag: { label: \"ETF Flag\" },\n \n PanNo: { label: \"PAN Number\" },\n i_Fname: { label: \"Full Name\" },\n USERID: { label: \"User ID\" },\n ARNCode: { label: \"ARN Code\" },\n SubbrokerArn: { label: \"Subbroker ARN\" },\n Subbroker: { label: \"Subbroker Name\" },\n // ID: { label: \"ID\" },\n smart_flag: { label: \"Smart Flag\" },\n i_Acno: { label: \"Account Number\" },\n euindeclaration: { label: \"EUIN Declaration\" },\n // entdt: { label: \"Entry Date\" },\n Paymenttype: { label: \"Payment Type\" },\n // i_UntAmtValue: { label: \"Unit Amount Value\" },\n // BANKID: { label: \"Bank ID\" },\n // ihno: { label: \"Investment Holder Number\" },\n bank_acno: { label: \"Bank Account Number\" },\n UMRN_Code: { label: \"UMRN Code\" },\n \n nom1email: { label: \"Nominee 1 Email\" },\n nom2email: { label: \"Nominee 2 Email\" },\n nom3email: { label: \"Nominee 3 Email\" },\n \n arnsubbroker: { label: \"ARN Subbroker\" },\n nom1gender: { label: \"Nominee 1 Gender\" },\n nom2gender: { label: \"Nominee 2 Gender\" },\n nom3gender: { label: \"Nominee 3 Gender\" },\n i_invcountry2: { label: \"Investor Country 2\" },\n i_invcountry3: { label: \"Investor Country 3\" },\n i_nompan1: { label: \"Nominee PAN 1\" },\n i_nompan2: { label: \"Nominee PAN 2\" },\n i_nompan3: { label: \"Nominee PAN 3\" },\n i_nominee2: { label: \"Nominee 2\" },\n i_Nom2Relation: { label: \"Nominee 2 Relation\" },\n i__Nom2DOB: { label: \"Nominee 2 Date of Birth\" },\n i_nom2add1: { label: \"Nominee 2 Address Line 1\" },\n i_nom2add2: { label: \"Nominee 2 Address Line 2\" },\n i_nom2add3: { label: \"Nominee 2 Address Line 3\" },\n i_nom2city: { label: \"Nominee 2 City\" },\n i_nom2state: { label: \"Nominee 2 State\" },\n i_nom2pin: { label: \"Nominee 2 Pincode\" },\n i_nominee3: { label: \"Nominee 3\" },\n i_Nom3Relation: { label: \"Nominee 3 Relation\" },\n i_Nom3DOB: { label: \"Nominee 3 Date of Birth\" },\n i_nom3add1: { label: \"Nominee 3 Address Line 1\" },\n i_nom3add2: { label: \"Nominee 3 Address Line 2\" },\n i_nom3add3: { label: \"Nominee 3 Address Line 3\" },\n i_nom3city: { label: \"Nominee 3 City\" },\n i_nom3state: { label: \"Nominee 3 State\" },\n i_nom3pin: { label: \"Nominee 3 Pincode\" },\n i_nomguardianpan1: { label: \"Nominee Guardian PAN 1\" },\n i_nomguardianpan2: { label: \"Nominee Guardian PAN 2\" },\n i_nomguardianpan3: { label: \"Nominee Guardian PAN 3\" },\n i_nomguardianname1: { label: \"Nominee Guardian Name 1\" },\n i_nomguardianname2: { label: \"Nominee Guardian Name 2\" },\n i_nomguardianname3: { label: \"Nominee Guardian Name 3\" },\n i_namguardianrelationship1: { label: \"Guardian Relationship 1\" },\n i_namguardianrelationship2: { label: \"Guardian Relationship 2\" },\n i_namguardianrelationship3: { label: \"Guardian Relationship 3\" },\n\n FCountryofBirth: { label: \"Investor Country of Birth\" },\n SCountryofBirth: { label: \"Secondary Applicant 1 Country of Birth\" },\n TCountryofBirth: { label: \"Secondary Applicant 2 Country of Birth\" },\n FForeignTaxId: { label: \"Investor Foreign Tax ID\" },\n SForeignTaxId: { label: \"Secondary Applicant 1 Foreign Tax ID\" },\n TForeignTaxId: { label: \"Secondary Applicant 2 Foreign Tax ID\" },\n FForeignTaxType: { label: \"First Foreign Tax Type\" },\n SForeignTaxType: { label: \"Secondary Applicant 1 Foreign Tax Type\" },\n TForeignTaxType: { label: \"Secondary Applicant 2 Foreign Tax Type\" },\n FNationality: { label: \"Investor Nationality\" },\n SNationality: { label: \"Secondary Applicant 1 Nationality\" },\n TNationality: { label: \"Secondary Applicant 2 Nationality\" },\n // FPEP: { label: \"First PEP\" },\n // SPEP: { label: \"Second PEP\" },\n // TPEP: { label: \"Third PEP\" },\n // FPREP: { label: \"First PREP\" },\n // SPREP: { label: \"Second PREP\" },\n // TPREP: { label: \"Third PREP\" },\n FTaxResident: { label: \"Investor Tax Resident\" },\n STaxResident: { label: \"Secondary Applicant 1 Tax Resident\" },\n TTaxResident: { label: \"Secondary Applicant 2 Tax Resident\" },\n i_Occpn: { label: \"Investor Occupation\" },\n i_SOccpn: { label: \"Secondary Applicant 1 Occupation\" },\n i_TOccpn: { label: \"Secondary Applicant 2 Occupation\" },\n i_guardianname: { label: \"Nominee 1 Guardian Name\" },\n i_Sguardianname: { label: \"Nominee 2 Guardian Name\" },\n i_Tguardianname: { label: \"Nominee 3 Guardian Name\" },\n i_guardianpan: { label: \"Nominee 1 Guardian PAN\" },\n i_Sguardianpan: { label: \"Nominee 2 Guardian PAN\" },\n i_Tguardianpan: { label: \"Nominee 3 Guardian PAN\" },\n i_income: { label: \"Investor Income\" },\n i_Sincome: { label: \"Secondary Applicant 1 Income\" },\n i_Tincome: { label: \"Secondary Applicant 2 Income\" },\n i_invpin: { label: \"Investor Pincode\" },\n country_code: { label: \"Country Code\" },\n JHfEmailFlag1: { label: \"Secondary Applicant 1 Email Flag\" },\n JHfEmailFlag2: { label: \"Secondary Applicant 2 Email Flag\" },\n JHfMobileFlag1: { label: \"Secondary Applicant 1 Mobile Flag\" },\n JHfMobileFlag2: { label: \"Secondary Applicant 2 Mobile Flag\" },\n JHcountry_code1: { label: \"Secondary Applicant 1 Country Code\" },\n JHcountry_code2: { label: \"Secondary Applicant 2 Country Code\" },\n i_jhnriadd1: { label: \"Secondary Applicant NRI Address Line 1\" },\n i_jhnriadd2: { label: \"Secondary Applicant NRI Address Line 2\" },\n i_jhnriadd3: { label: \"Secondary Applicant NRI Address Line 3\" },\n i_jhnricity: { label: \"Secondary Applicant NRI City\" },\n i_jhnristate: { label: \"Secondary Applicant NRI State\" },\n i_jhnricountry: { label: \"Secondary Applicant NRI Country\" },\n i_jhnriemail: { label: \"Secondary Applicant NRI Email\" },\n i_jhnrimobile: { label: \"Secondary Applicant NRI Mobile\" },\n jhnriZIP_code: { label: \"Secondary Applicant NRI ZIP Code\" },\n i_shnriadd1: { label: \"Secondary Holder NRI Address Line 1\" },\n i_shnriadd2: { label: \"Secondary Holder NRI Address Line 2\" },\n i_shnriadd3: { label: \"Secondary Holder NRI Address Line 3\" },\n i_shnricity: { label: \"Secondary Holder NRI City\" },\n i_shnristate: { label: \"Secondary Holder NRI State\" },\n i_shnricountry: { label: \"Secondary Holder NRI Country\" },\n i_shnriemail: { label: \"Secondary Holder NRI Email\" },\n i_shnrimobile: { label: \"Secondary Holder NRI Mobile\" },\n shnriZIP_code: { label: \"Secondary Holder NRI ZIP Code\" },\n i_guadianmobile: { label: \"Guardian Mobile\" },\n i_guardianemail: { label: \"Guardian Email\" },\n i_guardianEmailFlag: { label: \"Guardian Email Flag\" },\n i_guardianMobileFlag: { label: \"Guardian Mobile Flag\" },\n i_guardianrelationship: { label: \"Guardian Relationship\" },\n // aotmflg: { label: \"AOTM Flag\" },\n // NRI_Cdcupload_flag: { label: \"NRI CDC Upload Flag\" },\n dd_CountofBirth1: { label: \"Investor Country of Birth\" },\n dd_CountofBirth2: { label: \"Secondary Applicant 1 Country of Birth\" },\n dd_CountofBirth3: { label: \"Secondary Applicant 2 Country of Birth\" },\n dd_ForeignTaxId1: { label: \"Investor Foreign Tax ID\" },\n dd_ForeignTaxId2: { label: \"Secondary Applicant 1 Foreign Tax ID\" },\n dd_ForeignTaxId3: { label: \"Secondary Applicant 2 Foreign Tax ID\" },\n dd_ForeignTaxType1: { label: \"Investor Foreign Tax Type\" },\n dd_ForeignTaxType2: { label: \"Secondary Applicant 1 Foreign Tax Type\" },\n dd_ForeignTaxType3: { label: \"Secondary Applicant 2 Foreign Tax Type\" },\n dd_Nationality1: { label: \"Investor Nationality\" },\n dd_Nationality2: { label: \"Secondary Applicant 1 Nationality\" },\n dd_Nationality3: { label: \"Secondary Applicant 2 Nationality\" },\n dd_PolitycallyExp1: { label: \"Investor Politically Exposed Person\" },\n dd_PolitycallyExp2: { label: \" Secondary Applicant 1 Politically Exposed Person\" },\n dd_PolitycallyExp3: { label: \" Secondary Applicant 2 Politically Exposed Person\" },\n // dd_RelPolitycallyExp1: { label: \"Related Politically Exposed Person 1\" },\n // dd_RelPolitycallyExp2: { label: \"Related Politically Exposed Person 2\" },\n // dd_RelPolitycallyExp3: { label: \"Related Politically Exposed Person 3\" },\n dd_TaxResident1: { label: \"Investor Tax Resident\" },\n dd_TaxResident2: { label: \"Secondary Applicant 1 Tax Resident\" },\n dd_TaxResident3: { label: \"Secondary Applicant 2 Tax Resident\" },\n dd_mohoccpn2: { label: \"Secondary Applicant 1 Occupation\" },\n dd_mohoccpn3: { label: \"Secondary Applicant 2 Occupation\" },\n // dd_invIncomeslab: { label: \"Income Slab\" },\n // dd_invIncomeslab2: { label: \"Income Slab 2\" },\n // dd_invIncomeslab3: { label: \"Income Slab 3\" },\n dd_euincode: { label: \"EUIN Code\" },\n // euincode: { label: \"EUIN Code\" },\n // EuinValid: { label: \"EUIN Valid\" },\n dd_Nom2DOB: { label: \"Nominee 2 Date of Birth\" },\n dd_Nom3DOB: { label: \"Nominee 3 Date of Birth\" },\n dd_nomcountry: { label: \"Nominee Country\" },\n dd_nom2country: { label: \"Nominee 2 Country\" },\n dd_nom3country: { label: \"Nominee 3 Country\" },\n dd_Nom2Relation: { label: \"Nominee 2 Relation\" },\n dd_Nom2DOB1: { label: \"Nominee 2 Date of Birth 1\" },\n dd_nom2city: { label: \"Nominee 2 City\" },\n dd_nom2add1: { label: \"Nominee 2 Address Line 1\" },\n dd_nom2add2: { label: \"Nominee 2 Address Line 2\" },\n dd_nom2add3: { label: \"Nominee 2 Address Line 3\" },\n dd_nom2state: { label: \"Nominee 2 State\" },\n dd_nom2pin: { label: \"Nominee 2 Pincode\" },\n dd_nominee2: { label: \"Nominee 2\" },\n dd_guardpan: { label: \"Guardian PAN\" },\n dd_nominee3: { label: \"Nominee 3\" },\n dd_Nom3Relation: { label: \"Nominee 3 Relation\" },\n dd_Nom3DOB1: { label: \"Nominee 3 Date of Birth 1\" },\n dd_nom3add1: { label: \"Nominee 3 Address Line 1\" },\n dd_nom3add2: { label: \"Nominee 3 Address Line 2\" },\n dd_nom3add3: { label: \"Nominee 3 Address Line 3\" },\n dd_nom3city: { label: \"Nominee 3 City\" },\n dd_nom3state: { label: \"Nominee 3 State\" },\n dd_invgender2: { label: \"Investor Gender 2\" },\n dd_invgender3: { label: \"Investor Gender 3\" },\n dd_invcountry2: { label: \"Investor Country 2\" },\n dd_invcountry3: { label: \"Investor Country 3\" },\n dd_nomgender: { label: \"Nominee Gender\" },\n dd_nom2gender: { label: \"Nominee 2 Gender\" },\n dd_nom3gender: { label: \"Nominee 3 Gender\" },\n dd_nom3pin: { label: \"Nominee 3 Pincode\" },\n dd_Nominee1percentage: { label: \"Nominee 1 Percentage\" },\n dd_Nominee2percentage: { label: \"Nominee 2 Percentage\" },\n dd_Nominee3percentage: { label: \"Nominee 3 Percentage\" },\n Noof_Instalments: { label: \"Number of Installments\" },\n dd_urnno: { label: \"URN Number\" },\n // dd_goalamt: { label: \"Goal Amount\" },\n // dd_goaltype: { label: \"Goal Type\" },\n Number_of_Nominee: { label: \"Number of Nominees\" },\n // flag: { label: \"Flag\" },\n aotmflg1: { label: \"AOTM Flag 1\" },\n },\n};\n\nexport default enUs;\n","import moment from \"moment\";\nexport const CommercialRootPath = \"/portal/commercial\";\nexport const EQUITY = \"Equity\";\nexport const LIQUID = \"Liquid\";\nexport const DEBT = \"Debt\";\nexport const OTHER = \"Other\";\nexport const UPDATE_NOMINEE = \"update_nominee\";\nexport const EIGHTEEN_YEARS_IN_MILLISECONDS = 18 * 31556926 * 1000; // 18 * no of seconds in a Year * 1000\nexport const TRANSACTION_RESOURCE_TYPES = [\"SoA Holdings\", \"Demat Holdings\"];\nexport const ALL_HOLDINGS = \"allHoldings\";\nexport const ZERO_HOLDINGS = \"zeroHoldings\";\nexport const NON_ZERO_HOLDINGS = \"nonZeroHoldings\";\nexport const REGISTER_WITH_MOBILE = \"MOBILE\";\nexport const REGISTER_WITH_EMAIL = \"EMAIL\";\nexport const BANK_ACCOUNT_DETAILS = \"bank_account_details\";\nexport const MULTIPLE_BANK_REGISTRATION = \"multiple_bank_registration\";\nexport const UPDATE_IFSC = \"update_ifsc\";\nexport const IDCW_OPTION = \"idcw_option\";\nexport const UPDATE_EMAIL = \"update_email\";\nexport const UPDATE_MOBILE = \"update_mobile\";\nexport const CONSOLIDATION_FOLIOS = \"consolidation_folios\";\nexport const UNCLAIMED_PAYOUTS = \"unclaimed_payouts\";\nexport const FORM_15GH = \"form_15gh\";\nexport const FATCA = \"fatca\";\nexport const MINOR_MAJOR = \"minor_major\";\nexport const addDialCode = (mobile: string = \"\") => {\n if (!mobile) {\n return mobile;\n }\n if (mobile.length === 13) return mobile;\n return `+91${mobile.slice(mobile.length - 10)}`;\n};\n\nexport const getDate = (value: string) => {\n if (!value) return value;\n return new Date(value);\n};\n\nexport const getDateString = (value: string | Date) => {\n const d = new Date(value);\n if (!isNaN(d.getTime())) {\n d.setFullYear(Math.abs(d.getFullYear()));\n return moment(d).format(\"DD-MMM-YYYY\");\n } else {\n if (!value) return \"\";\n const today = moment(value);\n return today.format(\"DD-MMM-YYYY\");\n }\n // return '';\n};\nexport const validUploadFileSize = 2e6;\n\nexport const validUploadFileFormats = [\n \"application/pdf\",\n // \"image/jpeg\",\n // \"image/png\",\n // \"image/jpg\",\n];\nexport const OTP_ACTIONS = {\n register: \"REGISTER\",\n switch: \"SWITCH\",\n stp: \"STP_REGISTRATION\",\n PROSPECT_FOLIO_EMAIL: \"PROSPECT_FOLIO_EMAIL\",\n PROSPECT_FOLIO_MOBILE: \"PROSPECT_FOLIO_MOBILE\",\n swp: \"SWP_REGISTRATION\",\n sipPause: \"SIP_PAUSE_CANCEL\",\n otmCancel: \"OTM_CANCEL\",\n redeem: \"REDEMPTION\",\n forgot_password: \"FORGOT_PWD\",\n SECURITY_ANSWER: \"SECURITY_ANSWER\",\n additionalPurchase: \"ADDITIONAL_PURCHASE\",\n changeEmail: \"EMAIL_CHANGE\",\n changeUploadEmail: \"UPLOAD_EMAIL_CHANGE\",\n changeMobile: \"MOBILE_CHANGE\",\n newPurchase: \"FRESH_PURCHASE\",\n login: \"LOGIN\",\n otp_login: \"OTP_LOGIN\",\n changeTaxStatus: \"TAX_STATUS\",\n changeBank: \"BANK_ACCOUNT_TYPE_CHANGE\",\n consolidationFolios: \"FOLIO_CONSOLIDATION\",\n correctionFolios: \"DATA_ENTRY_ERROR\",\n updateNominee: \"NOMINEE_CHANGE\",\n changeDividend: \"DIV_OPTION_CHANGE\",\n PRELOGIN_UPDATE_PAN: \"PRELOGIN_UPDATE_PAN\",\n minorStatusChange: \"MINOR_TO_MAJOR\",\n changeifsc: \"BANK_ACCOUNT_TYPE_CHANGE\",\n updateMultipleBanks: \"MULTIPLE_BANK_MANDATE\",\n changeBankDetails: \"BANK_ACCOUNT_DETAIL_CHANGE\",\n FATCA_DECLARATION: \"FATCA_CHANGE\",\n FORM_15: \"UPDATE_FORM15_G_H\",\n CHANGE_PWD: \"CHANGE_PWD\",\n NEW_MOBILE_ONINE_OTP: \"NEW_MOBILE_CHANGE\",\n NEW_MOBILE_OFFLINE_OTP: \"UPLOAD_MOBILE_CHANGE\",\n UNREGISTERED_MOBILE_CHANGE: \"UNREGISTERED_MOBILE_CHANGE\",\n NEW_EMAIL_ONINE_OTP: \"NEW_EMAIL_CHANGE\",\n NEW_EMAIL_OFFLINE_OTP: \"UPLOAD_EMAIL_CHANGE\",\n UNREGISTERED_EMAIL_CHANGE: \"UNREGISTERED_EMAIL_CHANGE\",\n CHANGE_DISPLAY_NAME: \"CHANGE_DISPLAY_NAME\",\n TRANSMISSION_OF_UNITS: \"TRANSMISSION_OF_UNITS\",\n VERIFY_OTP_RESET_DEVICE: \"VERIFY_OTP_RESET_DEVICE\",\n RESET_DEVICE: \"RESET_DEVICE\",\n FRESH_PURCHASE_MOBILE: \"FRESH_PURCHASE_MOBILE\",\n FRESH_PURCHASE_EMAIL: \"FRESH_PURCHASE_EMAIL\",\n};\n\nexport const panRegex = /^[A-Z]{3}[P][A-Z][0-9]{4}[A-Z]{1}$/;\n\nexport const _minDateForCalender = () => {\n const date = new Date();\n date.setFullYear(date.getFullYear() - 100);\n return date;\n};\nexport const ifscRegex = /^[A-Za-z]{4}0[A-Z0-9a-z]{6}$/;\nexport const isAlphaNumeric = (value: string) => {\n if (/^[A-Za-z0-9 ]+$/.test(value) || !value) {\n return true;\n }\n return false;\n};\nexport const isAlphaNumericAddress = (value: string) => {\n if (/^[A-Za-z0-9,/\\\\\\- ]+$/.test(value) || !value) {\n return true;\n }\n return false;\n};\n\nexport const minDateForCalender = () => {\n const currentYear = new Date().getFullYear();\n const day = new Date().getDay();\n const month = new Date().getMonth();\n return moment(new Date(`${currentYear - 100}-${month + 1}-${day}`)).format(\n \"YYYY-MM-DD\"\n );\n};\n\nexport const DATA_ERROR = \"data_error\";\n\nexport const checkForOnlyAlphabets = (value: string) => {\n if (/^[A-Za-z ]+$/.test(value) || !value) {\n return true;\n }\n return false;\n};\nexport const MAX_LENGTH_FOR_PAN = 10;\nexport const MAX_LENGTH_FOR_NOMINEE_NAME = 60;\nexport const MAX_LENGTH_FOR_GUARDIAN_NAME = 120;\nexport const MAX_LENGTH_FOR_ADDRESS = 120;\nexport const accountNumberRegex = /^[0-9]{9,18}$/;\nexport const MaxAccountNumberLength = 19;\n\nexport const accountNumberValidation = (value: string) => {\n if (\n (/^\\d+$/.test(value) || !value) &&\n value.length < MaxAccountNumberLength\n ) {\n return true;\n }\n return false;\n};\n\nexport const ACCOUNT_TYPE_MASTER_DATA = [\"NRE\", \"NRO\", \"SAVINGS\"];\nexport const emailRegex =\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\nexport const MODE_OF_HOLDING_MASTER_DATA = [\"Anyone/Survivor\", \"Single\"];\nexport const TAX_RESIDENCY_MASTER_DATA = [\"RI\", \"Individual\", \"Minor\"];\n\nexport const validateIfsc = (ifsc: string) => {\n if (!ifsc) return true;\n if (/^[A-Za-z0-9]+$/.test(ifsc) && ifsc.length < 12) {\n return true;\n }\n return false;\n};\nexport const isFloatingNumber = (value: any) => {\n const floatReg = new RegExp(\"^[+]?([0-9]{0,})*[.]?([0-9]{0,3})?$\", \"g\");\n if (floatReg.test(value) || !value) {\n return true;\n }\n return false;\n};\nexport const getBankAddress = (\n address1: string | null,\n address2: string | null,\n address3: string | null\n) => {\n if (address1) {\n return address1;\n } else if (address2) {\n return address2;\n } else if (address3) {\n return address3;\n }\n};\n","import { FormControl, InputAdornment, Input } from \"@material-ui/core\";\nimport { useState, useEffect } from \"react\";\nimport { useHistory } from \"react-router\";\n//import { CommercialRootPath } from '../../components/home/commercial/routeConfig';\n//import { useSchemeSearch } from '../../hooks/useSchemeData';\nimport { favLogos } from \"../../logo/logos\";\nimport { _debounce } from \"../../utils/utilityFunctions\";\nimport Image from \"../../components/Image\";\n\nimport \"./searchinput.scss\";\n\ntype SuggestionOptionType = {\n label: string;\n value: any;\n amcCode: string;\n schemeCategory: string;\n schemeSubCategory: string;\n};\ntype SuggestionPropType = {\n options: SuggestionOptionType[];\n maxItems?: number;\n searchParam?: string;\n};\n\nconst Suggestions = ({\n options = [],\n maxItems = 100,\n searchParam,\n}: SuggestionPropType) => {\n const history = useHistory();\n if (!searchParam) return null;\n if (searchParam && !options.length) {\n return (\n \n {`No match results for `}\n {searchParam}\n \n );\n }\n return (\n \n \n {options.length > maxItems\n ? `${maxItems}+ results`\n : `${options.length} results`}\n

\n
    \n {options.slice(0, maxItems).map((ele: any) => (\n
  • \n \n // history.push(`${CommercialRootPath}/${ele.value}/explore`)\n // }\n >\n \n \n {ele.label}\n \n

    \n \n {ele.schemeCategory}\n \n \n {ele.schemeSubCategory.slice(\n ele.schemeSubCategory.indexOf(\":\") + 1\n )}\n \n

    \n \n
  • \n ))}\n
\n \n );\n};\n\n// export function SchemeSearchInput({\n// id = '',\n// className = '',\n// darkmode = false,\n// placeholder = 'Search',\n// value = '',\n// onChange,\n// searchKey = 'schemeName',\n// ...rest\n// }: any) {\n// const [show, setShow] = useState(false);\n// const [searchParam, setSearchParam] = useState('');\n// const [options, setOptions] = useState([]);\n// const { doGlobalSearch, searchData } = useSchemeSearch({});\n\n// const callFilterFuncion = (e: any) => {\n// doGlobalSearch(searchKey, e.target.value);\n// };\n// const _handleInputChange = (e: any) => {\n// setSearchParam(e.target.value);\n// };\n\n// useEffect(() => {\n// const options: SuggestionOptionType[] = searchData.map((fund: any) => ({\n// label: fund[searchKey],\n// value: fund.isinCode,\n// amcCode: fund.fundAmcCode,\n// schemeCategory: fund.schemeCategory,\n// schemeSubCategory: fund.schemeSubCategory,\n// }));\n// setOptions(options);\n// }, [searchData]);\n\n// return (\n// \n// \n// {darkmode ? (\n// \"icon\"\n// ) : (\n// \"icon\"\n// )}\n// \n// }\n// onFocus={() => setShow(true)}\n// // onBlur={() => {\n// // setShow(false);\n// // setOptions([]);\n// // }}\n// onChange={_debounce(callFilterFuncion, 500, _handleInputChange)}\n// {...rest}\n// />\n// {/* {show && } */}\n// \n// \n// );\n// }\n\nexport default function SearchInput({\n id = \"\",\n className = \"\",\n darkmode = false,\n placeholder = \"Search\",\n value = \"\",\n onChange = (e: any) => {},\n searchKey = \"scheme_name\",\n ...rest\n}: any) {\n return (\n \n \n {darkmode ? (\n \"icon\"\n ) : (\n \"icon\"\n )}\n \n }\n onChange={onChange}\n {...rest}\n />\n \n );\n}\n","import { TextField, TextFieldProps } from '@material-ui/core';\n\nexport default function TextInput({\n label,\n id = 'textinput',\n variant = 'filled',\n ...rest\n}: TextFieldProps) {\n return ;\n}\n","import {\n BANK,\n FilterActions,\n FilterReducerState,\n INVESTOR_OBJECT,\n INVETSOR_DETAILS_RESPONSE,\n PINCODE,\n TaxDetails,\n} from \"../../../store/types/nct\";\nimport {\n IsAllow,\n NEW_PORTFOLIOS_RESPONSE,\n PORTFOLIO_DATA_RESPONSE,\n SCHEMES_RESPONSE,\n} from \"../../../store/types/portfolio\";\n// import { DividendTableRowType } from \"../makeNct/ChangeIdcw\";\n// import { RowInfoType } from \"../makeNct/ChangeEmail/change-email-list\";\n// import { ConsolidateTableRowType } from \"../makeNct/ConsolidationFolios/types\";\n// import { NomineeInfoRowData } from \"../makeNct/UpdateNominee/types\";\nimport { EIGHTEEN_YEARS_IN_MILLISECONDS } from \"../../../utils/constants\";\n// import moment from \"moment\";\nimport enUs from \"../../../lang/en-us\";\n// import { DividendTableRowType } from \"../ChangeIdcw\";\nimport { boolean } from \"yup\";\nimport { DividendTableRowType } from \"../ChangeIdcw\";\n// import { TaxDetails } from \"../commercial/ExploreMFs/types\";\n\nconst { dashboard } = enUs;\n\nexport const getTaxStatusCode: { [key: string]: string } = {\n \"01\": \"Individual\",\n \"02\": \"On Behalf Of Minor\",\n \"21\": \"NRI-Repatriable (NRE)\",\n \"24\": \"NRI - NRO [Non Repatriation]\",\n \"26\": \"NRI - Minor\",\n \"27\": \"NRI - HUF (NRO)\",\n \"28\": \"NRI - Minor (NRO)\",\n \"29\": \"NRI - HUF (NRE)\",\n};\n\nexport const NRICODES_CT = [\"24\"];\n\nexport const gettaxStatusPersonal: { [key: string]: string } = {\n \"01\": \"Individual\",\n // \"24\": \"NRI - NRO [Non Repatriable]\",\n};\n\nexport const getRelationShip: { [key: string]: string } = {\n SE: \"Self\",\n SP: \"Spouse\",\n DC: \"Dependent Children\",\n DS: \"Dependent Siblings\",\n DP: \"Dependent Parents\",\n GD: \"Guardian\",\n PM: \"PMS\",\n CD: \"Custodian\",\n PO: \"POA\",\n // \"24\": \"NRI - NRO [Non Repatriable]\",\n};\n\nexport const getIncomeValue: { [key: string]: string } = {\n \"31\": \"Below 1 Lakh\",\n \"32\": \"1- 5 Lacs\",\n \"33\": \"5-10 Lacs\",\n \"34\": \"10-25 Lacs\",\n \"35\": \"25 Lacs-1 Crore\",\n \"36\": \"Above 1 Crore\",\n};\nexport const getPepValue: { [key: string]: string } = {\n Y: \"Yes\",\n N: \"No\",\n};\nexport const getOccupation: { [key: string]: string } = {\n \"1\": \"Business\",\n \"2\": \"Service\",\n \"3\": \"Professional\",\n \"4\": \"Agriculturist\",\n \"5\": \"Retired\",\n \"6\": \"Housewife\",\n \"7\": \"Student\",\n \"8\": \"Others\",\n \"41\": \"Private Sector Service\",\n \"42\": \"Public Sector/ Government Service\",\n \"43\": \"Forex Dealer\",\n \"44\": \"Government Service\",\n};\n\nexport const getAddressType: { [key: string]: string } = {\n RB: \"Residential or Business\",\n R: \"Residential\",\n B: \"Business\",\n RO: \"Registered Office\",\n};\n\nexport const getSourceOfWealth: { [key: string]: string } = {\n \"1\": \"Salary\",\n \"2\": \"Business Income\",\n \"3\": \"Gift\",\n \"4\": \"Ancestral Property\",\n \"5\": \"Rental Income\",\n \"6\": \"Prize Money\",\n \"7\": \"Royalty\",\n \"8\": \"Others\",\n};\n\nconst NRI_CODES = [\"21\", \"24\", \"26\", \"27\", \"28\", \"29\"];\n\ninterface GroupSchemesByTypeAndAMC {\n equity?: SCHEMES_RESPONSE[];\n debt?: SCHEMES_RESPONSE[];\n liquid?: SCHEMES_RESPONSE[];\n}\n\nconst initData: GroupSchemesByTypeAndAMC = { equity: [], debt: [], liquid: [] };\n\n// Sorting portfolio response with assetType.(Liquid and Cash are identical types considering as Liquid)\n// export function groupByAmcName(data: PORTFOLIO_DATA_RESPONSE[] = []) {\n// const out = data.reduce((prev: any, curr: PORTFOLIO_DATA_RESPONSE) => {\n// const { schemes } = curr;\n// let filterSchemesByType: any = {};\n// schemes.forEach((scheme: SCHEMES_RESPONSE) => {\n// const {\n// assetType: _assetType,\n// currentMktValue: _currentMktValue,\n// costValue: _costValue,\n// } = scheme;\n// const assetToUpperCase = _assetType?.toUpperCase();\n// // need to be replaced with below line if cash and liquid are different.\n// // const assetType = _assetType !== null ? assetToUpperCase : _assetType\n// const assetType =\n// _assetType !== null\n// ? [\"LIQUID\", \"CASH\"].includes(assetToUpperCase)\n// ? \"LIQUID\"\n// : assetToUpperCase\n// : _assetType;\n// if (!!filterSchemesByType[assetType]) {\n// const { currentMktValue, costValue }: SCHEMES_RESPONSE =\n// filterSchemesByType[assetType];\n// filterSchemesByType = {\n// ...filterSchemesByType,\n// [assetType]: {\n// ...filterSchemesByType[assetType],\n// currentMktValue: decimalFix(\n// // Adding all mkt and cost values for same asset type.\n// Number(currentMktValue) + Number(_currentMktValue)\n// ),\n// costValue: decimalFix(Number(costValue) + Number(_costValue)),\n// },\n// };\n// } else {\n// filterSchemesByType = { ...filterSchemesByType, [assetType]: scheme };\n// }\n// });\n// const { EQUITY, DEBT, LIQUID } = filterSchemesByType;\n// prev = {\n// equity: EQUITY ? [...prev.equity, EQUITY] : prev.equity,\n// debt: DEBT ? [...prev.debt, DEBT] : prev.debt,\n// liquid: LIQUID ? [...prev.liquid, LIQUID] : prev.liquid,\n// };\n// return prev;\n// }, initData);\n// return out;\n// }\n\n// export function calculateGainOrLoss(schemes: any) {\n// const keys: any[] = Object.keys(schemes);\n// return keys.reduce((prev: any, key: any) => {\n// const schemesByType: SCHEMES_RESPONSE[] = schemes[key];\n// schemesByType.forEach((scheme) => {\n// const { costValue = 0, currentMktValue = 0 } = scheme;\n// const gainLoss = Number(currentMktValue) - Number(costValue);\n// const gainLossPercentage = (Number(gainLoss) * 100) / Number(costValue);\n// prev = {\n// ...prev,\n// [key]: [\n// ...(prev[key] || []),\n// {\n// ...scheme,\n// gainLossPercentage: decimalFix(gainLossPercentage),\n// gainLoss: decimalFix(gainLoss),\n// },\n// ],\n// };\n// });\n// return prev;\n// }, {});\n// }\n\n// export function decimalFix(value: number = 0, fixed: number = 2) {\n// if (isNaN(value)) {\n// return 0;\n// }\n// return Number(parseFloat(value.toString()).toFixed(fixed));\n// }\n// export function dateConvert(date: Date | string) {\n// // let options: Intl.DateTimeFormatOptions = {\n// // weekday: \"long\",\n// // year: \"numeric\",\n// // month: \"long\",\n// // day: \"numeric\",\n// // };\n// const d = new Date(date);\n// if (!isNaN(d.getTime())) {\n// d.setFullYear(Math.abs(d.getFullYear()));\n// return moment(d).format('dddd, MMMM DD, YYYY');\n// }\n// else {\n// if (!date) return \"\";\n// const today = moment(date);\n// return today.format('dddd, MMMM DD, YYYY');\n// }\n\n// // const today = moment(new Date(date), \"DD-MMM-YYYY\");\n// // return today.format(\"dddd, MMMM DD, YYYY\");\n// }\n\n// export function getAssetTypeValues(data: any = {}) {\n// return Object.keys(data).reduce((prev: any, curr: any) => {\n// const schemes: SCHEMES_RESPONSE[] = data[curr];\n// let costValue = 0;\n// let currentMktValue = 0;\n// schemes.forEach((ele: SCHEMES_RESPONSE) => {\n// costValue = Number(ele.costValue) + costValue;\n// currentMktValue = Number(ele.currentMktValue) + currentMktValue;\n// });\n// return {\n// ...prev,\n// [curr]: {\n// costValue: decimalFix(costValue),\n// currentMktValue: decimalFix(currentMktValue),\n// },\n// };\n// }, {});\n// }\n/**\n * Portfolio Table Filters for Change Email , Change Mobile and Change Dividend\n// * @param transactionStatus\n// * @returns\n */\n\nexport interface BANK_DETAILS_WITH_NO_IFSC {\n amcName: string;\n amc: string;\n folio: number | string;\n accountNo: string;\n accountType: string;\n branch: string;\n city: string;\n default: string;\n ifsc: string;\n micr: string;\n name: string;\n neftIfsc: string;\n pincode: PINCODE;\n assetType?: string[];\n}\n\nexport const portfoliosWithNoIfsc = ({ ifsc, neftIfsc }: BANK): boolean => {\n return !(Boolean(ifsc) || Boolean(neftIfsc));\n};\n\nexport function getIFSCDetails(\n nomineeFolios: INVETSOR_DETAILS_RESPONSE[],\n filterFunc: Function[] = []\n) {\n return nomineeFolios.reduce(\n (prev: BANK_DETAILS_WITH_NO_IFSC[], curr, index) => {\n curr.investorDetails.forEach(({ banks = [], ...fund }, invIndex) => {\n const defaultBank: any =\n banks.find((_ele: BANK) => _ele.default === \"Y\") || {};\n if (\n portfoliosWithNoIfsc(defaultBank) &&\n filterFunc.every((func) => func.call({}, fund || {}))\n ) {\n prev = [\n ...prev,\n {\n ...defaultBank,\n id: `${index}${invIndex}`,\n amc: curr.amc,\n email: fund.email,\n mobile: fund.mobile,\n amcName: curr.amcName,\n folio: fund.folio,\n assetType: fund.assetType,\n taxStatus: fund.taxStatus,\n },\n ];\n }\n });\n return prev;\n },\n []\n );\n}\n\nexport const portfoliosByTransactionResource = ({\n transactionSource = \"\",\n}: SCHEMES_RESPONSE): boolean => {\n const transactionSourceToUpper = transactionSource?.toUpperCase();\n return !(\n transactionSourceToUpper === \"DEMAT\" ||\n // transactionSourceToUpper === \"MFU\" ||\n transactionSourceToUpper === \"EXCHANGE\"\n );\n};\n// export const portfoliosByReinvestment = ({\n// schemeOption,\n// }: SCHEMES_RESPONSE): boolean => {\n// const schemeToUpper = schemeOption?.toUpperCase();\n// return Boolean(schemeToUpper?.includes(\"REINVEST\"));\n// // schemeToUpper === \"IDCW REINVEST\" ||\n// // schemeToUpper === \"REINVESTMENT\" ||\n// // schemeToUpper === \"IDCW REINVESTMENT\" ||\n// // schemeToUpper === \"REINVEST\"\n// };\n\n// export const portfoliosByPayout = ({\n// schemeOption,\n// }: SCHEMES_RESPONSE): boolean => {\n// const schemeToUpper = schemeOption?.toUpperCase();\n// return Boolean(schemeToUpper?.includes(\"PAYOUT\"));\n// // return schemeToUpper === \"IDCW PAYOUT\" || schemeToUpper === \"PAYOUT\";\n// };\n\nexport const portfoliosByMinorStatus = ({\n taxStatus,\n age = 0,\n dob = null,\n ...rest\n}: SCHEMES_RESPONSE): boolean => {\n const taxToUpper = taxStatus?.toUpperCase() || \"\";\n return (\n (taxToUpper === \"02\" ||\n taxToUpper === \"01\" ||\n NRI_CODES.includes(taxToUpper)) &&\n minorBelowEighteenYears({ taxStatus, age, dob, ...rest })\n );\n};\n\n// export const ctPortfoliosByMinorStatus = ({\n// taxStatus,\n// age = 0,\n// dob = null,\n// bank,\n// ...rest\n// }: SCHEMES_RESPONSE): boolean => {\n// const accountType = !!bank ? bank.accountType : null;\n// if (!taxStatus || !accountType) {\n// return false;\n// }\n\n// return (\n// taxStatus === \"01\" ||\n// (minorBelowEighteenYears({ taxStatus, age, dob, ...rest }))\n// );\n\n// };\n\n// export const ctPortfoliosByNROAccountType = ({\n// taxStatus,\n// age = 0,\n// dob = null,\n// bank,\n// ...rest\n// }: SCHEMES_RESPONSE): boolean => {\n// const accountType = !!bank ? bank.accountType : null;\n// if (!taxStatus || !accountType) {\n// return false;\n// }\n\n// const isNRI = NRI_CODES.includes(taxStatus)\n\n// if (isNRI) {\n// return NRICODES_CT.includes(taxStatus) && accountType?.toUpperCase() === \"NRO\"\n// }\n\n// return true\n// };\n\n// export const portfoliosByIdcwStatus = ({\n// idcwChangeAllowed,\n// }: SCHEMES_RESPONSE): boolean => idcwChangeAllowed === \"True\";\n\n// export const portfoliosByClosingBalance = ({\n// closingBalance = 0,\n// }: SCHEMES_RESPONSE): boolean => Number(closingBalance) > 0;\n\nexport const portfoliosByModeOfHolding = ({\n modeOfHolding = \"\",\n}: SCHEMES_RESPONSE): boolean => {\n const modeOfHoldingUpper = modeOfHolding?.toUpperCase();\n return (\n modeOfHoldingUpper === \"SINGLE\" ||\n Number(modeOfHolding) === 1 ||\n modeOfHoldingUpper === \"ANYONE/SURVIVOR\" ||\n Number(modeOfHolding) === 4 ||\n modeOfHoldingUpper === \"ANYONE OR SURVIVOR\" ||\n modeOfHoldingUpper === \"EITHER/SURVIVOR\" ||\n modeOfHoldingUpper === \"EITHER OR SURVIVOR\" ||\n Number(modeOfHolding) === 3\n );\n};\n\n// export const portfoliosByPurchaseAllow = ({ purAllow = \"N\" }: any): boolean => {\n// return purAllow === \"Y\";\n// };\n\n// export const portfoliosByPurchaseOrSipAllow = ({\n// purAllow = \"N\",\n// sipAllow = \"N\",\n// }: any): boolean => {\n// return purAllow === \"Y\" || sipAllow === \"Y\";\n// };\n// export const portfoliosBySipAllow = ({ sipAllow = \"N\" }: any): boolean => {\n// return sipAllow === \"Y\";\n// };\n\n// export const portfoliosByRedemptionAllow = ({\n// redAllow = \"F\",\n// }: any): boolean => {\n// return redAllow === \"Y\";\n// };\n\n// export const portfoliosByAvailableUnits = ({\n// availableUnits = 0,\n// }: any): boolean => {\n// return availableUnits > 0;\n// };\n\n// export const portfoliosWithIFSC = ({ bank }: any): boolean => {\n// const { ifsc, neftIfsc } = bank || {};\n// return !!ifsc; // || !!neftIfsc\n// };\n\n// export const portfoliosByDividend = ({\n// taxStatus,\n// age = 0,\n// dob,\n// ...rest\n// }: SCHEMES_RESPONSE): boolean => {\n// const taxToUpper = taxStatus?.toUpperCase() || \"\";\n// return (\n// (taxToUpper === \"01\" ||\n// taxToUpper === \"02\" ||\n// NRI_CODES.includes(taxToUpper)) &&\n// minorBelowEighteenYears({ taxStatus, age, dob, ...rest })\n// );\n// };\n\n// export const checkAvailableUnits = ({\n// availableUnits = 0,\n// }: SCHEMES_RESPONSE): boolean => {\n// return availableUnits > 0;\n// };\n\n// export const portfoliosByChangeofTaxStatus = ({\n// taxStatus,\n// age = 0,\n// dob,\n// ...rest\n// }: SCHEMES_RESPONSE): boolean => {\n// const taxToUpper = taxStatus?.toUpperCase() || \"\";\n// return (\n// (taxToUpper === \"01\" ||\n// taxToUpper === \"02\" ||\n// taxToUpper === \"21\" ||\n// taxToUpper === \"24\") &&\n// minorBelowEighteenYears({ taxStatus, age, dob, ...rest })\n// );\n// };\n//\n//\n/**\n * This function is used to group schemes asset-class wise, and\n * filtering the data using the given list of filter functions.\n *\n * @param folioList List of folios from getPortfolio\n * @param filterFunc List of filter functions\n * @returns\n */\nexport function getPortfoliosFilteredData(\n folioList: INVETSOR_DETAILS_RESPONSE[] = [],\n filterFunc: Function[] = []\n) {\n let data: any[] = folioList.reduce(\n (prev: any[], curr: INVETSOR_DETAILS_RESPONSE) => {\n // const { amc, amcName, investorDetails } = curr;\n //added scheme name to investorDeatails\n const { amc, amcName, schemes, investorDetails } = curr;\n const data = investorDetails || schemes;\n data.forEach((scheme) => {\n let index = prev.findIndex((ele: any) => ele.id === scheme.folio);\n if (index !== -1) {\n const fund = prev[index];\n const { schemeNames = [], assetType = [] } = fund;\n prev[index] = {\n ...prev[index],\n // schemeNames: [...schemeNames, scheme.schemeName],\n assetType: assetType.includes(scheme.assetType)\n ? assetType\n : [...assetType, scheme.assetType],\n };\n return;\n }\n const valid = filterFunc.every((func: Function) =>\n func.call({}, scheme)\n );\n if (!prev.find((ele: any) => ele.id === scheme.folio) && valid) {\n prev = [\n ...prev,\n {\n id: scheme.folio,\n amcName: scheme.amcName,\n email: scheme.email,\n investorName: scheme.investorName,\n amc: scheme.amc,\n // schemeNames: [scheme.schemeName],\n mobile: scheme.mobile,\n assetType: [scheme.assetType],\n },\n ];\n }\n });\n return prev;\n },\n []\n );\n return data;\n}\n\n// export interface DIVIDEND_MATCHED_UNMATCHED_DATA_TYPE {\n// matchedData: any[];\n// unMatchedData: any[];\n// }\n\n// export function getDividendFilteredData(\n// folioList: PORTFOLIO_DATA_RESPONSE[] = [],\n// filterFunc: Function[] = []\n// ) {\n// let data = folioList.reduce(\n// (\n// prev: DividendTableRowType[],\n// curr: PORTFOLIO_DATA_RESPONSE,\n// currentIndex: number\n// ) => {\n// const { schemes } = curr;\n// schemes.forEach((fund: DividendTableRowType, index: number) => {\n// const valid = filterFunc.every((func: Function) => func.call({}, fund));\n// if (valid) {\n// prev = [...prev, { ...fund, id: currentIndex + `` + index }];\n// }\n// });\n// return prev;\n// },\n// []\n// );\n// return data;\n// }\n\nexport function mapInvestorDetailsToPortfolios(\n nomineeFolios: INVETSOR_DETAILS_RESPONSE[],\n folioList: any[]\n): any[] {\n const filteredNomineeByFolio = nomineeFolios.reduce((prev: any[], curr) => {\n curr?.investorDetails?.forEach((fund) => {\n prev = [\n ...prev,\n {\n ...fund,\n amc: curr.amc,\n amcName: curr.amcName,\n id: fund.folio,\n mobile: fund.mobile,\n investorName: fund.investorName,\n nominees: fund.nominees,\n assetType: [],\n taxStatusLabel: getTaxStatusCode[fund.taxStatus],\n },\n ];\n });\n return prev;\n }, []);\n // To map assetType field to investor details\n return filteredNomineeByFolio.map((fund) => ({\n ...fund,\n assetType: folioList.find((_fund) => fund.id === _fund.id)?.assetType,\n }));\n}\n\n// /**\n// * Consolodate Folois Filtering\n// * @param nomineeFolios\n// */\nexport function getInvestorFunds(\n nomineeFolios: INVETSOR_DETAILS_RESPONSE[],\n filterFunc: Function[] = [],\n defaultFilterFunc: Function[] | null = []\n) {\n return nomineeFolios.reduce((prev: any[], curr) => {\n curr.investorDetails.forEach((fund) => {\n if (\n [\n ...filterFunc,\n ...(!!defaultFilterFunc ? defaultFilterFunc : []),\n ({ matchFlag }: any) =>\n !matchFlag || matchFlag == \"N\" || matchFlag == \"Y\",\n ].every((func) => func.call({}, fund))\n ) {\n prev = [\n ...prev,\n {\n ...fund,\n amc: curr.amc,\n amcName: curr.amcName,\n folio: fund.folio,\n id: fund.folio + curr.amc,\n },\n ];\n }\n });\n return prev;\n }, []);\n}\n\nexport const modeOfHoldingSingle = ({ modeOfHolding = \"\" }: INVESTOR_OBJECT) =>\n modeOfHolding?.toUpperCase() === \"SINGLE\" || Number(modeOfHolding) === 1;\n\nexport const taxStatusScenario = ({ taxStatus = \"\" }: INVESTOR_OBJECT) => {\n const taxStatusUpper = taxStatus?.toUpperCase() || \"\";\n return (\n taxStatusUpper === \"01\" ||\n taxStatusUpper === \"02\" ||\n NRI_CODES.includes(taxStatusUpper)\n );\n};\n\nexport const transactionSourceScenarioEmpty = ({\n transactionSource,\n}: INVESTOR_OBJECT) => !transactionSource;\n\n/**\n * Check the fund is demat or not\n * @param param0\n// * @returns\n// */\nexport const dematFund = ({\n transactionSource = \"\",\n}: SCHEMES_RESPONSE): boolean =>\n [\"DEMAT\", \"EXCHANGE\"].includes(transactionSource?.toUpperCase());\n\n// export function correctionFolios(nomineeFolios: INVETSOR_DETAILS_RESPONSE[]): ConsolidateTableRowType{\n// return\n// }\n\nexport interface BANK_DETAILS_WITH_NO_IFSC {\n amcName: string;\n amc: string;\n id: number | string;\n accountNo: string;\n accountType: string;\n branch: string;\n city: string;\n default: string;\n ifsc: string;\n micr: string;\n name: string;\n neftIfsc: string;\n pincode: PINCODE;\n assetType?: string[];\n}\n\nexport const minorBelowEighteenYears = ({\n taxStatus,\n age = 0,\n dob,\n}: SCHEMES_RESPONSE): boolean => {\n const taxToUpper = taxStatus?.toUpperCase();\n const aboveEighteen: boolean = !!age\n ? age > 18\n : !!dob\n ? new Date().getTime() - new Date(dob).getTime() >\n EIGHTEEN_YEARS_IN_MILLISECONDS\n : false;\n return !(\n (taxToUpper === \"02\" || taxToUpper === \"26\" || taxToUpper === \"28\") &&\n !aboveEighteen\n );\n};\n\nexport const checkIsValidObject = (object: any) => {\n if (typeof object !== \"object\") return false;\n return Object.values(object).every(\n (value) => !!value || typeof value === \"boolean\"\n );\n};\n\nexport const isValidTaxDetail = (taxDetail: TaxDetails | undefined) => {\n if (!taxDetail) return false;\n if (!taxDetail.tinReason) {\n return !checkIsValidObject(taxDetail);\n }\n if (!taxDetail.countryTax) return false;\n};\n\nexport const getErrorMessage = (\n row: any,\n dividendFilters: Function[]\n): string => {\n if (!row.isDisabled) {\n return \"\";\n }\n\n const messageTable = {\n // [portfoliosWithIFSC.name]: dbCommercial.errors.noIFSC,\n // [ctPortfoliosByNROAccountType.name]: dbCommercial.errors.ct_nro,\n // [ctPortfoliosByMinorStatus.name]: dbCommercial.errors.ct_minor,\n // [checkAvailableUnits.name]: dbCommercial.errors.avaialbleUnits,\n [modeOfHoldingSingle.name]: enUs.nct.errors.moh,\n [portfoliosByModeOfHolding.name]: enUs.nct.errors.moh,\n [portfoliosByMinorStatus.name]: enUs.nct.errors.minorFolio,\n [portfoliosByTransactionResource.name]: enUs.nct.errors.transactionSource,\n // [fundsByLienFlag.name]: dashboard.ChangeDividend.noSelectLeinUnits,\n // [portfoliosByAvailableUnits.name]: dbCommercial.errors.noFundsAvailable,\n };\n\n const defaultError = dashboard.ChangeDividend.toolTip.info1;\n\n for (let filter of dividendFilters) {\n const failed = !filter.call({}, row);\n \n if (failed) {\n return messageTable[filter.name] || defaultError;\n }\n }\n\n return defaultError;\n};\n\nexport const portfoliosByReinvestment = ({\n schemeOption,\n}: SCHEMES_RESPONSE): boolean => {\n const schemeToUpper = schemeOption?.toUpperCase();\n return Boolean(schemeToUpper?.includes(\"R\"));\n // schemeToUpper === \"IDCW REINVEST\" ||\n // schemeToUpper === \"REINVESTMENT\" ||\n // schemeToUpper === \"IDCW REINVESTMENT\" ||\n // schemeToUpper === \"REINVEST\"\n};\n\nexport const portfoliosByPayout = ({\n schemeOption,\n}: SCHEMES_RESPONSE): boolean => {\n const schemeToUpper = schemeOption?.toUpperCase();\n return Boolean(schemeToUpper?.includes(\"D\"));\n // return schemeToUpper === \"IDCW PAYOUT\" || schemeToUpper === \"PAYOUT\";\n};\n\nexport const portfoliosByDividend = ({\n taxStatus,\n age = 0,\n dob,\n ...rest\n}: SCHEMES_RESPONSE): boolean => {\n const taxToUpper = taxStatus?.toUpperCase() || \"\";\n return (\n (taxToUpper === \"01\" ||\n taxToUpper === \"02\" ||\n NRI_CODES.includes(taxToUpper)) &&\n minorBelowEighteenYears({ taxStatus, age, dob, ...rest })\n );\n};\n\nexport const portfoliosByIdcwStatus = ({\n idcwChangeAllowed,\n}: SCHEMES_RESPONSE): boolean => {\n return idcwChangeAllowed === \"True\";\n};\n\nexport const portfoliosByIdcwStatusNew = ({\n idcwChangeAllowed,\n}: NEW_PORTFOLIOS_RESPONSE): boolean => {\n return idcwChangeAllowed;\n};\n\nexport const fundsByLienFlag = ({\n lienUnitsFlag,\n}: {\n lienUnitsFlag: \"Y\" | \"N\";\n}): boolean => {\n return lienUnitsFlag !== \"Y\";\n};\n\nexport function getDividendFilteredData(\n folioList: NEW_PORTFOLIOS_RESPONSE[],\n filterFunc: Function[] = []\n) {\n let data = folioList.reduce(\n (prev: DividendTableRowType[], curr, currentIndex: number) => {\n const valid = filterFunc.every((func: Function) => func.call({}, curr));\n if (valid) {\n prev = [...prev, { ...curr, id: currentIndex }];\n }\n return prev;\n },\n []\n );\n return data;\n}\n","//import { History } from 'history';\n// import { DividendTableRowType } from '../components/home/commercial/AdditionalPurchase';\n// import { DIVIDEND_MATCHED_UNMATCHED_DATA_TYPE } from '../components/home/portfolios/utils';\n//import { CommercialRootPath } from './constants';\n\n// export const maskMobileNumber = (mobileNumber: string) => {\n// if (!mobileNumber) {\n// return '';\n// }\n// return mobileNumber.replace(/\\d(?=\\d{4})/g, 'x').replace('+', 'x');\n// };\n\n// export const maskAccountNo = (accountNo: string) => {\n// if (!accountNo) return;\n// return accountNo.replace(/\\d(?=\\d{4})/g, 'x');\n// };\n\nexport const maskEmail = (email: string) => {\n if (!email) return '';\n let parts = email.split('@');\n parts[0] = parts[0].slice(0, -3).replace(/\\w/g, 'x') + parts[0].slice(-3);\n return parts[0] + '@' + parts[1];\n};\n\n// export const maskPan = (pan: string) => {\n// if (!pan) return '';\n// return pan.slice(0, -3) + 'xxx';\n// }\n\n// export const getHoldingTypeValue = (value: string) => {\n// switch (value) {\n// case 'allHoldings':\n// return 'ALL';\n// case 'zeroHoldings':\n// return 'ZERO';\n// case 'nonZeroHoldings':\n// return 'NON-ZERO';\n// default:\n// break;\n// }\n// };\n\nconst SALT = \"X2lMZWFwUH\";\nconst SALT2 = \"BTVRJel9pTGVhcF\";\nexport function EncodeBase64(value: string): string {\n const encodeValue = btoa(value);\n const encodeSubString = removeEqualOperator(encodeValue);\n const encodePassword = btoa(`${SALT}${encodeSubString}${SALT2}`);\n return encodePassword;\n}\n\nexport function removeEqualOperator(value: string = \"\") {\n const lastTwoIndex = value.length - 2;\n let encodeString = value.slice(0, lastTwoIndex);\n const slicedStr = value.slice(lastTwoIndex, value.length);\n slicedStr.split(\"\").forEach((char) => {\n if (char !== \"=\") {\n encodeString += char;\n }\n });\n return encodeString;\n}\n\n// export const getQueryParams = (search: string = ' ') => {\n// return (\n// search\n// .slice(1)\n// .split('&')\n// .map((item) => {\n// let arr = item.split('=');\n// return arr[1];\n// }) || []\n// );\n// };\n\nexport const _debounce = (\n debounceFn: Function,\n delay: number,\n fn?: Function\n) => {\n let time: any;\n return function (args: any) {\n if (!!fn && typeof fn === \"function\") {\n fn.call({}, args);\n }\n if (time) {\n clearTimeout(time);\n }\n time = setTimeout(() => debounceFn.call({}, args), delay);\n };\n};\n\nexport const getMatchAndUnMatchedFunds = (\n filters: Function[],\n data: any[],\n addDisable?: boolean\n) => {\n const { matchedData: activeRows, unMatchedData: disabledRows }: any =\n data.reduce(\n (prev: any, curr: any) => {\n const valid = filters.every((func: Function) => func.call({}, curr));\n if (valid) {\n return {\n ...prev,\n matchedData: [...prev.matchedData, curr],\n };\n }\n return {\n ...prev,\n unMatchedData: [\n ...prev.unMatchedData,\n {\n ...curr,\n ...(curr.isDisabled || addDisable ? { isDisabled: true } : {}),\n },\n ],\n };\n },\n {\n matchedData: [],\n unMatchedData: [],\n }\n );\n return [...activeRows, ...disabledRows];\n};\n\n// type mobileRedirectProps = {\n// url: string;\n// redirectionPage: string;\n// history: History\n// }\n\n// export function handleRedirectOnMobile({url,history,redirectionPage = 'kyc-status'}:mobileRedirectProps) {\n// // const onExit = () => {\n// // history.push(`${CommercialRootPath}/${redirectionPage}/${reqId}`);\n// // }\n// const onBeforeLoad = (params: any, callback: any) => {\n// if (params.url.includes(redirectionPage)) {\n// ref.close();\n// const _urlArgs = params.url.split('/');\n// const reqId = _urlArgs.pop();\n// if (!!reqId) {\n// const url = `${CommercialRootPath}/${redirectionPage}/${reqId}`;\n// history.push(url);\n// return;\n// }\n// history.push('/');\n// } else {\n// callback(params.url);\n// }\n// };\n// const onLoadStart = (event: any) => {\n// if (event.url.includes(redirectionPage)) {\n// ref.close();\n// const _urlArgs = event.url.split('/');\n// const reqId = _urlArgs.pop();\n// if (!!reqId) {\n// const url = `${CommercialRootPath}/${redirectionPage}/${reqId}`;\n// history.replace(url);\n// return;\n// }\n// history.replace('/');\n// }\n// };\n// const _window: any = window;\n// const options =\n// _window?.device?.platform === 'Android'\n// ? 'hideurlbar=yes,hidenavigationbuttons=yes,beforeload=get'\n// : 'location=no,hidenavigationbuttons=yes,beforeload=get';\n// const ref = _window.cordova.InAppBrowser.open(url, '_blank', options);\n// // ref.addEventListener('exit', onExit)\n// ref.addEventListener('beforeload', onBeforeLoad);\n// ref.addEventListener('loadstart', onLoadStart);\n// }\nexport function isError(formikState: any, value: string) {\n return formikState.touched[value] && formikState.errors[value];\n}\n\nexport function showHelperText(formikState: any, value: string) {\n return formikState.touched[value] && !!formikState.errors[value]\n ? formikState.errors[value]\n : \"\";\n}\nexport const maskMobileNumber = (mobileNumber: string) => {\n if (!mobileNumber) {\n return \"\";\n }\n return mobileNumber.replace(/\\d(?=\\d{4})/g, \"x\").replace(\"+\", \"x\");\n};\nexport const formatDate = (dateString: string): string => {\n const [day, month, year] = dateString.split(\"/\");\n\n const date = new Date(Number(year), Number(month) - 1, Number(day));\n\n return date.toLocaleString(\"en-US\", {\n month: \"2-digit\",\n day: \"2-digit\",\n year: \"numeric\",\n });\n};\n","// import { NomineeInfoRowData } from '../../components/dashboard/makeNct/UpdateNominee/types';\n// import { SignupPayload } from './login';\nimport { ModeOfHolding, TaxStatus } from \"./portfolio\";\n\nexport const SEND_EMAIL_OTP = \"SEND_EMAIL_OTP\";\nexport const SEND_EMAIL_OTP_SUCCESS = \"SEND_EMAIL_OTP_SUCCESS\";\n\nexport const SEND_SMS_OTP = \"SEND_SMS_OTP\";\nexport const SEND_SMS_OTP_SUCCESS = \"SEND_SMS_OTP_SUCCESS\";\n\nexport const PRE_LOGIN_TRANSMISSION = \"PRELOGIN_TRANSMISSION\";\nexport const PRE_LOGIN_TRANSMISSION_SUCCESS = \"PRELOGIN_TRANSMISSION_SUCCESS\";\n\nexport const UPDATE_EMAIL = \"UPDATE_EMAIL\";\nexport const UPDATE_EMAIL_SUCCESS = \"UPDATE_EMAIL_SUCCESS\";\n\nexport const VERIFY_CHANGE_EMAIL_OTP = \"VERIFY_CHANGE_EMAIL_OTP\";\nexport const VERIFY_CHANGE_EMAIL_OTP_SUCCESS =\n \"VERIFY_CHANGE_EMAIL_OTP_SUCCESS\";\n\nexport const UPDATE_MOBILE = \"UPDATE_MOBILE\";\nexport const UPDATE_MOBILE_SUCCESS = \"UPDATE_MOBILE_SUCCESS\";\n\nexport const UPDATE_DIVIDEND = \"UPDATE_DIVIDEND\";\nexport const UPDATE_DIVIDEND_SUCCESS = \"UPDATE_DIVIDEND_SUCCESS\";\n\nexport const FETCH_TRACK_STATUS = \"FETCH_TRACK_STATUS\";\nexport const FETCH_TRACK_STATUS_SUCCESS = \"FETCH_TRACK_STATUS_SUCCESS\";\n\nexport const FETCH_COMMERCIAL_TRACK_STATUS = \"FETCH_COMMERCIAL_TRACK_STATUS\";\nexport const FETCH_COMMERCIAL_TRACK_STATUS_SUCCESS =\n \"FETCH_COMMERCIAL_TRACK_STATUS_SUCCESS\";\n\nexport const UPDATE_NOMINEE = \"UPDATE_NOMINEE\";\nexport const UPDATE_NOMINEE_SUCCESS = \"UPDATE_NOMINEE_SUCCESS\";\n\nexport const FETCH_INVESTOR_DETAILS = \"FETCH_INVESTOR_DETAILS\";\nexport const FETCH_INVESTOR_DETAILS_SUCCESS = \"FETCH_INVESTOR_DETAILS_SUCCESS\";\n\nexport const CONSOLIDATION_FOLIO = \"CONSOLIDATION_FOLIO\";\nexport const CONSOLIDATION_FOLIOS_SUCCESS = \"CONSOLIDATION_FOLIOS_SUCCESS\";\n\nexport const UPDATE_DATA_ENTRY = \"UPDATE_DATA_ENTRY\";\nexport const UPDATE_DATA_ENTRY_SUCCESS = \"UPDATE_DATA_ENTRY_SUCCESS\";\n\nexport const UPDATE_TAX_STATUS = \"UPDATE_TAX_STATUS\";\nexport const UPDATE_TAX_STATUS_SUCCESS = \"UPDATE_TAX_STATUS_SUCCESS\";\n\nexport const MINOR_TO_MAJOR = \"MINOR_TO_MAJOR\";\nexport const MINOR_TO_MAJOR_SUCCESS = \"MINOR_TO_MAJOR_SUCCESS\";\n\nexport const UPDATE_IFSC = \"UPDATE_IFSC\";\nexport const UPDATE_IFSC_SUCCESS = \"UPDATE_IFSC_SUCCESS\";\n\nexport const UPDATE_BANK_DETAILS = \"UPDATE_BANK_DETAILS\";\nexport const UPDATE_BANK_DETAILS_SUCCESS = \"UPDATE_BANK_DETAILS_SUCCESS\";\n\nexport const UPDATE_MULTIPLE_BANKS = \"UPDATE_MULTIPLE_BANKS\";\nexport const UPDATE_MULTIPLE_BANKS_SUCCESS = \"UPDATE_MULTIPLE_BANKS_SUCCESS\";\n\nexport const GET_FATCA_DETAILS = \"GET_FATCA_DETAILS\";\nexport const GET_FATCA_DETAILS_SUCCESS = \"GET_FATCA_DETAILS_SUCCESS\";\n\nexport const UPDATE_FATCA_DETAILS = \"UPDATE_FATCA_DETAILS\";\nexport const UPDATE_FATCA_DETAILS_SUCCESS = \"UPDATE_FATCA_DETAILS_SUCCESS\";\n\nexport const FETCH_IFSC_DETAILS = \"FETCH_IFSC_DETAILS\";\nexport const FETCH_IFSC_DETAILS_SUCCESS = \"FETCH_IFSC_DETAILS_SUCCESS\";\n\nexport const FETCH_FORM_15_DETAILS = \"FETCH_FORM_15_DETAILS\";\nexport const FETCH_FORM_15_DETAILS_SUCCESS = \"FETCH_FORM_15_DETAILS_SUCCESS\";\n\nexport const UPDATE_PRELOGIN_PAN = \"UPDATE_PRELOGIN_PAN\";\nexport const UPDATE_PRELOGIN_PAN_SUCCESS = \"UPDATE_PRELOGIN_PAN_SUCCESS\";\n\nexport const UPDATE_FORM_15 = \"UPDATE_FORM_15\";\nexport const UPDATE_FORM_15_SUCCESS = \"UPDATE_FORM_15_SUCCESS\";\n\nexport const GET_AMC_LIST = \"GET_AMC_LIST\";\nexport const GET_AMC_LIST_SUCCESS = \"GET_AMC_LIST_SUCCESS\";\n\nexport const GET_ALL_SECURITY_QUESTIONS = \"GET_ALL_SECURITY_QUESTIONS\";\nexport const GET_ALL_SECURITY_QUESTIONS_SUCCESS =\n \"GET_ALL_SECURITY_QUESTIONS_SUCCESS\";\n\nexport const GET_ALL_SECURITY_QUESTIONS_ANSWERS =\n \"GET_ALL_SECURITY_QUESTIONS_ANSWERS\";\nexport const GET_ALL_SECURITY_QUESTIONS_ANSWERS_SUCCESS =\n \"GET_ALL_SECURITY_QUESTIONS_ANSWERS_SUCCESS\";\n\nexport const UPDATE_SECURITY_QUESTIONS = \"UPDATE_SECURITY_QUESTIONS\";\nexport const UPDATE_SECURITY_QUESTIONS_SUCCESS =\n \"UPDATE_SECURITY_QUESTIONS_SUCCESS\";\n\nexport const GIVE_FEEDBACK = \"GIVE_FEEDBACK\";\nexport const GIVE_FEEDBACK_SUCCESS = \"GIVE_FEEDBACK_SUCCESS\";\n\nexport const DOWNLOAD_SUMMARY = \"DOWNLOAD_SUMMARY\";\nexport const DOWNLOAD_SUMMARY_SUCCESS = \"DOWNLOAD_SUMMARY_SUCCESS\";\n\nexport const GENERATE_DETAILED = \"GENERATE_DETAILED\";\nexport const GENERATE_DETAILED_SUCCESS = \"GENERATE_DETAILED_SUCCESS\";\n\nexport const DOWNLOAD_DETAILED = \"DOWNLOAD_DETAILED\";\nexport const DOWNLOAD_DETAILED_SUCCESS = \"DOWNLOAD_DETAILED_SUCCESS\";\n\nexport const FETCH_ALL_CAS_HISTORY = \"FETCH_ALL_CAS_HISTORY\";\nexport const FETCH_ALL_CAS_HISTORY_SUCCESS = \"FETCH_ALL_CAS_HISTORY_SUCCESS\";\n\nexport const SAVE_DISPLAY_NAME = \"SAVE_DISPLAY_NAME\";\nexport const SAVE_DISPLAY_NAME_SUCCESS = \"SAVE_DISPLAY_NAME_SUCCESS\";\n\nexport const SAVE_IMAGE_DATA = \"SAVE_IMAGE_DATA\";\n\nexport const TRANSMISSION_UNITS = \"TRANSMISSION_UNITS\";\nexport const TRANSMISSION_UNITS_SUCCESS = \"TRANSMISSION_UNITS_SUCCESS\";\n\nexport const GET_CRM_DATA = \"GET_CRM_DATA\";\nexport const GET_CRM_DATA_SUCCESS = \"GET_CRM_DATA_SUCCESS\";\n\nexport const GET_COUNTRIES = \"GET_COUNTRIES\";\nexport const GET_COUNTRIES_SUCCESS = \"GET_COUNTRIES_SUCCESS\";\n\nexport type DOB = string | Date;\nexport type PINCODE = string | number;\n\nexport type ADDRESS = {\n line1: string;\n line2?: string;\n line3?: string;\n country: string;\n state: string;\n city?: string;\n pincode: PINCODE;\n};\n\nexport type GUARDIAN = {\n dob: DOB;\n name: string;\n pan: string;\n relation: string;\n};\n\nexport type NOMINEE = {\n dob: DOB;\n gender: string;\n address: ADDRESS;\n id: string;\n name: string;\n pan: string;\n percent: number;\n relation: string;\n guardian?: GUARDIAN;\n};\n\nexport type BANK = {\n accountNo: string;\n accountType: string;\n branch: string;\n city: string;\n default: string;\n ifsc?: string;\n ifsccode?: string;\n micr: string;\n name: string;\n neftIfsc: string;\n pincode: PINCODE;\n};\n\nexport type INVESTOR_OBJECT = {\n amc?: string;\n amcName?: string;\n folio: number | string;\n dob: DOB;\n address: ADDRESS;\n guardian: GUARDIAN;\n investorName: string;\n investorPan: string;\n investorPekrn: string;\n thirdHolder: string;\n thirdHolderPan: string;\n thirdHolderPekrn: string;\n email: string;\n secondHolder: string;\n secondHolderPan: string;\n secondHolderPekrn: string;\n matchFlag?: \"Y\" | \"N\" | null;\n mobile: string;\n kycStatus: string;\n emailRelationship: string;\n mobileRelationship: string;\n modeOfHolding: ModeOfHolding;\n nominees: NOMINEE[];\n occupation: string;\n taxStatus: TaxStatus;\n banks: BANK[];\n transactionSource: string;\n lienUnitsFlag: \"Y\" | \"N\";\n assetType?: string[];\n taxStatusLabel: string;\n};\n\nexport interface AMCGroupInvestorFunds extends INVESTOR_OBJECT {\n amc: string;\n amcName: string;\n}\nexport type TaxDetails = {\n id: string;\n countryTax: string;\n taxId: string;\n type: string;\n tinReason: string;\n};\nexport type INVETSOR_DETAILS_RESPONSE = {\n amc: string;\n amcName: string;\n investorDetails: INVESTOR_OBJECT[];\n schemes: INVESTOR_OBJECT[]; //added scheme name to investorDeatails\n};\n\nexport type Form15Response = {\n id: string;\n amc: string;\n pan?: string;\n amcName: string;\n regStatus: \"N\" | \"Y\";\n docType: \"15H\" | \"15G\";\n year: string;\n isDisabled?: boolean;\n};\n\n//export interface SEND_PHONE_OTP_PAYLOAD extends SignupPayload { }\nexport type AMC_LIST_RESPONSE = {\n amc_code: string;\n amc_name: string;\n rta_code: string;\n last_updated_date_time: string;\n};\n\nexport type CAS_HISTORY_DATA = {\n documentId: string;\n fromDate: string;\n requestCompletionDateTime: string;\n requestDateTime: string;\n requestStatus: string;\n toDate: string;\n isDownloading?: boolean;\n};\n\nexport type ImageSaveType = {\n type: NCT_TYPE;\n data: any;\n};\n\nexport type NCT_TYPE =\n | \"UNREGISTERED_FOLIOS\"\n | \"BANK_MANDATE\"\n | \"CHANGE_BANK\"\n | \"CHANGE_TAX_STATUS\"\n | \"MINOR_TO_MAJOR\"\n | \"CHANGE_MOBILE\"\n | \"CHANGE_EMAIL\"\n | \"DEATH_CERTIFICATE\";\n\nexport type CRM_DETAILS = {\n reqId: string;\n pan: string;\n mobile: string;\n pekrn: string;\n email: string;\n summary: {\n totalRequest: number;\n pending: number;\n inProgress: number;\n resolved: number;\n };\n data: any;\n};\n\nexport type CRM_SCHEME_DESCRIPTION = {\n scheme: string;\n requestMode: string;\n natureOfComplaint: string;\n issueCategory: string;\n resolutionResponse: string;\n issueDescription: string;\n};\nexport type FilterReducerState = {\n groupedFilterMap: { [key: string]: any[] | null };\n emailMobileKeys: string[] | null;\n currentKey: string | null;\n};\n\nexport type FilterActions =\n | {\n type: \"SET_FILTER_MAP\";\n payload: { [key: string]: any[] };\n }\n | {\n type: \"SET_FILTER_KEY\";\n payload: string;\n };\n","import {\n getPortfoliosFilteredData,\n mapInvestorDetailsToPortfolios,\n} from \"../../components/home/portfolios/utils\";\nimport { addDialCode } from \"../../utils/constants\";\nimport { EncodeBase64 } from \"../../utils/utilityFunctions\";\nimport { CALL_API } from \"../api.middleware\";\nimport { RootStateType } from \"../reducers/index\";\nimport {\n SEND_EMAIL_OTP,\n SEND_EMAIL_OTP_SUCCESS,\n SEND_SMS_OTP,\n SEND_SMS_OTP_SUCCESS,\n UPDATE_EMAIL,\n UPDATE_EMAIL_SUCCESS,\n UPDATE_MOBILE,\n UPDATE_MOBILE_SUCCESS,\n VERIFY_CHANGE_EMAIL_OTP,\n VERIFY_CHANGE_EMAIL_OTP_SUCCESS,\n UPDATE_DIVIDEND_SUCCESS,\n UPDATE_DIVIDEND,\n FETCH_TRACK_STATUS_SUCCESS,\n FETCH_TRACK_STATUS,\n UPDATE_NOMINEE_SUCCESS,\n UPDATE_NOMINEE,\n FETCH_INVESTOR_DETAILS_SUCCESS,\n FETCH_INVESTOR_DETAILS,\n CONSOLIDATION_FOLIOS_SUCCESS,\n CONSOLIDATION_FOLIO,\n UPDATE_DATA_ENTRY_SUCCESS,\n UPDATE_DATA_ENTRY,\n UPDATE_TAX_STATUS_SUCCESS,\n UPDATE_TAX_STATUS,\n MINOR_TO_MAJOR,\n MINOR_TO_MAJOR_SUCCESS,\n UPDATE_IFSC,\n UPDATE_IFSC_SUCCESS,\n UPDATE_BANK_DETAILS,\n UPDATE_BANK_DETAILS_SUCCESS,\n UPDATE_MULTIPLE_BANKS,\n UPDATE_MULTIPLE_BANKS_SUCCESS,\n GET_FATCA_DETAILS,\n GET_FATCA_DETAILS_SUCCESS,\n UPDATE_FATCA_DETAILS,\n UPDATE_FATCA_DETAILS_SUCCESS,\n FETCH_IFSC_DETAILS,\n FETCH_IFSC_DETAILS_SUCCESS,\n UPDATE_PRELOGIN_PAN,\n UPDATE_PRELOGIN_PAN_SUCCESS,\n UPDATE_FORM_15,\n UPDATE_FORM_15_SUCCESS,\n GET_AMC_LIST_SUCCESS,\n GET_AMC_LIST,\n AMC_LIST_RESPONSE,\n GET_ALL_SECURITY_QUESTIONS_SUCCESS,\n GET_ALL_SECURITY_QUESTIONS,\n GET_ALL_SECURITY_QUESTIONS_ANSWERS_SUCCESS,\n GET_ALL_SECURITY_QUESTIONS_ANSWERS,\n UPDATE_SECURITY_QUESTIONS_SUCCESS,\n UPDATE_SECURITY_QUESTIONS,\n GIVE_FEEDBACK_SUCCESS,\n GIVE_FEEDBACK,\n INVETSOR_DETAILS_RESPONSE,\n INVESTOR_OBJECT,\n DOWNLOAD_SUMMARY_SUCCESS,\n DOWNLOAD_SUMMARY,\n GENERATE_DETAILED_SUCCESS,\n GENERATE_DETAILED,\n DOWNLOAD_DETAILED_SUCCESS,\n DOWNLOAD_DETAILED,\n FETCH_ALL_CAS_HISTORY_SUCCESS,\n FETCH_ALL_CAS_HISTORY,\n SAVE_DISPLAY_NAME,\n SAVE_DISPLAY_NAME_SUCCESS,\n ImageSaveType,\n SAVE_IMAGE_DATA,\n TRANSMISSION_UNITS,\n TRANSMISSION_UNITS_SUCCESS,\n GET_CRM_DATA,\n GET_CRM_DATA_SUCCESS,\n CRM_DETAILS,\n PRE_LOGIN_TRANSMISSION,\n PRE_LOGIN_TRANSMISSION_SUCCESS,\n FETCH_COMMERCIAL_TRACK_STATUS,\n FETCH_COMMERCIAL_TRACK_STATUS_SUCCESS,\n GET_COUNTRIES_SUCCESS,\n GET_COUNTRIES,\n} from \"../types/nct\";\n// import { PORTFOLIO_RESPONSE_PAYLOAD } from \"../types/portfolio\";\nimport store from \"../../store\";\n//import { FORGOT_QA } from '../types/login';\n\nexport const saveNominee = (body: any) => async (dispatch: any) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/distributor/saveNominee\",\n body,\n method: \"POST\",\n types: [],\n isNct: true,\n },\n });\n } catch (error) {\n alert(`${error}`);\n }\n};\n\nexport const fetchInvestorDetails =\n (body: any) =>\n async (dispatch: any, getState: any): Promise => {\n const {\n authReducer: { email = \"\" },\n } = store.getState();\n try {\n const responseBody = await dispatch({\n [CALL_API]: {\n url: `/distributor/getInvestorDetails`,\n method: \"POST\",\n types: [\n FETCH_INVESTOR_DETAILS,\n FETCH_INVESTOR_DETAILS_SUCCESS,\n FETCH_INVESTOR_DETAILS,\n ],\n body: { ...body },\n enableFixture: false,\n isNct: true,\n json: `investorDetails.json`,\n },\n });\n const { success: data = [], ...rest } = responseBody;\n\n const filterdByFolio = getPortfoliosFilteredData(data);\n const filteredFunds: any = mapInvestorDetailsToPortfolios(\n data,\n filterdByFolio\n );\n const funds = filteredFunds.reduce(\n (\n prev: INVETSOR_DETAILS_RESPONSE[],\n { amc, amcName, ...fund }: INVESTOR_OBJECT\n ) => {\n const index = prev.findIndex((fund) => fund.amc === amc);\n if (index === -1) {\n return [...prev, { amc, amcName, investorDetails: [fund] }];\n }\n prev[index].investorDetails = [...prev[index].investorDetails, fund];\n return prev;\n },\n []\n );\n return { body: { success: funds, ...rest } };\n } catch (error: any) {\n throw error;\n }\n };\n\nexport const sendEmailOTP =\n (body: any) =>\n async (dispatch: any): Promise => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: `/otpwrapper/generateEmailOtp`,\n method: \"POST\",\n types: [SEND_EMAIL_OTP_SUCCESS, SEND_EMAIL_OTP],\n body,\n },\n });\n } catch (error: any) {\n throw error;\n }\n };\n\nexport const verifyChangeEmailOTP = (body: any) => async (dispatch: any) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: `/otpwrapper/verifyotp`,\n method: \"POST\",\n types: [VERIFY_CHANGE_EMAIL_OTP_SUCCESS, VERIFY_CHANGE_EMAIL_OTP],\n body: { ...body, enteredOtp: EncodeBase64(body.enteredOtp) },\n },\n });\n } catch (error: any) {\n throw error;\n }\n};\n\nexport const updateEmail =\n (body: any) =>\n async (dispatch: any): Promise => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: `/distributor/createUpdateEmailRequest`,\n method: \"POST\",\n types: [UPDATE_EMAIL, UPDATE_EMAIL_SUCCESS],\n body: { ...body },\n isNct: true,\n enableFixture: false,\n },\n });\n } catch (error: any) {\n throw error;\n }\n };\n\nexport const updateMobile = (body: any) => async (dispatch: any) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: `/distributor/createUpdateMobileRequest`,\n method: \"POST\",\n types: [UPDATE_MOBILE, UPDATE_MOBILE_SUCCESS],\n body: { ...body },\n isNct: true,\n enableFixture: false,\n },\n });\n } catch (error: any) {\n throw error;\n }\n};\n\nexport const updateIfsc =\n (body: any) =>\n async (dispatch: any): Promise => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: `/distributor/createUpdateIfscRequest`,\n method: \"POST\",\n types: [UPDATE_IFSC, UPDATE_IFSC_SUCCESS],\n body: { ...body },\n isNct: true,\n enableFixture: false,\n },\n });\n } catch (error: any) {\n throw error;\n }\n };\n\nexport const consolidationFolios =\n (body: any) =>\n async (dispatch: any): Promise => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/distributor/createFolioConsolidationRequest\",\n method: \"POST\",\n types: [CONSOLIDATION_FOLIOS_SUCCESS, CONSOLIDATION_FOLIO],\n isNct: true,\n body: { ...body },\n },\n });\n } catch (error: any) {\n throw error;\n }\n };\n\nexport const sendPhoneOTP =\n (body: any) =>\n async (dispatch: any): Promise => {\n try {\n const { mobile, ...rest } = body;\n return await dispatch({\n [CALL_API]: {\n url: `/otpwrapper/generate${\n store.getState().authReducer.userRegisteredWith === \"EMAIL\"\n ? \"Email\"\n : \"Sms\"\n }Otp`,\n method: \"POST\",\n types: [SEND_SMS_OTP_SUCCESS, SEND_SMS_OTP],\n body:\n store.getState().authReducer.userRegisteredWith === \"EMAIL\"\n ? {\n ...rest,\n email: store.getState().authReducer.email,\n }\n : {\n ...rest,\n mobile: addDialCode(mobile),\n email: \"\",\n },\n },\n });\n } catch (error: any) {\n throw error;\n }\n };\n// export const updateNominee =\n// (body: any) =>\n// async (dispatch: any): Promise => {\n// try {\n// return await dispatch({\n// [CALL_API]: {\n// url: `/nft/updateNominee`,\n// method: 'POST',\n// types: [UPDATE_NOMINEE_SUCCESS, UPDATE_NOMINEE],\n// body,\n// },\n// });\n// } catch (error: any) {\n// throw error;\n// }\n// };\n\n// export const updateDataEntry =\n// (body: any) =>\n// async (dispatch: any): Promise => {\n// try {\n// return await dispatch({\n// [CALL_API]: {\n// url: '/nft/updateDataEntry',\n// method: 'POST',\n// types: [UPDATE_DATA_ENTRY_SUCCESS, UPDATE_DATA_ENTRY],\n// body,\n// },\n// });\n// } catch (error: any) {\n// throw error;\n// }\n// };\n\n// export const updateTaxStatus =\n// (body: any) =>\n// async (dispatch: any): Promise => {\n// try {\n// return await dispatch({\n// [CALL_API]: {\n// url: '/nft/updateTaxStatus',\n// method: 'POST',\n// types: [UPDATE_TAX_STATUS_SUCCESS, UPDATE_TAX_STATUS],\n// body,\n// },\n// });\n// } catch (error: any) {\n// throw error;\n// }\n// };\n\n// export const updateMinorToMajor =\n// (body: any) =>\n// async (dispatch: any): Promise => {\n// try {\n// return await dispatch({\n// [CALL_API]: {\n// url: '/nft/updateMinorToMajor',\n// method: 'POST',\n// types: [MINOR_TO_MAJOR_SUCCESS, MINOR_TO_MAJOR],\n// body,\n// },\n// });\n// } catch (error: any) {\n// throw error;\n// }\n// };\n\n// export const updateIFSC =\n// (body: any) =>\n// async (dispatch: any): Promise => {\n// try {\n// return await dispatch({\n// [CALL_API]: {\n// url: '/nft/updateBankAccountType',\n// method: 'POST',\n// types: [UPDATE_IFSC_SUCCESS, UPDATE_IFSC],\n// body,\n// },\n// });\n// } catch (error: any) {\n// throw error;\n// }\n// };\n\nexport const updateBankDetails =\n (body: any) =>\n async (dispatch: any): Promise => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/distributor/createBankDetailsChangeRequest\",\n method: \"POST\",\n isNct: true,\n types: [UPDATE_BANK_DETAILS_SUCCESS, UPDATE_BANK_DETAILS],\n body,\n },\n });\n } catch (error: any) {\n throw error;\n }\n };\n\n// export const updateMultipleBanks =\n// (body: any) =>\n// async (dispatch: any): Promise => {\n// try {\n// return await dispatch({\n// [CALL_API]: {\n// url: '/nft/multiBankMandate',\n// method: 'POST',\n// types: [UPDATE_MULTIPLE_BANKS_SUCCESS, UPDATE_MULTIPLE_BANKS],\n// body,\n// },\n// });\n// } catch (error: any) {\n// throw error;\n// }\n// };\n\nexport const getFatcaDetails =\n (body: any) =>\n async (dispatch: any): Promise => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/distributor/getFatcaDetails\",\n method: \"POST\",\n types: [GET_FATCA_DETAILS_SUCCESS, GET_FATCA_DETAILS],\n body,\n isNct: true,\n // enableFixture: true,\n // json: `fatcaDetails.json`,\n // enableForProduction: true,\n },\n });\n } catch (error: any) {\n throw error;\n }\n };\n\nexport const updateFATCA =\n (body: any) =>\n async (dispatch: any): Promise => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/distributor/createUpdateFatcaRequest\",\n method: \"POST\",\n types: [UPDATE_FATCA_DETAILS_SUCCESS, UPDATE_FATCA_DETAILS],\n body,\n isNct: true,\n },\n });\n } catch (error: any) {\n throw error;\n }\n };\nexport const getCountries = (body: any) => async (dispatch: any) => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/link/getCountries\",\n method: \"POST\",\n types: [GET_COUNTRIES_SUCCESS, GET_COUNTRIES],\n body,\n isNct: true,\n enableFixture: true,\n json: `default-countries.json`,\n enableForProduction: true,\n },\n });\n } catch (err: any) {\n throw err;\n }\n};\n\nexport const fetchIFSCDetails =\n (body: any) =>\n async (dispatch: any): Promise => {\n try {\n const {\n authReducer: { email = \"\" },\n } = store.getState();\n return await dispatch({\n [CALL_API]: {\n url: \"/distributor/getIfscDetails\",\n method: \"POST\",\n types: [FETCH_IFSC_DETAILS_SUCCESS, FETCH_IFSC_DETAILS],\n body: { ...body, email },\n isNct: true,\n },\n });\n } catch (error: any) {\n throw error;\n }\n };\n\nexport const updateDataEntry =\n (body: any) =>\n async (dispatch: any): Promise => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/distributor/createUpdateDataEntryRequest\",\n method: \"POST\",\n types: [UPDATE_DATA_ENTRY_SUCCESS, UPDATE_DATA_ENTRY],\n body,\n isNct: true,\n },\n });\n } catch (error: any) {\n throw error;\n }\n };\n\nexport const updateMultiBankDetails =\n (body: any) =>\n async (dispatch: any): Promise => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: \"/distributor/createMultiBankRequest\",\n method: \"POST\",\n types: [UPDATE_MULTIPLE_BANKS, UPDATE_MULTIPLE_BANKS_SUCCESS],\n body,\n isNct: true,\n },\n });\n } catch (error: any) {\n throw error;\n }\n };\n// export const updatePreLoginPan =\n// (body: any) =>\n// async (dispatch: any): Promise => {\n// try {\n// return await dispatch({\n// [CALL_API]: {\n// url: '/nft/updatePanPrelogin',\n// method: 'POST',\n// types: [UPDATE_PRELOGIN_PAN_SUCCESS, UPDATE_PRELOGIN_PAN],\n// body,\n// },\n// });\n// } catch (error: any) {\n// throw error;\n// }\n// };\n\n// export const updateForm15GH =\n// (body: any) =>\n// async (dispatch: any): Promise => {\n// try {\n// return await dispatch({\n// [CALL_API]: {\n// url: '/nft/updateForm15GH',\n// method: 'POST',\n// types: [UPDATE_FORM_15_SUCCESS, UPDATE_FORM_15],\n// body,\n// },\n// });\n// } catch (error: any) {\n// throw error;\n// }\n// };\n\n// export const getForm15Info =\n// (body: LIST_PROTFOLIO_PAYLOAD) =>\n// async (dispatch: any): Promise => {\n// try {\n// const {\n// authReducer: { email = '' },\n// } = store.getState();\n// return await dispatch({\n// [CALL_API]: {\n// url: '/user/getForm15GOrH',\n// method: 'POST',\n// types: [FETCH_IFSC_DETAILS_SUCCESS, FETCH_IFSC_DETAILS],\n// body: { ...body, email },\n// // enableFixture: true,\n// json: 'form15G.json',\n// },\n// });\n// } catch (error: any) {\n// throw error;\n// }\n// };\n\n// export const getAmcList =\n// () =>\n// async (dispatch: any): Promise<{ body: AMC_LIST_RESPONSE[] }> => {\n// try {\n// return await dispatch({\n// [CALL_API]: {\n// url: '/user/amc-list',\n// method: 'GET',\n// types: [GET_AMC_LIST_SUCCESS, GET_AMC_LIST],\n// enableFixture: true,\n// json: 'amcList.json',\n// enableForProduction: true,\n// },\n// });\n// } catch (error: any) {\n// throw error;\n// }\n// };\n\n// export const getSecurityQuestions =\n// (body: any) =>\n// async (dispatch: any): Promise<{ body: AMC_LIST_RESPONSE[] }> => {\n// try {\n// return await dispatch({\n// [CALL_API]: {\n// url: '/user/getAllSecurityQuestions',\n// method: 'POST',\n// types: [GET_ALL_SECURITY_QUESTIONS_SUCCESS, GET_ALL_SECURITY_QUESTIONS],\n// body,\n// },\n// });\n// } catch (error: any) {\n// throw error;\n// }\n// };\n\n// export const getSecretQuestionsAnswers =\n// (body: any) =>\n// async (dispatch: any): Promise<{ body: AMC_LIST_RESPONSE[] }> => {\n// try {\n// return await dispatch({\n// [CALL_API]: {\n// url: '/user/getSecurityQuestionsAnswersForUser',\n// method: 'POST',\n// types: [\n// GET_ALL_SECURITY_QUESTIONS_ANSWERS_SUCCESS,\n// GET_ALL_SECURITY_QUESTIONS_ANSWERS,\n// ],\n// body,\n// },\n// });\n// } catch (error: any) {\n// throw error;\n// }\n// };\n\n// // export const getSecurityQuestionsForgotQA =\n// // (body: any) =>\n// // async (dispatch: any): Promise<{ body: AMC_LIST_RESPONSE[] }> => {\n// // try {\n// // return await dispatch({\n// // [CALL_API]: {\n// // url: '/user/getAllSecurityQuestionsForForgotQA',\n// // method: 'POST',\n// // types: [GET_ALL_SECURITY_QUESTIONS_SUCCESS, GET_ALL_SECURITY_QUESTIONS],\n// // body: {\n// // ...body,\n// // action: FORGOT_QA,\n// // },\n// // },\n// // });\n// // } catch (error: any) {\n// // throw error;\n// // }\n// // };\n\n// export const updateSecurityQuestionsForUser =\n// (body: any) =>\n// async (dispatch: any): Promise<{ body: AMC_LIST_RESPONSE[] }> => {\n// try {\n// return await dispatch({\n// [CALL_API]: {\n// url: '/user/updateSecurityQuestionsAnswersForUser',\n// method: 'POST',\n// types: [UPDATE_SECURITY_QUESTIONS_SUCCESS, UPDATE_SECURITY_QUESTIONS],\n// body,\n// },\n// });\n// } catch (error: any) {\n// throw error;\n// }\n// };\n\n// export const updateSecurityQuestionsForUserResetQA =\n// (body: any) =>\n// async (dispatch: any): Promise<{ body: any }> => {\n// try {\n// return await dispatch({\n// [CALL_API]: {\n// url: '/user/newSecurityQuestionsAnswersForUser',\n// method: 'POST',\n// types: [UPDATE_SECURITY_QUESTIONS_SUCCESS, UPDATE_SECURITY_QUESTIONS],\n// body,\n// },\n// });\n// } catch (error: any) {\n// throw error;\n// }\n// };\n\n// export const giveFeedback =\n// (body: any) =>\n// async (dispatch: any): Promise<{ body: AMC_LIST_RESPONSE[] }> => {\n// try {\n// const {\n// authReducer: { email = '' },\n// } = store.getState();\n// return await dispatch({\n// [CALL_API]: {\n// url: '/user/contactUs',\n// method: 'POST',\n// types: [GIVE_FEEDBACK_SUCCESS, GIVE_FEEDBACK],\n// body: { ...body, email },\n// },\n// });\n// } catch (error: any) {\n// throw error;\n// }\n// };\n\n// export const downloadSummaryPDF =\n// (body: any) =>\n// async (dispatch: any): Promise<{ body: any }> => {\n// try {\n// const {\n// authReducer: { email = '' },\n// } = store.getState();\n// return await dispatch({\n// [CALL_API]: {\n// url: '/user/getCasSummary',\n// method: 'POST',\n// types: [DOWNLOAD_SUMMARY_SUCCESS, DOWNLOAD_SUMMARY],\n// body: { ...body, email },\n// contentType: 'application/pdf',\n// },\n// });\n// } catch (error: any) {\n// throw error;\n// }\n// };\n\n// export const generateDetailedPDF =\n// (body: any) =>\n// async (dispatch: any): Promise<{ body: any }> => {\n// try {\n// const {\n// authReducer: { email = '' },\n// } = store.getState();\n// return await dispatch({\n// [CALL_API]: {\n// url: '/user/getCasDetail',\n// method: 'POST',\n// types: [GENERATE_DETAILED_SUCCESS, GENERATE_DETAILED],\n// body: { ...body, email },\n// contentType: 'application/pdf',\n// },\n// });\n// } catch (error: any) {\n// throw error;\n// }\n// };\n\n// export const downloadDetailedPDF =\n// (body: any) =>\n// async (dispatch: any): Promise<{ body: any }> => {\n// try {\n// const {\n// authReducer: { email = '' },\n// } = store.getState();\n// return await dispatch({\n// [CALL_API]: {\n// url: '/user/getCasDocument',\n// method: 'POST',\n// types: [DOWNLOAD_DETAILED_SUCCESS, DOWNLOAD_DETAILED],\n// body: { ...body, email },\n// contentType: 'application/pdf',\n// },\n// });\n// } catch (error: any) {\n// throw error;\n// }\n// };\n\n// export const getCasHistory =\n// (body: any) =>\n// async (dispatch: any): Promise<{ body: any }> => {\n// try {\n// const {\n// authReducer: { email = '' },\n// } = store.getState();\n// return await dispatch({\n// [CALL_API]: {\n// url: '/user/getCasHistory',\n// method: 'POST',\n// types: [FETCH_ALL_CAS_HISTORY_SUCCESS, FETCH_ALL_CAS_HISTORY],\n// body: { ...body, email },\n// },\n// });\n// } catch (error: any) {\n// throw error;\n// }\n// };\n\n// export const onSaveDisplayName = (body: any) => async (dispatch: any) => {\n// try {\n// const {\n// authReducer: { email = '' },\n// } = store.getState();\n// return await dispatch({\n// [CALL_API]: {\n// url: '/user/updateDisplayNameForUser',\n// method: 'POST',\n// types: [SAVE_DISPLAY_NAME_SUCCESS, SAVE_DISPLAY_NAME],\n// body: { ...body, email },\n// },\n// });\n// } catch (err: any) {\n// throw err;\n// }\n// };\n\nexport const onSaveImageData = (body: { action: ImageSaveType }) => {\n return {\n body,\n type: SAVE_IMAGE_DATA,\n };\n};\n\nexport const updateDividend =\n (body: any) =>\n async (dispatch: any): Promise => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: `/distributor/createUpdateIdcwOptionRequest`,\n method: \"POST\",\n types: [UPDATE_DIVIDEND_SUCCESS, UPDATE_DIVIDEND],\n isNct: true,\n body,\n },\n });\n } catch (error: any) {\n throw error;\n }\n };\n\n// export const transmissionUnits = (body: any) => async (dispatch: any) => {\n// try {\n// return await dispatch({\n// [CALL_API]: {\n// url: '/nft/transmissionOfUnits',\n// method: 'POST',\n// types: [TRANSMISSION_UNITS_SUCCESS, TRANSMISSION_UNITS],\n// body,\n// },\n// });\n// } catch (err) {\n// throw err;\n// }\n// };\n// export const getCRMDetails =\n// (body: LIST_PROTFOLIO_PAYLOAD) =>\n// async (dispatch: any): Promise => {\n// try {\n// const {\n// authReducer: { email = '' },\n// } = store.getState();\n// return await dispatch({\n// [CALL_API]: {\n// url: `/user/getcrmdetails`,\n// method: 'POST',\n// types: [GET_CRM_DATA, GET_CRM_DATA_SUCCESS],\n// body: { ...body, email },\n// // enableFixture: true,\n// // json: 'crm.json',\n// },\n// });\n// } catch (error: any) {\n// throw error;\n// }\n// };\n","import en from '../../../lang/en-us';\nimport {\n accountNumberRegex,\n accountNumberValidation,\n ACCOUNT_TYPE_MASTER_DATA,\n emailRegex,\n isAlphaNumeric,\n MAX_LENGTH_FOR_GUARDIAN_NAME,\n minDateForCalender,\n MODE_OF_HOLDING_MASTER_DATA,\n TAX_RESIDENCY_MASTER_DATA,\n validateIfsc,\n} from '../../../utils/constants';\nimport { getTaxStatusCode } from '../portfolios/utils';\nconst { dashboard, common } = en;\n\nexport interface CorrectionFolioSelection {\n type?: 'text' | 'number' | 'dob' | 'number';\n label: string;\n isSelected?: boolean;\n value?: T;\n newValue?: T;\n field: string;\n validate?: (params: { value: T; newValue: T }) => T;\n handleChangeCondition?: (newValue: T) => T;\n isNominee?: boolean;\n shouldValidateField?: boolean;\n masterData?: Array;\n}\n\nconst joinName = (name: string) => {\n if (name) {\n return name.split(' ').join('').toLowerCase();\n }\n return '';\n};\n\nexport const validateName = (oldName: string, newName: string) => {\n const match = /\\d/.test(newName);\n if (newName.trim().length < 5) {\n return {\n error: true,\n helperText: dashboard.CorrectionFolios.Selection.Fields.errors.name.minFiveCharacters,\n };\n }\n\n if (match) {\n return {\n error: true,\n helperText: dashboard.CorrectionFolios.Selection.Fields.errors.name.noNumericValues,\n };\n }\n if (joinName(oldName) === joinName(newName)) {\n return {\n error: true,\n helperText: dashboard.CorrectionFolios.Selection.Fields.errors.name.sameNames,\n };\n }\n return { error: false, helperText: '' };\n};\n\nexport const ifscRegex = /^[A-Za-z]{4}0[A-Z0-9a-z]{6}$/;\n\nexport const initSelection: CorrectionFolioSelection[] = [\n {\n label: dashboard.CorrectionFolios.Selection.Fields.primaryHolder,\n type: 'text',\n isSelected: false,\n newValue: '',\n field: 'investorName',\n validate: ({ value, newValue }) => {\n if (newValue) {\n return validateName(value, newValue);\n }\n return { error: false, helperText: '' };\n },\n handleChangeCondition: (newValue: any) => {\n if (isAlphaNumeric(newValue) || !newValue) {\n return true;\n }\n },\n },\n {\n label: dashboard.CorrectionFolios.Selection.Fields.secondHolder,\n field: 'secondHolder',\n type: 'text',\n isSelected: false,\n newValue: '',\n validate: ({ value, newValue }) => {\n if (newValue) {\n return validateName(value, newValue);\n }\n return { error: false, helperText: '' };\n },\n handleChangeCondition: (newValue: any) => {\n if (isAlphaNumeric(newValue) || !newValue) {\n return true;\n }\n },\n },\n {\n label: dashboard.CorrectionFolios.Selection.Fields.thirdHolder,\n field: 'thirdHolder',\n type: 'text',\n isSelected: false,\n newValue: '',\n validate: ({ value, newValue }) => {\n if (newValue) {\n return validateName(value, newValue);\n }\n return { error: false, helperText: '' };\n },\n handleChangeCondition: (newValue: any) => {\n if (isAlphaNumeric(newValue) || !newValue) {\n return true;\n }\n },\n },\n {\n label: dashboard.CorrectionFolios.Selection.Fields.guardianName,\n field: 'guardian_name',\n type: 'text',\n isSelected: false,\n newValue: '',\n validate: ({ value, newValue }) => {\n if (newValue) {\n return validateName(value, newValue);\n }\n return { error: false, helperText: '' };\n },\n handleChangeCondition: (newValue: any) => {\n if (isAlphaNumeric(newValue) || !newValue) {\n return true;\n }\n },\n },\n {\n label: dashboard.CorrectionFolios.Selection.Fields.mobileNo,\n field: 'mobile',\n type: 'number',\n isSelected: false,\n newValue: '',\n validate: ({ value, newValue }) => {\n if (newValue) {\n if (newValue[0] == 0) {\n return {\n error: true,\n helperText:\n dashboard.CorrectionFolios.Selection.Fields.errors.mobile\n .startingWithZero,\n };\n }\n if (/\\D/.test(newValue) || newValue.length !== 10) {\n return {\n error: true,\n helperText:\n dashboard.CorrectionFolios.Selection.Fields.errors.mobile.validNumber,\n };\n }\n return { error: false, helperText: '' };\n }\n return { error: false, helperText: '' };\n },\n handleChangeCondition: (newValue: any) => {\n if ((/^\\d+$/.test(newValue) || !newValue) && newValue.length < 11) {\n return true;\n }\n },\n },\n {\n label: dashboard.CorrectionFolios.Selection.Fields.dateOfBirth,\n field: 'dob',\n type: 'dob',\n isSelected: false,\n newValue: '',\n validate: ({ value, newValue }) => {\n if (newValue) {\n const currentDate = new Date();\n if (currentDate < new Date(newValue)) {\n return { error: true, helperText: common.errors.dob.minDOBValidation };\n }\n if (new Date(newValue) < new Date(minDateForCalender())) {\n return { error: true, helperText: common.errors.dob.ageLessThanHundred };\n }\n }\n return { error: false, helperText: '' };\n },\n },\n {\n label: dashboard.CorrectionFolios.Selection.Fields.bankAccNo,\n field: 'bank_accountNo',\n type: 'text',\n isSelected: false,\n newValue: '',\n validate: ({ value, newValue }) => {\n if (newValue) {\n if (!accountNumberRegex.test(newValue)) {\n return {\n error: true,\n helperText: common.errors.bankErrors.accountNo.regexError,\n };\n }\n }\n return { error: false, helperText: '' };\n },\n handleChangeCondition: (newValue: any) => {\n if (accountNumberValidation(newValue)) {\n return true;\n }\n },\n },\n {\n label: dashboard.CorrectionFolios.Selection.Fields.bankAccType,\n field: 'bank_accountType',\n type: 'text',\n isSelected: false,\n newValue: '',\n validate: ({ value, newValue }) => {\n if (newValue && newValue === 'Select') {\n return { error: true, helperText: common.errors.bankErrors.accountType };\n }\n return { error: false, helperText: '' };\n },\n masterData: ACCOUNT_TYPE_MASTER_DATA,\n },\n {\n label: dashboard.CorrectionFolios.Selection.Fields.bankIfsc,\n field: 'bank_ifsc',\n type: 'text',\n isSelected: false,\n newValue: '',\n validate: ({ value, newValue }) => {\n if (newValue) {\n const match = ifscRegex.test(newValue);\n if (!match) {\n return { error: true, helperText: common.errors.bankErrors.ifsc.regex };\n }\n }\n return { error: false, helperText: '' };\n },\n handleChangeCondition: (newValue) => {\n if (validateIfsc(newValue)) {\n return true;\n }\n return false;\n },\n shouldValidateField: true,\n },\n {\n label: dashboard.CorrectionFolios.Selection.Fields.taxResidency,\n field: 'taxStatus',\n type: 'text',\n isSelected: false,\n newValue: '',\n masterData: Object.values(getTaxStatusCode),\n validate: ({ value, newValue }) => {\n if (newValue === 'Select') {\n return { error: true, helperText: common.errors.taxResidency };\n }\n return { error: false, helperText: '' };\n },\n },\n {\n label: dashboard.CorrectionFolios.Selection.Fields.modeOfHolding,\n field: 'modeOfHolding',\n type: 'text',\n isSelected: false,\n newValue: '',\n masterData: MODE_OF_HOLDING_MASTER_DATA,\n validate: ({ value, newValue }) => {\n if (newValue === 'Select') {\n return { error: true, helperText: common.errors.modeOfHolding };\n }\n return { error: false, helperText: '' };\n },\n },\n // {\n // label: dashboard.CorrectionFolios.Selection.Fields.dpIdNdClientId,\n // field : 'dpid',\n // type: 'text',\n // isSelected : false,\n // newValue : '',\n // },\n {\n label: dashboard.CorrectionFolios.Selection.Fields.email,\n field: 'email',\n type: 'text',\n isSelected: false,\n newValue: '',\n validate: ({ value, newValue }) => {\n if (newValue && !newValue.match(emailRegex)) {\n return { error: true, helperText: common.errors.email.regex };\n }\n return { error: false, helperText: '' };\n },\n },\n];\n","// import en from '../../../../lang/en-us';\n// import TextInput from '../../../../lib/TextField';\n// const { dashboard, common } = en;\n// import { useEffect, useState } from 'react';\n// import { connect } from 'react-redux';\n// import { ConsolidateTableRowType } from '../ConsolidationFolios/types';\n// import { BANK } from '../../../../redux-store/types/nct';\n// import { SubmitButton } from '../../../../lib/Button';\n// import { FormControl, FormHelperText, MenuItem, Select } from '@material-ui/core';\n// import {\n// accountNumberRegex,\n// accountNumberValidation,\n// ACCOUNT_TYPE_MASTER_DATA,\n// getBankAddress,\n// ifscRegex,\n// MINOR_MAJOR,\n// validateIfsc,\n// } from '../../../../utils/constants';\n// import { RootStateType } from '../../../../redux-store/reducers';\n// import {\n// fetchIFSCDetails as getIfscDetails,\n// sendPhoneOTP,\n// } from '../../../../redux-store/actions/nct';\n// import { NoteModals } from '../../../../lib/NoteModals';\n// import { useRef } from 'react';\n// import { IfscModal } from '../../../../lib/NoteModals/ifscModal';\n// import { ActionHeader, FaqLink } from '..';\n\nimport Image from \"../../Image\";\n\n// export type BANK_DETAILS = {\n// label: string;\n// value: string;\n// name: string;\n// fieldValidation?: any;\n// actionOnBlur?: boolean;\n// isDisabled: boolean;\n// shouldValidateField?: boolean;\n// options?: { label: string; value: string | number }[];\n// };\n\n// const initialValues = {\n// accountNo: '',\n// accountType: '',\n// branch: '',\n// city: '',\n// default: '',\n// ifsc: '',\n// micr: '',\n// name: '',\n// neftIfsc: '',\n// pincode: '',\n// };\n\ntype VALIDATION_UI_PROPS = {\n isValidating: boolean;\n onValidationText: string;\n successfulValidationText: string;\n};\n\nexport function ValidationUI({\n isValidating = false,\n onValidationText = \"Validating\",\n successfulValidationText = \"Validated\",\n}: VALIDATION_UI_PROPS) {\n return (\n
\n {isValidating ? (\n <>\n
\n {onValidationText}\n \n ) : (\n \n \n {successfulValidationText}\n

\n )}\n \n );\n}\n\n// function MinorStatusEditBank(props: any) {\n// const { Funds: targetFunds, newPan, defaultBank } = props.location.state || {};\n\n// const notInitialRender = useRef(false);\n// const [bankDetails, setBankDetails] = useState(initialValues);\n\n// const [ifscValidation, setValidation] = useState(false);\n\n// const [isDisabled, setDisabled] = useState(false);\n\n// const [showLoader, setLoader] = useState(false);\n\n// const [newDetails, setDetails] = useState({\n// name: '',\n// branch: '',\n// city: '',\n// });\n\n// const [showModal, setShowModal] = useState(false);\n\n// const [errors, setErrors] = useState({});\n\n// useEffect(() => {\n// if (!props.location.state) {\n// props.history.push('/');\n// return;\n// }\n// setBankDetails({ ...defaultBank, accountType: 'SAVINGS' });\n// }, []);\n\n// const ifscCode = bankDetails.ifsc;\n\n// useEffect(() => {\n// if (ifscCode) {\n// if (notInitialRender.current) {\n// setLoader(false);\n// setDisabled(true);\n// const ifscCode = bankDetails.ifsc;\n// if (ifscCode.length === 11) {\n// document.getElementById('ifsc')?.blur();\n// _getIFSCDetails();\n// }\n// } else {\n// notInitialRender.current = true;\n// }\n// }\n// }, [ifscCode]);\n\n// const handleChange = (value: any, key: string) => {\n// setBankDetails({\n// ...bankDetails,\n// [key]: value,\n// });\n// };\n\n// const validateForm = () => {\n// let errors: any = {};\n// let formIsValid = true;\n// const firstBank = bankDetails;\n// if (!firstBank.accountNo) {\n// formIsValid = false;\n// errors['accountNo'] = common.errors.bankErrors.accountNo.required;\n// }\n// if (!accountNumberRegex.test(firstBank.accountNo)) {\n// formIsValid = false;\n// errors['accountNo'] = common.errors.bankErrors.accountNo.regexError;\n// }\n// if (!firstBank.ifsc) {\n// formIsValid = false;\n// errors['ifsc'] = common.errors.bankErrors.ifsc.required;\n// }\n// if (!firstBank.ifsc.match(ifscRegex)) {\n// formIsValid = false;\n// errors['ifsc'] = common.errors.bankErrors.ifsc.regex;\n// }\n// if (!firstBank.name) {\n// formIsValid = false;\n// errors['name'] = common.errors.bankErrors.name;\n// }\n// if (\n// !firstBank.accountType ||\n// firstBank.accountType === dashboard.ChangeBank.selectedFolios.fields.accountType\n// ) {\n// formIsValid = false;\n// errors['accountType'] = common.errors.bankErrors.accountType;\n// }\n// if (!firstBank.branch) {\n// formIsValid = false;\n// errors['branch'] = common.errors.bankErrors.branch;\n// }\n// if (!firstBank.city) {\n// formIsValid = false;\n// errors['city'] = common.errors.bankErrors.city;\n// }\n// setErrors(errors);\n// return formIsValid;\n// };\n\n// const handleSubmit = () => {\n// if (validateForm()) {\n// let bankInfo = targetFunds[0].bank;\n// bankInfo = bankInfo.map((_ele: BANK) => {\n// if (_ele.default === 'Y') return bankDetails;\n// return _ele;\n// });\n// props.history.replace('minor-status-list', {\n// targetFunds: [{ ...targetFunds[0], bank: bankInfo }],\n// newPan,\n// });\n// }\n// };\n\n// const removeErrors = () => {\n// setErrors({});\n// };\n\n// const _handleChangeBankDetails = (\n// bankName: string = '',\n// bankAddress: string = '',\n// city: string = '',\n// ) => {\n// setDetails({\n// name: bankName,\n// branch: bankAddress,\n// city,\n// });\n// };\n\n// const _handleUpdateDetails = () => {\n// const { name: bankName = '', branch: bankAddress = '', city = '' } = newDetails;\n// setBankDetails({\n// ...bankDetails,\n// name: bankName,\n// branch: bankAddress,\n// city: city,\n// });\n// setShowModal(false);\n// setDisabled(false);\n// };\n// const _getIFSCDetails = async () => {\n// if (bankDetails.ifsc.match(ifscRegex)) {\n// setValidation(true);\n// setLoader(true);\n// const { pan, pekrn, mobile, reqId } = props;\n// try {\n// let response: any = await props.getIfscDetails({\n// pan,\n// pekrn,\n// mobile,\n// reqId,\n// ifscCode: bankDetails.ifsc,\n// });\n// const { errors = [], data = [] } = (response || {}).body;\n// if (errors.length) {\n// const [firstError] = errors;\n// throw Error(firstError?.message);\n// }\n// const [details] = data;\n// const { BankAdd1 = '', BankAdd2 = '', BankAdd3 = '' } = details;\n// _handleChangeBankDetails(\n// details.BankName,\n// getBankAddress(BankAdd1, BankAdd2, BankAdd3),\n// details.BankCity,\n// );\n// setDisabled(false);\n// setValidation(false);\n// setShowModal(true);\n// } catch (e: any) {\n// setLoader(false);\n// setValidation(false);\n// setDisabled(true);\n// _handleChangeBankDetails();\n// setErrors({ ifsc: e.message });\n// }\n// } else {\n// _handleChangeBankDetails();\n// setLoader(false);\n// setValidation(false);\n// setDisabled(true);\n// setErrors({ ifsc: common.errors.bankErrors.ifsc.regex });\n// }\n// };\n\n// const _handleModalClose = () => {\n// setValidation(false);\n// setLoader(false);\n// setDisabled(true);\n// _handleChangeBankDetails();\n// setShowModal(false);\n// setBankDetails({\n// ...bankDetails,\n// ifsc: '',\n// });\n// };\n\n// return (\n//
\n// \n//
\n//
\n//
\n//

\n// {dashboard.MinorStatus.ReviewDetails.editFolioBank}\n// {/* Put Folio Number HERE */}\n// {targetFunds[0].folio}\n//

\n//
\n// {[\n// {\n// label: dashboard.MinorStatus.ReviewDetails.fields.accountNumber,\n// value: bankDetails.accountNo || '',\n// name: 'accountNo',\n// fieldValidation: accountNumberValidation,\n// isDisabled: false,\n// },\n// {\n// label: dashboard.MinorStatus.ReviewDetails.fields.ifsc,\n// value: bankDetails.ifsc || '',\n// name: 'ifsc',\n// actionOnBlur: true,\n// isDisabled: false,\n// shouldValidateField: true,\n// fieldValidation: validateIfsc,\n// },\n// {\n// label: dashboard.MinorStatus.ReviewDetails.fields.bankName,\n// value: bankDetails.name || '',\n// name: 'name',\n// isDisabled: true,\n// },\n// {\n// label: dashboard.MinorStatus.ReviewDetails.fields.accountType,\n// value:\n// bankDetails.accountType ||\n// dashboard.ChangeBank.selectedFolios.fields.accountType,\n// name: 'accountType',\n// isDisabled: false,\n// },\n// {\n// label: dashboard.MinorStatus.ReviewDetails.fields.branch,\n// value: bankDetails.branch || '',\n// name: 'branch',\n// isDisabled: true,\n// },\n// {\n// label: dashboard.MinorStatus.ReviewDetails.fields.city,\n// value: bankDetails.city || '',\n// name: 'city',\n// isDisabled: true,\n// },\n// ].map((_ele: BANK_DETAILS, index: number) =>\n// _ele.name === 'accountType' ? (\n// \n// {\n// handleChange(e.target.value, _ele.name);\n// }}\n// onBlur={removeErrors}\n// // readOnly={true}\n// >\n// \n// {\n// dashboard.ChangeBank.selectedFolios.fields\n// .accountType\n// }\n// \n// {['SAVINGS'].map((type: string) => (\n// \n// {type}\n// \n// ))}\n// \n// \n// {errors[_ele.name]}\n// \n// \n// ) : (\n// <>\n// \n// {\n// if (_ele.fieldValidation) {\n// _ele.fieldValidation(e.target.value)\n// ? handleChange(\n// e.target.value,\n// _ele.name,\n// )\n// : null;\n// return;\n// }\n// handleChange(e.target.value, _ele.name);\n// }}\n// error={!!errors[_ele.name]}\n// helperText={errors[_ele.name]}\n// onBlur={() => removeErrors()}\n// onFocus={() => setErrors({})}\n// disabled={_ele.isDisabled}\n// title={!!_ele.isDisabled ? _ele.value : ''}\n// />\n// {_ele.shouldValidateField && showLoader && (\n// \n// \n// \n// )}\n// \n// \n// ),\n// )}\n//
\n// \n//
\n// \n//
\n// {showModal && (\n// \n// )}\n//
\n//
\n//
\n//
\n// );\n// }\n// export default connect(({ authReducer }: RootStateType) => ({ ...authReducer }), {\n// getIfscDetails,\n// sendPhoneOTP,\n// })(MinorStatusEditBank);\n","import DateFnsUtils from '@date-io/date-fns';\nimport {\n KeyboardDatePicker,\n KeyboardDatePickerProps,\n MuiPickersUtilsProvider,\n} from '@material-ui/pickers';\n\nexport default function DatePickerInput({\n id,\n variant,\n label,\n value = '',\n ...rest\n}: KeyboardDatePickerProps) {\n return (\n \n \n \n );\n}\n","import { Button, ButtonProps } from '@material-ui/core';\n\nexport interface SubmitButtonProps extends ButtonProps {\n label?: string;\n id?: string;\n loading?: boolean;\n labelWhileLoading?: string;\n}\n\nexport function SubmitButton({ label, ...rest }: SubmitButtonProps) {\n return (\n \n );\n}\n\nexport function CancelButton({ label, ...rest }: SubmitButtonProps) {\n return (\n \n );\n}\n\nexport const LoadDots = ({ labelWhileLoading = '' }: any) => {\n return (\n \n );\n};\n\nexport const SubmitButtonWithLoader = ({\n loading,\n label,\n labelWhileLoading,\n ...rest\n}: SubmitButtonProps) => {\n return loading ? (\n \n ) : (\n \n {label}\n \n );\n};\n","import {\n Button,\n Checkbox,\n FormControl,\n FormControlLabel,\n FormGroup,\n FormHelperText,\n MenuItem,\n Select,\n SwipeableDrawer,\n InputAdornment,\n} from \"@material-ui/core\";\nimport moment from \"moment\";\nimport { useEffect, useState } from \"react\";\nimport en from \"../../../lang/en-us\";\nimport SearchInput from \"../../../lib/SearchInput\";\nimport TextInput from \"../../../lib/TextField\";\nimport { NOMINEE } from \"../../../store/types/nct\";\nimport {\n sendPhoneOTP,\n fetchIFSCDetails,\n updateDataEntry,\n} from \"../../../store/actions/nct\";\nimport { NOMINEEINFO } from \"../UpdateNominee/update-nominee-edit\";\nimport { CorrectionFolioSelection, initSelection, validateName } from \"./types\";\nimport { connect } from \"react-redux\";\nimport { RootStateType } from \"../../../store/reducers\";\nimport {\n getDateString,\n ifscRegex,\n isAlphaNumeric,\n minDateForCalender,\n OTP_ACTIONS,\n _minDateForCalender,\n DATA_ERROR,\n} from \"../../../utils/constants\";\nimport { ValidationUI } from \"../MinorStatus/minor-status-edit-bank\";\nimport DatePickerInput from \"../../../lib/DatePicker\";\n//import { ActionHeader, FaqLink } from \"..\";\nimport { SubmitButtonWithLoader } from \"../../../lib/Button\";\nimport { getTaxStatusCode } from \"../portfolios/utils\";\nimport Image from \"../../Image\";\nconst { dashboard, common, nctLinks } = en;\n\nconst payloadKeyValues: any = {\n investorName: \"firstHolder\",\n secondaryHolderName: \"secondHolder\",\n thirdHolderName: \"thirdHolder\",\n guardian_name: \"guardian\",\n mobile: \"mobile\",\n dob: \"dob\",\n taxStatus: \"taxStatus\",\n modeOfHolding: \"modeOfHolding\",\n email: \"email\",\n};\n\nexport const getNameIndex = (index: number) => {\n if (index === 1) {\n return \"1st\";\n } else if (index === 2) {\n return \"2nd\";\n } else if (index === 3) {\n return \"3rd\";\n }\n};\n\nfunction CorrectionFoliosSelection(props: any) {\n const { fund = null } = props.location.state || {};\n const [selection, setSelection] =\n useState[]>(initSelection);\n const [selectedItems, setSelectedItems] = useState<\n CorrectionFolioSelection[]\n >([]);\n const [nameFields, setNameFields] = useState>([\n dashboard.CorrectionFolios.Selection.Fields.primaryHolder,\n dashboard.CorrectionFolios.Selection.Fields.secondHolder,\n dashboard.CorrectionFolios.Selection.Fields.thirdHolder,\n dashboard.CorrectionFolios.Selection.Fields.guardianName,\n ]);\n const [openDrawer, setDrawer] = useState(false);\n const [showLoader, setLoader] = useState(false);\n const [ifscValidation, setValidation] = useState(false);\n const [nomineesShare, setNomineesShare] = useState([]);\n const [searchString, setSearch] = useState(\"\");\n const [error, setError] = useState<{ error: boolean; message: string }>({\n error: false,\n message: \"\",\n });\n const [validate, setValidate] = useState(false);\n const [loading, setLoading] = useState(false);\n\n const ifscField = selectedItems.find(\n (_ele: CorrectionFolioSelection) => _ele.field === \"bank_ifsc\"\n );\n\n useEffect(() => {\n setLoader(false);\n if (ifscField?.newValue.length === 11) {\n document.getElementById(\"bank_ifsc\")?.blur();\n checkForCorrectIFSC();\n }\n }, [ifscField?.newValue]);\n\n const nomineeNamesKey = (index: number) => {\n return `${index}_nominee_name`;\n };\n\n const nomineeSharesKey = (index: number) => {\n return `${index}_nominee_share`;\n };\n\n useEffect(() => {\n const nameFieldsOfNominee = fund.nominees.map(\n (_ele: NOMINEEINFO, index: number) => `Nominee ${index + 1} name`\n );\n setNameFields([...nameFields, ...nameFieldsOfNominee]);\n const fundKeysByRowData = {\n ...fund,\n bank_ifsc: fund?.banks[0]?.ifsc,\n bank_accountNo: fund?.banks[0]?.accountNo,\n bank_accountType: fund?.banks[0]?.accountType,\n guardian_name: fund?.guardian?.name,\n };\n const nomineesNames = fund.nominees.reduce(\n (prev: any, curr: NOMINEEINFO, index: number) => {\n return {\n ...prev,\n [nomineeNamesKey(index)]: curr.name,\n };\n },\n {}\n );\n\n const nomineesShares = fund.nominees.reduce(\n (prev: any, curr: NOMINEE, index: number) => {\n return {\n ...prev,\n [nomineeSharesKey(index)]: curr.percent,\n };\n },\n {}\n );\n\n const nomineesNamesData = fund.nominees\n .slice(0, 3)\n .map((_ele: NOMINEEINFO, index: number) => ({\n label: `${getNameIndex(index + 1)} Nominee name`,\n field: `${index}_nominee_name`,\n type: \"text\",\n isSelected: false,\n newValue: \"\",\n validate: ({\n value,\n newValue,\n }: {\n value: string;\n newValue: string;\n }) => {\n if (newValue) {\n return validateName(value, newValue);\n }\n return { error: false, helperText: \"\" };\n },\n handleChangeCondition: (newValue: any) => {\n if (isAlphaNumeric(newValue) || !newValue) {\n return true;\n }\n },\n }));\n const nomineesShareData = fund.nominees\n .slice(0, 3)\n .map((_nominee: NOMINEEINFO, index: number) => ({\n label: `Share of Nominee ${index + 1} (in %)`,\n field: `${index}_nominee_share`,\n type: \"number\",\n isSelected: false,\n isNominee: true,\n handleChangeCondition: (newValue: any) => {\n if (\n (/^\\d+$/.test(newValue) || !newValue) &&\n Number(newValue) <= 100\n ) {\n return true;\n }\n },\n newValue: \"\",\n validate: ({ value, newValue }: any) => {\n if (newValue && Number(newValue) === 0) {\n return { error: true, helperText: \"Share should not be zero\" };\n }\n return { error: false, helperText: \"\" };\n },\n }));\n setNomineesShare(nomineesShareData);\n const updateKeysWithRowData = {\n ...fundKeysByRowData,\n ...nomineesNames,\n ...nomineesShares,\n };\n const updatedSelections = [\n ...initSelection,\n ...nomineesNamesData,\n ...nomineesShareData,\n ].map((selector) => ({\n ...selector,\n value:\n updateKeysWithRowData[\n `${\n selector.field === \"taxStatus\" ? \"taxStatusLabel\" : selector.field\n }`\n ], // manupulating taxStatus\n }));\n setSelection(updatedSelections);\n }, []);\n\n const _handleCheckBoxChange = (\n selector: CorrectionFolioSelection,\n index: number\n ) => {\n setSelectedItems((prevSelections) => {\n return selector.isSelected\n ? [...prevSelections, selector]\n : prevSelections.filter(\n (_selector) => selector.label !== _selector.label\n );\n });\n\n setSelection((prevSelections) => {\n prevSelections[index] = selector;\n return prevSelections;\n });\n if (selector.isNominee) {\n setNomineesShare(\n nomineesShare.map((_ele: any) => {\n if (_ele.field === selector.field) {\n return {\n ..._ele,\n isSelected: !_ele.isSelected,\n };\n }\n return _ele;\n })\n );\n }\n };\n\n const handleTextInputChange = (value: any, label: string) => {\n setSelectedItems(\n selectedItems.map((_ele: CorrectionFolioSelection) => {\n if (_ele.label === label) {\n return {\n ..._ele,\n newValue: value,\n };\n }\n return _ele;\n })\n );\n };\n\n const checkIfShareIsSelected = () => {\n return nomineesShare.some(\n (_ele: CorrectionFolioSelection) => _ele.isSelected\n );\n };\n\n const handleSubmit = async () => {\n const { fund } = props.location.state;\n const nomineeIds = fund.nominees\n .slice(0, 3)\n .map((_ele: NOMINEEINFO) => _ele.id);\n const keyValuePairs = selectedItems.reduce(\n (prev: any, curr: CorrectionFolioSelection) => ({\n ...prev,\n [curr.field]: curr.newValue || \"\",\n }),\n {}\n );\n const selectedFieldPairs = selection.reduce(\n (prev: any, curr: CorrectionFolioSelection) => ({\n ...prev,\n [curr.field]: \"\",\n }),\n {}\n );\n const correctedData = { ...selectedFieldPairs, ...keyValuePairs };\n const values: { [key: string]: string } = Object.keys(\n payloadKeyValues\n ).reduce(\n (prev, curr: any) => ({\n ...prev,\n [payloadKeyValues[curr]]: correctedData[curr],\n }),\n {}\n );\n const updatedNominees = nomineeIds.length\n ? nomineeIds.map((_ele: string, index: number) => ({\n id: _ele,\n name: correctedData[`${index}_nominee_name`],\n percent: correctedData[`${index}_nominee_share`],\n }))\n : [{ id: 1, name: \"\", percent: \"\" }];\n if (checkIfShareIsSelected()) {\n const totalShare = updatedNominees\n .map((_ele: any) => _ele.percent)\n .reduce((sum: number = 0, current: number) => sum + Number(current), 0);\n if (totalShare < 100) {\n alert(\"Total Share is less than 100 %\");\n return;\n }\n if (totalShare > 100) {\n alert(\"Total Share is greater than 100 %\");\n return;\n }\n }\n const data = {\n folio: fund?.folio,\n amc: fund?.amc,\n ...values,\n taxStatus:\n Object.keys(getTaxStatusCode).find(\n (_ele: any) => getTaxStatusCode[_ele] === values.taxStatus\n ) || \"\",\n bank: {\n accountNo: correctedData[\"bank_accountNo\"],\n accountType: correctedData[\"bank_accountType\"],\n ifsc: correctedData[\"bank_ifsc\"],\n },\n dob: getDateString(correctedData[\"dob\"]),\n nominees: updatedNominees,\n dpId: \"\",\n };\n const { pan = \"\", pekrn = \"\", mobile = \"\" } = props;\n try {\n setLoading(true);\n await modifiyDataEntry(data);\n } catch (err: any) {\n alert(err.message);\n } finally {\n setLoading(false);\n }\n };\n const modifiyDataEntry = async (data: any) => {\n try {\n const pan = props.investorData.PAN;\n const { Email: email = \"\", Mobile: mobile = \"\" } = props.investors.find(\n ({ Pan: currentPan }: { Pan: string }) => currentPan === pan\n );\n let res = await props.updateDataEntry({\n data: [data],\n email,\n pan,\n distributor_id: props.token,\n mobile,\n });\n props.history.replace(\"correction-folios-success\", {\n successMessage: res.message,\n });\n } catch (err: any) {\n alert(err.message);\n }\n };\n\n const checkForCorrectIFSC = async () => {\n setValidation(true);\n setLoader(true);\n let ifsc = (\n selectedItems.find(\n (_ele: CorrectionFolioSelection) => _ele.field === \"bank_ifsc\"\n ) || {}\n ).newValue;\n if (ifsc.match(ifscRegex)) {\n const { pan, pekrn, mobile, reqId } = props;\n try {\n let response: any = await props.fetchIFSCDetails({\n pan,\n pekrn,\n mobile,\n reqId,\n ifscCode: ifsc,\n });\n const { errors = [], data = [] } = (response || {}).body;\n if (errors.length) {\n const [firstError] = errors;\n throw Error(firstError?.message);\n }\n setValidation(false);\n setError({\n error: false,\n message: \"\",\n });\n } catch (e: any) {\n setLoader(false);\n setValidation(false);\n setError({ error: true, message: e.message });\n }\n } else {\n setLoader(false);\n setValidation(false);\n setError({ error: true, message: common.errors.bankErrors.ifsc.regex });\n }\n };\n\n const handleSearch = (selections: CorrectionFolioSelection[]) => {\n if (searchString) {\n return selections.filter((_ele: CorrectionFolioSelection) =>\n _ele.label.toLowerCase().includes(searchString.toLowerCase())\n );\n }\n return selections;\n };\n\n const getNames = (\n selectorKey: string,\n keyList: Array,\n updatedValue: string,\n oldValue: string\n ) => {\n if (updatedValue) {\n const filteredNames = keyList.filter(\n (_ele: string) => _ele !== selectorKey\n );\n const namesData = selectedItems\n .map((_ele: CorrectionFolioSelection) => {\n if (filteredNames.includes(_ele.label)) {\n return _ele.newValue.trim().toLowerCase();\n }\n })\n .filter((ele) => ele);\n if (validateName(oldValue, updatedValue).error) {\n return validateName(oldValue, updatedValue);\n }\n if (namesData.includes(updatedValue.trim().toLowerCase())) {\n return {\n error: true,\n helperText: `${selectorKey} should not be same as other names`,\n };\n }\n return { error: false, helperText: \"\" };\n }\n return { error: false, helperText: \"\" };\n };\n\n const isButtonDisabled = () => {\n return selectedItems.some((_ele: CorrectionFolioSelection) => {\n if (nameFields.includes(_ele.label)) {\n return getNames(_ele.label, nameFields, _ele.newValue, _ele.value)\n .error;\n }\n return false;\n });\n };\n\n const dataSelection = () => {\n return (\n
\n
\n
{dashboard.CorrectionFolios.Selection.selectionInfo}
\n setSearch(value)}\n endAdornment={\n searchString.length > 0 ? (\n \n setSearch(\"\")}\n />\n \n ) : null\n }\n />\n
\n
\n \n {!!handleSearch(selection).length ? (\n handleSearch(selection).map((selector, index: number) => (\n \n _handleCheckBoxChange(\n {\n ...selector,\n isSelected: checked,\n },\n index\n )\n }\n checked={selector.isSelected}\n name=\"primary-holder\"\n />\n }\n label={selector.label}\n />\n ))\n ) : (\n \n {nctLinks.notMatched}\n

\n )}\n
\n
\n \n
\n );\n };\n\n useEffect(() => {\n setSearch(\"\");\n }, [openDrawer]);\n\n return (\n
\n {/* */}\n
\n
\n {dataSelection()}\n
\n setDrawer(false)}\n onOpen={() => setDrawer(true)}\n >\n {dataSelection()}\n \n
\n \n
\n
\n

\n {dashboard.CorrectionFolios.Selection.selectedFolio}\n {fund?.folio}\n

\n

\n {dashboard.CorrectionFolios.Selection.amc}\n {fund?.amcName}\n

\n
\n
\n {/*
\n

{dashboard.CorrectionFolios.Selection.makeSelection}

\n
*/}\n {!!selectedItems.length ? (\n
\n {selectedItems.map((selector, index: number) => (\n
\n
{selector.label}
\n
\n
\n {dashboard.CorrectionFolios.Selection.nameInRecords}\n {selector.type === \"dob\" ? (\n moment(selector.value).format(\"DD/MM/YYYY\")\n ) : (\n {selector.value || \"Not Available\"}\n )}\n
\n {[\n \"bank_accountType\",\n \"taxStatus\",\n \"modeOfHolding\",\n ].includes(selector.field) ? (\n \n \n handleTextInputChange(value, selector.label)\n }\n onBlur={() => setValidate(true)}\n >\n SELECT\n {selector.masterData?.map((_ele: string) => (\n {_ele}\n ))}\n \n \n {validate\n ? selector.validate &&\n selector.validate({\n value: selector.value,\n newValue: selector.newValue,\n }).helperText\n : \"\"}\n \n \n ) : selector.type === \"dob\" ? (\n {\n handleTextInputChange(date, selector.label);\n }}\n minDate={_minDateForCalender()}\n maxDate={moment(new Date()).format(\"YYYY-MM-DD\")}\n error={\n validate\n ? selector.validate &&\n selector.validate({\n value: selector.value,\n newValue: selector.newValue,\n }).error\n : false\n }\n helperText={\n validate\n ? selector.validate &&\n selector.validate({\n value: selector.value,\n newValue: selector.newValue,\n }).helperText\n : \"\"\n }\n />\n ) : (\n \n {\n if (selector.handleChangeCondition) {\n return selector.handleChangeCondition(value)\n ? handleTextInputChange(\n value,\n selector.label\n )\n : null;\n }\n handleTextInputChange(value, selector.label);\n }}\n onBlur={() => {\n if (selector.field === \"bank_ifsc\") {\n setError({\n error: true,\n message: \"\",\n });\n checkForCorrectIFSC();\n }\n setValidate(true);\n }}\n onFocus={() => setValidate(false)}\n error={\n validate\n ? selector.field === \"bank_ifsc\"\n ? error.error\n : nameFields.includes(selector.label)\n ? getNames(\n selector.label,\n nameFields,\n selector.newValue,\n selector.value\n ).error\n : selector.validate &&\n selector.validate({\n value: selector.value,\n newValue: selector.newValue,\n }).error\n : false\n }\n helperText={\n validate\n ? selector.field === \"bank_ifsc\"\n ? error.message\n : nameFields.includes(selector.label)\n ? getNames(\n selector.label,\n nameFields,\n selector.newValue,\n selector.value\n ).helperText\n : selector.validate &&\n selector.validate({\n value: selector.value,\n newValue: selector.newValue,\n }).helperText\n : \"\"\n }\n />\n {selector.shouldValidateField && showLoader && (\n \n \n \n )}\n \n )}\n
\n
\n ))}\n
\n ) : (\n
\n

\n {dashboard.CorrectionFolios.Selection.makeSelection}\n

\n

\n {dashboard.CorrectionFolios.Selection.makeSelectionMobile}\n

\n
\n )}\n
\n
\n {!!selectedItems.length && (\n ) => !!_ele.newValue\n ) ||\n selectedItems.some(\n (_ele: CorrectionFolioSelection) => {\n if (_ele.validate) {\n return _ele.validate({\n value: _ele.value,\n newValue: _ele.newValue,\n }).error;\n }\n return false;\n }\n ) ||\n error.error ||\n isButtonDisabled()\n }\n onClick={handleSubmit}\n label={dashboard.CorrectionFolios.Selection.buttonText}\n loading={loading}\n labelWhileLoading={dashboard.OtpScreen.buttonTextWhileLoading}\n >\n )}\n
\n
\n
\n
\n {/* */}\n
\n );\n}\n\nexport default connect(\n ({ authReducer, portfolio, investor }: RootStateType) => ({\n ...authReducer,\n ...portfolio,\n ...investor,\n }),\n { sendPhoneOTP, fetchIFSCDetails, updateDataEntry }\n)(CorrectionFoliosSelection);\n","import { useEffect, useState } from \"react\";\nimport en from \"../../../lang/en-us\";\nimport TextInput from \"../../../lib/TextField\";\nimport AddNominee from \"./addNominee\";\nimport * as yup from \"yup\";\nimport { NoteModals } from \"../../../lib/NoteModals\";\nimport { connect } from \"react-redux\";\nimport {\n getDate,\n getDateString,\n panRegex,\n _minDateForCalender,\n} from \"../../../utils/constants\";\nimport { getNameIndex } from \"../CorrectionFolios/correction-folios-selection\";\nimport Image from \"../../Image\";\nimport store from \"../../../store\";\n\nconst {\n dashboard,\n signUp: { form },\n common,\n} = en;\n\nexport interface InitialState {\n relation: string;\n name: string;\n dob: Date | string;\n share: number | null;\n gender: string;\n pan: string;\n address1: string;\n address2: string;\n address3?: string;\n pincode: number | string;\n city: string;\n state: string;\n country: string;\n guardianName: string;\n guardianPan: string;\n guardianAddress: string;\n guardianDob: Date | string;\n isEditable?: boolean;\n isNewlyAdded?: boolean;\n showDetails?: boolean;\n editShare?: boolean;\n id?: string;\n isEdited?: boolean;\n}\nexport interface NOMINEEINFO extends InitialState {\n initialState?: InitialState;\n}\nexport interface RELATIONS {\n label: string;\n value: string;\n}\nexport const relationShips = [\n {\n label: \"Mother\",\n value: \"mother\",\n },\n {\n label: \"Son\",\n value: \"son\",\n },\n {\n label: \"Daughter\",\n value: \"daughter\",\n },\n {\n label: \"Father\",\n value: \"father\",\n },\n {\n label: \"Spouse\",\n value: \"spouse\",\n },\n {\n label: \"Others\",\n value: \"others\",\n },\n];\n\nexport const initialValues: NOMINEEINFO = {\n relation: \"\",\n name: \"\",\n dob: \"\",\n share: null,\n gender: \"\",\n pan: \"\",\n address1: \"\",\n address2: \"\",\n pincode: \"\",\n city: \"\",\n state: \"\",\n country: \"\",\n guardianName: \"\",\n guardianPan: \"\",\n guardianAddress: \"\",\n guardianDob: \"\",\n};\nexport const validatePan = (pan: string) => {\n const investorData = store.getState().investor.investorData;\n return pan !== investorData.PAN; \n};\n\nexport const validationSchemaNominee = yup.object({\n relation: yup.string().required(\"Relation is required\"),\n name: yup\n .string()\n .required(\"Name is required\")\n .test(\"len\", \"Name is Required\", (val) => val?.trim().length !== 0),\n gender: yup.string().required(\"Gender is required\"),\n pan: yup.string().required(\"Pan is Required.\").matches(panRegex, form.pan.validations.individualPan).test('unique-pan', 'Nominee pan cannot be investor pan', validatePan),\n address1: yup\n .string()\n .notRequired()\n .test(\"len\", common.spaceNotAllowed, (val) => val?.trim().length !== 0),\n address2: yup\n .string()\n .notRequired()\n .test(\"len\", common.spaceNotAllowed, (val) => val?.trim().length !== 0),\n city: yup\n .string()\n .notRequired()\n .test(\"len\", common.spaceNotAllowed, (val) => val?.trim().length !== 0)\n .max(50, common.cityMaxLength),\n state: yup\n .string()\n .notRequired()\n .test(\"len\", common.spaceNotAllowed, (val) => val?.trim().length !== 0)\n .max(50, common.stateMaxLength),\n pincode: yup.string().length(6, \"Pincode should be of 6 digits\"),\n guardianPan: yup\n .string()\n .notRequired()\n .matches(panRegex, form.pan.validations.individualPan),\n});\n\nexport default function NomineeSummary(props: any) {\n const { nomineesData = {}, noNomineeFlagAll = false } = props || {};\n const { nominees: data = [], investorName = \"\", verified } = nomineesData;\n const [nominees, setNominees] = useState([]);\n\n useEffect(() => {\n setNominees(\n !!data.length\n ? data.slice(0, 3).map((_ele: any) => {\n let nomineeState = {\n relation: [\n \"mother\",\n \"son\",\n \"daughter\",\n \"father\",\n \"spouse\",\n ].includes(_ele?.relation?.toLowerCase())\n ? _ele.relation?.toLowerCase()\n : _ele.relation?.toLowerCase()\n ? \"others\"\n : \"\",\n name: _ele.name || \"\",\n dob: getDate(_ele.dob),\n share: _ele.percent,\n pan: _ele.pan,\n gender: _ele?.gender?.toLowerCase(),\n address1: _ele.address?.line1 || \"\",\n address2: _ele.address?.line2 || \"\",\n ..._ele?.address,\n guardianName: _ele.guardian?.name || \"\",\n guardianPan: _ele.guardian?.pan || \"\",\n guardianAddress: _ele.guardian?.address || \"\",\n guardianDob: _ele.guardian?.dob || \"\",\n isEditable: false,\n showDetails: false,\n editShare: false,\n isNewlyAdded: false,\n id: _ele.id,\n isEdited: false,\n };\n return { ...nomineeState, initialState: nomineeState };\n })\n : [\n {\n ...initialValues,\n isEditable: true,\n showDetails: false,\n editShare: false,\n isNewlyAdded: true,\n isEdited: false,\n },\n ]\n );\n }, []);\n\n // useEffect(() => {\n // console.log('hhhagi');\n // }, [nominees]);\n\n return (\n \n {nomineesData.noNominee === \"Y\" || noNomineeFlagAll ? (\n
Opted out of nomination
\n ) : !nomineesData.noNominee && nomineesData.nominees.length === 0 ? (\n
No nominees selected
\n ) : (\n nominees.map((_ele: NOMINEEINFO, index: number) => (\n
\n
\n
\n \n \"icon\"\n \n {getNameIndex(index + 1)} {dashboard.UpdateNominee.nomineeText}\n
\n
\n
\n
\n

{dashboard.UpdateNominee.name}

\n

{_ele.name}

\n
\n
\n

{dashboard.UpdateNominee.relation}

\n

\n {_ele.relation.slice(0, 1).toUpperCase() +\n _ele.relation.slice(1)}\n

\n
\n
\n <>\n

{dashboard.UpdateNominee.share}

\n

{_ele.share}%

\n \n
\n {/* */}\n
\n {_ele.showDetails && (\n
\n
\n

{dashboard.UpdateNominee.gender}

\n

\n {_ele.gender.slice(0, 1).toUpperCase() +\n _ele.gender.slice(1)}\n

\n
\n
\n

\n {\" \"}\n {dashboard.UpdateNominee.address}\n

\n

{_ele.address1}

\n
\n
\n )}\n
\n
\n
\n ))\n )}\n \n );\n}\n","import { Checkbox, FormControlLabel } from \"@material-ui/core\";\n\nexport function CheckBoxField({\n\tlabel = \"\",\n\tonChange = (e: any) => {},\n\tvalue = false,\n\t...rest\n}) {\n\treturn (\n\t\t}\n\t\t\tlabel={label}\n\t\t\t{...rest}\n\t\t/>\n\t);\n}\n","import {\n Table,\n TableHead,\n TableCell,\n TableBody,\n TableContainer,\n Paper,\n TableRow,\n} from '@material-ui/core';\nimport { KeyboardArrowDown, KeyboardArrowUp } from '@material-ui/icons';\nimport React, { useEffect } from 'react';\nimport en from \"../../../lang/en-us\";\nimport NomineeSummary from './nominee-summary';\nimport { connect, useDispatch, useSelector } from 'react-redux';\nimport { RootStateType } from '../../../store/reducers';\nimport { SubmitButton } from '../../../lib/Button';\nimport { CheckBoxField } from '../../../lib/CheckBoxField';\nimport { saveNominee } from '../../../store/actions/nct';\nimport Image from '../../Image';\nimport { useHistory } from 'react-router';\n\nconst {\n dashboard,\n dbCommercial,\n signUp: { form },\n common,\n} = en;\n\nexport const BackArrow = ({ header = \"\", history, customStyle }: any) => {\n return (\n

\n history.goBack()} style={{ cursor: \"pointer\" }}>\n \n Back\n \n

\n );\n};\n\nexport const ActionHeader = ({ header = '', subHeader, history } : any ) => {\n return (\n

\n history.goBack()} style={{ cursor: 'pointer' }}>\n \"icon\"/\n \n {header}\n {subHeader && {subHeader}}\n

\n );\n};\n\nfunction SelectedFolios(props: any) {\n const [currIndex, setCurrentIndex] = React.useState(-1);\n const { nomineesData, investorData, token } = useSelector(({ NomineeReducer, investor, authReducer }: RootStateType) => ({\n nomineesData: NomineeReducer,\n investorData: investor.investorData,\n token: authReducer.token,\n }));\n const [nominees, setNominees] = React.useState([]);\n const [loading, setLoading] = React.useState(false);\n const [isExpanded, setIsExpanded] = React.useState(false);\n const [noNomineeFlag, setNoNomineeFlag] = React.useState(false);\n const dispatch = useDispatch();\n\n useEffect(() => {\n if (!nomineesData.length) {\n props.history.goBack();\n }\n }, []);\n\n const handleChange = (index: number) => {\n if (index === currIndex) {\n setIsExpanded(false);\n setCurrentIndex(-1);\n } else {\n setIsExpanded(true);\n setCurrentIndex(index);\n }\n };\n\n console.log(token, investorData, 'idafa');\n\n const handleSubmit = async () => {\n const nomineeApiPayload = {\n email: nomineesData[0].email,\n mobile: nomineesData[0].mobile,\n pan: investorData.PAN,\n distributor_id: token,\n data: nomineesData.map(nomineeData => {\n return {\n\n folio: nomineeData.folio,\n amc: nomineeData.amc,\n amc_name: nomineeData.amcName,\n noNominee: noNomineeFlag ? \"Y\" : \"\",\n nominees: noNomineeFlag ? [] : nomineeData.nominees,\n eNomType: \"F\",\n eSignFlag: \"\",\n eNomDocId: \"\",\n }\n })\n };\n try {\n setLoading(true);\n const apiRes = await saveNominee(nomineeApiPayload)(dispatch);\n if (apiRes.status === 201) {\n props.history.replace(\"/new-transaction/nct-type/success\", {\n state: {\n succesMessage: apiRes.message,\n },\n });\n }\n } catch (err : any) {\n alert(err.message);\n } finally {\n setLoading(false);\n }\n };\n\n return (\n
\n \n
\n {/* {verifyThrough === VerifyThrough.ESIGN && ( */}\n {/*
*/}\n {/*
*/}\n {/* )} */}\n setNoNomineeFlag(!noNomineeFlag)}\n style={{ paddinTop: 8, paddingBottom : 8 }}\n value={noNomineeFlag}\n label={dbCommercial.noNominee.indNote}\n />\n \n \n \n \n Folio Number \n \n {' '}\n Investor Name{' '}\n \n \n \n \n \n \n \n {nomineesData.map((nominee, index: number) => (\n <>\n {\n handleChange(index);\n }}\n style={{ cursor: 'pointer' }}\n >\n {nominee.folio}\n {nominee.investorName}\n {\n props.history.push(\n '/new-transaction/nct-type/update-ind-nominee',\n {\n nomineesData: nominee,\n nomineeIndex: index,\n },\n );\n }}\n >\n \n \n \n {isExpanded && currIndex === index ? (\n \n ) : (\n \n )}\n \n \n {nominee.verified || noNomineeFlag ? 'Updated' : 'Not Updated'}\n \n \n {currIndex === index && isExpanded && (\n \n \n \n \n \n )}\n \n ))}\n \n
\n
\n
\n !nominee.verified))}\n label={'Submit'}\n onClick={handleSubmit}\n />\n
\n
\n
\n );\n}\n\nexport default connect(null)(SelectedFolios);\n","// import store from '../../../../store';\nimport {\n REGISTER_WITH_EMAIL,\n REGISTER_WITH_MOBILE,\n} from \"../../../utils/constants\";\n\nconst EMAIL_LISTING_ROUTE = \"/portal/nct/change-email-list\";\nconst EMAIL_ENTER_ROUTE = \"/portal/nct/change-email\";\nconst EMAIL_OTP_VERIFY = \"/portal/nct/change-email-otp\";\nconst REGISTERED_EMAIL_OR_PHONE_VERIFY = \"/portal/nct/change-email-auth\";\n\nexport const SUCCESS = \"SUCCESS\";\n\nexport const CHANGE_EMAIL_LOGIN_FLOW = [\n EMAIL_LISTING_ROUTE,\n REGISTERED_EMAIL_OR_PHONE_VERIFY,\n EMAIL_ENTER_ROUTE,\n EMAIL_OTP_VERIFY,\n];\nexport const CHANGE_EMAIL_MOBILE_LOGIN_FLOW = [\n EMAIL_ENTER_ROUTE,\n EMAIL_OTP_VERIFY,\n EMAIL_LISTING_ROUTE,\n REGISTERED_EMAIL_OR_PHONE_VERIFY,\n];\n\nexport function getChangeEmailFlow(registerType = REGISTER_WITH_MOBILE) {\n return registerType === REGISTER_WITH_EMAIL\n ? CHANGE_EMAIL_LOGIN_FLOW\n : CHANGE_EMAIL_MOBILE_LOGIN_FLOW;\n}\n","import store from \"../../../store\";\nimport {\n REGISTER_WITH_EMAIL,\n REGISTER_WITH_MOBILE,\n} from \"../../../utils/constants\";\nimport { getChangeEmailFlow } from \"../ChangeEmail/flow\";\n\nconst MOBILE_LISTING_ROUTE = \"/portal/nct/change-mobile\";\nconst MOBILE_ENTER_ROUTE = \"/portal/nct/change-mobile-new\";\nconst MOBILE_OTP_VERIFY = \"/portal/nct/otp-verification\";\nconst REGISTERED_EMAIL_OR_PHONE_VERIFY = \"/portal/nct/change-mobile-auth\";\n\nexport const SUCCESS = \"SUCCESS\";\n\nexport const MOBILE_LOGIN_FLOW = [\n MOBILE_LISTING_ROUTE,\n REGISTERED_EMAIL_OR_PHONE_VERIFY,\n MOBILE_ENTER_ROUTE,\n MOBILE_OTP_VERIFY,\n];\nexport const EMAIL_LOGIN_FLOW = [\n MOBILE_ENTER_ROUTE,\n MOBILE_OTP_VERIFY,\n MOBILE_LISTING_ROUTE,\n REGISTERED_EMAIL_OR_PHONE_VERIFY,\n];\n\nexport function getChangeMobileFlow(registerType = REGISTER_WITH_MOBILE) {\n return registerType === REGISTER_WITH_EMAIL\n ? EMAIL_LOGIN_FLOW\n : MOBILE_LOGIN_FLOW;\n}\n\nexport function nextScreen(path: string, nctFlow: string = \"mobile\") {\n const { authReducer } = store.getState();\n const { userRegisteredWith } = authReducer;\n const flows =\n nctFlow === \"email\"\n ? getChangeEmailFlow(userRegisteredWith)\n : getChangeMobileFlow(userRegisteredWith);\n if (!path) {\n return flows[0];\n }\n const index = flows.findIndex((_flow) => _flow === path);\n if (index + 1 === flows.length) {\n return SUCCESS;\n }\n return flows[index + 1];\n}\n// export function emailRegisteredUser() {\n// const { authReducer } = store.getState();\n// const { userRegisteredWith } = authReducer;\n// return userRegisteredWith === REGISTER_WITH_EMAIL;\n// }\n","import {\n FormControl,\n InputLabel,\n Select,\n MenuItem,\n FormHelperText,\n} from \"@material-ui/core\";\nimport { showHelperText } from \"../../../utils/utilityFunctions\";\nimport { getRelationShip } from \"../../home/portfolios/utils\";\n\nexport default function EmailRelationship({ emailFormik }: any) {\n return (\n \n \n Email Family Relationship\n \n \n \n \n
Email Relationship
\n
\n {Object.keys(getRelationShip).map((key: any) => (\n {getRelationShip[key]}\n ))}\n \n \n {showHelperText(emailFormik, \"emailRelationship\")}\n \n
\n \n );\n}\n","import {\n FormControl,\n FormHelperText,\n InputLabel,\n MenuItem,\n Select,\n} from \"@material-ui/core\";\nimport { Formik, useFormik } from \"formik\";\nimport React from \"react\";\nimport { useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport * as yup from \"yup\";\n// import { ActionHeader, FaqLink } from '..';\nimport { BackArrow } from \"../UpdateNominee/SelectedFolios\";\nimport en from \"../../../lang/en-us\";\nimport { SubmitButton } from \"../../../lib/Button\";\nimport TextInput from \"../../../lib/TextField\";\nimport { sendEmailOTP } from \"../../../store/actions/nct\";\nimport { RootStateType } from \"../../../store/reducers\";\nimport {\n OTP_ACTIONS,\n REGISTER_WITH_EMAIL,\n UPDATE_EMAIL,\n} from \"../../../utils/constants\";\nimport { isError, showHelperText } from \"../../../utils/utilityFunctions\";\nimport Image from \"../../Image\";\nimport { nextScreen } from \"../ChangeMobile/flow\";\nimport EmailRelationship from \"./EmailRelationship\";\nconst { dashboard, common } = en;\nexport const re =\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\nconst initialValues = {\n email: \"\",\n emailRelationship: \"\",\n};\n\nconst validationSchema = yup.object({\n email: yup\n .string()\n .required(common.errors.email.required)\n .email(common.errors.email.regex),\n emailRelationship: yup\n .string()\n .required(common.errors.relationship.emailRequired),\n});\n\nfunction ChangeEmail(props: any) {\n const {\n pan,\n pekrn,\n mobile,\n userRegisteredWith,\n email: registeredEmail,\n } = props;\n\n const emailFormik = useFormik({\n initialValues,\n onSubmit: async ({ email, emailRelationship }) => {\n if (registeredEmail === email) {\n alert(dashboard.changeEmail.emailError);\n return;\n }\n // const action =\n // props?.location?.state?.action || OTP_ACTIONS.NEW_EMAIL_ONINE_OTP;\n\n if (props?.location?.state?.isPhygitial) {\n props.history.push(\n \"/new-transaction/nct-type/phygital/change-email-document\",\n {\n enteredEmail: email,\n emailRelationship: emailRelationship,\n ...(props?.location?.state || {}),\n }\n );\n return;\n }\n props.history.push(\n \"/new-transaction/nct-type/digital/change-email-list\",\n {\n enteredEmail: email,\n emailRelationship: emailRelationship,\n ...(props?.location?.state || {}),\n }\n );\n const goTo = nextScreen(props.match.path, \"email\");\n },\n validationSchema,\n });\n return (\n
\n \n
\n \n
\n
\n \n {dashboard.changeEmail.subHeading}\n \n

\n {dashboard.changeEmail.subHeadingInfo}\n

\n \n
\n \n Enter New Email\n \n \n
\n \n
\n
\n {/* */}\n
\n \n \n
\n \n \n );\n}\n\nexport default connect(\n ({ authReducer, investor }: RootStateType) => ({\n ...authReducer,\n ...investor,\n }),\n { sendEmailOTP }\n)(ChangeEmail);\n","import {\n FormControl,\n InputLabel,\n Select,\n MenuItem,\n FormHelperText,\n} from \"@material-ui/core\";\nimport { showHelperText } from \"../../../utils/utilityFunctions\";\nimport { getRelationShip } from \"../../home/portfolios/utils\";\n\nexport default function ({ mobileFormik }: any) {\n return (\n \n \n Mobile Family Relationship\n \n \n \n \n
Mobile Relationship
\n
\n {Object.keys(getRelationShip).map((key: any) => (\n {getRelationShip[key]}\n ))}\n \n \n {showHelperText(mobileFormik, \"mobileRelationship\")}\n \n
\n \n );\n}\n","import {\n Button,\n FormControl,\n FormHelperText,\n InputLabel,\n MenuItem,\n Select,\n} from \"@material-ui/core\";\nimport { useFormik } from \"formik\";\nimport { useState } from \"react\";\nimport { connect } from \"react-redux\";\n// import { ActionHeader, FaqLink } from '..';\nimport en from \"../../../lang/en-us\";\nimport { NoteModals } from \"../../../lib/NoteModals\";\nimport TextInput from \"../../../lib/TextField\";\n// import { sendPhoneOTP, sendMobileOTP, updateMobile } from '../../../store/actions/nct';\nimport { RootStateType } from \"../../../store/reducers\";\nimport { addDialCode, OTP_ACTIONS } from \"../../../utils/constants\";\nimport { isError, showHelperText } from \"../../../utils/utilityFunctions\";\nimport { nextScreen } from \"./flow\";\nimport * as yup from \"yup\";\nimport MobileRelationship from \"./MobileRelationship\";\nimport React from \"react\";\nimport { BackArrow } from \"../UpdateNominee/SelectedFolios\";\n\nconst { dashboard, common } = en;\nconst initialValues = {\n mobile: \"\",\n mobileRelationship: \"\",\n};\nconst validationSchema = yup.object({\n mobile: yup\n .string()\n .required(common.errors.mobile.required)\n .matches(/^\\d{10}$/, common.errors.mobile.regex)\n .length(10, common.errors.mobile.mobileLength),\n mobileRelationship: yup\n .string()\n .required(common.errors.relationship.mobileRequired),\n // .mobile(common.errors.email.regex),\n});\n\nfunction ChangeMobileNew(props: any) {\n const { mobile: existingMobile } = props;\n const mobileFormik = useFormik({\n initialValues,\n onSubmit: async ({ mobile, mobileRelationship }) => {\n const goTo = nextScreen(props.match.path);\n if (existingMobile && existingMobile.slice(3) === mobile) {\n alert(\n \"New mobile number should not be same as registered mobile number\"\n );\n mobileFormik.setFieldValue(\"mobile\", \"\");\n return;\n }\n if (props?.location?.state?.isPhygitial) {\n props.history.push(\n \"/new-transaction/nct-type/phygital/change-mobile-document\",\n {\n mobile,\n mobileRelationship,\n ...(props?.location?.state || {}),\n }\n );\n return;\n }\n\n props.history.push(\n \"/new-transaction/nct-type/digital/change-mobile-list\",\n {\n mobile,\n mobileRelationship,\n ...(props?.location?.state || {}),\n }\n );\n\n // try {\n // const {\n // images = [],\n // action = OTP_ACTIONS.NEW_MOBILE_ONINE_OTP,\n // flow,\n // } = props.location.state || {};\n // const { pan, pekrn } = props;\n // let res = await props.sendMobileOTP({\n // mobile: addDialCode(mobile),\n // pan,\n // pekrn,\n // action,\n // });\n // const routeStateParams = {\n // mobile,\n // mobileRelationship,\n // ...(res || {}).body,\n // onSuccessNavigationUrl: props?.location?.state?.onSuccessNavigationUrl || '',\n // foliosToUpdate: props?.location?.state?.foliosToUpdate,\n // success: true,\n // images,\n // action,\n // };\n\n // props.history.replace(goTo, routeStateParams);\n // } catch (err: any) {\n // alert(err.message);\n // }\n },\n validationSchema,\n });\n\n const handleMobileChange = (event: any) => {\n const { target } = event;\n let { value } = target;\n value = value.replace(/\\D/g, \"\"); // Remove non-digit characters\n if (value.length <= 10) {\n mobileFormik.setFieldValue(\"mobile\", value);\n // Clear the error for mobile field if it was previously shown\n if (mobileFormik.touched.mobile && mobileFormik.errors.mobile) {\n mobileFormik.setFieldError(\"mobile\", \"\");\n }\n }\n };\n\n return (\n
\n \n
\n \n
\n
\n \n {dashboard.ChangeMobile.newMobile.heading}\n {/* {dashboard.ChangeMobile.newMobile.headingSpan} */}\n \n

\n {dashboard.ChangeMobile.newMobile.info}\n

\n \n
\n \n Enter New Mobile Number\n \n \n
\n \n
\n
\n {/* */}\n
\n \n \n {dashboard.changeEmail.buttonText}\n \n
\n \n \n );\n}\nexport default connect(\n ({ authReducer, portfolio }: RootStateType) => ({\n ...authReducer,\n ...portfolio,\n }),\n {}\n)(ChangeMobileNew);\n\n// export default {};\n","import { Button } from \"@material-ui/core\";\nimport en from \"../../lang/en-us\";\nimport { SubmitButton } from \"../../lib/Button\";\nimport Image from \"../Image\";\nconst { dashboard } = en;\n\ntype NoFoliosFoundPropsType = {\n info?: string;\n extraClass?: string;\n icon?: string;\n onClick?: null | (() => void);\n};\n\nexport default function NoFoliosFound({\n info = \"\",\n extraClass = \"\",\n icon = \"folios-not-found\",\n onClick = null,\n}: NoFoliosFoundPropsType) {\n return (\n
\n \"icon\"\n {/*

{info}

*/}\n

{info || dashboard.noFoliosFound}

\n {!!onClick && (\n \n )}\n
\n );\n}\n","/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\n/* eslint-disable jsx-a11y/anchor-is-valid */\n/* eslint-disable react/prop-types */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable react/display-name */\nimport {\n Tooltip,\n Checkbox,\n makeStyles,\n TableContainer,\n TableHead,\n Table,\n TableRow,\n TableCell,\n TableBody,\n Paper,\n Collapse,\n Radio,\n FormControlLabel,\n SwipeableDrawer,\n} from \"@material-ui/core\";\nimport { Theme, createStyles } from \"@material-ui/core/styles\";\nimport { GridRowData } from \"@material-ui/data-grid\";\nimport { useState, useEffect, useMemo } from \"react\";\nimport React from \"react\";\nimport en from \"../../lang/en-us\";\nimport { CheckBoxField } from \"../CheckBoxField\";\nimport SearchInput from \"../SearchInput\";\nimport Skeleton from \"@material-ui/lab/Skeleton\";\nimport {\n CustomToolTipProps,\n DataTableColumn as _Column,\n TableCellParams as CellParams,\n TableColumn as Column,\n TableProps,\n} from \"./types\";\nimport NoFoliosFound from \"../../components/home/NoFoliosFound\";\nimport Image from \"../../components/Image\";\nconst { dashboard, common } = en;\n\nexport type TableColumn = Column;\nexport type DataTableColumn = _Column;\nexport type TableCellParams = CellParams;\n\nconst useStyles = makeStyles({\n tooltip: {\n backgroundColor: \"#a39cc7\",\n fontSize: 14,\n },\n arrow: {\n color: \"#a39cc7\",\n },\n});\n\n/**\n * Custoom Tool Tip\n * @param param0\n */\n\nexport function CustomToolTip({ children, ...props }: CustomToolTipProps) {\n const classes = useStyles();\n return (\n \n {children}\n \n );\n}\n\n/**\n * Custom Table with Collapse Feature and Radio selection & Checkbox Selection\n * @param param0 TableProps\n */\n\nconst useRowStyles = makeStyles({\n root: {\n \"& > *\": {\n borderBottom: \"unset\",\n },\n },\n});\n\nexport function TableWithCollapse({\n rows,\n columns: _columns,\n radioGroupsEnabled = false,\n isCollapse = false,\n renderCollapse,\n checkBoxEnabled = false,\n toolTipDescription = \"\",\n selectedRows = [],\n setSelectedRows = () => {},\n disableAllSelection = false,\n filterType = null,\n filteredData = {},\n setFilterType = () => {},\n setFilteredData = () => {},\n isCheckBoxSelectable = true,\n resetFilters = () => {},\n enableSearch,\n notFoundMessage,\n ...props\n}: TableProps) {\n const classes = useRowStyles();\n const columns = useMemo(\n () => _columns.filter((column) => !column.isFilter),\n [_columns]\n );\n const filterColumns = useMemo(\n () => _columns.filter((column) => !!column.filterBy || !!column.isFilter),\n [_columns]\n );\n const isRowsLoading = useMemo(\n () => columns.some((column) => !!column.Cell),\n [columns]\n );\n\n const MobileRow = ({ row, index }: { row: GridRowData; index: number }) => {\n const [collapse, setCollapse] = useState(isCollapse);\n const isSelected = Boolean(selectedRows.find((_row) => _row.id === row.id));\n return (\n \n {isRowsLoading ? (\n \n \n \n ) : (\n <>\n {checkBoxEnabled && (\n \n \n \n \n \n )}\n {radioGroupsEnabled && (\n \n \n setSelectedRows([row])}\n checked={isSelected}\n />\n \n \n )}\n \n )}\n
\n {columns.map(\n (\n {\n renderCell,\n field,\n valueGetter,\n Cell,\n fullWidth = false,\n ...column\n },\n _index\n ) => {\n const value = row[`${field}`];\n const GridParams: TableCellParams = {\n row,\n id: row.id,\n value,\n colDef: { field, ...column },\n setCollapse,\n collapse,\n index,\n };\n return (\n \n

{column.headerName}

\n

\n {Cell\n ? Cell\n : renderCell\n ? renderCell(GridParams)\n : valueGetter\n ? valueGetter(GridParams)\n : value}\n

\n
\n );\n }\n )}\n
\n \n {renderCollapse ? (\n
\n {renderCollapse({ row, setCollapse })}\n
\n ) : (\n \n )}\n \n
\n \n \n );\n };\n const DataRow = ({ row, index }: { row: GridRowData; index: number }) => {\n const [collapse, setCollapse] = useState(isCollapse);\n const isSelected = Boolean(selectedRows.find((_row) => _row.id === row.id));\n const renderRow = useMemo(() => {\n return columns.map(\n (\n { renderCell, field, valueGetter, Cell, ...column },\n _index: number\n ) => {\n const value = row[`${field}`];\n const GridParams: TableCellParams = {\n row,\n id: row.id,\n value,\n colDef: { field, ...column },\n setCollapse,\n index,\n collapse,\n };\n return Cell ? (\n \n {Cell}\n \n ) : renderCell ? (\n \n {renderCell(GridParams)}\n \n ) : (\n \n {valueGetter ? valueGetter(GridParams) : value}\n \n );\n }\n );\n }, [row, collapse, index]);\n return (\n <>\n \n {(radioGroupsEnabled || checkBoxEnabled) &&\n (isRowsLoading ? (\n \n \n \n ) : (\n \n {checkBoxEnabled ? (\n props.toolTipEnabled ? (\n \n \n \n \n \n ) : (\n \n )\n ) : props.toolTipEnabled ? (\n \n \n setSelectedRows([row])}\n checked={isSelected}\n disabled={row.isDisabled || !isCheckBoxSelectable}\n />\n \n \n ) : (\n setSelectedRows([row])}\n checked={isSelected}\n disabled={row.isDisabled || !isCheckBoxSelectable}\n />\n )}\n \n ))}\n {renderRow}\n \n {useMemo(\n () => (\n \n \n \n {renderCollapse ? (\n renderCollapse({ row, setCollapse })\n ) : (\n
\n )}\n \n \n
\n ),\n [collapse, setCollapse, renderCollapse, columns, row]\n )}\n \n );\n };\n\n const _onRowSelected = (row: GridRowData, checked: boolean) => (e: any) => {\n if (row.isDisabled) return;\n if (radioGroupsEnabled) {\n setSelectedRows([row]);\n return;\n }\n const isSelectable =\n !!props.isRowSelectable && typeof props.isRowSelectable === \"function\"\n ? props.isRowSelectable({ row, checked })\n : true;\n if (isSelectable) {\n setSelectedRows((prev: GridRowData[]) => {\n return checked\n ? [...prev, row]\n : prev.filter((_row: GridRowData) => _row.id !== row.id);\n });\n }\n };\n\n const SelectAllCheckBox = () => {\n const isAllSelected =\n !!selectedRows.length &&\n selectedRows.length === rows.filter((row) => !row.isDisabled).length;\n const isRowHaveSelectedItems =\n !!selectedRows.length &&\n selectedRows.length !== rows.filter((row) => !row.isDisabled).length;\n return (\n _onColumnHeaderClick(!isAllSelected)}\n disabled={!rows.filter((row) => !row.isDisabled).length}\n />\n );\n };\n\n const MobileSelectAll = () => {\n return (\n
\n } label=\"Select All\" />\n
\n );\n };\n\n const _onColumnHeaderClick = (isAllSelected: boolean) => {\n if (!isCheckBoxSelectable) {\n return;\n }\n setSelectedRows(() =>\n isAllSelected ? rows.filter((row) => !row.isDisabled) : []\n );\n if (\n !!props.onColumnHeaderClick &&\n typeof props.onColumnHeaderClick === \"function\"\n ) {\n props.onColumnHeaderClick({ isSelected: isAllSelected });\n }\n };\n\n const filteredRows = useMemo(() => {\n const filterKeys = Object.keys(filteredData).filter(\n (key) => key !== \"searchKey\"\n );\n const filtredRowData = rows.reduce((prev: GridRowData[], currRow) => {\n const valid = filterKeys.every((_key) => {\n const _filterData = filteredData[_key] || [];\n const value =\n typeof currRow[_key] === \"string\"\n ? currRow[_key]?.toString()?.toLowerCase()\n : currRow[_key];\n if (!_filterData.length) {\n return true;\n }\n if (_key === \"assetType\") {\n let other = false;\n let assetTypes =\n typeof value === \"string\" ? [value?.toUpperCase()] : value; // Modifying assetTypes as array\n if (_filterData.includes(\"other\")) {\n other = assetTypes?.every((assetType: string) => {\n const _assetType = assetType?.toUpperCase();\n return !(\n _assetType === \"EQUITY\" ||\n _assetType === \"DEBT\" ||\n _assetType === \"LIQUID\"\n );\n });\n }\n return (\n _filterData.some((_assetType: string) =>\n assetTypes?.includes(_assetType?.toUpperCase())\n ) || other\n );\n }\n if (_filterData.includes(value)) {\n return true;\n }\n });\n if (valid) {\n return [...prev, currRow];\n }\n return prev;\n }, []);\n\n return filteredData.searchKey\n ? filtredRowData.filter((row) =>\n row?.amcName\n ?.toLowerCase()\n ?.includes(filteredData?.searchKey?.toLowerCase())\n )\n : filtredRowData;\n }, [rows, filteredData]);\n const _TableFilters = useMemo(\n () => (\n \n ),\n [\n rows,\n filterColumns,\n filteredData,\n filterType,\n setFilterType,\n setFilteredData,\n resetFilters,\n ]\n );\n\n return (\n \n {filterColumns.length ? _TableFilters : }\n \n {!!filteredRows.length ? (\n // \n \n \n \n \n {radioGroupsEnabled && }\n {checkBoxEnabled && !disableAllSelection && (\n \n \n \n )}\n {checkBoxEnabled && disableAllSelection && (\n \n )}\n {columns.map((header: TableColumn, _index: number) => (\n \n {header.headerName}\n \n ))}\n \n \n \n {filteredRows.map((row: any, index: number) => (\n \n ))}\n \n \n \n ) : (\n \n )}\n {checkBoxEnabled && !disableAllSelection && }\n
\n {filteredRows.map((row, index) => (\n \n ))}\n
\n \n \n );\n}\n\n/**\n * Filter For The table\n * @param columns\n * @param rows\n * @param onUpdateFilters\n */\nexport function TableFilters({\n columns = [],\n rows = [],\n filterType = null,\n filteredData = {},\n setFilteredData = () => {},\n setFilterType = () => {},\n resetFilters,\n enableSearch = true,\n}: {\n columns: TableColumn[];\n rows: GridRowData[];\n setFilterType: Function;\n setFilteredData: Function;\n filterType: string | null;\n filteredData: any;\n resetFilters: Function;\n enableSearch?: boolean;\n}) {\n const [openDrawer, setDrawer] = useState(false);\n\n const _handleChange = (fieldKey: string, _ele: string) => {\n const fieldData = filteredData[fieldKey] || [];\n const index = fieldData.findIndex((ele: any) => ele === _ele);\n const _filteredData =\n index === -1\n ? {\n ...filteredData,\n [fieldKey]: [...fieldData, _ele],\n }\n : {\n ...filteredData,\n [fieldKey]: fieldData.filter((ele: any) => ele !== _ele),\n };\n setFilteredData(_filteredData);\n };\n\n const Filters = useMemo(() => {\n return columns.map((column, index) => (\n {\n setDrawer(true);\n setFilterType((type: string) =>\n type === (column.filterKey || column.field)\n ? \"\"\n : column.filterKey || column.field\n );\n }}\n className={\n filterType === (column.filterKey || column.field) && openDrawer\n ? \"active\"\n : \"\"\n }\n >\n \"icon\"\n \n {column.filterHeader || column.headerName}\n \n \n \n ));\n }, [columns, filterType, setFilterType, openDrawer]);\n\n const onRemoveFilter = (field: string, ele: string) => () => {\n const fieldData: string[] = filteredData[field];\n const _filterData = {\n ...filteredData,\n [field]: fieldData.filter((_ele: string) => _ele !== ele),\n };\n setFilteredData(_filterData);\n };\n\n const FilterChips = () => {\n return Object.keys(filteredData)\n .filter((key) => key !== \"searchKey\")\n .map((_key: string, _index: number) =>\n filteredData[_key].map((_ele: string, _index1: number) => (\n \n {_ele}\n \n \n ))\n );\n };\n\n const onClear = () => {\n resetFilters();\n };\n\n return (\n
\n
\n

\n \"icon\"\n {dashboard.ChangeDividend.filters} :\n

\n {Filters}\n {enableSearch && (\n \n setFilteredData({ ...filteredData, searchKey: e.target.value })\n }\n />\n )}\n
\n {columns.map((column, index) => {\n const fieldKey = column.filterKey || column.field;\n const dataWithDuplicatedValueKeys = rows.map((row) => row[fieldKey]);\n const data = dataWithDuplicatedValueKeys.reduce((prev, curr) => {\n if (!prev.includes(curr)) {\n return [...prev, curr];\n }\n return prev;\n }, []);\n const values = column.renderStaticFilters?.length\n ? column.renderStaticFilters\n : data;\n return (\n <>\n \n
\n
\n {values.map((_ele: string, index: number) => (\n \n _handleChange(fieldKey, _ele?.toString()?.toLowerCase())\n }\n value={(filteredData[fieldKey] || [])?.includes(\n _ele?.toString()?.toLowerCase()\n )}\n />\n ))}\n
\n
\n \n {\n setFilterType(\"\");\n setDrawer(false);\n }}\n onOpen={() => {}}\n className=\"mobile_mode\"\n >\n
\n
\n {values.map((_ele: string, index: number) => (\n \n _handleChange(fieldKey, _ele?.toString()?.toLowerCase())\n }\n value={(filteredData[fieldKey] || [])?.includes(\n _ele?.toString()?.toLowerCase()\n )}\n />\n ))}\n
\n
\n \n \n );\n })}\n {!!Object.keys(filteredData)\n .filter((key: string) => key !== \"searchKey\")\n .some((_ele: any) => !!filteredData[_ele].length) && (\n
\n
\n {Object.keys(filteredData).length ? (\n

{dashboard.ChangeDividend.selectedFilters}

\n ) : (\n \n )}\n
{FilterChips()}
\n
\n {Object.keys(filteredData).length ? (\n \n ) : (\n \n )}\n
\n )}\n
\n );\n}\n","import { GridRowData } from '@material-ui/data-grid';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { TableColumn } from '.';\nimport Skeleton from '@material-ui/lab/Skeleton';\n\nexport type TableHookProps = {\n initialSelectionModal?: any;\n initialFilterType?: string | null;\n initialFilterData?: any;\n columns?: TableColumn[];\n rows?: GridRowData[];\n loading?: boolean;\n};\n\nexport function useTableWithCollapse({\n initialSelectionModal = [],\n initialFilterType = null,\n initialFilterData = {},\n rows = [],\n columns = [],\n loading,\n}: TableHookProps) {\n const [selectedRows, setSelectedRows] = useState(initialSelectionModal);\n const [filterType, setFilterType] = useState(null);\n const [filteredData, setFilteredData] = useState({});\n\n const resetTable = useCallback(() => {\n setSelectedRows(initialSelectionModal);\n }, [initialSelectionModal]);\n\n const resetFilters = useCallback(() => {\n setFilterType(initialFilterType);\n setFilteredData(initialFilterData);\n }, [initialFilterType, initialFilterData]);\n\n const tableColumns = useMemo(() => {\n return loading ? columns.map((column) => ({ ...column, Cell: })) : columns;\n }, [columns, loading]);\n\n const tableRows = useMemo(() => {\n return loading ? new Array(5).fill({}) : rows;\n }, [rows, loading]);\n\n return {\n selectedRows,\n setSelectedRows,\n resetTable,\n resetFilters,\n filterType,\n filteredData,\n setFilterType,\n setFilteredData,\n tableColumns,\n tableRows,\n };\n}\n","export const INITIALIZE_NOMINEE_ARRAY = 'INITIALIZE_NOMINEE_ARRAY';\nexport const UPDATE_NOMINEE_ARRAY = 'UPDATE_NOMINEE_ARRAY';\n","export const groupFilteredData = (\n rowData: T[]\n) => {\n const uniqueEmailMobileMap: {\n [key: string]: T[];\n } = {};\n for (let i = 0; i < rowData.length; ++i) {\n const { email, mobile } = rowData[i];\n if (!email || !mobile) continue;\n const currentKey = `${email.trim()}-${mobile.trim()}`;\n if (uniqueEmailMobileMap[currentKey]) {\n uniqueEmailMobileMap[currentKey].push(rowData[i]);\n } else {\n uniqueEmailMobileMap[currentKey] = [rowData[i]];\n }\n }\n return uniqueEmailMobileMap;\n};\n","import { useReducer } from \"react\";\n\ntype FilterReducerState = {\n groupedFilterMap: { [key: string]: T[] | null };\n emailMobileKeys: string[] | null;\n currentKey: string | null;\n};\n\ntype FilterActions =\n | {\n type: \"SET_FILTER_MAP\";\n payload: { [key: string]: T[] };\n }\n | {\n type: \"SET_FILTER_KEY\";\n payload: string;\n };\n\nconst groupFilteredData = (\n rowData: T[]\n) => {\n const uniqueEmailMobileMap: {\n [key: string]: T[];\n } = {};\n for (let i = 0; i < rowData.length; ++i) {\n const { email, mobile } = rowData[i];\n if (!email || !mobile) continue;\n const currentKey = `${email.trim()}-${mobile.trim()}`;\n if (uniqueEmailMobileMap[currentKey]) {\n uniqueEmailMobileMap[currentKey].push(rowData[i]);\n } else {\n uniqueEmailMobileMap[currentKey] = [rowData[i]];\n }\n }\n return uniqueEmailMobileMap;\n};\n\nconst mobileEmailFilterReducer = (\n state: FilterReducerState,\n action: FilterActions\n) => {\n const { groupedFilterMap, emailMobileKeys, currentKey } = state;\n switch (action.type) {\n case \"SET_FILTER_MAP\":\n const uniqueKeys = Object.keys(action.payload);\n return {\n ...state,\n groupedFilterMap: action.payload,\n emailMobileKeys: uniqueKeys,\n currentKey: !!currentKey ? currentKey : uniqueKeys[0],\n };\n case \"SET_FILTER_KEY\":\n return {\n ...state,\n currentKey: action.payload,\n };\n default:\n throw Error(`Invalid action`);\n }\n};\n\nexport const useMobileEmailFilter = (rowData: T[]) => {\n const [filterState, filterDispatch] = useReducer(mobileEmailFilterReducer, {\n groupedFilterMap: null,\n emailMobileKeys: null,\n currentKey: null,\n });\n const { emailMobileKeys, currentKey, groupedFilterMap } = filterState;\n\n const setGroupFilterMap = (payload: ReturnType) => {\n filterDispatch({\n type: \"SET_FILTER_MAP\",\n payload: payload,\n });\n };\n\n return { filterState, setGroupFilterMap, filterDispatch };\n};\n","import { IconButton, MenuItem } from \"@material-ui/core\";\nimport { GridRowData } from \"@material-ui/data-grid\";\nimport { KeyboardArrowDown, KeyboardArrowUp } from \"@material-ui/icons\";\nimport { useEffect, useMemo, useReducer, useState } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\n//import en from '../../../../lang/en-us';\nimport en from \"../../../lang/en-us\";\nimport { SubmitButton } from \"../../../lib/Button\";\nimport {\n TableColumn,\n TableCellParams,\n TableWithCollapse,\n} from \"../../../lib/DataTable\";\nimport { fetchInvestorDetails } from \"../../../store/actions/nct\";\n\n// import { RootStateType } from '../../../../redux-store/reducers';\nimport { RootStateType } from \"../../../store/reducers/index\";\n//import { INVESTOR_OBJECT } from '../../../store/types/nct';\n//import { LIST_PROTFOLIO_PAYLOAD } from '../../../store/types/portfolio';\n\nimport {\n getErrorMessage,\n getInvestorFunds,\n minorBelowEighteenYears,\n modeOfHoldingSingle,\n portfoliosByMinorStatus,\n portfoliosByTransactionResource,\n} from \"../portfolios/utils\";\nimport { NomineeInfoRowData } from \"./types\";\nimport {\n EQUITY,\n LIQUID,\n DEBT,\n OTHER,\n UPDATE_NOMINEE,\n} from \"../../../utils/constants\";\nimport NoFoliosFound from \"../NoFoliosFound\";\nimport { useTableWithCollapse } from \"../../../lib/DataTable/customHooks\";\nimport { getMatchAndUnMatchedFunds } from \"../../../utils/utilityFunctions\";\nimport { INITIALIZE_NOMINEE_ARRAY } from \"../../../store/types/nominees\";\nimport CustomizedSelect from \"../transactions/customizedSelect\";\nimport { groupFilteredData } from \"../utils\";\nimport { useMobileEmailFilter } from \"../useMobileEmailFilter\";\nimport { ActionHeader, BackArrow } from \"../UpdateNominee/SelectedFolios\";\n\nconst { dashboard } = en;\n\nconst _renderNominee = ({ row, setCollapse, collapse }: TableCellParams) => {\n return (\n <>\n {row.noNominee === \"Y\" ? (\n Opted Out of Nomination\n ) : row.nominees.length ? (\n <>\n Yes\n {\n e.stopPropagation();\n setCollapse((open: boolean) => !open);\n }}\n >\n {!collapse ? (\n <>\n View\n \n \n ) : (\n <>\n Hide\n \n \n )}\n \n \n ) : (\n No Nominees Added\n )}\n \n );\n};\n\nconst _renderModeofHolding = ({ row }: TableCellParams) => (\n
{row.modeOfHolding === \"1\" ? \"Single\" : \"---\"}
\n);\nexport const mohMap: {\n [key: number]: string;\n} = {\n 1: \"Single\",\n 2: \"Joint\",\n 3: \"Either or Survivor\",\n 4: \"Anyone or Survivor\",\n 5: \"Not applied\",\n};\n\nconst Columns: TableColumn[] = [\n {\n field: \"id\",\n headerName: \"FOLIO\",\n valueGetter: ({ row }) => row.folio,\n },\n {\n field: \"amcName\",\n headerName: \"Fund House\",\n width: 300,\n filterBy: true,\n },\n {\n field: \"investorName\",\n headerName: \"PRIMARY HOLDER\",\n width: 200,\n },\n {\n field: \"modeOfHolding\",\n headerName: \"Mode of Holding\",\n valueGetter: ({ row }) => {\n if (row.modeOfHolding === null) {\n return \"NA\";\n }\n const moh = mohMap[row.modeOfHolding];\n if (moh) {\n return moh;\n } else {\n return \"Others\";\n }\n },\n width: 150,\n },\n {\n field: \"nominees\",\n renderCell: _renderNominee,\n headerName: \"NOMINEE Details\",\n width: 150,\n },\n {\n isFilter: true,\n field: \"assetType\",\n headerName: \"Category\",\n filterBy: true,\n renderStaticFilters: [EQUITY, LIQUID, DEBT, OTHER],\n },\n];\n\nfunction Nominee(props: any) {\n const [rowData, setRowData] = useState([]);\n const [loading, setLoading] = useState(false);\n\n const { filterState, setGroupFilterMap, filterDispatch } =\n useMobileEmailFilter(rowData);\n const { emailMobileKeys, currentKey, groupedFilterMap } = filterState;\n\n const { selectedRows, setSelectedRows, tableColumns, tableRows, ...filters } =\n useTableWithCollapse({\n rows: currentKey ? groupedFilterMap[currentKey] : rowData,\n columns: Columns,\n loading,\n });\n\n const { userRegisteredWith } = props;\n const dispatch = useDispatch();\n\n useEffect(() => {\n setLoading(true);\n async function callApi() {\n const payload = {\n pan: props.investorData.PAN,\n brokercode: props.token,\n };\n\n try {\n // await props.getPortfolio(payload);\n const { body: investorDetails = {} } = await props.fetchInvestorDetails(\n payload\n );\n const { success: nomineeFunds = [] } = investorDetails;\n const filters = [\n modeOfHoldingSingle,\n portfoliosByMinorStatus,\n portfoliosByTransactionResource,\n ];\n const funds = getMatchAndUnMatchedFunds(\n filters,\n getInvestorFunds(nomineeFunds),\n true\n ).map((fund) => {\n return { ...fund, error: getErrorMessage(fund, filters) };\n });\n const { nomineeFunds: _nomineeFunds = [], otherFunds = [] } =\n funds.reduce((prev: any, fund: NomineeInfoRowData) => {\n if (fund?.nominees?.length) {\n return {\n ...prev,\n nomineeFunds: [...(prev.nomineeFunds ?? []), fund],\n };\n }\n return { ...prev, otherFunds: [...(prev.otherFunds ?? []), fund] };\n }, []);\n setRowData([...otherFunds, ..._nomineeFunds]);\n setLoading(false);\n } catch (err: any) {\n console.trace(err);\n alert(err.message);\n }\n }\n callApi();\n return () => { };\n }, []);\n\n useEffect(() => {\n if (rowData.length > 0) {\n const groupedFilterMap = groupFilteredData(rowData);\n setGroupFilterMap(groupedFilterMap);\n }\n }, [rowData]);\n\n // clear selected rows on changing the value in the filter drop down\n useEffect(() => {\n setSelectedRows([]);\n }, [currentKey]);\n\n const _rederCollapse = ({ row }: { row: GridRowData }) => {\n const { nominees = [] } = row;\n return (\n \n {new Array(3).fill(\"\").map((_, index) => (\n \n \n \n \n ))}\n \n );\n };\n\n const TableBody = useMemo(() => {\n return (\n (row.isDisabled ? row.error : \"\")}\n isRowSelectable={({ row }) => (row.isDisabled ? false : true)}\n checkBoxEnabled={true}\n enableSearch={false}\n toolTipEnabled\n {...filters}\n />\n );\n }, [tableColumns, tableRows, selectedRows, filters]);\n\n const handleFilterKeyChange = (e: any) => {\n filterDispatch({\n type: \"SET_FILTER_KEY\",\n payload: e.target.value,\n });\n };\n\n return (\n
\n \n
\n
Update Nominee Details
\n
\n {tableRows.length > 0 && currentKey && (\n \n \n Select Email-Mobile Combination\n
\n (this.reportTypeField = ele)}\n // isError={reportType.isError}\n // errorMessage={reportType.errorMessage}\n // isShowError={reportType.isError}\n //placeholder=\"Select Report Type\"\n >\n {emailMobileKeys &&\n emailMobileKeys.map((item) => (\n \n {item}\n \n ))}\n \n
\n )}\n {/*
*/}\n
\n
\n
\n {/* */}\n
\n
\n
{dashboard.UpdateNominee.UpdateNomineeInfo}
\n
\n {currentKey && (loading || rowData.length) ? (\n TableBody\n ) : (\n \n )}\n
\n {/* */}\n
\n
\n
\n {\n dispatch({\n type: INITIALIZE_NOMINEE_ARRAY,\n body: { payload: selectedRows },\n });\n props.history.push(\n \"/new-transaction/nct-type/update-ind-nominee\",\n {\n selectedRows,\n }\n );\n }}\n className=\"customBtn\"\n disabled={!selectedRows.length}\n label={dashboard.UpdateNominee.buttonNext}\n />\n
\n
\n
\n
\n
\n
\n {/*
*/}\n
\n \n \n );\n}\n\nexport default connect(\n ({ authReducer, investor }: RootStateType) => ({\n ...authReducer,\n ...investor,\n }),\n { fetchInvestorDetails }\n)(Nominee);\n","import { Button, Dialog } from '@material-ui/core';\nimport { useEffect } from 'react';\nimport { useState } from 'react';\n\nexport function NoteModals({\n showModal = false,\n extraClass = '',\n heading = 'NOTE',\n info = '',\n proceedBtn = '',\n cancelBtn = '',\n proceedHref = '',\n mobileOrEmail = '',\n onCancel = () => { },\n ...props\n}) {\n const [show, setShow] = useState(showModal);\n\n useEffect(() => {\n setShow(showModal);\n }, [showModal]);\n\n const onProceed = () => {\n if (!!props.onProceed && typeof props.onProceed === 'function') {\n props.onProceed();\n return;\n }\n props.push(proceedHref);\n };\n\n return (\n \n
\n

{heading}

\n

\n {info} {mobileOrEmail}\n

\n
\n \n {!!cancelBtn && (\n {\n setShow(!show);\n onCancel();\n }}\n >\n {cancelBtn}\n \n )}\n
\n
\n
\n );\n}\n","import { Button } from \"@material-ui/core\";\nimport en from \"../../../lang/en-us\";\nimport { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { getPortfolio } from \"../../../store/actions/portfolio\";\nimport { RootStateType } from \"../../../store/reducers\";\nimport {\n sendPhoneOTP as sendOtp,\n sendEmailOTP,\n updateEmail,\n} from \"../../../store/actions/nct\";\nimport {\n getPortfoliosFilteredData,\n portfoliosByMinorStatus,\n portfoliosByModeOfHolding,\n portfoliosByTransactionResource,\n} from \"../../home/portfolios/utils\";\nimport { getErrorMessage, getInvestorFunds } from \"../portfolios/utils\";\nimport { NoteModals } from \"../../../lib/NoteModals\";\nimport { TableColumn, TableWithCollapse } from \"../../../lib/DataTable\";\nimport { NOMINEE } from \"../../../store/types/nct\";\nimport {\n UPDATE_EMAIL,\n OTP_ACTIONS,\n REGISTER_WITH_EMAIL,\n} from \"../../../utils/constants\";\nimport NoFoliosFound from \"./../NoFoliosFound\";\nimport { useTableWithCollapse } from \"../../../lib/DataTable/customHooks\";\n// import { ActionHeader, FaqLink } from '../index';\nimport { nextScreen } from \"../ChangeMobile/flow\";\nimport { getMatchAndUnMatchedFunds } from \"../../../utils/utilityFunctions\";\nimport { fetchInvestorDetails } from \"../../../store/actions/nct\";\nimport { SubmitButtonWithLoader } from \"../../../lib/Button\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport CustomizedSelect from \"../transactions/customizedSelect\";\nimport React from \"react\";\nimport { BackArrow } from \"../UpdateNominee/SelectedFolios\";\n\nimport { mohMap } from \"../UpdateNominee\";\nconst { dashboard } = en;\n\nconst columns: TableColumn[] = [\n { field: \"folio\", headerName: \"Folio\" },\n { field: \"amcName\", headerName: \"Fund House\", width: 300 },\n { field: \"investorName\", headerName: \"Primary Holder\", width: 250 },\n {\n field: \"modeOfHolding\",\n headerName: \"Mode of Holding\",\n valueGetter: ({ row }) => {\n if (row.modeOfHolding === null) {\n return \"NA\";\n }\n const moh = mohMap[row.modeOfHolding];\n if (moh) {\n return moh;\n } else {\n return \"Others\";\n }\n },\n width: 150,\n },\n { field: \"mobile\", headerName: \"Mobile No.\", width: 250 },\n\n { field: \"email\", headerName: \"Email Address\", width: 200 },\n];\n\nexport interface RowInfoType {\n id: string | number;\n amcName: string;\n investorName?: string;\n email?: string;\n amc?: string;\n schemeNames?: string[];\n mobile?: string;\n assetType?: string[];\n isDisabled?: boolean;\n folio?: string;\n\n nominees?: NOMINEE[];\n\n taxStatusLabel?: string;\n}\n\nfunction ChangeEmailList(props: any) {\n const { enteredEmail: email, emailRelationship } = props.location.state || {};\n const [loading, setLoading] = useState(false);\n const [rowData, setRowData] = useState([]);\n const [uniqueMobileNo, setUniqueMobileNo] = useState([]);\n const [selectMobile, setSelectMobile] = useState(\"\");\n const [filteredData, setFilterdData] = useState([]);\n const { tableRows, tableColumns, selectedRows, setSelectedRows } =\n useTableWithCollapse({\n rows: filteredData,\n columns,\n loading,\n });\n const [show, setShow] = useState(false);\n\n const handleSubmit = async () => {\n try {\n setLoading(true);\n const goTo = nextScreen(props.match.path, \"email\");\n const { pan = \"\", pekrn = \"\", mobile = \"\" } = props;\n console.log(\"selecred\", JSON.stringify(selectedRows), email)\n const foliosToUpdate = selectedRows.filter(\n (fund) => fund.email !== email\n );\n // const action = emailRegisteredUser()\n // ? OTP_ACTIONS.changeEmail\n // : OTP_ACTIONS.changeMobile;\n const investorName = props.investorData.invname;\n const investorPan = props.investorData.PAN;\n console.log(\"Props\", props,investorName, investorPan, props.investors)\n const investor = props.investors.find(\n (item: any) =>\n item.Name.toLowerCase() === investorName.toLowerCase() ||\n item.Pan.toLowerCase() == investorPan.toLowerCase()\n );\n\n const newData = foliosToUpdate.map((item) => ({\n folio: item.folio,\n amc: item.amc,\n amc_name: item.amcName,\n }));\n\n const payload: {\n email: string;\n newEmail: string;\n mobile: string;\n image: any | null;\n relation: string;\n pan: string;\n distributor_id: string;\n data: any;\n } = {\n email: investor.Email,\n newEmail: email,\n mobile: selectMobile,\n image: null,\n relation: emailRelationship,\n pan: investorPan,\n distributor_id: props.token,\n data: newData,\n };\n\n if (selectMobile === \"N/A\") {\n props.history.replace(\n \"/new-transaction/nct-type/phygital/change-email-document\",\n {\n payload: payload,\n }\n );\n return;\n }\n\n const res = await props.updateEmail(payload);\n\n alert(\n `Request with request Id ${res.req_id} for update email address link has been sent to investor mobile number`\n );\n props.history.push(\"/new-transaction/nct-types\");\n\n // if (foliosToUpdate.length) {\n // let res = await props.sendOtp({\n // pan,\n // pekrn,\n // action: OTP_ACTIONS.changeEmail,\n // });\n // props.history.replace(goTo, {\n // foliosToUpdate: selectedRows.filter((fund) => fund.email !== email),\n // ...(props?.location?.state || {}),\n // action: OTP_ACTIONS.changeEmail,\n // ...(res || {}).body,\n // });\n // }\n } catch (err: any) {\n console.error(err)\n alert(err.message);\n } finally {\n setLoading(false);\n }\n };\n\n // useEffect(() => {\n // if (!(props.email || email)) {\n // props.history.replace(\"/\");\n // }\n // }, []);\n\n useEffect(() => {\n async function fetchPortfolio() {\n try {\n setLoading(true);\n const { pan = \"\", pekrn = \"\", mobile = \"\", reqId = \"\" } = props;\n\n // await props.getPortfolio({\n // pan,\n // pekrn,\n // mobile,\n // reqId,\n // });\n const payload = {\n pan: props.investorData.PAN,\n brokercode: props.token,\n };\n const { body: investorDetails = {} } = await props.fetchInvestorDetails(\n payload\n );\n const { success: nomineeFunds = [] } = investorDetails;\n const filters = [\n portfoliosByModeOfHolding,\n portfoliosByMinorStatus,\n portfoliosByTransactionResource,\n ];\n const funds = getMatchAndUnMatchedFunds(\n filters,\n getInvestorFunds(nomineeFunds),\n true\n ).map((fund) => {\n return { ...fund, error: getErrorMessage(fund, filters) };\n });\n const { nomineeFunds: _nomineeFunds = [], otherFunds = [] } =\n funds.reduce((prev: any, fund: RowInfoType) => {\n if (fund?.nominees?.length) {\n return {\n ...prev,\n nomineeFunds: [...(prev.nomineeFunds ?? []), fund],\n };\n }\n return { ...prev, otherFunds: [...(prev.otherFunds ?? []), fund] };\n }, []);\n\n const rows: RowInfoType[] = [...otherFunds, ..._nomineeFunds].map(\n (item) => ({\n folio: item.folio,\n amc: item.amc,\n amcName: item.amcName,\n email: item.email,\n id: item.id,\n investorName: item.investorName,\n mobile: item.mobile || \"N/A\",\n assetType: item.assetType,\n modeOfHolding: item.modeOfHolding,\n isDisabled: item.isDisabled,\n error: item.error,\n })\n );\n // .filter((item) => item.email != email);\n\n // setRowData([...otherFunds, ..._nomineeFunds]);\n // setSelectedRows([...otherFunds, ..._nomineeFunds]);\n const mobileNumbers: any = [];\n\n for (let i = 0; i < rows.length; i++) {\n if (rows[i].mobile) {\n const mobile = rows[i].mobile.trim() || \"N/A\";\n if (!mobileNumbers.includes(mobile)) {\n mobileNumbers.push(mobile);\n }\n }\n }\n setUniqueMobileNo(mobileNumbers);\n setRowData(rows);\n // setSelectedRows(rows);\n setLoading(false);\n } catch (err: any) {\n alert(err.message);\n setLoading(false);\n }\n }\n fetchPortfolio();\n }, []);\n\n useEffect(() => {\n setSelectMobile(uniqueMobileNo[0] || \"\");\n const filteredData = rowData.filter(\n (item) => item.mobile == uniqueMobileNo[0]\n );\n setFilterdData(filteredData);\n // setRowData(filteredData);\n // setSelectedRows(filteredData);\n }, [uniqueMobileNo, rowData]);\n\n const handleChangeMobileNumber = (e: any) => {\n setSelectMobile(e.target.value);\n const filteredData = rowData.filter(\n (item) => item.mobile == e.target.value\n );\n setFilterdData(filteredData);\n // setRowData(filteredData);\n setSelectedRows([]);\n };\n\n return (\n <>\n
\n \n {/* */}\n \n {dashboard.changeEmail.List.emailNote}\n \n \n \n Select Mobile Number\n
\n (this.reportTypeField = ele)}\n // isError={reportType.isError}\n // errorMessage={reportType.errorMessage}\n // isShowError={reportType.isError}\n //placeholder=\"Select Report Type\"\n >\n {uniqueMobileNo.map((item) => (\n \n {item}\n \n ))}\n \n \n\n
\n
\n
\n \n {!filteredData.length && !loading ? (\n \n ) : (\n \n row.isDisabled ? row.error : \"\"\n }\n checkBoxEnabled\n toolTipEnabled\n />\n )}\n
\n
\n {/* */}\n
\n {!!tableRows.length && (\n
\n
\n fund.email?.toLowerCase() !== email?.toLowerCase()\n ).length\n }\n onClick={() => {\n handleSubmit();\n }}\n />\n
\n
\n )}\n \n props.history.push(\"change-email-document\", {\n foliosToUpdate: selectedRows.filter(\n (fund) => fund.email !== email\n ),\n })\n }\n />\n \n \n \n );\n}\n\nexport default connect(\n ({ authReducer, portfolio, investor }: RootStateType) => ({\n ...authReducer,\n ...portfolio,\n ...investor,\n }),\n {\n fetchInvestorDetails,\n // getPortfolio,\n sendOtp,\n updateEmail,\n }\n)(ChangeEmailList);\n\n// export default {};\n","// import { rtaNames } from '../../components/common/FatcaCheck.types';\n// import { SignupPayload } from './login';\n\nexport const FETCH_PORTFOLIOS = 'FETCH_PORTFOLIOS';\nexport const FETCH_PORTFOLIOS_SUCCESS = 'FETCH_PORTFOLIOS_SUCCESS';\n\nexport const GET_AMC_DETIALS = 'GET_AMC_DETIALS';\n\nexport const GET_KYC_VERIFIED = 'GET_KYC_VERIFIED';\nexport const GET_KYC_VERIFIED_SUCCESS = 'GET_KYC_VERIFIED_SUCCESS';\nexport const GET_KYC_VERIFIED_FAILED = 'GET_KYC_VERIFIED_FAILED';\n\nexport const SET_KYC_REGISTRATION_POPUP = 'SET_KYC_REGISTRATION_POPUP';\n\nexport const GET_UNCLAIMED_PAYOUTS = 'GET_UNCLAIMED_PAYOUTS';\nexport const GET_UNCLAIMED_PAYOUTS_SUCCESS = 'GET_UNCLAIMED_PAYOUTS_SUCCESS';\n\nexport const GET_FATCA_STATUS_SUCCESS = 'GET_FATCA_STATUS_SUCCESS';\nexport const GET_FATCA_STATUS_FAILED = 'GET_FATCA_STATUS_FAILED';\nexport const GET_FATCA_STATUS = 'GET_FATCA_STATUS';\n\nexport interface SignupPayload {\n pan?: string;\n pekrn?: string;\n mobile?: string;\n email?: string;\n action?: string;\n}\n\nexport interface LIST_PROTFOLIO_PAYLOAD extends SignupPayload {\n reqId: string;\n statementHoldingFilter?: string;\n}\n\nexport interface FORGOT_QA_LIST_PAYLOAD {\n reqId: string;\n userId: string;\n action: string;\n}\n\nexport interface SUMMARY_INFO_RESPONSE {\n amc: string;\n amcName: string;\n currentMktValue: number;\n costValue: number;\n gainLoss: number;\n gainLossPercentage: number;\n isDemat: 'Y' | 'N';\n}\n\n// export type TaxStatus = 'INDIVIDUAL'| 'MINOR' | 'ON BEHALF OF MINOR'| 'RI' | 'NRI'| null | ''\nexport type TaxStatus = string;\nexport type ModeOfHolding =\n | 'SINGLE'\n | 'ANYONE/SURVIVOR'\n | 'EITHER/SURVIVOR'\n | 'ANYONE OR SURVIVOR'\n | 'EITHER OR SURVIVOR'\n | '';\n\nexport interface NEW_PORTFOLIOS_RESPONSE {\n amc: string;\n amcName: string;\n folio: number;\n exchangeFolio: string;\n rtaName: any;\n fundAmcCode: string;\n schemeCode: string;\n schemeName: string;\n assetType: 'EQUITY' | 'DEBT' | 'LIQUID' | '';\n stpAllow: IsAllow;\n swpAllow: IsAllow;\n schemeType: 'EQUITY' | 'DEBT' | 'LIQUID';\n schemeSubType?: 'EQUITY' | 'DEBT' | 'LIQUID';\n closingBalance: string | number | null;\n availableUnits: string | number;\n availableAmount: string | number;\n currentMktValue: string | number;\n costValue: string | number;\n gainLoss: string | number;\n gainLossPercentage: number;\n nav?: number;\n navDate?: Date;\n mobile: string;\n email: string;\n modeOfHolding?: ModeOfHolding;\n investorName?: string;\n transactionSource?: string;\n schemeOption?: 'IDCW PAYOUT' | 'IDCW REINVEST' | 'REINVESTMENT' | 'PAYOUT' | null;\n taxStatus?: TaxStatus;\n age?: number;\n idcwChangeAllowed?: boolean;\n dob?: string | Date | null;\n lienUnitsFlag: 'Y' | 'N';\n isDemat?: 'Y' | 'N';\n bank?: bankDetailType;\n sipAllow?: IsAllow;\n isin: string;\n swtAllow?: IsAllow;\n planMode?: PlanTypes;\n newFolio?: IsAllow;\n}\nexport interface SCHEMES_RESPONSE {\n amc: string;\n amcName: string;\n folio: number;\n exchangeFolio: string;\n rtaName: any;\n fundAmcCode: string;\n schemeCode: string;\n schemeName: string;\n assetType: 'EQUITY' | 'DEBT' | 'LIQUID' | '';\n stpAllow: IsAllow;\n swpAllow: IsAllow;\n schemeType: 'EQUITY' | 'DEBT' | 'LIQUID';\n schemeSubType?: 'EQUITY' | 'DEBT' | 'LIQUID';\n closingBalance: string | number | null;\n availableUnits: string | number;\n availableAmount: string | number;\n currentMktValue: string | number;\n costValue: string | number;\n gainLoss: string | number;\n gainLossPercentage: number;\n nav?: number;\n navDate?: Date;\n mobile: string;\n email: string;\n modeOfHolding?: ModeOfHolding;\n investorName?: string;\n transactionSource?: string;\n schemeOption?: 'IDCW PAYOUT' | 'IDCW REINVEST' | 'REINVESTMENT' | 'PAYOUT' | null;\n taxStatus?: TaxStatus;\n age?: number;\n idcwChangeAllowed?: 'True' | 'False' | null | boolean;\n dob?: string | Date | null;\n lienUnitsFlag: 'Y' | 'N';\n isDemat?: 'Y' | 'N';\n bank?: bankDetailType;\n sipAllow?: IsAllow;\n isin: string;\n swtAllow?: IsAllow;\n planMode?: PlanTypes;\n newFolio?: IsAllow;\n}\ntype bankDetailType = {\n accountNo: string;\n accountType: string;\n name: string;\n branch: string;\n city: string;\n pincode: number;\n micr: string;\n ifsc: string;\n neftIfsc: string;\n};\nexport interface PORTFOLIO_RESPONSE {\n currentMktValue: number;\n costValue: number;\n gainLoss: number;\n gainLossPercentage: number;\n}\nexport interface PORTFOLIO_DATA_RESPONSE {\n summary?: {\n [key: string]: SUMMARY_INFO_RESPONSE;\n };\n schemes: SCHEMES_RESPONSE[];\n}\n\nexport interface PORTFOLIO_RESPONSE_PAYLOAD {\n data: PORTFOLIO_DATA_RESPONSE[];\n portfolio?: PORTFOLIO_RESPONSE;\n}\n\ninterface PortFolios {\n type: typeof FETCH_PORTFOLIOS_SUCCESS;\n body: PORTFOLIO_RESPONSE;\n}\nexport interface UNCLAIMED_PAYOUTS_RESPONSE {\n reqId: string;\n pan: string;\n perkn: string;\n mobile: string;\n success: UNCLAIMED_PAYOUTS_DATA[];\n}\nexport interface UNCLAIMED_PAYOUTS_DATA {\n amc: string;\n folio: number;\n schemeDescription: string;\n transactionType: string;\n amount: number;\n duration: UNCLAIMED_PAYOUTS_DURATION[];\n amcName?: string;\n}\nexport interface UNCLAIMED_PAYOUTS_DURATION {\n amount: number;\n fromPeriod: number;\n toPeriod: number;\n}\nexport interface UNCLAIMED_PAYOUT_PAYLOAD {\n reqId: string;\n pan: string;\n pekrn: string;\n mobile: string;\n}\ninterface UnclaimedPayouts {\n type: typeof GET_UNCLAIMED_PAYOUTS_SUCCESS;\n body: UNCLAIMED_PAYOUTS_RESPONSE;\n}\nexport type PORTFOLIOS = PortFolios;\nexport type UNCLAIMED_PAYOUTS = UnclaimedPayouts;\n\nexport enum IsAllow {\n 'YES' = 'Y',\n 'No' = 'N',\n}\n\nexport enum isKYCVerified {\n 'YES' = 'Verified',\n 'No' = '',\n}\n\nexport enum PlanTypes {\n Reggular = 'REGULAR',\n Direct = 'DIRECT',\n R = 'R',\n D = 'D',\n}\n\nexport type AccountTypeLabel = keyof typeof AccountTypes;\n\nexport enum AccountTypes {\n SAVINGS = 'SB',\n NRO = 'NRO',\n}\n\nexport const getAccountType = (value: AccountTypes): AccountTypeLabel => {\n switch (value) {\n case AccountTypes.SAVINGS:\n return 'SAVINGS';\n case AccountTypes.NRO:\n return 'NRO';\n default:\n return 'SAVINGS';\n }\n};\n","import { CALL_API } from \"../api.middleware\";\nimport {\n FETCH_PORTFOLIOS,\n FETCH_PORTFOLIOS_SUCCESS,\n GET_AMC_DETIALS,\n PORTFOLIO_RESPONSE,\n GET_UNCLAIMED_PAYOUTS,\n UNCLAIMED_PAYOUT_PAYLOAD,\n GET_UNCLAIMED_PAYOUTS_SUCCESS,\n} from \"../types/portfolio\";\n\nexport const getPortfolio =\n (body?: any) =>\n async (dispatch: any): Promise => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: `/distributor/getSchemeDetails`,\n method: \"POST\",\n types: [FETCH_PORTFOLIOS, FETCH_PORTFOLIOS_SUCCESS],\n isNct: true,\n body,\n // enableFixture: true,\n json: `portfolioSummary.json`,\n },\n });\n } catch (error: any) {\n // throw error\n throw error;\n }\n };\n\nexport const getAmcDetails = (body: any) => {\n return {\n type: GET_AMC_DETIALS,\n body,\n };\n};\nexport const getUnclaimedPayouts =\n (body: UNCLAIMED_PAYOUT_PAYLOAD) =>\n async (dispatch: any): Promise => {\n try {\n return await dispatch({\n [CALL_API]: {\n url: `/user/getUnclaimedPayouts`,\n method: \"POST\",\n types: [GET_UNCLAIMED_PAYOUTS_SUCCESS, GET_UNCLAIMED_PAYOUTS],\n body,\n // enableFixture: true,\n json: `unclaimedPayout.json`,\n },\n });\n } catch (error: any) {\n throw error;\n }\n };\n","import { Button } from \"@material-ui/core\";\nimport en from \"../../../lang/en-us\";\nimport { connect } from \"react-redux\";\nimport { RootStateType } from \"../../../store/reducers\";\nimport { getPortfolio } from \"../../../store/actions/portfolio\";\nimport { useEffect, useState } from \"react\";\nimport { RowInfoType } from \"../ChangeEmail/change-email-list\";\nimport {\n getPortfoliosFilteredData,\n portfoliosByMinorStatus,\n portfoliosByModeOfHolding,\n portfoliosByTransactionResource,\n} from \"../../home/portfolios/utils\";\nimport { sendPhoneOTP, updateMobile } from \"../../../store/actions/nct\";\nimport { NoteModals } from \"../../../lib/NoteModals\";\nimport { maskMobileNumber } from \"../../../utils/utilityFunctions\";\nimport { TableColumn, TableWithCollapse } from \"../../../lib/DataTable\";\nimport {\n OTP_ACTIONS,\n REGISTER_WITH_MOBILE,\n REGISTER_WITH_EMAIL,\n addDialCode,\n} from \"../../../utils/constants\";\nimport NoFoliosFound from \"../NoFoliosFound\";\nimport { useTableWithCollapse } from \"../../../lib/DataTable/customHooks\";\n// import { ActionHeader, FaqLink } from '..';\nimport { nextScreen } from \"./flow\";\nimport { getErrorMessage, getInvestorFunds } from \"../portfolios/utils\";\nimport { getMatchAndUnMatchedFunds } from \"../../../utils/utilityFunctions\";\nimport { fetchInvestorDetails } from \"../../../store/actions/nct\";\nimport { SubmitButtonWithLoader } from \"../../../lib/Button\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport CustomizedSelect from \"../transactions/customizedSelect\";\nimport React from \"react\";\nimport { mohMap } from \"../UpdateNominee\";\n\nconst { dashboard } = en;\n\nconst columns: TableColumn[] = [\n { field: \"folio\", headerName: \"Folio\" },\n { field: \"amcName\", headerName: \"Fund House\", width: 350 },\n { field: \"investorName\", headerName: \"Primary Holder\", width: 290 },\n { field: \"email\", headerName: \"Email Address\", width: 200 },\n {\n field: \"modeOfHolding\",\n headerName: \"Mode of Holding\",\n valueGetter: ({ row }) => {\n if (row.modeOfHolding === null) {\n return \"NA\";\n }\n const moh = mohMap[row.modeOfHolding];\n if (moh) {\n return moh;\n } else {\n return \"Others\";\n }\n },\n width: 150,\n },\n {\n field: \"mobile\",\n headerName: \"Mobile Number\",\n width: 200,\n valueGetter: ({ row, ...params }) => maskMobileNumber(row?.mobile),\n },\n];\n\nfunction ChangeMobile(props: any) {\n const [rowData, setRowData] = useState([]);\n const [loading, setLoading] = useState(false);\n const [uniqueEmailId, setUniqueEmailId] = useState([]);\n const [selectEmail, setSelectEmail] = useState(\"\");\n const [filteredData, setFilterdData] = useState([]);\n const { tableRows, tableColumns, selectedRows, setSelectedRows } =\n useTableWithCollapse({\n rows: filteredData,\n columns,\n loading,\n });\n const [show, setShow] = useState(false);\n const { mobile: newMobile, mobileRelationship } = props.location.state || {};\n\n const handleSubmit = async () => {\n const foliosToUpdate = selectedRows.filter(\n (fund) => addDialCode(fund.mobile) !== addDialCode(newMobile)\n );\n if (foliosToUpdate.length) {\n try {\n setLoading(true);\n // const action = emailRegisteredUser()\n // ? OTP_ACTIONS.changeEmail\n // : OTP_ACTIONS.changeMobile;\n const investorName = props.investorData.invname;\n const investorPan = props.investorData.PAN;\n const investor = props.investors.find(\n (item: any) =>\n item.Name?.toLowerCase() === investorName?.toLowerCase() ||\n item.Pan?.toLowerCase() == investorPan?.toLowerCase()\n );\n\n const newData = foliosToUpdate.map((item) => ({\n folio: item.folio,\n amc: item.amc,\n amc_name: item.amcName,\n }));\n const payload: {\n email: string;\n newMobile: string;\n mobile: string;\n image: any | null;\n relation: string;\n pan: string;\n distributor_id: string;\n data: any;\n } = {\n email: selectEmail,\n newMobile: newMobile,\n mobile: investor.Mobile,\n image: null,\n relation: mobileRelationship,\n pan: investorPan,\n distributor_id: props.token,\n data: newData,\n };\n if (selectEmail === \"N/A\") {\n props.history.replace(\n \"/new-transaction/nct-type/phygital/change-mobile-document\",\n {\n payload: payload,\n }\n );\n return;\n }\n\n const res = await props.updateMobile(payload);\n alert(\n `Request with request Id ${res.req_id} for update Mobile Number link has been sent to investor mobile number`\n );\n props.history.push(\"/new-transaction/nct-types\");\n } catch (err: any) {\n alert(err.message);\n } finally {\n setLoading(false);\n }\n }\n };\n\n // Avoid direct navigation to this page if user is registered through email\n const { userRegisteredWith } = props || {};\n useEffect(() => {\n // This page should not be opened by entering the url if registered with Email\n // This page is the first page in the flow, if user is registered with mobile number.\n // But this page comes as 3rd page in the flow when user is email registered\n if (userRegisteredWith == REGISTER_WITH_EMAIL) {\n if (!props.location.state) {\n props.history.replace(\"/\");\n return;\n }\n }\n }, []);\n\n useEffect(() => {\n async function fetchPortfolio() {\n try {\n setLoading(true);\n const { pan = \"\", pekrn = \"\", mobile = \"\", reqId = \"\" } = props;\n const payload = {\n pan: props.investorData.PAN,\n brokercode: props.token,\n };\n const { body: investorDetails = {} } = await props.fetchInvestorDetails(\n payload\n );\n const { success: nomineeFunds = [] } = investorDetails;\n const filters = [\n portfoliosByModeOfHolding,\n portfoliosByMinorStatus,\n portfoliosByTransactionResource,\n ];\n const funds = getMatchAndUnMatchedFunds(\n filters,\n getInvestorFunds(nomineeFunds),\n true\n ).map((fund) => {\n return { ...fund, error: getErrorMessage(fund, filters) };\n });\n const { nomineeFunds: _nomineeFunds = [], otherFunds = [] } =\n funds.reduce((prev: any, fund: RowInfoType) => {\n if (fund?.nominees?.length) {\n return {\n ...prev,\n nomineeFunds: [...(prev.nomineeFunds ?? []), fund],\n };\n }\n return { ...prev, otherFunds: [...(prev.otherFunds ?? []), fund] };\n }, []);\n const rows: RowInfoType[] = [...otherFunds, ..._nomineeFunds].map(\n (item) => ({\n folio: item.folio,\n amc: item.amc,\n amcName: item.amcName,\n email: item.email || \"N/A\",\n id: item.id,\n investorName: item.investorName,\n mobile: item.mobile,\n assetType: item.assetType,\n modeOfHolding: item.modeOfHolding,\n isDisabled: item.isDisabled,\n error: item.error,\n })\n );\n\n const emailIds: any = [];\n\n for (let i = 0; i < rows.length; i++) {\n const mobile = rows[i].email.trim() || \"N/A\";\n if (!emailIds.includes(mobile)) {\n emailIds.push(mobile);\n }\n }\n setUniqueEmailId(emailIds);\n setRowData(rows);\n // setSelectedRows(rows);\n setLoading(false);\n } catch (err: any) {\n alert(err.message);\n setLoading(false);\n }\n }\n fetchPortfolio();\n }, []);\n\n useEffect(() => {\n setSelectEmail(uniqueEmailId[0] || \"\");\n const filteredData = rowData.filter(\n (item) => item.email == uniqueEmailId[0]\n );\n setFilterdData(filteredData);\n // setRowData(filteredData);\n }, [uniqueEmailId, rowData]);\n\n const handleChangeEmailId = (e: any) => {\n setSelectEmail(e.target.value);\n const filteredData = rowData.filter((item) => item.email == e.target.value);\n setFilterdData(filteredData);\n // setRowData(filteredData);\n setSelectedRows([]);\n };\n\n return (\n
\n {/* */}\n \n {\" \"}\n {dashboard.ChangeMobile.ChangeMobileInfo}\n \n \n \n Select Email ID\n
\n (this.reportTypeField = ele)}\n // isError={reportType.isError}\n // errorMessage={reportType.errorMessage}\n // isShowError={reportType.isError}\n //placeholder=\"Select Report Type\"\n >\n {uniqueEmailId.map((item) => (\n \n {item}\n \n ))}\n \n \n
\n
\n
\n \n {!rowData.length && !loading ? (\n \n ) : (\n \n row.isDisabled ? row.error : \"\"\n }\n checkBoxEnabled\n toolTipEnabled\n />\n )}\n
\n
\n {/* */}\n
\n {!!tableRows.length && (\n
\n
\n fund.mobile !== newMobile)\n .length\n }\n onClick={() => {\n handleSubmit();\n }}\n />\n
\n
\n )}\n props.history.push(\"change-mobile-document\")}\n />\n \n \n );\n}\n\nexport default connect(\n ({ authReducer, portfolio, investor }: RootStateType) => ({\n ...authReducer,\n ...portfolio,\n ...investor,\n }),\n { fetchInvestorDetails, getPortfolio, sendPhoneOTP, updateMobile }\n)(ChangeMobile);\n","import {\n Box,\n Button,\n Dialog,\n List,\n ListItem,\n Popover,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport { useEffect } from \"react\";\nimport { useState } from \"react\";\nimport en from \"../../lang/en-us\";\nimport {\n validUploadFileFormats,\n validUploadFileSize,\n} from \"../../utils/constants\";\nimport Image from \"../../components/Image\";\nconst { dashboard } = en;\n\ntype FileUploadProps = {\n format: \"pdf\" | \"image\";\n};\n\nconst AndriodUploadOptions = [\"Camera\", \"Browse Files\"];\n\nconst _getFileType = (fileType: string) => {\n if (fileType === \"application/pdf\") {\n return \"PDF\";\n }\n if (fileType === \"image/png\") {\n return \"PNG\";\n }\n if (fileType === \"image/jpeg\") {\n return \"JPEG\";\n }\n if (fileType === \"image/jpg\") {\n return \"JPG\";\n }\n};\n\ntype extraOptionsOnSelect = {\n name: String;\n};\n\nexport function UploadFile({\n documentFormat = \"Document Format : .pdf / .jpg / .jpeg / .png\",\n setImageName = (name: any) => {},\n onImageSelected = (\n value: any,\n format?: any,\n options?: extraOptionsOnSelect\n ) => {},\n id = \"upload-document\",\n initSelected = false,\n imageName = \"\",\n}) {\n const [selectedFile, setSelectedFile] = useState({ name: imageName });\n const [isSelected, setIsSelected] = useState(initSelected);\n const [anchorEl, setAnchorEl] = useState(null);\n\n useEffect(() => {\n setIsSelected(initSelected);\n }, [initSelected]);\n\n useEffect(() => {\n setSelectedFile({ name: imageName || \"\" });\n }, [imageName]);\n\n const _window: any = window;\n const _navigator: any = navigator;\n\n function getBase64(file: any) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => resolve(reader.result);\n reader.onerror = (error) => reject(error);\n });\n }\n\n const changeHandler = async (event: any) => {\n setSelectedFile(event.target.files[0]);\n const name = event.target.files[0].name;\n setImageName(name);\n try {\n event.persist();\n const base64: any = await getBase64(event.target.files[0]);\n let fileType = event.target.files[0].type;\n const fileSize = event.target.files[0].size;\n if (!validUploadFileFormats.includes(fileType)) {\n throw Error(\"Please upload correct format\");\n }\n if (fileSize > validUploadFileSize) {\n throw Error(\"File size should be less than 2 MB\");\n }\n onImageSelected(base64.split(\",\")[1], _getFileType(fileType), { name });\n event.target.value = null;\n setIsSelected(true);\n } catch (e: any) {\n alert(e.message);\n event.target.value = null;\n }\n };\n\n const handleOpen = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const getPic = () => {\n if (_navigator.camera) {\n _navigator.camera.getPicture(onSuccess, onFail, {\n quality: 25,\n destinationType: _window.Camera.DestinationType.FILE_URI,\n });\n }\n };\n\n const browseFiles = () => {\n if (_navigator.camera) {\n let options: any = {\n quality: 50,\n destinationType: _window.Camera.DestinationType.FILE_URI,\n sourceType: _window.Camera.PictureSourceType.PHOTOLIBRARY,\n encodingType: _window.Camera.EncodingType.JPEG,\n mediaType: _window.Camera.MediaType.PICTURE,\n allowEdit: false,\n correctOrientation: true, // Corrects Android orientation quirks\n };\n _navigator.camera.getPicture(onSuccess, onFail, options);\n }\n };\n const onSuccess = (path: string) => {\n _window.resolveLocalFileSystemURL(path, onFileReadSuccess, onFailToRead);\n };\n\n const onFailToRead = (message: string) => {\n alert(`Failed ${message}`);\n };\n\n const onFileReadSuccess = (fileEntry: any) => {\n try {\n fileEntry.file(async function (file: any) {\n try {\n setSelectedFile(file);\n const base64: any = await getBase64(file);\n let fileType = file.type;\n const fileSize = file.size;\n if (!validUploadFileFormats.includes(fileType)) {\n throw Error(\"Please upload correct format\");\n }\n if (fileSize > validUploadFileSize) {\n throw Error(\"File size should be less than 2 MB\");\n }\n onImageSelected(base64.split(\",\")[1], _getFileType(fileType));\n setIsSelected(true);\n } catch (e: any) {\n alert(e.message);\n }\n });\n } catch (e: any) {\n alert(e.message);\n }\n };\n\n function onFail(message: string) {\n // alert('Failed because: ' + message);\n }\n\n const fileOptions: any =\n _window?.device?.platform !== \"Android\"\n ? {\n type: \"file\",\n onChange: changeHandler,\n }\n : {};\n\n const onSelect = (option: string) => {\n handleClose();\n if (option === AndriodUploadOptions[0]) {\n getPic();\n setAnchorEl(null);\n } else {\n browseFiles();\n }\n };\n return (\n \n \n Upload Application Form*\n

\n
\n \n \n {isSelected && (\n <>\n \n {selectedFile.name}{\" \"}\n {\n onImageSelected(\"\", \"\");\n setIsSelected(false);\n setSelectedFile({ name: \"\" });\n }}\n />\n \n \n )}\n {/* \n \n
\n Signed.docx \"icon\"\n
*/}\n
\n
\n

{dashboard.ChangeTaxStatus.uploadDocumentsInfo}

\n {/*

{documentFormat}

\n

Each File size : {'<'} 2 MB

*/}\n
\n \n \n {AndriodUploadOptions.map((ele) => (\n \n {\n onSelect(ele);\n }}\n >\n {ele}\n \n \n ))}\n \n \n
\n );\n}\n","import { Box, Button, Typography } from \"@material-ui/core\";\nimport { useState } from \"react\";\n// import { ActionHeader } from '.';\nimport en from \"../../lang/en-us\";\nimport { UploadFile } from \"../../lib/UploadFile.tsx\";\nimport Image from \"../Image\";\nconst { dashboard } = en;\n\nexport default function UploadDocumentScreen({\n backLink = \"\",\n heading = \"\",\n subheading = \"\",\n info1 = \"\",\n info2 = \"\",\n showMobile = false,\n linkText = \"\",\n nextLink = \"\",\n id = \"document\",\n emailInfo = \"\",\n mobile = \"\",\n mobileInfo = \"\",\n onImageSelected = (value: any, format: any) => {},\n handleSubmit = () => {},\n isDisabled = true,\n hrefLink = \"#\",\n email = \"\",\n}) {\n return (\n <>\n {/* */}\n {/*
*/}\n \n {/* */}\n \n {/*
*/}\n \n \n {showMobile ? \"Mobile\" : \"Email\"}\n

\n

{email ? email : mobile}

\n
\n\n {/* */}\n \n \"icon\"\n \n {mobileInfo ? mobileInfo : emailInfo}\n \n \n {/* */}\n \n
\n
\n
\n {/*

{subheading}

*/}\n\n {/* */}\n\n \n
\n\n
\n \n {dashboard.changeEmail.UploadDocument.buttonText}\n \n
\n
\n \n \n );\n}\n","import { useState, useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport { onSaveImageData } from \"../../../store/actions/nct\";\nimport { RootStateType } from \"../../../store/reducers\";\nimport { ImageSaveType } from \"../../../store/types/nct\";\nimport { OTP_ACTIONS } from \"../../../utils/constants\";\nimport UploadDocumentScreen from \"../UploadDocumentScreen\";\nimport { updateEmail } from \"../../../store/actions/nct\";\nimport { fetchInvestorDetails } from \"../../../store/actions/nct\";\nimport { getMatchAndUnMatchedFunds } from \"../../../utils/utilityFunctions\";\nimport {\n getPortfoliosFilteredData,\n portfoliosByMinorStatus,\n portfoliosByModeOfHolding,\n portfoliosByTransactionResource,\n} from \"../../home/portfolios/utils\";\nimport { getErrorMessage, getInvestorFunds } from \"../portfolios/utils\";\nimport en from \"../../../lang/en-us\";\nimport { RowInfoType } from \"./change-email-list\";\n//import InfoIcon from \"@mui/icons-material/Info\";\nimport React from \"react\";\nimport { BackArrow } from \"../UpdateNominee/SelectedFolios\";\nconst { dashboard } = en;\n\nfunction ChangeEmailDocument(props: any) {\n const [rowData, setRowData] = useState([]);\n const { enteredEmail: email, emailRelationship } = props.location.state || {};\n const [Document, setDocument] = useState({\n image: { name: \"EMAIL_CHANGE\", format: \"\", content: \"\" },\n });\n\n const handleImageSelection = (value: any, format: any) => {\n setDocument({\n image: {\n ...Document.image,\n format: format,\n content: value,\n },\n });\n };\n useEffect(() => {\n if (!props?.location?.state?.isPhygitial) return;\n async function fetchPortfolio() {\n try {\n // setLoading(true);\n const { pan = \"\", pekrn = \"\", mobile = \"\", reqId = \"\" } = props;\n\n // await props.getPortfolio({\n // pan,\n // pekrn,\n // mobile,\n // reqId,\n // });\n const payload = {\n pan: props.investorData.PAN,\n brokercode: props.token,\n };\n const { body: investorDetails = {} } = await props.fetchInvestorDetails(\n payload\n );\n const { success: nomineeFunds = [] } = investorDetails;\n const filters = [\n portfoliosByModeOfHolding,\n portfoliosByMinorStatus,\n portfoliosByTransactionResource,\n ];\n const funds = getMatchAndUnMatchedFunds(\n filters,\n getInvestorFunds(nomineeFunds),\n true\n ).map((fund) => {\n return { ...fund, error: getErrorMessage(fund, filters) };\n });\n const { nomineeFunds: _nomineeFunds = [], otherFunds = [] } =\n funds.reduce((prev: any, fund: RowInfoType) => {\n if (fund?.nominees?.length) {\n return {\n ...prev,\n nomineeFunds: [...(prev.nomineeFunds ?? []), fund],\n };\n }\n return { ...prev, otherFunds: [...(prev.otherFunds ?? []), fund] };\n }, []);\n const rows: RowInfoType[] = [...otherFunds, ..._nomineeFunds].map(\n (item) => ({\n folio:item.folio,\n amc: item.amc,\n amcName: item.amcName,\n email: item.email,\n id: item.id,\n investorName: item.investorName,\n mobile: item.mobile || \"N/A\",\n assetType: item.assetType,\n })\n );\n // .filter((item) => item.email != email);\n\n // setRowData([...otherFunds, ..._nomineeFunds]);\n // setSelectedRows([...otherFunds, ..._nomineeFunds]);\n\n setRowData(rows);\n\n // setLoading(false);\n } catch (err: any) {\n alert(err.message);\n // setLoading(false);\n }\n }\n fetchPortfolio();\n }, []);\n const handleSubmission = async () => {\n if (props?.location?.state?.isPhygitial) {\n try {\n const investorName = props.investorData.invname;\n const investorPan = props.investorData.PAN;\n const investor = props.investors.find(\n (item: any) =>\n item.Name.toLowerCase() === investorName.toLowerCase() ||\n item.Pan.toLowerCase() == investorPan.toLowerCase()\n );\n\n const newData = rowData.map((item) => ({\n folio: item.folio,\n amc: item.amc,\n amc_name: item.amcName,\n }));\n\n const payload: {\n email: string;\n newEmail: string;\n mobile: string;\n image: any | null;\n relation: string;\n pan: string;\n distributor_id: string;\n data: any;\n } = {\n email: investor.Email,\n newEmail: email,\n mobile: investor.Mobile,\n image: Document.image,\n relation: emailRelationship,\n pan: investorPan,\n distributor_id: props.token,\n data: newData,\n };\n \n const res = await props.updateEmail(payload);\n\n alert(res.message);\n props.history.push(\"/new-transaction/nct-types\");\n } catch (err: any) {\n alert(err.message);\n }\n } else {\n try {\n const payload = {\n ...props.location.state.payload,\n image: Document.image,\n };\n \n const res = await props.updateEmail(payload);\n\n alert(res.message);\n\n props.history.push(\"/new-transaction/nct-types\");\n } catch (err: any) {\n alert(err.message);\n }\n }\n\n // props.history.replace(\"change-email\", {\n // images: [Document.image],\n // action: OTP_ACTIONS.NEW_EMAIL_OFFLINE_OTP,\n // ...(props?.location?.state || {}),\n // });\n };\n\n // save image in store\n useEffect(() => {\n return () => {\n const imageInfo: ImageSaveType = {\n data: [Document.image],\n type: \"CHANGE_EMAIL\",\n };\n props.onSaveImageData(imageInfo);\n };\n }, [Document]);\n\n return (\n <>\n
\n \n \n
\n \n );\n}\nexport default connect(\n ({ authReducer, portfolio, investor }: RootStateType) => ({\n ...authReducer,\n ...portfolio,\n ...investor,\n }),\n { onSaveImageData, updateEmail, fetchInvestorDetails }\n)(ChangeEmailDocument);\n\n// export default {};\n","import { useState, useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport en from \"../../../lang/en-us\";\nimport { onSaveImageData } from \"../../../store/actions/nct\";\nimport { RootStateType } from \"../../../store/reducers\";\nimport { ImageSaveType } from \"../../../store/types/nct\";\nimport { OTP_ACTIONS } from \"../../../utils/constants\";\nimport UploadDocumentScreen from \"../UploadDocumentScreen\";\nimport { updateMobile } from \"../../../store/actions/nct\";\nimport { RowInfoType } from \"../ChangeEmail/change-email-list\";\nimport { fetchInvestorDetails } from \"../../../store/actions/nct\";\nimport { getMatchAndUnMatchedFunds } from \"../../../utils/utilityFunctions\";\nimport {\n getPortfoliosFilteredData,\n portfoliosByMinorStatus,\n portfoliosByModeOfHolding,\n portfoliosByTransactionResource,\n} from \"../../home/portfolios/utils\";\nimport { getErrorMessage, getInvestorFunds } from \"../portfolios/utils\";\nimport { BackArrow } from \"../UpdateNominee/SelectedFolios\";\nimport React from \"react\";\n\nconst { dashboard } = en;\n\nfunction ChangeMobileDocument(props: any) {\n const [Document, setDocument] = useState({\n image: { name: \"MOBILE_CHANGE\", format: \"\", content: \"\" },\n });\n const [rowData, setRowData] = useState([]);\n const { mobile: newMobile, mobileRelationship } = props.location.state || {};\n\n const handleImageSelection = (value: any, format: any) => {\n setDocument({\n image: {\n ...Document.image,\n format: format,\n content: value,\n },\n });\n };\n\n useEffect(() => {\n if (!props?.location?.state?.isPhygitial) return;\n async function fetchPortfolio() {\n try {\n // setLoading(true);\n const { pan = \"\", pekrn = \"\", mobile = \"\", reqId = \"\" } = props;\n const payload = {\n pan: props.investorData.PAN,\n brokercode: props.token,\n };\n const { body: investorDetails = {} } = await props.fetchInvestorDetails(\n payload\n );\n const { success: nomineeFunds = [] } = investorDetails;\n const filters = [\n portfoliosByModeOfHolding,\n portfoliosByMinorStatus,\n portfoliosByTransactionResource,\n ];\n const funds = getMatchAndUnMatchedFunds(\n filters,\n getInvestorFunds(nomineeFunds),\n true\n ).map((fund) => {\n return { ...fund, error: getErrorMessage(fund, filters) };\n });\n const { nomineeFunds: _nomineeFunds = [], otherFunds = [] } =\n funds.reduce((prev: any, fund: RowInfoType) => {\n if (fund?.nominees?.length) {\n return {\n ...prev,\n nomineeFunds: [...(prev.nomineeFunds ?? []), fund],\n };\n }\n return { ...prev, otherFunds: [...(prev.otherFunds ?? []), fund] };\n }, []);\n const rows: RowInfoType[] = [...otherFunds, ..._nomineeFunds].map(\n (item) => ({\n folio:item.folio,\n amc: item.amc,\n amcName: item.amcName,\n email: item.email || \"N/A\",\n id: item.id,\n investorName: item.investorName,\n mobile: item.mobile,\n assetType: item.assetType,\n })\n );\n setRowData(rows);\n } catch (err: any) {\n alert(err.message);\n // setLoading(false);\n }\n }\n fetchPortfolio();\n }, []);\n\n const handleSubmission = async () => {\n if (props?.location?.state?.isPhygitial) {\n try {\n const investorName = props.investorData.invname;\n const investorPan = props.investorData.PAN;\n const investor = props.investors.find(\n (item: any) =>\n item.Name.toLowerCase() === investorName.toLowerCase() ||\n item.Pan.toLowerCase() == investorPan.toLowerCase()\n );\n\n const newData = rowData.map((item) => ({\n folio: item.folio,\n amc: item.amc,\n amc_name: item.amcName,\n }));\n\n const payload: {\n email: string;\n newMobile: string;\n mobile: string;\n image: any | null;\n relation: string;\n pan: string;\n distributor_id: string;\n data: any;\n } = {\n email: investor.Email,\n newMobile: newMobile,\n mobile: investor.Mobile,\n image: Document.image,\n relation: mobileRelationship,\n pan: investorPan,\n distributor_id: props.token,\n data: newData,\n };\n const res = await props.updateMobile(payload);\n alert(res.message);\n props.history.push(\"/new-transaction/nct-types\");\n } catch (err: any) {\n alert(err.message);\n }\n } else {\n try {\n const payload = {\n ...props.location.state.payload,\n image: Document.image,\n };\n const res = await props.updateMobile(payload);\n\n alert(res.message);\n props.history.push(\"/new-transaction/nct-types\");\n } catch (err: any) {\n alert(err.message);\n }\n }\n };\n\n // save image in store\n useEffect(() => {\n return () => {\n const imageInfo: ImageSaveType = {\n data: [Document.image],\n type: \"CHANGE_MOBILE\",\n };\n props.onSaveImageData(imageInfo);\n };\n }, [Document]);\n\n return (\n
\n \n \n
\n );\n}\n\nexport default connect(\n ({ authReducer, portfolio, investor }: RootStateType) => ({\n ...authReducer,\n ...portfolio,\n ...investor,\n }),\n { onSaveImageData, updateMobile, fetchInvestorDetails }\n)(ChangeMobileDocument);\n","import React, { useCallback, useEffect } from \"react\";\nimport en from \"../../lang/en-us\";\nimport {\n FormControl,\n FormControlLabel,\n FormHelperText,\n FormLabel,\n Radio,\n RadioGroup,\n} from \"@material-ui/core\";\nimport { Skeleton } from \"@material-ui/lab\";\nconst { dashboard } = en;\n\nfunction RadioButton({\n label = \"\",\n value = \"\",\n radioImg = \"\",\n cssClass = \"\",\n disabled = false,\n isError = false,\n errorMessage = \"\",\n}) {\n return (\n <>\n }\n disabled={disabled}\n label={\n <>\n {radioImg && \"icon\"}\n {label}\n {isError && (\n {`(* ${errorMessage})`}\n )}\n \n }\n className={cssClass}\n />\n \n );\n}\n\nexport const useRadio = ({ initValue }: any) => {\n const [value, setValue] = React.useState(initValue);\n const reset = useCallback(() => {\n setValue(initValue);\n }, [initValue]);\n\n return {\n value,\n setValue,\n reset,\n };\n};\nexport function CustomRadio({\n list = [] as any,\n title = \"\",\n name = \"\",\n extraClass = \"\",\n selectedValue = \"Female\",\n helperText = \"\",\n error = false,\n handleRadioChange = (value: any) => {},\n component: Component = RadioButton,\n isLoading = false,\n}: any) {\n const { value, setValue } = useRadio({ initValue: selectedValue });\n const handleChange = (event: React.ChangeEvent) => {\n handleRadioChange((event.target as HTMLInputElement).value);\n setValue((event.target as HTMLInputElement).value);\n };\n useEffect(() => {\n setValue(selectedValue);\n }, [selectedValue]);\n return isLoading ? (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n ) : (\n \n {title}\n \n {list.map((_childProps: any, index: any) => (\n \n ))}\n \n {helperText && {helperText}}\n \n );\n}\n","import {\n FormControl,\n InputLabel,\n Select,\n MenuItem,\n Button,\n} from \"@material-ui/core\";\nimport { GridRowId } from \"@material-ui/data-grid\";\nimport { useState, useEffect, useReducer } from \"react\";\nimport en from \"../../../lang/en-us\";\nimport { connect } from \"react-redux\";\nimport { CustomRadio } from \"../../../lib/CustomRadio\";\nimport { TableColumn, TableWithCollapse } from \"../../../lib/DataTable\";\nimport { useTableWithCollapse } from \"../../../lib/DataTable/customHooks\";\nimport { sendPhoneOTP, updateDividend } from \"../../../store/actions/nct\";\nimport { getPortfolio } from \"../../../store/actions/portfolio\";\nimport { RootStateType } from \"../../../store/reducers\";\nimport { SCHEMES_RESPONSE } from \"../../../store/types/portfolio\";\nimport {\n EQUITY,\n LIQUID,\n DEBT,\n OTHER,\n OTP_ACTIONS,\n} from \"../../../utils/constants\";\nimport {\n maskMobileNumber,\n getMatchAndUnMatchedFunds,\n} from \"../../../utils/utilityFunctions\";\nimport NoFoliosFound from \"../NoFoliosFound\";\nimport { BackArrow } from \"../UpdateNominee/SelectedFolios\";\nimport {\n fundsByLienFlag,\n getDividendFilteredData,\n portfoliosByDividend,\n portfoliosByIdcwStatus,\n portfoliosByIdcwStatusNew,\n portfoliosByModeOfHolding,\n portfoliosByPayout,\n portfoliosByReinvestment,\n portfoliosByTransactionResource,\n} from \"../portfolios/utils\";\nimport { groupFilteredData } from \"../utils\";\nimport CustomizedSelect from \"../transactions/customizedSelect\";\nimport { useMobileEmailFilter } from \"../useMobileEmailFilter\";\n\nconst PAYOUT_TO_REINVEST = \"payout-to-reinvest\";\nconst REINVEST_TO_PAYOUT = \"reinvest-to-payout\";\nexport interface DividendTableRowType extends SCHEMES_RESPONSE {\n id?: GridRowId;\n isDisabled?: boolean;\n}\n\nconst { common, dashboard } = en;\n\nconst MenuList = [\n {\n label: dashboard.ChangeDividend.payoutToReinvest,\n value: PAYOUT_TO_REINVEST,\n },\n {\n label: dashboard.ChangeDividend.reinvestToPayout,\n value: REINVEST_TO_PAYOUT,\n },\n];\n\nconst columns: TableColumn[] = [\n { field: \"folio\", headerName: \"Folio\", width: 150 },\n {\n field: \"id\",\n headerName: \"Scheme Name\",\n valueGetter: ({ row }) => `${row?.amcName}-${row?.schemeName}`,\n width: 350,\n filterBy: true,\n filterHeader: \"Fund House\",\n filterKey: \"amcName\",\n },\n { field: \"investorName\", headerName: \"Primary Holder\", width: 200 },\n {\n field: \"mobile\",\n headerName: \"Mobile Number\",\n width: 220,\n valueGetter: ({ row }) => maskMobileNumber(row?.mobile),\n },\n {\n isFilter: true,\n field: \"assetType\",\n headerName: \"Category\",\n filterBy: true,\n renderStaticFilters: [EQUITY, LIQUID, DEBT, OTHER],\n },\n];\nfunction ChangeDividend(props: any) {\n const [rowData, setRowData] = useState([]);\n const [loading, setLoading] = useState(false);\n // const { portfolios = {} } = props;\n // const { success: folioList = [] } = portfolios;\n const [folioList, setFolioList] = useState([]);\n const [dividendOption, setDividendOption] = useState(\n \"payout-to-reinvest\"\n );\n\n const { filterState, setGroupFilterMap, filterDispatch } =\n useMobileEmailFilter(rowData);\n const { emailMobileKeys, currentKey, groupedFilterMap } = filterState;\n\n const {\n selectedRows,\n setSelectedRows,\n resetTable,\n resetFilters,\n tableColumns,\n tableRows,\n ...filters\n } = useTableWithCollapse({\n initialSelectionModal: [],\n rows: currentKey ? groupedFilterMap[currentKey] : rowData,\n columns,\n loading,\n });\n async function fetchPortfolio() {\n const { user_pan: pan = \"\", pekrn = \"\", token: brokercode = \"\" } = props;\n try {\n setLoading(true);\n const folioData = await props.getPortfolio({\n pan,\n pekrn,\n brokercode,\n });\n setFolioList(folioData?.success || []);\n } catch (err: any) {\n alert(err.message);\n } finally {\n setLoading(false);\n }\n }\n useEffect(() => {\n fetchPortfolio();\n }, []);\n\n useEffect(() => {\n resetTable();\n resetFilters();\n }, [dividendOption]);\n\n useEffect(() => {\n const filterBySchemeOption: Function[] = [\n dividendOption === PAYOUT_TO_REINVEST\n ? portfoliosByPayout\n : portfoliosByReinvestment,\n ];\n const dividendFilters: Function[] = [\n portfoliosByModeOfHolding,\n portfoliosByTransactionResource,\n // portfoliosByClosingBalance,\n portfoliosByDividend,\n portfoliosByIdcwStatusNew,\n fundsByLienFlag,\n ];\n const schemeOptionsData = getDividendFilteredData(\n folioList,\n filterBySchemeOption\n );\n const data = getMatchAndUnMatchedFunds(\n dividendFilters,\n schemeOptionsData,\n true\n );\n setRowData(data);\n }, [folioList, dividendOption]);\n\n useEffect(() => {\n if (folioList?.length > 0) {\n // rowData can be empty based on filter and options.\n const groupedFilterMap = groupFilteredData(rowData);\n setGroupFilterMap(groupedFilterMap);\n }\n }, [rowData]);\n\n // clear selected rows on changing the value in the filter drop down\n useEffect(() => {\n setSelectedRows([]);\n }, [currentKey]);\n\n const handleFilterKeyChange = (e: any) => {\n filterDispatch({\n type: \"SET_FILTER_KEY\",\n payload: e.target.value,\n });\n };\n\n const handleSubmit = async () => {\n try {\n const email = selectedRows[0].email,\n mobile = selectedRows[0].mobile;\n const pan = props.investorData.PAN;\n const data = selectedRows.map((ele: DividendTableRowType) => {\n return {\n amc: ele.amc,\n amc_name: ele.amcName,\n folio: String(ele.folio),\n schemeCode: ele.schemeCode,\n schemeName: ele.schemeName,\n currentIdcwOption: dividendOption === PAYOUT_TO_REINVEST ? \"D\" : \"R\",\n newIdcwOption: dividendOption === PAYOUT_TO_REINVEST ? \"R\" : \"D\",\n };\n });\n let payload = {\n email,\n mobile,\n distributor_id: props.token,\n pan,\n data,\n pekrn: \"\",\n };\n let res = await props.updateDividend(payload);\n if (res.status === 201) {\n props.history.replace(\"/new-transaction/nct-type/success\", {\n state: {\n succesMessage: res.message,\n },\n });\n }\n } catch (err: any) {\n alert(err.message);\n }\n };\n\n return (\n
\n \n
Change of IDCW
\n {dividendOption && rowData.length > 0 && currentKey && (\n \n \n Select Email-Mobile Combination\n
\n \n {emailMobileKeys &&\n emailMobileKeys.map((item) => (\n \n {item}\n \n ))}\n \n \n )}\n
\n
\n setDividendOption(value)}\n />\n \n \n {dashboard.ChangeDividend.radioHeading}\n \n setDividendOption(e.target.value)}\n >\n {MenuList.map((item) => (\n \n {item.label}\n \n ))}\n \n \n {!!dividendOption && (\n <>\n
{dashboard.ChangeDividend.ChangeDividendInfo}
\n {(!!loading || tableRows.length) && currentKey ? (\n \n params.row.isDisabled && currentKey?.length > 0\n ? false\n : true\n }\n selectedRows={selectedRows}\n setSelectedRows={setSelectedRows}\n toolTipTextGetter={({ row }) =>\n row.isDisabled && row.lienUnitsFlag === \"Y\"\n ? dashboard.ChangeDividend.noSelectLeinUnits\n : row.isDisabled && currentKey?.length > 0\n ? dashboard.ChangeDividend.toolTip.info1\n : currentKey?.length == 0\n ? common.invalidEmailMobileNCT\n : \"\"\n }\n toolTipEnabled\n checkBoxEnabled\n resetFilters={resetFilters}\n {...filters}\n />\n ) : (\n \n )}\n {/* */}\n \n )}\n
\n\n {!!dividendOption && (\n
\n {!!rowData.length && (\n
\n \n {dashboard.ChangeDividend.buttonText}\n \n
\n )}\n
\n )}\n
\n \n );\n}\n\nexport default connect(\n ({ authReducer, portfolio, investor }: RootStateType) => ({\n ...authReducer,\n ...portfolio,\n ...investor,\n }),\n { updateDividend, getPortfolio, sendPhoneOTP }\n)(ChangeDividend);\n","import { Button } from \"@material-ui/core\";\n// import { ActionHeader } from '.';\nimport en from \"../../lang/en-us\";\nconst { dashboard } = en;\n\nexport default function SuccessScreen({\n heading = \"\",\n infospan2 = \"\",\n successMessage = \"\",\n note = \"\",\n info3 = \"\",\n list = [] as any,\n handleClick = () => {},\n backNavigation = () => {},\n showTrackStatusButton = true,\n ...props\n}: any) {\n return (\n <>\n
\n
\n
\n

{dashboard.Success.subHeading}

\n

\n {successMessage || props.location?.state?.successMessage}\n

\n

{note}

\n
\n
\n \n
\n
\n
\n \n );\n}\n","import { Button } from '@material-ui/core';\nimport { useEffect } from 'react';\nimport { useCallback } from 'react';\nimport en from '../../../lang/en-us';\nimport { SCHEMES_RESPONSE } from \"../../../store/types/portfolio\";\nimport SuccessScreen from '../SuccessScreen';\nconst { dashboard } = en;\n\nexport default function ChangeDividendSuccess(props: any) {\n const { reqId, data = [], dividend } = props.location.state || {};\n\n useEffect(() => {\n if (!props.location.state) {\n props.history.push('/');\n }\n }, []);\n\n const getList = useCallback(() => {\n return data.map((ele: SCHEMES_RESPONSE) => ({\n text: `${ele.amcName} - ${ele.schemeName}`,\n }));\n }, [data.length]);\n\n return (\n
\n props.history.push('/portal/track')}\n list={getList()}\n />\n
\n );\n}\n","import { IconButton, FormControl, Select, MenuItem } from \"@material-ui/core\";\nimport { KeyboardArrowDown, KeyboardArrowUp } from \"@material-ui/icons\";\nimport { useState, useEffect, useMemo } from \"react\";\nimport { connect } from \"react-redux\";\nimport { SubmitButton } from \"../../../lib/Button\";\nimport {\n TableCellParams,\n TableColumn,\n TableWithCollapse,\n} from \"../../../lib/DataTable\";\nimport { useTableWithCollapse } from \"../../../lib/DataTable/customHooks\";\nimport { NoteModals } from \"../../../lib/NoteModals\";\nimport { fetchInvestorDetails } from \"../../../store/actions/nct\";\nimport { RootStateType } from \"../../../store/reducers\";\nimport { INVETSOR_DETAILS_RESPONSE } from \"../../../store/types/nct\";\nimport NoFoliosFound from \"../NoFoliosFound\";\nimport { ActionHeader } from \"../UpdateNominee/SelectedFolios\";\nimport {\n getInvestorFunds,\n portfoliosByTransactionResource,\n fundsByLienFlag,\n} from \"../portfolios/utils\";\nimport { ConsolidateTableRowType } from \"./types\";\nimport en from \"../../../lang/en-us\";\nimport { LIST_PROTFOLIO_PAYLOAD } from \"../../../store/types/portfolio\";\nimport { BackArrow } from \"../UpdateNominee/SelectedFolios\";\nconst { dashboard } = en;\n\nexport const _renderBank = ({ collapse, setCollapse }: TableCellParams) => {\n return (\n <>\n {/* {row.bank[0]?.name} */}\n {\n e.stopPropagation();\n setCollapse((open: boolean) => !open);\n }}\n >\n {!collapse ? (\n <>\n View\n \n \n ) : (\n <>\n Hide\n \n \n )}\n \n \n );\n};\n\nexport const Columns: TableColumn[] = [\n {\n field: \"id\",\n headerName: \"FOLIO\",\n // filterBy: true,\n },\n // {\n // field: 'amcName',\n // headerName: 'FUND',\n // width: 250,\n // },\n {\n field: \"investorName\",\n headerName: \"PRIMARY HOLDER\",\n width: 200,\n },\n {\n field: \"investorPan\",\n headerName: \"PAN\",\n width: 100,\n },\n {\n field: \"modeOfHolding\",\n headerName: \"MODE OF HOLDING\",\n width: 100,\n },\n {\n field: \"banks\",\n headerName: \"BANK NAME\",\n valueGetter: ({ row }) => row.banks[0]?.name,\n width: 200,\n },\n {\n field: \"\",\n headerName: \"\",\n renderCell: _renderBank,\n width: 50,\n },\n];\n\nexport const keys = [\n { label: \"2nd Holder name\", key: \"secondHolder\" },\n { label: \"3rd Holder name\", key: \"thirdHolder\" },\n { label: \"Tax Residency\", key: \"taxStatusLabel\" },\n { label: \"Bank A/C No\", key: \"accountNo\" },\n { label: \" IFSC\", key: \"ifsc\" },\n { label: \"1st Nominee Name\", key: \"firstNominee\" },\n {\n label: \"2nd Nominee Name\",\n key: \"secondNominee\",\n },\n {\n label: \"3rd Nominee Name\",\n key: \"thirdNominee\",\n },\n];\n\nfunction ConsolidationFolios(props: any) {\n const [rowData, setRowdata] = useState([]);\n const [consolidateFunds, setConsolidateFunds] = useState<\n INVETSOR_DETAILS_RESPONSE[]\n >([]);\n const {\n setSelectedRows: setTargetFunds,\n selectedRows: targetFunds,\n tableRows,\n tableColumns,\n ...filters\n } = useTableWithCollapse({\n initialSelectionModal: [],\n rows: rowData,\n columns: Columns,\n });\n const [amcType, setAmcType] = useState(\"NONE\");\n const [show, setShow] = useState(false);\n\n useEffect(() => {\n async function callApi() {\n const payload = {\n pan: props.investorData.PAN,\n brokercode: props.token,\n };\n try {\n const { body: investorDetails = {} } = await props.fetchInvestorDetails(\n payload\n );\n let { success: consolidationData = [] } = investorDetails;\n consolidationData\n .filter((cd: any) => cd.amcName)\n .sort((firstEl: any, secondEl: any) => {\n let amcName1 = firstEl.amcName.toUpperCase();\n let amcName2 = secondEl.amcName.toUpperCase();\n if (amcName1 < amcName2) {\n return -1;\n }\n if (amcName1 > amcName2) {\n return 1;\n }\n\n return 0;\n });\n const consolidationRowData = getInvestorFunds(consolidationData, [\n portfoliosByTransactionResource,\n fundsByLienFlag,\n ]);\n setRowdata(consolidationRowData);\n setConsolidateFunds(consolidationData);\n } catch (err: any) {\n alert(err.message);\n }\n }\n callApi();\n return () => {};\n }, []);\n\n const _onGotoSourceFolios = async () => {\n const [targetFund] = targetFunds;\n /**\n * Target folio taxtStaus should match with consolidated fund Taxstatus\n * @param taxStatus\n */\n const matchTaxStatus = ({ taxStatus }: ConsolidateTableRowType) =>\n taxStatus === targetFund?.taxStatus;\n\n /**\n * Target folio PAN should match with consolidated fund PAN when investor login with PAN\n * Target folio PEKRN should match with consolidated fund PEKRN when investor login with PEKRN\n * Target folio second holder PAN should match with consolidated fund PAN when investor login with PAN\n * Target folio second holder PEKRN should match with consolidated fund PEKRN when investor login with PEKRN\n * Target folio third holder PAN should match with consolidated fund PAN when investor login with PAN\n * Target folio third holder PEKRN should match with consolidated fund PEKRN when investor login with PEKRN\n * @param investorPan\n * @param investorPekrn\n * @param secondHolderPan\n * @param secondHolderPekrn\n * @param thirdHolderPan\n * @param thirdHolderPekrn\n */\n const matchInvestor = ({\n investorPekrn,\n investorPan,\n secondHolderPan,\n secondHolderPekrn,\n thirdHolderPan,\n thirdHolderPekrn,\n }: ConsolidateTableRowType) =>\n props.pan\n ? investorPan === targetFund?.investorPan &&\n secondHolderPan === targetFund?.secondHolderPan &&\n thirdHolderPan === targetFund?.thirdHolderPan\n : investorPekrn === targetFund?.investorPekrn &&\n secondHolderPekrn === targetFund?.secondHolderPekrn &&\n thirdHolderPekrn === targetFund?.thirdHolderPekrn;\n\n /**\n * Target folio modeOfHolding should match with consolidated fund modeOfHolding\n * @param modeOfHolding\n */\n const matchModeOfholding = ({ modeOfHolding }: ConsolidateTableRowType) => {\n const targetModeOfHolding = targetFund?.modeOfHolding?.toUpperCase();\n const modeOfHoldingToUpperCase = modeOfHolding?.toUpperCase();\n const mohAnyoneorSurvivorSource =\n modeOfHoldingToUpperCase === \"ANYONE OR SURVIVOR\" ||\n modeOfHoldingToUpperCase === \"ANYONE/SURVIVOR\";\n const mohEitherorSurvivorSource =\n modeOfHoldingToUpperCase === \"EITHER OR SURVIVOR\" ||\n modeOfHoldingToUpperCase === \"EITHER/SURVIVOR\";\n const mohAnyoneorSurvivorTargetFund =\n targetModeOfHolding === \"ANYONE OR SURVIVOR\" ||\n targetModeOfHolding === \"ANYONE/SURVIVOR\";\n const mohEitherorSurvivorTargetFund =\n targetModeOfHolding === \"EITHER/SURVIVOR\" ||\n targetModeOfHolding === \"EITHER OR SURVIVOR\";\n return (\n (mohAnyoneorSurvivorSource && mohAnyoneorSurvivorTargetFund) ||\n (mohEitherorSurvivorSource && mohEitherorSurvivorTargetFund) ||\n modeOfHoldingToUpperCase === targetModeOfHolding\n );\n };\n\n const matchEmail = ({ email }: ConsolidateTableRowType) =>\n email === targetFund.email;\n\n const matchMobile = ({ mobile }: ConsolidateTableRowType) =>\n mobile === targetFund.mobile;\n\n const matchAmcType = ({ amcName }: ConsolidateTableRowType) =>\n amcName === amcType;\n\n /**\n * Target folio Joint Holder PAN should match with consolidated fund Joint Holders PAN when investor login with PAN\n * Target folio Joint Holder PEKRN should match with consolidated fund Joint Holders PEKRN when investor login with PEKRN\n * @param secondHolderPan\n * @param secondHolderPekrn\n * @param thirdHolderPan\n * @param thirdHolderPekrn\n */\n const matchJointHolders = ({\n secondHolderPan,\n secondHolderPekrn,\n thirdHolderPekrn,\n thirdHolderPan,\n }: ConsolidateTableRowType) =>\n props.pan\n ? secondHolderPan === targetFund?.secondHolderPan &&\n thirdHolderPan === targetFund?.thirdHolderPan\n : secondHolderPekrn === targetFund?.secondHolderPekrn &&\n thirdHolderPekrn === targetFund?.thirdHolderPekrn;\n\n const { matched, unMatched } = rowData.reduce(\n (\n prev: {\n matched: ConsolidateTableRowType[];\n unMatched: ConsolidateTableRowType[];\n },\n fund: ConsolidateTableRowType\n ) => {\n if (fund.id === targetFund?.id || fund?.amc !== targetFund?.amc) {\n return prev;\n }\n const matched = [\n matchTaxStatus,\n matchJointHolders,\n matchModeOfholding,\n matchInvestor,\n matchEmail,\n matchMobile,\n ].every((func: Function) => func.call({}, fund));\n if (matched) {\n prev = {\n ...prev,\n matched: [...prev.matched, fund],\n };\n } else {\n prev = {\n ...prev,\n unMatched: [...prev.unMatched, { ...fund, isDisabled: true }],\n };\n }\n return prev;\n },\n {\n matched: [],\n unMatched: [],\n }\n );\n const routeStateParams = {\n amcType: amcType === \"NONE\" ? targetFund?.amc : amcType,\n amc: targetFund?.amc,\n folio: targetFund?.folio,\n matched,\n unMatched,\n };\n props.history.push(\"consolidate-source-folios\", routeStateParams);\n };\n\n const filteredFunds = useMemo(() => {\n return tableRows.filter(\n (fund) => fund.amcName === amcType || amcType === \"NONE\"\n );\n }, [amcType, tableRows]);\n\n const _renderCollapse = ({ row }: { row: ConsolidateTableRowType }) => {\n const { nominees = [], banks } = row;\n const rowKeydData: any = {\n firstNominee: nominees[0]?.name,\n secindNominee: nominees[1] ? nominees[1]?.name : \"\",\n thirdNominee: nominees[2] ? nominees[2]?.name : \"\",\n ifsc: banks[0]?.ifsc,\n accountNo: banks[0]?.accountNo,\n ...row,\n };\n return (\n \n {keys.map(({ label, key }, index) => (\n \n \n \n \n ))}\n \n );\n };\n\n const TableBody = useMemo(() => {\n return (\n \n );\n }, [filteredFunds, Columns, targetFunds, filters]);\n\n return (\n
\n \n
Consolidation of Folios
\n
\n
\n
{dashboard.ConsolidationFolios.chooseMutualFund}
\n \n setAmcType(value)}\n labelId=\"portfolio-sortby-label\"\n id=\"portfolio-sortby\"\n value={amcType}\n style={{\n border: \"1px solid lightgray\",\n borderRadius: 5,\n width: \"100%\",\n margin: \"0px 0px 0px\",\n whiteSpace: \"pre-wrap\",\n }}\n >\n Select one\n {consolidateFunds.map((fund) => (\n \n {fund.amcName}\n \n ))}\n \n \n {amcType !== \"NONE\" && (\n <>\n
{dashboard.ConsolidationFolios.selectFolio}
\n
\n {filteredFunds.length < 2 ? (\n \n ) : (\n TableBody\n )}\n
\n \n )}\n
\n {amcType !== \"NONE\" && (\n <>\n
\n
\n setShow(true)}\n className=\"customBtn\"\n label={dashboard.ConsolidationFolios.buttonText}\n />\n
\n
\n \n )}\n \n
\n
\n );\n}\n\nexport default connect(\n ({ authReducer }: RootStateType) => ({ ...authReducer }),\n {\n fetchInvestorDetails,\n }\n)(ConsolidationFolios);\n","import { FormControlLabel, Checkbox, Button } from \"@material-ui/core\";\nimport { useState, useEffect, useMemo } from \"react\";\nimport { connect } from \"react-redux\";\nimport { _renderBank, keys } from \".\";\nimport en from \"../../../lang/en-us\";\nimport { TableColumn, TableWithCollapse } from \"../../../lib/DataTable\";\nimport { useTableWithCollapse } from \"../../../lib/DataTable/customHooks\";\nimport {\n fetchInvestorDetails,\n sendPhoneOTP,\n consolidationFolios,\n} from \"../../../store/actions/nct\";\nimport { RootStateType } from \"../../../store/reducers\";\nimport { OTP_ACTIONS } from \"../../../utils/constants\";\nimport { ActionHeader, BackArrow } from \"../UpdateNominee/SelectedFolios\";\nimport { ConsolidateTableRowType } from \"./types\";\nconst { dashboard } = en;\n\nexport const Columns: TableColumn[] = [\n {\n field: \"id\",\n headerName: \"Folio\",\n },\n {\n field: \"investorName\",\n headerName: \"PRIMARY HOLDER\",\n width: 200,\n },\n {\n field: \"investorPan\",\n headerName: \"PAN\",\n width: 100,\n },\n {\n field: \"modeOfHolding\",\n headerName: \"MODE OF HOLDING\",\n width: 100,\n },\n {\n field: \"bank\",\n headerName: \"BANK NAME\",\n valueGetter: ({ row }) => row?.banks[0]?.name,\n width: 150,\n },\n {\n field: \"\",\n headerName: \"\",\n renderCell: _renderBank,\n width: 20,\n },\n];\n\nexport function ConsolidationSourceFolios(props: any) {\n const { selectedRows, setSelectedRows, resetTable, ...filters } =\n useTableWithCollapse({\n initialSelectionModal: [],\n });\n const [isChecked, setChecked] = useState(false);\n const [show, setShow] = useState(false);\n\n const {\n matched = [],\n unMatched = [],\n amcType,\n folio,\n amc,\n } = props.location.state || {};\n\n useEffect(() => {\n if (!amcType || !folio) {\n props.history.push(\"/\");\n }\n }, []);\n\n const handleSubmit = async () => {\n setShow(false);\n try {\n let transformedData: any = [];\n selectedRows.forEach((row: ConsolidateTableRowType) => {\n transformedData.push({\n amc,\n targetFolio: folio,\n sourceFolio: row.folio,\n });\n });\n await updateConsolidationFolios(transformedData);\n } catch (err: any) {\n alert(err.message);\n }\n };\n\n const updateConsolidationFolios = async (data: any) => {\n try {\n const pan = props.investorData.PAN;\n const { Email: email = \"\", Mobile: mobile = \"\" } = props.investors.find(\n ({ Pan: currentPan }: { Pan: string }) => currentPan === pan\n );\n let payload = {\n email,\n mobile,\n distributor_id: props.token,\n pan,\n data,\n };\n let res = await props.consolidationFolios(payload);\n if (res.status === 201) {\n props.history.replace(\"/new-transaction/nct-type/success\", {\n state: {\n succesMessage: res.message,\n },\n });\n }\n } catch (err: any) {\n alert(err.message);\n }\n };\n\n const _renderCollapse = ({ row }: { row: ConsolidateTableRowType }) => {\n const { nominees = [], banks } = row;\n const rowKeydData: any = {\n firstNominee: nominees[0]?.name,\n secindNominee: nominees[1] ? nominees[1]?.name : \"\",\n thirdNominee: nominees[2] ? nominees[2]?.name : \"\",\n ifsc: banks[0]?.ifsc,\n accountNo: banks[0]?.accountNo,\n ...row,\n };\n return (\n \n {keys.map(({ label, key }: any, index: number) => (\n \n \n \n \n ))}\n \n );\n };\n\n const TableBody = useMemo(() => {\n return (\n \n row.isDisabled ? dashboard.noteModals.consolidation.info : \"\"\n }\n renderCollapse={_renderCollapse}\n checkBoxEnabled\n {...filters}\n toolTipEnabled\n />\n );\n }, [matched, unMatched, Columns, selectedRows, filters]);\n return (\n
\n {/* */}\n \n
\n
Consolidation of Folios
\n
\n \n
\n {dashboard.ConsolidationFolios.ConsolidationFoliosInfo}\n {amcType}\n
\n
\n {dashboard.ConsolidationFolios.targetFolio}\n {folio}\n
\n
\n
{dashboard.ConsolidationFolios.sourceFolio}
\n
\n {/* */}\n {TableBody}\n
\n
\n
\n
\n setChecked(!isChecked)}\n />\n }\n label={dashboard.ConsolidationFolios.terms}\n />\n
\n \n {dashboard.ConsolidationFolios.buttonText}\n \n
\n
\n \n );\n}\n\nexport default connect(\n ({ authReducer, investor }: RootStateType) => ({\n ...authReducer,\n ...investor,\n }),\n {\n consolidationFolios,\n fetchInvestorDetails,\n sendPhoneOTP,\n }\n)(ConsolidationSourceFolios);\n","import { Button } from '@material-ui/core';\nimport en from \"../../lang/en-us\";\nconst { dashboard } = en;\n\nfunction FailureScreenList({ text = '' }) {\n return (\n <>\n
  • {text}
  • \n \n );\n}\nexport default function FailureScreen({\n heading = '',\n subheading = dashboard.UpdateNominee.Failure.subHeading,\n backLink = '',\n info1 = '',\n infospan1 = '',\n info2 = '',\n infospan2 = '',\n info3 = '',\n list = [] as any,\n component: Component = FailureScreenList,\n}) {\n return (\n <>\n

    \n \n \"icon\"\n \n {heading}\n

    \n
    \n
    \n
    \n \n

    {dashboard.Failed.subHeading}

    \n

    {dashboard.Failed.subHeadingInfo1}

    \n
    \n
    \n {/*
      \n {list.map((_childProps: any, index: any) => (\n \n ))}\n
    */}\n \n
    \n
    \n
    \n \n );\n}\n","import { Button } from '@material-ui/core';\nimport en from '../../../lang/en-us';\nimport FailureScreen from '../FailureScreen';\nconst { dashboard } = en;\n\nexport default function ConsolidationFoliosFailure() {\n return (\n
    \n \n
    \n );\n}\n","import { useState, useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport { SubmitButton } from \"../../../lib/Button\";\nimport { TableColumn, TableWithCollapse } from \"../../../lib/DataTable\";\nimport { useTableWithCollapse } from \"../../../lib/DataTable/customHooks\";\nimport { fetchInvestorDetails } from \"../../../store/actions/nct\";\nimport { RootStateType } from \"../../../store/reducers\";\nimport { BANK } from \"../../../store/types/nct\";\nimport { EQUITY, LIQUID, DEBT, OTHER } from \"../../../utils/constants\";\nimport { maskMobileNumber } from \"../../../utils/utilityFunctions\";\nimport { ConsolidateTableRowType } from \"../ConsolidationFolios/types\";\nimport NoFoliosFound from \"../NoFoliosFound\";\nimport { BackArrow } from \"../UpdateNominee/SelectedFolios\";\nimport { groupFilteredData } from \"../utils\";\nimport {\n getInvestorFunds,\n portfoliosByModeOfHolding,\n portfoliosByTransactionResource,\n} from \"../portfolios/utils\";\nimport en from \"../../../lang/en-us\";\nimport { useMobileEmailFilter } from \"../useMobileEmailFilter\";\nimport CustomizedSelect from \"../transactions/customizedSelect\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\n\nconst { common, dashboard } = en;\n\nexport const findDefaultBank = (row: any) => {\n return (\n row?.banks.find((details: BANK) => details.default === \"Y\") || row?.banks[0]\n );\n};\n\nexport const findDefaultBankIndex = (row: any) => {\n const NOT_FOUND = -1;\n const defaultBankIndex = row?.banks.findIndex(\n (details: BANK) => details.default === \"Y\"\n );\n return defaultBankIndex === NOT_FOUND ? 0 : defaultBankIndex;\n};\n\nexport const ChangeBankColumns: TableColumn[] = [\n {\n field: \"id\",\n headerName: \"FOLIO\",\n },\n {\n field: \"amcName\",\n headerName: \"Fund House\",\n width: 250,\n filterBy: true,\n filterHeader: \"Fund House\",\n filterKey: \"amcName\",\n },\n {\n field: \"bank\",\n headerName: \"BANK NAME\",\n valueGetter: ({ row }) =>\n findDefaultBank(row).name || dashboard.notAvailable,\n width: 150,\n },\n {\n field: \"accountNo\",\n headerName: \"Account No.\",\n valueGetter: ({ row }) =>\n maskMobileNumber(findDefaultBank(row)?.accountNo) ||\n dashboard.notAvailable,\n width: 100,\n },\n {\n field: \"ifsc\",\n headerName: \"IFSC\",\n valueGetter: ({ row }) => {\n const defaultBank: BANK = findDefaultBank(row);\n return (\n defaultBank?.ifsc || defaultBank.neftIfsc || dashboard.notAvailable\n );\n },\n width: 200,\n },\n {\n field: \"investorName\",\n headerName: \"PRIMARY HOLDER\",\n valueGetter: ({ row }) =>\n (row?.investorName || \"\").toUpperCase() || dashboard.notAvailable,\n width: 100,\n },\n {\n isFilter: true,\n field: \"assetType\",\n headerName: \"Category\",\n filterBy: true,\n renderStaticFilters: [EQUITY, LIQUID, DEBT, OTHER],\n },\n];\n\nfunction ChangeBank(props: any) {\n const [rowData, setRowdata] = useState([]);\n\n const { filterState, setGroupFilterMap, filterDispatch } =\n useMobileEmailFilter(rowData);\n const { emailMobileKeys, currentKey, groupedFilterMap } = filterState;\n\n const [loading, setLoading] = useState(false);\n const {\n selectedRows: targetFunds,\n setSelectedRows: setTargetFunds,\n tableColumns,\n tableRows,\n ...filters\n } = useTableWithCollapse({\n initialSelectionModal: [],\n rows: currentKey ? groupedFilterMap[currentKey] : rowData,\n columns: ChangeBankColumns,\n loading,\n });\n\n useEffect(() => {\n setLoading(true);\n async function callApi() {\n const payload = {\n pan: props.investorData.PAN,\n brokercode: props.token,\n };\n try {\n const { body: investorDetails = {} } = await props.fetchInvestorDetails(\n payload\n );\n const { success: investorFundDetails = [] } = investorDetails;\n const bankFundRowData = getInvestorFunds(investorFundDetails, [\n portfoliosByTransactionResource,\n portfoliosByModeOfHolding,\n ({ banks = [] }: ConsolidateTableRowType): boolean =>\n banks.findIndex(\n (details: BANK) =>\n details.default === \"Y\" || details.default === \"\"\n ) !== -1,\n ]);\n setRowdata(bankFundRowData);\n } catch (err: any) {\n alert(err.message);\n } finally {\n setLoading(false);\n }\n }\n callApi();\n return () => { };\n }, []);\n useEffect(() => {\n if (rowData.length > 0) {\n const groupedFilterMap = groupFilteredData(rowData);\n setGroupFilterMap(groupedFilterMap);\n }\n }, [rowData]);\n\n // clear selected rows on changing the value in the filter drop down\n useEffect(() => {\n setTargetFunds([]);\n }, [currentKey]);\n\n const handleFilterKeyChange = (e: any) => {\n filterDispatch({\n type: \"SET_FILTER_KEY\",\n payload: e.target.value,\n });\n };\n const _isRowSeletable = ({ row }: { row: ConsolidateTableRowType }) => {\n if (!(currentKey?.length > 0)) return false;\n if (targetFunds.length) {\n const [fund] = targetFunds;\n\n const rowDefaultBankIndex = findDefaultBankIndex(row);\n const fundDefaultBankIndex = findDefaultBankIndex(fund);\n\n const bankIfsc = fund.banks[fundDefaultBankIndex]?.ifsc?.toUpperCase();\n const rowIfsc = row.banks[fundDefaultBankIndex]?.ifsc?.toUpperCase();\n\n const accountNo = fund.banks[rowDefaultBankIndex]?.accountNo;\n const rowAccountNo = row.banks[rowDefaultBankIndex]?.accountNo;\n\n if (!(bankIfsc === rowIfsc && accountNo === rowAccountNo)) {\n return false;\n }\n }\n return true;\n };\n\n const _toolTipGetText = ({ row }: { row: ConsolidateTableRowType }) => {\n if (targetFunds.length) {\n const [fund] = targetFunds;\n\n const rowDefaultBankIndex = findDefaultBankIndex(row);\n const fundDefaultBankIndex = findDefaultBankIndex(fund);\n\n const bankIfsc = fund.banks[fundDefaultBankIndex]?.ifsc?.toUpperCase();\n const rowIfsc = row.banks[fundDefaultBankIndex]?.ifsc?.toUpperCase();\n\n const accountNo = fund.banks[rowDefaultBankIndex]?.accountNo;\n const rowAccountNo = row.banks[rowDefaultBankIndex]?.accountNo;\n\n if (!(bankIfsc === rowIfsc && accountNo === rowAccountNo)) {\n return dashboard.ChangeBank.tooltip.info1;\n }\n } else if (!(currentKey?.length > 0)) {\n return common.invalidEmailMobileNCT;\n }\n\n return \"\";\n };\n\n return (\n
    \n \n
    Change Bank
    \n {tableRows.length > 0 && currentKey && (\n \n \n Select Email-Mobile Combination\n
    \n \n {emailMobileKeys &&\n emailMobileKeys.map((item) => (\n \n {item}\n \n ))}\n \n \n )}\n
    \n
    \n
    \n {\" \"}\n {dashboard.ChangeBank.ChangeBankInfo}\n {dashboard.ChangeBank.Note}\n
    \n {/*
    */}\n {!loading && !tableRows.length || !currentKey ? (\n \n ) : (\n \n )}\n {/*
    */}\n {/* */}\n
    \n
    \n {!!rowData.length && (\n
    \n \n props.history.push(\"change-bank-selected\", {\n targetFunds,\n })\n }\n />\n
    \n )}\n
    \n
    \n \n );\n}\nexport default connect(\n ({ authReducer }: RootStateType) => ({ ...authReducer }),\n {\n fetchInvestorDetails,\n }\n)(ChangeBank);\n","import { Button, Dialog, Grid } from '@material-ui/core';\nimport { useEffect } from 'react';\nimport { useState } from 'react';\n\nexport function IfscModal({\n showModal = false,\n extraClass = '',\n heading = 'NOTE',\n info1 = '',\n info2 = '',\n info3 = '',\n info4 = '',\n content1 = '',\n content2 = '',\n content3 = '',\n content4 = '',\n proceedBtn = '',\n cancelBtn = '',\n proceedHref = '',\n mobileOrEmail = '',\n onCancel = () => { },\n ...props\n}) {\n const [show, setShow] = useState(showModal);\n\n useEffect(() => {\n setShow(showModal);\n }, [showModal]);\n\n const onProceed = () => {\n if (!!props.onProceed && typeof props.onProceed === 'function') {\n props.onProceed();\n return;\n }\n props.push(proceedHref);\n };\n\n return (\n \n
    \n

    {heading}

    \n \n \n \n {info1}\n

    \n
    \n \n \n {content1}\n

    \n
    \n
    \n \n \n \n {info2}\n

    \n
    \n \n \n {content2}\n

    \n
    \n
    \n \n \n \n {info3}\n

    \n
    \n \n \n {content3}\n

    \n
    \n
    \n \n \n \n {info4}\n

    \n
    \n \n \n {content4}\n

    \n
    \n
    \n
    \n \n {!!cancelBtn && (\n {\n setShow(!show);\n onCancel();\n }}\n >\n {cancelBtn}\n \n )}\n
    \n
    \n
    \n );\n}\n","import { IconButton, InputAdornment, TextFieldProps } from '@material-ui/core';\nimport { useState } from 'react';\nimport TextInput from '.';\nimport Image from '../../components/Image';\n// import { FormikPropType } from '../Formik';\n\nexport default function SecureInput({\n label,\n showSecure = true,\n ...rest\n}: TextFieldProps & { showSecure?: boolean }) {\n const [showPassword, setPassword] = useState(false);\n return (\n {\n e.preventDefault();\n return false;\n }}\n InputProps={{\n endAdornment: showSecure && (\n \n setPassword(!showPassword)}\n aria-label=\"toggle password visibility\"\n edge=\"end\"\n >\n {showPassword ? (\n \"icon\"\n ) : (\n \"icon\"\n )}\n \n \n ),\n }}\n />\n );\n}\n","/* eslint-disable no-undef */\n/* eslint-disable no-unused-vars */\nimport { Button, FormControl, InputLabel, MenuItem, Select } from '@material-ui/core';\nimport { Form as _Form, useFormik, FormikConfig, FormikContextType } from 'formik';\nimport React, { ReactNode, useEffect } from 'react';\nimport { CancelButton, SubmitButton } from '../Button';\nimport TextInput from '../TextField';\nimport SecureInput from '../TextField/SecureInput';\n\nexport interface InputType {\n type: 'email' | 'select' | 'checkbox' | 'text' | 'password';\n label: string;\n name: string;\n component?: any;\n extraProps?: object;\n multiline?: boolean;\n disabled?: boolean;\n value?: string;\n}\nexport interface ExtraFormPropsTypes {\n submitButtonLabel?: string;\n buttonExtraActions?: boolean;\n isCancel?: boolean;\n onCancel?: React.MouseEventHandler;\n cancelButtonLabel?: string;\n}\nexport interface FormPropType extends ExtraFormPropsTypes {\n ui: Partial[];\n}\nexport interface FormikPropType extends FormPropType {\n formik: FormikContextType;\n children?: ReactNode;\n parentClass?: string;\n}\n\nconst Selector = ({ formik, value, ...props }: InputType & any) => {\n let component = null;\n switch (props.type) {\n case 'email':\n case 'text': {\n component = (\n \n );\n break;\n }\n case 'password': {\n component = ;\n break;\n }\n default: {\n component =

    {`${props.type} not found`}

    ;\n }\n }\n return component;\n};\n\nfunction Form({\n ui = [],\n submitButtonLabel = '',\n buttonExtraActions = false,\n isCancel = false,\n onCancel,\n cancelButtonLabel = 'Cancel',\n formik,\n parentClass = '',\n ...props\n}: FormikPropType): JSX.Element {\n return (\n <>\n
    \n {ui.map(\n (\n { component: Component, extraProps = {}, ..._ele }: Partial,\n index: Number,\n ) => {\n const fieldProps = {\n key: index + 'field',\n onChange: formik.handleChange,\n value: formik.values[`${_ele.name}`],\n error:\n formik.touched[`${_ele.name}`] &&\n Boolean(formik.errors[`${_ele.name}`]),\n helperText:\n formik.touched[`${_ele.name}`] && formik.errors[`${_ele.name}`],\n };\n return !!Component ? (\n \n formik.setFieldValue(_ele.name || '', value)\n }\n value={formik.values[`${_ele.name}`]}\n formik={formik}\n {..._ele}\n {...extraProps}\n />\n ) : (\n \n );\n },\n )}\n \n {submitButtonLabel && (\n <>\n {formik.isSubmitting ? (\n \n ) : (\n \n )}\n \n )}\n {isCancel && (\n \n )}\n \n {props.children}\n \n \n );\n}\n\nexport default Form;\n","import {\n FormControl,\n FormHelperText,\n MenuItem,\n Select,\n} from \"@material-ui/core\";\nimport { useFormik } from \"formik\";\nimport { useCallback, useEffect } from \"react\";\nimport en from \"../../../lang/en-us\";\nimport { CustomRadio } from \"../../../lib/CustomRadio\";\nimport DatePickerInput from \"../../../lib/DatePicker\";\nimport Form, { InputType } from \"../../../lib/Formik\";\nimport TextInput from \"../../../lib/TextField\";\nimport {\n checkForOnlyAlphabets,\n EIGHTEEN_YEARS_IN_MILLISECONDS,\n isAlphaNumericAddress,\n isAlphaNumeric,\n MAX_LENGTH_FOR_PAN,\n MAX_LENGTH_FOR_NOMINEE_NAME,\n MAX_LENGTH_FOR_GUARDIAN_NAME,\n MAX_LENGTH_FOR_ADDRESS,\n minDateForCalender,\n _minDateForCalender,\n} from \"../../../utils/constants\";\nimport { getNameIndex } from \"../CorrectionFolios/correction-folios-selection\";\nimport { NOMINEEINFO, validationSchemaNominee } from \"./update-nominee-edit\";\nimport Image from \"../../Image\";\nimport { CheckBoxField } from \"../../../lib/CheckBoxField\";\nconst { dashboard, common } = en;\nfunction AddNomineeForm(props: any) {\n const { formik } = props;\n const thisYear = new Date().getFullYear();\n\n const resetFieldError = (fieldName: string) => {\n const { [fieldName]: excldeKey, ...rest } = formik.errors;\n formik.setErrors(rest);\n };\n\n return (\n <>\n
    \n

    \n {\" \"}\n \"icon\"\n {getNameIndex(props.index)} {dashboard.UpdateNominee.nomineeText}\n

    \n \n {dashboard.UpdateNominee.save}\n \n {/* formik.resetForm()} className=\"clear-nominee\">\n {dashboard.UpdateNominee.clear}\n */}\n \n props.cancelFormSubmission(props.index - 1, formik.values.id)\n }\n className=\"clear-nominee\"\n >\n {dashboard.UpdateNominee.cancel}\n \n
    \n {\n resetFieldError(\"relation\");\n props.handleNomineeChange(\"relation\", value, props.index - 1);\n }}\n key={formik.values.relation}\n error={!!formik.errors.relation}\n helperText={formik.errors.relation}\n extraClass={\"nominee-relation-radio\"}\n />\n
    \n
    \n {\n resetFieldError(\"name\");\n return checkForOnlyAlphabets(e.target.value)\n ? props.handleNomineeChange(\n \"name\",\n e.target.value,\n props.index - 1\n )\n : null;\n }}\n error={!!formik.errors.name}\n helperText={formik.errors.name}\n />\n
    \n
    \n
    \n {\n resetFieldError(\"dob\");\n props.handleNomineeChange(\"dob\", date, props.index - 1);\n if (\n thisYear - new Date(formik.values.dob).getFullYear() >=\n 18\n ) {\n props.handleNomineeChange(\n \"guardianName\",\n \"\",\n props.index - 1\n );\n props.handleNomineeChange(\n \"guardianPan\",\n \"\",\n props.index - 1\n );\n }\n }}\n minDate={_minDateForCalender()}\n error={!!formik.errors.dob}\n helperText={formik.errors.dob}\n />\n
    \n
    \n {\n resetFieldError(\"share\");\n return Number(e.target.value) <= 100\n ? props.handleNomineeChange(\n \"share\",\n e.target.value,\n props.index - 1\n )\n : null;\n }}\n error={!!formik.errors.share}\n helperText={formik.errors.share}\n />\n
    \n
    \n
    \n {\n resetFieldError(\"gender\");\n props.handleNomineeChange(\"gender\", value, props.index - 1);\n }}\n list={[\n {\n label: \"Male\",\n value: \"male\",\n },\n {\n label: \"Female\",\n value: \"female\",\n },\n {\n label: \"Others\",\n value: \"others\",\n },\n ]}\n key={formik.values.gender}\n error={!!formik.errors.gender}\n helperText={formik.errors.gender}\n />\n
    \n
    \n {\n resetFieldError(\"pan\");\n return isAlphaNumeric(e.target.value) &&\n e.target.value.length <= MAX_LENGTH_FOR_PAN\n ? props.handleNomineeChange(\n \"pan\",\n e.target.value.toUpperCase(),\n props.index - 1\n )\n : null;\n }}\n error={!!formik.errors.pan}\n helperText={formik.errors.pan}\n />\n
    \n
    \n {\n props.handleAddressCheck(props.index - 1, e.target.checked);\n }}\n name=\"addressCheck\"\n value={formik.values.addressCheck}\n label={en.dbCommercial.profileDetails.nominees.addressCheck}\n />\n
    \n
    \n
    \n {\n resetFieldError(\"address1\");\n if (isAlphaNumericAddress(e.target.value)) {\n props.handleNomineeChange(\n \"address1\",\n e.target.value,\n props.index - 1\n );\n }\n }}\n error={!!formik.errors.address1}\n helperText={formik.errors.address1}\n />\n
    \n
    \n {\n resetFieldError(\"address2\");\n if (isAlphaNumericAddress(e.target.value)) {\n props.handleNomineeChange(\n \"address2\",\n e.target.value,\n props.index - 1\n );\n }\n }}\n error={!!formik.errors.address2}\n helperText={formik.errors.address2}\n />\n
    \n
    \n {\n resetFieldError(\"pincode\");\n return (/^\\d+$/.test(e.target.value) || !e.target.value) &&\n e.target.value.length < 7\n ? props.handleNomineeChange(\n \"pincode\",\n e.target.value,\n props.index - 1\n )\n : null;\n }}\n error={formik.errors.pincode ? true : false}\n helperText={formik.errors.pincode}\n />\n
    \n
    \n {\n resetFieldError(\"city\");\n if (!checkForOnlyAlphabets(e.target.value)) return;\n props.handleNomineeChange(\n \"city\",\n e.target.value,\n props.index - 1\n );\n }}\n error={!!formik.errors.city}\n helperText={formik.errors.city}\n />\n
    \n
    \n {\n resetFieldError(\"state\");\n if (\n !checkForOnlyAlphabets(e.target.value) ||\n e.target.value.length > 20\n )\n return;\n props.handleNomineeChange(\n \"state\",\n e.target.value,\n props.index - 1\n );\n }}\n name={\"state\"}\n error={!!formik.errors.state}\n helperText={formik.errors.state}\n />\n
    \n
    \n
    \n \n {\n resetFieldError(\"country\");\n props.handleNomineeChange(\n \"country\",\n e.target.value,\n props.index - 1\n );\n }}\n >\n \n {dashboard.UpdateNominee.nomineeFields.country}\n \n India\n \n \n {formik.errors.country}\n \n \n
    \n
    \n
    \n {thisYear - new Date(formik.values.dob).getFullYear() < 18 && (\n
    \n

    {dashboard.UpdateNominee.guardianDetailsHeading}

    \n
    \n
    \n {\n resetFieldError(\"guardianName\");\n return checkForOnlyAlphabets(e.target.value)\n ? props.handleNomineeChange(\n \"guardianName\",\n e.target.value,\n props.index - 1\n )\n : null;\n }}\n error={!!formik.errors.guardianName}\n helperText={formik.errors.guardianName}\n />\n
    \n
    \n {\n resetFieldError(\"guardianPan\");\n return isAlphaNumeric(e.target.value) &&\n e.target.value.length <= MAX_LENGTH_FOR_PAN\n ? props.handleNomineeChange(\n \"guardianPan\",\n e.target.value.toUpperCase(),\n props.index - 1\n )\n : null;\n }}\n error={!!formik.errors.guardianPan}\n helperText={formik.errors.guardianPan}\n />\n
    \n {/*
    \n {\n resetFieldError(\"guardianDob\");\n props.handleNomineeChange(\n 'guardianDob',\n e.target.value,\n props.index - 1,\n )\n }}\n type={'date'}\n inputProps={{\n max: moment(new Date()).format('YYYY-MM-DD'), min: minDateForCalender()\n }}\n InputLabelProps={{ shrink: true }}\n helperText={formik.errors.guardianDob}\n error={!!formik.errors.guardianDob}\n />\n
    */}\n {/*
    \n \n props.handleNomineeChange(\n 'guardianAddress',\n e.target.value,\n props.index - 1,\n )\n }\n />\n
    */}\n
    \n
    \n )}\n
    \n
    \n {/* {props.index < 3 && (\n \n )} */}\n \n );\n}\nconst AddNominee = ({ initialValues = {}, ...props }: any) => {\n const validate = (values: NOMINEEINFO) => {\n const nomineeNames = props.nominees\n .map((_ele: NOMINEEINFO, ind: number) => {\n if (ind !== props.index - 1) {\n return _ele.name?.trim().toLowerCase();\n }\n })\n .filter((name: string) => name);\n\n const nomineePans = props.nominees\n .map((_ele: NOMINEEINFO, ind: number) => {\n if (ind !== props.index - 1) {\n return _ele.pan?.trim().toLowerCase();\n }\n })\n .filter((pan: string) => pan);\n\n if (nomineeNames.includes(values.name?.trim().toLowerCase())) {\n return {\n name: `Nominee name should not be same as other nominee names`,\n };\n } else if (\n values.name?.trim().toLowerCase() ===\n props.investorName?.trim().toLowerCase()\n ) {\n return {\n name: `Nominee name can not be investor name`,\n };\n } else if (values.name?.trim().length > MAX_LENGTH_FOR_NOMINEE_NAME) {\n return {\n name: `Nominee name should be less than ${MAX_LENGTH_FOR_NOMINEE_NAME} characters`,\n };\n }\n if (values.pan === props.pan) {\n return {\n pan: `Nominee pan should not be the investor pan`,\n };\n } else if (nomineePans.includes(values.pan?.trim().toLowerCase())) {\n return {\n pan: `Nominee pan should not be same as other nominee pans`,\n };\n }\n if (values?.address1?.trim().length > MAX_LENGTH_FOR_ADDRESS) {\n return {\n address1: `Address should be less than ${MAX_LENGTH_FOR_ADDRESS} characters`,\n };\n }\n if (values?.address2?.trim().length > MAX_LENGTH_FOR_ADDRESS) {\n return {\n address2: `Address should be less than ${MAX_LENGTH_FOR_ADDRESS} characters`,\n };\n }\n if (!values.share?.toString()) {\n return {\n share: \"Share is required\",\n };\n } else if (Number(values.share) === 0) {\n return {\n share: \"Nominee share should not be 0\",\n };\n }\n if (values.dob) {\n const selectedDate = new Date(values.dob);\n if (selectedDate.getTime() > new Date().getTime()) {\n return {\n dob: \"Date of birth should not exceed current date\",\n };\n }\n const thisYear = new Date().getFullYear();\n const nomineeDobYear = new Date(formik.values.dob).getFullYear();\n if (thisYear - nomineeDobYear < 18) {\n if (!values.guardianName || values.guardianName?.trim().length === 0) {\n return {\n guardianName: `Guardian name is required`,\n };\n } else if (\n values.guardianName?.trim().length > MAX_LENGTH_FOR_GUARDIAN_NAME\n ) {\n return {\n guardianName: `Guardian name should be less than ${MAX_LENGTH_FOR_GUARDIAN_NAME} characters`,\n };\n } else if (\n values.guardianName?.trim().toLowerCase() ===\n values.name?.trim().toLowerCase()\n ) {\n return {\n guardianName: `Nominee name and Guardian name should not be same`,\n };\n }\n // if (\n // values.guardianPan &&\n // (values.guardianPan === values.pan ||\n // values.guardianPan === props.pan)\n // ) {\n // return {\n // guardianPan:\n // values.pan === values.guardianPan\n // ? `Guardian pan should not same as Nominee pan`\n // : `Guardian pan should not same as Investor pan`,\n // };\n // }\n \n if (!values.guardianPan) {\n return {\n guardianPan: 'Guardian pan is required'\n };\n }\n\n if (values.guardianPan && values.guardianPan === values.pan) {\n return {\n guardianPan:\n values.pan === values.guardianPan\n ? `Guardian pan should not same as Nominee pan`\n : ``,\n };\n }\n }\n }\n\n // if (values.guardianDob) {\n // const selectedDate = new Date(values.guardianDob);\n // if (new Date().getTime() - selectedDate.getTime() < EIGHTEEN_YEARS_IN_MILLISECONDS) {\n // return {\n // guardianDob: 'Guardian of the Nominee should be major',\n // };\n // }\n // if (selectedDate < new Date(minDateForCalender())) {\n // return {\n // guardianDob: common.errors.dob.ageLessThanHundred,\n // };\n // }\n // }\n };\n\n const formik = useFormik({\n initialValues: initialValues,\n onSubmit: () => {\n props.saveNominee(\"isEditable\", false, props.index - 1);\n },\n onReset: () => {\n props.handleResetForm(props.index - 1);\n },\n validationSchema: validationSchemaNominee,\n validateOnChange: false,\n validate: validate,\n });\n\n const formFields: Partial[] = [\n {\n component: AddNomineeForm,\n extraProps: props,\n },\n ];\n\n useEffect(() => {\n formik.setValues(initialValues, false);\n }, [initialValues]);\n\n const FormLoad = useCallback(() => {\n return
    ;\n }, [formik]);\n\n return FormLoad();\n};\n\nexport default AddNominee;\n","import {\n Button,\n Dialog,\n FormControl,\n InputAdornment,\n MenuItem,\n Select,\n} from \"@material-ui/core\";\nimport { useEffect, useState } from \"react\";\nimport en from \"../../../lang/en-us\";\nimport { CustomRadio } from \"../../../lib/CustomRadio\";\nimport { saveNominee, sendPhoneOTP } from \"../../../store/actions/nct\";\nimport TextInput from \"../../../lib/TextField\";\nimport AddNominee from \"./addNominee\";\nimport * as yup from \"yup\";\nimport { SubmitButtonWithLoader } from \"../../../lib/Button\";\nimport { NoteModals } from \"../../../lib/NoteModals\";\nimport { connect, useDispatch, useSelector } from \"react-redux\";\nimport {\n getDate,\n getDateString,\n UPDATE_NOMINEE,\n OTP_ACTIONS,\n panRegex,\n _minDateForCalender,\n} from \"../../../utils/constants\";\nimport { getNameIndex } from \"../CorrectionFolios/correction-folios-selection\";\nimport { CheckBoxField } from \"../../../lib/CheckBoxField\";\nimport { UPDATE_NOMINEE_ARRAY } from \"../../../store/types/nominees\";\n// import { defaultOptions, DigioParamsType, parseNomineeDetailsForEsign, submitDigioDocument, VerifyThrough } from './utils';\nimport { FormattedNomineeType, NomineeInfoRowData } from \"./types\";\nimport { RootStateType } from \"../../../store/reducers\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { NomineeReducerState } from \"../../../store/reducers/nominees\";\nimport Image from \"../../Image\";\nimport { validatePan } from \"./nominee-summary\";\n\nconst {\n dashboard,\n signUp: { form },\n dbCommercial,\n common,\n} = en;\n\nexport interface InitialState {\n relation: string;\n name: string;\n dob: Date | string;\n share: number | null;\n gender: string;\n pan: string;\n address1: string;\n address2: string;\n address3?: string;\n pincode: number | string;\n city: string;\n state: string;\n country: string;\n guardianName: string;\n guardianPan: string;\n guardianAddress: string;\n guardianDob: Date | string;\n addressCheck?: boolean;\n isEditable?: boolean;\n isNewlyAdded?: boolean;\n showDetails?: boolean;\n editShare?: boolean;\n id?: string;\n isEdited?: boolean;\n}\nexport interface NOMINEEINFO extends InitialState {\n initialState?: InitialState;\n}\nexport interface RELATIONS {\n label: string;\n value: string;\n}\nexport const relationShips = [\n {\n label: \"Mother\",\n value: \"mother\",\n },\n {\n label: \"Son\",\n value: \"son\",\n },\n {\n label: \"Daughter\",\n value: \"daughter\",\n },\n {\n label: \"Father\",\n value: \"father\",\n },\n {\n label: \"Spouse\",\n value: \"spouse\",\n },\n {\n label: \"Others\",\n value: \"others\",\n },\n];\n\nexport const initialValues: NOMINEEINFO = {\n relation: \"\",\n name: \"\",\n dob: \"\",\n share: null,\n gender: \"\",\n pan: \"\",\n address1: \"\",\n address2: \"\",\n pincode: \"\",\n city: \"\",\n state: \"\",\n country: \"\",\n guardianName: \"\",\n guardianPan: \"\",\n guardianAddress: \"\",\n guardianDob: \"\",\n};\n\nexport const validationSchemaNominee = yup.object({\n relation: yup.string().required(\"Relation is required\"),\n name: yup\n .string()\n .required(\"Name is required\")\n .test(\"len\", \"Name is Required\", (val) => val?.trim().length !== 0),\n gender: yup.string().required(\"Gender is required\"),\n dob: yup.date().required(\"Date of Birth is required\").nullable(),\n pan: yup\n .string()\n .required(\"Pan is a required\")\n .matches(panRegex, form.pan.validations.individualPan).test('unique-pan', 'Nominee pan cannot be investor pan', validatePan),\n address1: yup\n .string()\n .notRequired()\n .nullable()\n .test(\"len\", common.spaceNotAllowed, (val) => val?.trim().length !== 0),\n address2: yup\n .string()\n .notRequired()\n .nullable()\n .test(\"len\", common.spaceNotAllowed, (val) => val?.trim().length !== 0),\n city: yup\n .string()\n .notRequired()\n .nullable()\n .test(\"len\", common.spaceNotAllowed, (val) => val?.trim().length !== 0)\n .max(50, common.cityMaxLength),\n state: yup\n .string()\n .notRequired()\n .nullable()\n .test(\"len\", common.spaceNotAllowed, (val) => val?.trim().length !== 0)\n .max(50, common.stateMaxLength),\n pincode: yup\n .string()\n .notRequired()\n .nullable()\n .length(6, \"Pincode should be of 6 digits\"),\n guardianPan: yup\n .string()\n .notRequired()\n .nullable()\n .matches(panRegex, form.pan.validations.individualPan),\n // guardianDob: yup.string().required('Select date of birth'),\n});\n\nexport default function UpdateNomineeEdit() {\n const history = useHistory();\n const location = useLocation<{\n selectedRows: NomineeInfoRowData[];\n nomineeIndex: number;\n }>();\n const { pan } = useSelector(({ authReducer }: RootStateType) => ({\n ...authReducer,\n }));\n const { investorData, token } = useSelector(\n ({ investor, authReducer }: RootStateType) => ({\n investorData: investor.investorData,\n token: authReducer.token,\n })\n );\n const { selectedRows, nomineeIndex = null } = location.state;\n const nomineesData = selectedRows[0];\n\n useEffect(() => {\n if (!Object.keys(nomineesData).length) {\n history.push(\"/\");\n return;\n }\n }, []);\n\n const [nominees, setNominees] = useState([]);\n const { nominees: data = [], investorName = \"\" } = nomineesData;\n const [noNomineeFlag, setNoNomineeFlag] = useState(false);\n const [deleteIndex, setDeleteIndex] = useState(\"\");\n const [show, setShow] = useState(false);\n const [loading, setLoading] = useState(false);\n const [showShareModal, setShowShareModal] = useState<{\n show: boolean;\n text: string;\n }>({\n show: false,\n text: \"\",\n });\n\n useEffect(() => {\n setNominees(\n !!data.length && selectedRows.length === 1\n ? data.slice(0, 3).map((_ele: any) => {\n let nomineeState = {\n relation: [\n \"mother\",\n \"son\",\n \"daughter\",\n \"father\",\n \"spouse\",\n ].includes(_ele?.relation?.toLowerCase())\n ? _ele.relation?.toLowerCase()\n : _ele.relation?.toLowerCase()\n ? \"others\"\n : \"\",\n name: _ele.name || \"\",\n dob: getDate(_ele.dob),\n share: _ele.percent,\n pan: _ele.pan,\n gender: _ele.gender?.toLowerCase(),\n address1: _ele?.address?.line1,\n address2: _ele?.address?.line2,\n ..._ele?.address,\n guardianName: _ele?.guardian?.name,\n guardianPan: _ele?.guardian?.pan,\n guardianAddress: _ele?.guardian?.address || \"\",\n guardianDob: _ele?.guardian?.dob || \"\",\n isEditable: false,\n showDetails: false,\n editShare: false,\n isNewlyAdded: false,\n addressCheck: false,\n id: _ele.id,\n isEdited: false,\n };\n return { ...nomineeState, initialState: nomineeState };\n })\n : [\n {\n ...initialValues,\n isEditable: false,\n showDetails: false,\n editShare: false,\n isNewlyAdded: true,\n isEdited: false,\n },\n ]\n );\n }, []);\n\n // useEffect(() => {\n // setNoNomineeFlag(!data.length);\n // }, [data.length]);\n\n const handleAddNomiee = () => {\n setNominees([\n ...nominees,\n { ...initialValues, isEditable: true, isNewlyAdded: true },\n ]);\n };\n\n const handleAddressCheck = (index: number, value: boolean) => {\n if (!value) {\n setNominees((prev) => {\n return prev.map((currentNominee, i) => {\n if (Number(index) !== i) return currentNominee;\n return {\n ...currentNominee,\n addressCheck: value,\n address1: \"\",\n address2: \"\",\n city: \"\",\n state: \"\",\n };\n });\n });\n } else {\n const {\n address: { line1 = \"\", line2 = \"\" },\n address,\n } = nomineesData;\n\n setNominees((prev) => {\n return prev.map((currentNominee, i) => {\n if (Number(index) !== i) return currentNominee;\n return {\n ...currentNominee,\n addressCheck: value,\n address1: line1,\n address2: line2,\n ...address,\n };\n });\n });\n }\n };\n\n const cancelFormSubmission = (index: number, id: string) => {\n setNominees((prevState: NOMINEEINFO[]) => {\n const nominees = [...prevState];\n const nominee = nominees[index];\n nominees[index] = {\n ...nominee,\n ...nominee.initialState,\n isEditable: false,\n };\n return nominees;\n });\n };\n\n const resetForm = (index: number) => {\n const nominee = [...nominees];\n nominee[index] = { ...initialValues, isEditable: true };\n setNominees(nominee);\n };\n\n const handleNomineeChange = (key: any, value: any, index: any) => {\n const nominee: any[] = [...nominees];\n nominee[index][key] = value;\n setNominees(nominee);\n };\n\n const handleDeleteNominee = (ind: number) => {\n const updatedNominees = nominees.map((_ele: NOMINEEINFO) => ({\n ..._ele,\n isEdited: true,\n }));\n setNominees(\n updatedNominees.filter(\n (_ele: NOMINEEINFO, index: number) => index !== ind\n )\n );\n };\n\n const handleSubmit = () => {\n try {\n setShow(false);\n handleDeleteNominee(deleteIndex);\n } catch (err: any) {\n alert(err.message);\n }\n };\n\n console.log(nomineesData);\n\n const dispatch = useDispatch();\n\n const handleUpdateNominee = async () => {\n if (noNomineeFlag) {\n try {\n setLoading(true);\n const nomineeApiPayload = {\n email: nomineesData.email,\n mobile: nomineesData.mobile,\n pan: investorData.PAN,\n distributor_id: token,\n data: selectedRows.map((nomineeData) => {\n return {\n folio: nomineeData.folio,\n amc: nomineeData.amc,\n amc_name: nomineeData.amcName,\n noNominee: \"Y\",\n nominees: [],\n eNomType: \"F\",\n eSignFlag: \"\",\n eNomDocId: \"\",\n };\n }),\n };\n const apiRes = await saveNominee(nomineeApiPayload)(dispatch);\n if (apiRes.status === 201) {\n history.replace(\"/new-transaction/nct-type/success\", {\n state: {\n succesMessage: apiRes.message,\n },\n });\n }\n } catch (err: any) {\n alert(err.message);\n } finally {\n setLoading(false);\n }\n } else {\n try {\n const totalShare = nominees\n .map((_ele: NOMINEEINFO) => _ele.share)\n .reduce((sum: number = 0, current) => sum + Number(current), 0);\n if (totalShare > 100) {\n throw Error(dashboard.UpdateNominee.NoteModals.greaterModal);\n }\n if (totalShare < 100) {\n throw Error(dashboard.UpdateNominee.NoteModals.lessModal);\n }\n if (nominees.length) {\n let names: string[] = [];\n let error = false;\n nominees.some((nominee) => {\n if (names.includes(nominee.name)) {\n error = true;\n }\n names = [...names, nominee.name];\n return false;\n });\n if (error)\n throw Error(\"Nominees name should be different from each other\");\n }\n const payload: FormattedNomineeType[] = nominees.map(\n (_ele: NOMINEEINFO, ind: number) => ({\n nominee: ind + 1,\n name: _ele.name,\n percent: _ele.share,\n gender: _ele.gender,\n dob: getDateString(_ele.dob),\n pan: _ele.pan,\n address: {\n line1: _ele.address1 || \"\",\n line2: _ele.address2 || \"\",\n line3: _ele.address3 || \"\",\n },\n addressCheck: _ele.addressCheck || false,\n city: _ele.city,\n state: _ele.state,\n pincode: _ele.pincode,\n country: _ele.country,\n relation: _ele.relation,\n guardian: {\n name: _ele.guardianName || \"\",\n pan: _ele.guardianPan || \"\",\n pekrn: \"\",\n dob: _ele.guardianDob || \"\",\n },\n })\n );\n const nomineeApiPayload = {\n email: nomineesData.email,\n mobile: nomineesData.mobile,\n pan: investorData.PAN,\n distributor_id: token,\n data: selectedRows.map((nomineeData) => {\n return {\n folio: nomineeData.folio,\n amc: nomineeData.amc,\n amc_name: nomineeData.amcName,\n noNominee: noNomineeFlag ? \"Y\" : \"\",\n nominees: noNomineeFlag ? [] : payload,\n eNomType: \"F\",\n eSignFlag: \"\",\n eNomDocId: \"\",\n };\n }),\n };\n try {\n setLoading(true);\n const apiRes = await saveNominee(nomineeApiPayload)(dispatch);\n if (apiRes.status === 201) {\n history.replace(\"/new-transaction/nct-type/success\", {\n state: {\n succesMessage: apiRes.message,\n },\n });\n }\n } catch (err: any) {\n alert(err.message);\n } finally {\n setLoading(false);\n }\n // const { pan = '', pekrn = '', mobile = '' } = props;\n // let res = await props.sendPhoneOTP({\n // mobile,\n // pan,\n // pekrn,\n // action: OTP_ACTIONS.updateNominee,\n // });\n // props.history.replace('update-nominee-edit-otp', {\n // mobile: props.mobile,\n // pan: props.pan,\n // data: [{ folio: nomineesData.id, amc: nomineesData.amc, nominees: payload }],\n // ...(res || {}).body,\n // });\n } catch (e: any) {\n setShowShareModal({ show: true, text: e.message });\n // alert(e.message);\n } finally {\n setLoading(false);\n }\n }\n };\n\n return (\n
    \n {/* { */}\n {/* { */}\n {/* nominees.every((_ele) => !_ele.isEditable) */}\n {/* ? props.history.goBack() */}\n {/* : nominees.map( */}\n {/* (_ele, index) => */}\n {/* _ele.isEditable && cancelFormSubmission(index, `${index}`), */}\n {/* ); */}\n {/* }} */}\n {/* /> */}\n {/* } */}\n
    \n
    \n {/*
    {dashboard.UpdateNominee.UpdateNomineeInfo}
    */}\n
    \n {nominees.every((_ele: NOMINEEINFO) => !_ele.isEditable) && (\n
    \n setNoNomineeFlag(!noNomineeFlag)}\n value={noNomineeFlag}\n label={dbCommercial.profileDetails.nominees.noNominee}\n />\n
    \n )}\n {!noNomineeFlag &&\n nominees.map((_ele: NOMINEEINFO, index: number) =>\n !_ele.isEditable ? (\n
    \n
    \n
    \n \n \"icon\"\n \n {getNameIndex(index + 1)}{\" \"}\n {dashboard.UpdateNominee.nomineeText}\n
    \n {\n setNominees((prevState: NOMINEEINFO[]) => {\n const nominees = [...prevState];\n const { initialState, ...nominee } =\n nominees[index];\n nominees[index].initialState = nominee;\n nominees[index].isEditable = true;\n return nominees;\n });\n }}\n />\n {nominees.length > 1 && (\n {\n setShow(true);\n setDeleteIndex(index);\n }}\n />\n )}\n
    \n
    \n
    \n
    \n
    \n

    \n {\" \"}\n {dashboard.UpdateNominee.name}\n

    \n

    {_ele.name}

    \n
    \n
    \n

    \n {dashboard.UpdateNominee.relation}\n

    \n

    \n {_ele.relation.slice(0, 1).toUpperCase() +\n _ele.relation.slice(1)}\n

    \n
    \n
    \n {!_ele.editShare ? (\n <>\n

    \n {dashboard.UpdateNominee.share}\n

    \n

    \n {_ele.share}%\n \n handleNomineeChange(\n \"editShare\",\n true,\n index\n )\n }\n />\n

    \n \n ) : (\n
    \n {\n if (Number(e.target.value) === 0) {\n alert(\"Nominee share should not be 0\");\n return;\n }\n handleNomineeChange(\n \"editShare\",\n false,\n index\n );\n handleNomineeChange(\n \"isEdited\",\n true,\n index\n );\n }}\n // onChange={(e) => {\n // if (Number(e.target.value) <= 100) {\n // handleNomineeChange(\n // 'share',\n // e.target.value,\n // index,\n // )\n // }\n // }}\n />\n {\n handleNomineeChange(\n \"editShare\",\n false,\n index\n );\n handleNomineeChange(\n \"isEdited\",\n true,\n index\n );\n }}\n />\n
    \n )}\n
    \n
    \n {!_ele.showDetails ? (\n \n handleNomineeChange(\n \"showDetails\",\n true,\n index\n )\n }\n >\n {dashboard.UpdateNominee.more}\n \n \n ) : (\n \n handleNomineeChange(\n \"showDetails\",\n false,\n index\n )\n }\n >\n {dashboard.UpdateNominee.less}\n \n \n )}\n
    \n
    \n {\n setNominees((prevState: NOMINEEINFO[]) => {\n const nominees = [...prevState];\n const { initialState, ...nominee } =\n nominees[index];\n nominees[index].initialState = nominee;\n nominees[index].isEditable = true;\n return nominees;\n });\n }}\n />\n {nominees.length > 1 && (\n {\n setShow(true);\n setDeleteIndex(index);\n }}\n />\n )}\n
    \n
    \n
    \n
    \n
    \n ) : (\n resetForm(ind)}\n handleNomineeChange={(\n key: string,\n value: any,\n ind: number\n ) => handleNomineeChange(key, value, ind)}\n handleAddressCheck={handleAddressCheck}\n saveNominee={(key: string, value: any, ind: number) => {\n const nominee = [...nominees];\n nominee[ind] = {\n ...nominee[ind],\n isEditable: false,\n isNewlyAdded: false,\n isEdited: true,\n };\n setNominees(nominee);\n }}\n nominees={nominees}\n investorName={investorName}\n relations={\n _ele.relation\n ? relationShips.filter((relation: RELATIONS) => {\n const addedRelations = nominees\n .map((nominee: NOMINEEINFO) => {\n if (nominee.relation !== _ele.relation)\n return nominee.relation;\n })\n .filter((ele) => ele);\n return !addedRelations.includes(relation.label);\n })\n : relationShips.filter((relation: RELATIONS) => {\n const addedRelations = nominees.map(\n (_ele: NOMINEEINFO) => _ele.relation\n );\n return !addedRelations.includes(relation.label);\n })\n }\n pan={pan}\n cancelFormSubmission={cancelFormSubmission}\n />\n )\n )}\n {!noNomineeFlag && nominees.length < 3 && (\n \n )}\n {nominees.every(\n (_ele: NOMINEEINFO) => !_ele.isEditable && !_ele.editShare\n ) && (\n
    \n \n
    \n )}\n\n setShow(false)}\n />\n \n setShowShareModal({\n show: false,\n text: \"\",\n })\n }\n />\n
    \n
    \n
    \n
    \n );\n}\n","import {\n FormControl,\n Select,\n MenuItem,\n FormHelperText,\n Button,\n} from \"@material-ui/core\";\nimport { useState, useRef, useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport { findDefaultBankIndex } from \".\";\nimport { NoteModals } from \"../../../lib/NoteModals\";\nimport { IfscModal } from \"../../../lib/NoteModals/ifscModal\";\nimport TextInput from \"../../../lib/TextField\";\nimport {\n fetchIFSCDetails,\n updateBankDetails,\n} from \"../../../store/actions/nct\";\nimport { RootStateType } from \"../../../store/reducers\";\nimport { BANK, ImageSaveType } from \"../../../store/types/nct\";\nimport {\n accountNumberRegex,\n accountNumberValidation,\n validateIfsc,\n ACCOUNT_TYPE_MASTER_DATA,\n getBankAddress,\n} from \"../../../utils/constants\";\nimport { ConsolidateTableRowType } from \"../ConsolidationFolios/types\";\nimport { ifscRegex } from \"../CorrectionFolios/types\";\nimport { ValidationUI } from \"../MinorStatus/minor-status-edit-bank\";\nimport { BackArrow } from \"../UpdateNominee/SelectedFolios\";\nimport { initialValues } from \"../UpdateNominee/update-nominee-edit\";\nimport en from \"../../../lang/en-us\";\nimport Image from \"../../Image\";\n\nconst { dashboard, common } = en;\n\ninterface BANK_ACCOUNT_DETAILS extends BANK {\n amcName: string;\n primaryHolder: string;\n folioNo?: string;\n}\n\ntype ACCOUNT_DETAILS = {\n key: string;\n label: string;\n value: string;\n onBlurFunction?: Function;\n isDisabled: boolean;\n fieldValidation?: Function;\n shouldValidateField?: boolean;\n};\n\nfunction ChangeBankSelected(props: any) {\n const { targetFunds } = props.location.state || {};\n const [bankDetails, setDetails] = useState([]);\n const [newBankDetails, setNewDetails] = useState({\n accountNo: \"\",\n ifsc: \"\",\n name: \"\",\n accountType: \"SAVINGS\",\n branch: \"\",\n city: \"\",\n pincode: \"\",\n });\n const [errors, setErrors] = useState({});\n const [modalData, setShowModal] = useState(initialValues);\n const [cheques, setCheques] = useState({\n oldCheque: { name: \"OldCheque\", format: \"\", content: \"\" },\n newCheque: { name: \"NewCheque\", format: \"\", content: \"\" },\n });\n const [showAlertModal, setAlertModal] = useState<{\n deleteType: string;\n showModal: boolean;\n }>({\n deleteType: \"\",\n showModal: false,\n });\n const folioRef = useRef();\n\n const [showLoader, setLoader] = useState(false);\n const [ifscValidation, setValidation] = useState(false);\n\n useEffect(() => {\n if (!props.location.state) {\n props.history.push(\"/\");\n return;\n }\n const { targetFunds } = props.location.state || {};\n setDetails(\n targetFunds.map((_ele: ConsolidateTableRowType) => {\n const validBankIndex = findDefaultBankIndex(_ele);\n return {\n amcName: _ele.amcName,\n primaryHolder: _ele.investorName,\n folioNo: _ele.folio,\n ..._ele.banks[validBankIndex],\n };\n })\n );\n }, []);\n\n useEffect(() => {\n const { ifsc } = newBankDetails;\n setLoader(false);\n if (ifsc.length === 11) {\n document.getElementById(\"ifsc\")?.blur();\n _getIFSCDetails();\n } else {\n setNewDetails({\n ...newBankDetails,\n name: \"\",\n branch: \"\",\n city: \"\",\n pincode: \"\",\n });\n }\n }, [newBankDetails.ifsc]);\n\n const handleRemoveBankDetails = (index: number) => {\n const filteredData = bankDetails.filter(\n (_ele: BANK_ACCOUNT_DETAILS, ind: number) =>\n ind !== Number(folioRef.current)\n );\n setAlertModal({\n showModal: false,\n deleteType: \"\",\n });\n if (filteredData.length === 0) {\n setAlertModal({\n deleteType: \"deletedAllFolios\",\n showModal: true,\n });\n\n return;\n }\n setDetails(filteredData);\n };\n\n const _handleTextInputChange = (key: string, value: any) => {\n setNewDetails({\n ...newBankDetails,\n [key]: value,\n });\n };\n\n const validateForm = () => {\n let validForm: boolean = true;\n let errors: any = {};\n if (!accountNumberRegex.test(newBankDetails.accountNo)) {\n validForm = false;\n errors[\"accountNo\"] = common.errors.bankErrors.accountNo.regexError;\n }\n if (\n newBankDetails.accountType ===\n dashboard.ChangeBank.selectedFolios.fields.accountType\n ) {\n errors[\"accountType\"] = common.errors.bankErrors.accountType;\n validForm = false;\n }\n setErrors(errors);\n return validForm;\n };\n\n const handleSubmit = async () => {\n if (validateForm()) {\n const { targetFunds } = props.location.state;\n const pan = props.investorData.PAN;\n const [fund] = targetFunds;\n const { banks } = fund;\n const [bankData] = banks;\n const { accountNo: sourceAccountNo, ifsc: sourceIFSC } = bankData;\n const { accountNo: targetAccountNo, ifsc: targetIFSC } = newBankDetails;\n if (sourceAccountNo === targetAccountNo) {\n setNewDetails({\n ...newBankDetails,\n accountNo: \"\",\n ifsc: \"\",\n name: \"\",\n branch: \"\",\n city: \"\",\n pincode: \"\",\n });\n alert(common.errors.bankErrors.sameBankDetails);\n return;\n }\n const data = targetFunds.map((_ele: ConsolidateTableRowType) => ({\n amc: _ele.amc,\n amc_name: _ele.amcName,\n folio: String(_ele.folio),\n bankDetails: {\n ...newBankDetails,\n },\n }));\n let payload = {\n email: targetFunds[0].email,\n mobile: targetFunds[0].mobile,\n distributor_id: props.token,\n pan,\n data,\n };\n console.log(\"Data for change Bank\", payload);\n try {\n let res = await props.updateBankDetails(payload);\n if (res.status === 201) {\n props.history.replace(\"/new-transaction/nct-type/success\", {\n state: {\n succesMessage: res.message,\n },\n });\n }\n } catch (err: any) {\n alert(err.message || err);\n }\n }\n };\n\n const _handleChangeBankDetails = (\n resetValues: boolean = false,\n showModal: boolean = false,\n bankName: string = \"\",\n bankAddress: string = \"\",\n city: string = \"\",\n pincode: string = \"\"\n ) => {\n setShowModal({\n showModal: showModal,\n name: bankName,\n branch: bankAddress,\n city: city,\n pincode: pincode,\n });\n if (resetValues) {\n setNewDetails({\n ...newBankDetails,\n name: \"\",\n branch: \"\",\n city: \"\",\n pincode: \"\",\n });\n }\n };\n\n const _getIFSCDetails = async () => {\n if (newBankDetails.ifsc.match(ifscRegex)) {\n setValidation(true);\n setLoader(true);\n const { pan, pekrn, mobile, reqId } = props;\n try {\n let response: any = await props.fetchIFSCDetails({\n pan,\n pekrn,\n mobile,\n reqId,\n ifscCode: newBankDetails.ifsc,\n });\n const { errors = [], data = [] } = response;\n if (errors.length) {\n const [firstError] = errors;\n throw Error(firstError?.message);\n }\n const [details] = data;\n const {\n BankAdd1 = \"\",\n BankAdd2 = \"\",\n BankAdd3 = \"\",\n BankPin = \"\",\n } = details;\n _handleChangeBankDetails(\n false,\n true,\n details.BankName,\n getBankAddress(BankAdd1, BankAdd2, BankAdd3),\n details.BankCity,\n String(BankPin)\n );\n setValidation(false);\n } catch (e: any) {\n setLoader(false);\n setValidation(false);\n _handleChangeBankDetails(true);\n setErrors({ ifsc: e.message });\n }\n }\n };\n\n const validateIfscWithRegex = (value: string) => {\n if (!value.match(ifscRegex)) {\n setLoader(false);\n setValidation(false);\n _handleChangeBankDetails(true);\n setErrors({ ifsc: common.errors.bankErrors.ifsc.regex });\n }\n };\n\n const _getBankInfo = () => {\n const { name = \"\", branch = \"\", city = \"\" } = modalData;\n return [name, branch, city].join(\",\");\n };\n\n const _handleProceed = () => {\n const { name = \"\", branch = \"\", city = \"\", pincode = \"\" } = modalData;\n setNewDetails({\n ...newBankDetails,\n name,\n branch,\n city,\n pincode,\n });\n setShowModal(initialValues);\n };\n\n const _handleModalClose = () => {\n setShowModal(false);\n setNewDetails({\n ...newBankDetails,\n ifsc: \"\",\n name: \"\",\n branch: \"\",\n city: \"\",\n pincode: \"\",\n });\n };\n\n return (\n
    \n \n
    \n
    Change of Bank Account Details
    \n
    \n \n

    {dashboard.ChangeBank.selectedFolios.subheading}

    \n {bankDetails.map((_ele: BANK_ACCOUNT_DETAILS, ind: number) => (\n
    \n

    {_ele.amcName}

    \n \n {\n folioRef.current = ind.toString();\n setAlertModal({\n deleteType: \"deleteFolio\",\n showModal: true,\n });\n }}\n />\n \n
    \n

    \n {dashboard.ChangeBank.selectedFolios.primaryHolder}\n {_ele.primaryHolder}\n

    \n

    \n {dashboard.ChangeBank.selectedFolios.ifsc}\n {_ele.ifsc || _ele.neftIfsc}\n

    \n

    \n {dashboard.ChangeBank.selectedFolios.accountNo}\n {_ele.accountNo}\n

    \n

    \n {dashboard.ChangeBank.selectedFolios.folioNo}\n {_ele.folioNo}\n

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

    {dashboard.ChangeBank.selectedFolios.addNewBankHeading}

    \n

    {dashboard.ChangeBank.selectedFolios.addNewBankHeadingInfo}

    \n
    \n {[\n {\n key: \"accountNo\",\n label:\n dashboard.ChangeBank.selectedFolios.fields.accountNumber,\n value: newBankDetails.accountNo,\n isDisabled: false,\n fieldValidation: accountNumberValidation,\n },\n {\n key: \"ifsc\",\n label: dashboard.ChangeBank.selectedFolios.fields.ifsc,\n value: newBankDetails.ifsc,\n onBlurFunction: validateIfscWithRegex,\n isDisabled: false,\n shouldValidateField: true,\n fieldValidation: validateIfsc,\n },\n {\n key: \"name\",\n label: dashboard.ChangeBank.selectedFolios.fields.bankName,\n value: newBankDetails.name,\n isDisabled: true,\n },\n {\n key: \"accountType\",\n label: dashboard.ChangeBank.selectedFolios.fields.accountType,\n value:\n newBankDetails.accountType ||\n dashboard.ChangeBank.selectedFolios.fields.accountType,\n isDisabled: false,\n },\n {\n key: \"branch\",\n label: dashboard.ChangeBank.selectedFolios.fields.branch,\n value: newBankDetails.branch,\n isDisabled: true,\n },\n {\n key: \"city\",\n label: dashboard.ChangeBank.selectedFolios.fields.city,\n value: newBankDetails.city,\n isDisabled: true,\n },\n ].map((_ele: ACCOUNT_DETAILS) =>\n _ele.key === \"accountType\" ? (\n \n {\n _handleTextInputChange(_ele.key, e.target.value);\n }}\n // readOnly={true}\n >\n {_ele.label}\n {ACCOUNT_TYPE_MASTER_DATA.map((type: string) => (\n {type}\n ))}\n \n \n {errors[_ele.key]}\n \n \n ) : (\n \n {\n if (_ele.fieldValidation) {\n if (_ele.fieldValidation(e.target.value)) {\n _handleTextInputChange(_ele.key, e.target.value);\n }\n return;\n }\n _handleTextInputChange(_ele.key, e.target.value);\n }}\n onFocus={() => setErrors({})}\n error={!!errors[_ele.key]}\n onBlur={() => {\n if (_ele.onBlurFunction) {\n _ele.onBlurFunction(_ele.value);\n }\n }}\n helperText={errors[_ele.key]}\n disabled={_ele.isDisabled}\n title={!!_ele.isDisabled ? _ele.value : \"\"}\n />\n {_ele.shouldValidateField && showLoader && (\n \n \n \n )}\n \n )\n )}\n
    \n
    \n
    \n {/*

    {dashboard.ChangeBank.selectedFolios.uploadDocuments}

    */}\n {/*

    {dashboard.ChangeBank.selectedFolios.uploadDocumentsInfo}

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

    {dashboard.ChangeBank.selectedFolios.cancelledCheque}

    */}\n
    \n {/* { */}\n {/* setCheques({ */}\n {/* ...cheques, */}\n {/* oldCheque: { */}\n {/* ...cheques.oldCheque, */}\n {/* format: format, */}\n {/* content: value, */}\n {/* }, */}\n {/* }); */}\n {/* }} */}\n {/* id={\"oldCheque\"} */}\n {/* /> */}\n
    \n
    \n
    \n {/*

    {dashboard.ChangeBank.selectedFolios.bankCheque}

    */}\n
    \n {/* { */}\n {/* setCheques({ */}\n {/* ...cheques, */}\n {/* newCheque: { */}\n {/* ...cheques.newCheque, */}\n {/* format: format, */}\n {/* content: value, */}\n {/* }, */}\n {/* }); */}\n {/* }} */}\n {/* id={\"newCheque\"} */}\n {/* /> */}\n
    \n
    \n
    \n {/* */}\n !!_ele)\n }\n onClick={handleSubmit}\n >\n {dashboard.ChangeBank.selectedFolios.buttonText}\n \n {modalData.showModal && (\n \n )}\n props.history.goBack()\n : handleRemoveBankDetails\n }\n onCancel={() => {\n setAlertModal({\n deleteType: \"\",\n showModal: false,\n });\n folioRef.current = \"\";\n }}\n />\n
    \n
    \n
    \n
    \n
    \n
    \n );\n}\n\nexport default connect(\n ({ authReducer }: RootStateType) => ({ ...authReducer }),\n {\n fetchIFSCDetails,\n updateBankDetails,\n }\n)(ChangeBankSelected);\n","import { Button, MenuItem } from \"@material-ui/core\";\nimport { useState, useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport { TableColumn, TableWithCollapse } from \"../../../lib/DataTable\";\nimport { useTableWithCollapse } from \"../../../lib/DataTable/customHooks\";\nimport { fetchInvestorDetails } from \"../../../store/actions/nct\";\nimport { RootStateType } from \"../../../store/reducers\";\nimport { UPDATE_IFSC } from \"../../../store/types/nct\";\nimport { LIST_PROTFOLIO_PAYLOAD } from \"../../../store/types/portfolio\";\nimport { EQUITY, LIQUID, DEBT, OTHER } from \"../../../utils/constants\";\nimport NoFoliosFound from \"../NoFoliosFound\";\nimport { BackArrow } from \"../UpdateNominee/SelectedFolios\";\nimport {\n portfoliosByTransactionResource,\n portfoliosByModeOfHolding,\n portfoliosByMinorStatus,\n BANK_DETAILS_WITH_NO_IFSC,\n getIFSCDetails,\n} from \"../portfolios/utils\";\nimport en from \"../../../lang/en-us\";\nimport { useMobileEmailFilter } from \"../useMobileEmailFilter\";\nimport CustomizedSelect from \"../transactions/customizedSelect\";\nimport { groupFilteredData } from \"../utils\";\n\nconst { common, dashboard } = en;\n\nexport const UpdateIFSCColumns: TableColumn[] = [\n {\n field: \"folio\",\n headerName: \"Folio\",\n },\n {\n field: \"amcName\",\n headerName: \"Fund House\",\n valueGetter: ({ row }) => {\n return row.amcName ? row.amcName : \"NA\";\n },\n width: 250,\n filterBy: true,\n },\n {\n field: \"name\",\n headerName: \"BANK NAME\",\n width: 250,\n },\n {\n field: \"branch\",\n headerName: \"BRANCH\",\n valueGetter: ({ row }) => {\n return row.branch ? row.branch : \"NA\";\n },\n width: 150,\n },\n {\n field: \"ifsc\",\n headerName: \"IFSC\",\n valueGetter: ({ row }) => {\n return row.ifsc ? row.ifsc : \"NA\";\n },\n width: 200,\n },\n {\n field: \"accountNo\",\n headerName: \"ACCOUNT NO.\",\n width: 150,\n },\n {\n isFilter: true,\n field: \"assetType\",\n headerName: \"Category\",\n filterBy: true,\n renderStaticFilters: [EQUITY, LIQUID, DEBT, OTHER],\n },\n];\n\nfunction UpdateIFSC(props: any) {\n const [rowData, setRowData] = useState([]);\n const [loading, setLoading] = useState(false);\n const { filterState, setGroupFilterMap, filterDispatch } =\n useMobileEmailFilter(rowData);\n const { emailMobileKeys, currentKey, groupedFilterMap } = filterState;\n const {\n selectedRows: targetFunds,\n setSelectedRows: setTargetFunds,\n resetTable,\n tableColumns,\n tableRows,\n resetFilters,\n ...filters\n } = useTableWithCollapse({\n rows: currentKey ? groupedFilterMap[currentKey] : rowData,\n columns: UpdateIFSCColumns,\n loading,\n });\n\n useEffect(() => {\n setLoading(true);\n async function callApi() {\n try {\n const payload = {\n pan: props.investorData.PAN,\n brokercode: props.token,\n };\n const { body: investorDetails = {} } = await props.fetchInvestorDetails(\n payload\n );\n const { success: ifscDetails = [] } = investorDetails;\n const ifscRowData = getIFSCDetails(ifscDetails, [\n portfoliosByTransactionResource,\n portfoliosByModeOfHolding,\n portfoliosByMinorStatus,\n ]);\n setRowData(ifscRowData);\n } catch (err: any) {\n alert(err.message);\n } finally {\n setLoading(false);\n }\n }\n callApi();\n return () => {};\n }, []);\n\n useEffect(() => {\n setTargetFunds([]);\n }, [currentKey]);\n\n const handleFilterKeyChange = (e: any) => {\n filterDispatch({\n type: \"SET_FILTER_KEY\",\n payload: e.target.value,\n });\n };\n\n useEffect(() => {\n if (rowData.length > 0) {\n const groupedFilterMap = groupFilteredData(rowData);\n setGroupFilterMap(groupedFilterMap);\n }\n }, [rowData]);\n\n const _isRowSeletable = ({ row }: { row: BANK_DETAILS_WITH_NO_IFSC }) => {\n if (!(currentKey && currentKey.length > 0)) {\n return false;\n }\n if (targetFunds.length) {\n const [fund] = targetFunds;\n if (fund.accountNo === row.accountNo) {\n return true;\n }\n return false;\n }\n return true;\n };\n\n const _toolTipGetText = ({ row }: { row: BANK_DETAILS_WITH_NO_IFSC }) => {\n if (targetFunds.length) {\n const [fund] = targetFunds;\n if (fund.accountNo !== row.accountNo) {\n return dashboard.UpdateIFSC.toolTipInfo.info;\n }\n }\n if (!(currentKey && currentKey.length > 0)) {\n return common.invalidEmailMobileNCT;\n }\n return \"\";\n };\n\n const handleSubmit = () => {\n props.history.push(\"update-ifsc-details\", { targetFunds });\n };\n\n return (\n
    \n \n
    Update IFSC
    \n {rowData.length > 0 && currentKey && (\n \n \n Select Email-Mobile Combination\n
    \n \n {emailMobileKeys &&\n emailMobileKeys.map((item) => (\n \n {item}\n \n ))}\n \n \n )}\n
    \n
    \n
    {dashboard.UpdateIFSC.UpdateIFSCInfo}
    \n {/*
    */}\n {(loading || !!tableRows.length) && currentKey ? (\n \n ) : (\n \n )}\n {/*
    */}\n {/* */}\n
    \n
    \n {!!rowData.length && (\n
    \n \n {dashboard.UpdateIFSC.buttonText}\n \n
    \n )}\n
    \n
    \n \n );\n}\n\nexport default connect(\n ({ authReducer }: RootStateType) => ({ ...authReducer }),\n {\n fetchInvestorDetails,\n }\n)(UpdateIFSC);\n","import {\n FormControl,\n FormHelperText,\n Button,\n MenuItem,\n} from \"@material-ui/core\";\nimport en from \"../../../lang/en-us\";\nimport { useState, useRef, useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport { IfscModal } from \"../../../lib/NoteModals/ifscModal\";\nimport TextInput from \"../../../lib/TextField\";\nimport {\n sendPhoneOTP,\n fetchIFSCDetails,\n updateIfsc,\n} from \"../../../store/actions/nct\";\nimport { RootStateType } from \"../../../store/reducers\";\nimport {\n ACCOUNT_TYPE_MASTER_DATA,\n getBankAddress,\n} from \"../../../utils/constants\";\nimport { ifscRegex } from \"../CorrectionFolios/types\";\nimport { ValidationUI } from \"../MinorStatus/minor-status-edit-bank\";\nimport { ActionHeader, BackArrow } from \"../UpdateNominee/SelectedFolios\";\nimport { BANK_DETAILS_WITH_NO_IFSC } from \"../portfolios/utils\";\n\nconst { dashboard, common } = en;\n\nconst initMessage: { error: boolean; message: string } = {\n error: false,\n message: \"\",\n};\n\nfunction UpdateIFSCDetails(props: any) {\n const { targetFunds = [] } = props.location.state || {};\n const [ifscError, setIFSCerror] = useState<{\n error: boolean;\n message: string;\n }>(initMessage);\n const [showModal, setShowModal] = useState(false);\n const [bankDetails, setBankDetails] = useState({\n bankName: \"\",\n branch: \"\",\n city: \"\",\n pincode: \"\",\n });\n const [showLoader, setLoader] = useState(false);\n const [ifscValidation, setValidation] = useState(false);\n const notInitialRender = useRef(false);\n\n useEffect(() => {\n if (!props.location.state) {\n props.history.push(\"/\");\n }\n }, []);\n\n const [bankData, setBankData] = useState(\n targetFunds[0]\n );\n\n useEffect(() => {\n const { ifsc = \"\" } = bankData;\n setLoader(false);\n if (notInitialRender.current) {\n if (ifsc.length === 11) {\n document.getElementById(\"bank_ifsc\")?.blur();\n _getBankDetailsFromIFSC();\n } else {\n setBankData({\n ...bankData,\n name: \"\",\n branch: \"\",\n city: \"\",\n pincode: \"\",\n });\n }\n } else {\n notInitialRender.current = true;\n }\n }, [bankData.ifsc]);\n\n const handleChange = (e: any) => {\n setIFSCerror({ error: false, message: \"\" });\n if (e.target.value.length < 12) {\n setBankData({\n ...bankData,\n ifsc: e.target.value,\n });\n }\n };\n\n const handleSubmit = async () => {\n if (!!bankData.ifsc) {\n if (bankData.ifsc.match(ifscRegex)) {\n try {\n const pan = props.investorData.PAN;\n // let res = await props.sendPhoneOTP({\n // mobile,\n // pan,\n // pekrn,\n // action: OTP_ACTIONS.changeifsc,\n // });\n const data = targetFunds.map(\n (_ele: BANK_DETAILS_WITH_NO_IFSC, index: number) => ({\n folio: String(_ele.folio),\n amc: _ele.amc,\n amc_name: _ele.amcName,\n bankDetails: {\n accountNo: _ele.accountNo||bankData.accountNo,\n accountType: _ele.accountType||bankData.accountType,\n name: bankDetails.bankName,\n newIfsc: bankData.ifsc?.toUpperCase(),\n branch: bankDetails.branch,\n city: bankDetails.city,\n pincode: bankDetails.pincode,\n },\n })\n );\n let payload = {\n email: targetFunds[0].email,\n mobile: targetFunds[0].mobile,\n distributor_id: props.token,\n pan,\n data,\n };\n let res = await props.updateIfsc(payload);\n if (res.status === 201) {\n props.history.replace(\"/new-transaction/nct-type/success\", {\n state: {\n succesMessage: res.message,\n },\n });\n }\n } catch (err: any) {\n alert(err.message);\n }\n } else {\n setIFSCerror({\n error: true,\n message: common.errors.bankErrors.ifsc.regex,\n });\n }\n } else {\n setIFSCerror({\n error: true,\n message: common.errors.bankErrors.ifsc.required,\n });\n }\n };\n\n const _getBankDetailsFromIFSC = async () => {\n if (!!bankData.ifsc) {\n if (bankData.ifsc.match(ifscRegex)) {\n setValidation(true);\n setLoader(true);\n const { pan, pekrn, mobile, reqId } = props;\n try {\n let response: any = await props.fetchIFSCDetails({\n pan,\n pekrn,\n mobile,\n reqId,\n ifscCode: bankData.ifsc,\n });\n const { errors = [], data = [] } = response;\n if (errors?.length) {\n const [firstError] = errors;\n throw Error(firstError?.message);\n }\n const [details] = data;\n const {\n BankAdd1 = \"\",\n BankAdd2 = \"\",\n BankAdd3 = \"\",\n BankPin = \"\",\n } = details;\n setBankDetails({\n bankName: details.BankName,\n branch: getBankAddress(BankAdd1, BankAdd2, BankAdd3),\n city: details.BankCity,\n pincode: String(BankPin),\n });\n setValidation(false);\n setShowModal(true);\n } catch (e: any) {\n setLoader(false);\n setValidation(false);\n setIFSCerror({ error: true, message: e.message });\n }\n } else {\n setLoader(false);\n setValidation(false);\n setIFSCerror({\n error: true,\n message: common.errors.bankErrors.ifsc.regex,\n });\n }\n }\n };\n\n const _handleModalClose = () => {\n setBankDetails({\n bankName: \"\",\n branch: \"\",\n city: \"\",\n pincode: \"\",\n });\n setBankData({\n ...bankData,\n ifsc: \"\",\n });\n setShowModal(false);\n };\n\n const _handleProceed = () => {\n const { bankName, branch, city, pincode = \"\" } = bankDetails;\n setBankData({\n ...bankData,\n name: bankName,\n branch,\n city,\n pincode,\n });\n setShowModal(false);\n };\n\n const handleAccountTypeChange = (newType: unknown) => {\n setBankData((prevState) => ({\n ...prevState,\n accountType: String(newType),\n }));\n };\n const handleAcnoChange = (acno: unknown) => {\n console.log(acno);\n setBankData((prevState) => ({\n ...prevState,\n accountNo: String(acno),\n }));\n };\n\n return (\n
    \n {/* */}\n \n
    \n
    Update IFSC Details
    \n
    \n
    \n

    {dashboard.UpdateIFSC.Details.heading}

    \n

    {dashboard.UpdateIFSC.Details.info}

    \n
    \n handleAcnoChange(e.target.value)}\n />\n \n validateIfscWithRegex(bankData?.ifsc)}\n />\n {showLoader && (\n \n \n \n )}\n \n \n handleAccountTypeChange(e.target.value)}\n InputLabelProps={{ shrink: true }}\n select\n fullWidth\n >\n {ACCOUNT_TYPE_MASTER_DATA.map((type) => (\n \n {type}\n \n ))}\n \n\n \n \n
    \n {/* */}\n \n {dashboard.UpdateIFSC.Details.submit}\n \n \n
    \n
    \n
    \n {/* */}\n
    \n );\n}\n\nexport default connect(\n ({ authReducer, investor }: RootStateType) => ({\n ...authReducer,\n ...investor,\n }),\n {\n sendPhoneOTP,\n updateIfsc,\n fetchIFSCDetails,\n }\n)(UpdateIFSCDetails);\n","import { Button } from \"@material-ui/core\";\nimport { useEffect } from \"react\";\nimport en from \"../../../lang/en-us\";\nimport SuccessScreen from \"../SuccessScreen\";\nconst { dashboard } = en;\n\nexport default function UpdateIFSCSuccess(props: any) {\n const { successMessage } = props.location.state;\n return (\n
    \n props.history.push(\"/new-transaction\")}\n backNavigation={() => props.history.push(\"/portal/nct\")}\n />\n
    \n );\n}\n","import { useState, useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport { SubmitButton } from \"../../../lib/Button\";\nimport { TableColumn, TableWithCollapse } from \"../../../lib/DataTable\";\nimport { useTableWithCollapse } from \"../../../lib/DataTable/customHooks\";\nimport { fetchInvestorDetails } from \"../../../store/actions/nct\";\nimport { RootStateType } from \"../../../store/reducers\";\nimport { LIST_PROTFOLIO_PAYLOAD } from \"../../../store/types/portfolio\";\nimport {\n EQUITY,\n LIQUID,\n DEBT,\n OTHER,\n DATA_ERROR,\n} from \"../../../utils/constants\";\nimport { ConsolidateTableRowType } from \"../ConsolidationFolios/types\";\nimport NoFoliosFound from \"../NoFoliosFound\";\nimport { ActionHeader, BackArrow } from \"../UpdateNominee/SelectedFolios\";\nimport {\n getInvestorFunds,\n transactionSourceScenarioEmpty,\n} from \"../portfolios/utils\";\nimport en from \"../../../lang/en-us\";\nimport { MenuItem } from \"@material-ui/core\";\nimport CustomizedSelect from \"../transactions/customizedSelect\";\nimport { useMobileEmailFilter } from \"../useMobileEmailFilter\";\nimport { groupFilteredData } from \"../utils\";\n\nconst { dashboard } = en;\n\nexport const CorrectionFolioColumns: TableColumn[] = [\n {\n field: \"id\",\n headerName: \"FOLIO\",\n },\n {\n field: \"amcName\",\n headerName: \"Fund House\",\n width: 250,\n filterBy: true,\n filterHeader: \"Fund House\",\n filterKey: \"amcName\",\n },\n {\n field: \"bank\",\n headerName: \"BANK NAME\",\n valueGetter: ({ row }) => row.banks[0]?.name || \"Not Available\",\n width: 200,\n },\n {\n field: \"ifsc\",\n headerName: \"IFSC\",\n valueGetter: ({ row }) => row.banks[0]?.ifsc || \"Not Available\",\n width: 200,\n },\n {\n field: \"investorName\",\n headerName: \"PRIMARY HOLDER\",\n valueGetter: ({ row }) =>\n (row?.investorName || \"\").toUpperCase() || \"Not Available\",\n width: 100,\n },\n {\n isFilter: true,\n field: \"assetType\",\n headerName: \"Category\",\n filterBy: true,\n renderStaticFilters: [EQUITY, LIQUID, DEBT, OTHER],\n },\n];\n\nfunction CorrectionFolios(props: any) {\n const [rowData, setRowData] = useState([]);\n const [loading, setLoading] = useState(false);\n const { filterState, setGroupFilterMap, filterDispatch } =\n useMobileEmailFilter(rowData);\n const { emailMobileKeys, currentKey, groupedFilterMap } = filterState;\n const { selectedRows, setSelectedRows, tableRows, tableColumns, ...filters } =\n useTableWithCollapse({\n rows: currentKey ? groupedFilterMap[currentKey] : rowData,\n columns: CorrectionFolioColumns,\n loading,\n });\n\n useEffect(() => {\n async function callApi() {\n try {\n const payload = {\n pan: props.investorData.PAN,\n brokercode: props.token,\n };\n const { body: investorDetails = {} } = await props.fetchInvestorDetails(\n payload\n );\n const { success: correctionFolios = [] } = investorDetails;\n const correctionFoliosRowData = getInvestorFunds(correctionFolios, [\n transactionSourceScenarioEmpty,\n ]);\n setRowData(correctionFoliosRowData);\n setLoading(false);\n } catch (err: any) {\n alert(err.message);\n }\n }\n callApi();\n return () => {};\n }, []);\n\n const handleFilterKeyChange = (e: any) => {\n filterDispatch({\n type: \"SET_FILTER_KEY\",\n payload: e.target.value,\n });\n };\n\n useEffect(() => {\n if (rowData.length > 0) {\n const groupedFilterMap = groupFilteredData(rowData);\n setGroupFilterMap(groupedFilterMap);\n }\n }, [rowData]);\n\n const _handleNext = () => {\n props.history.push(\"correction-folios-selection\", {\n fund: selectedRows[0],\n });\n };\n\n return (\n
    \n {/* */}\n \n
    \n
    \n Correction of erroneous data captured in Folio\n
    \n {rowData.length > 0 && currentKey && (\n \n \n Select Email-Mobile Combination\n
    \n \n {emailMobileKeys &&\n emailMobileKeys.map((item) => (\n \n {item}\n \n ))}\n \n
    \n )}\n \n
    \n
    \n
    \n {\" \"}\n {dashboard.CorrectionFolios.CorrectionFoliosInfo}\n
    \n
    \n {!!tableRows.length && currentKey ? (\n \n ) : (\n \n )}\n
    \n {/* */}\n
    \n
    \n {!!rowData.length && (\n
    \n \n
    \n )}\n
    \n
    \n \n );\n}\n\nexport default connect(\n ({ authReducer }: RootStateType) => ({ ...authReducer }),\n {\n fetchInvestorDetails,\n }\n)(CorrectionFolios);\n","import {\n FormControl,\n Select,\n MenuItem,\n FormHelperText,\n Button,\n FormControlLabel,\n Checkbox,\n} from \"@material-ui/core\";\nimport { CustomRadio } from \"../../../lib/CustomRadio\";\nimport { Grid } from \"@material-ui/core\";\nimport TextInput from \"../../../lib/TextField\";\nimport {\n checkForOnlyAlphabets,\n isAlphaNumeric,\n} from \"../../../utils/constants\";\n\nimport enUs from \"../../../lang/en-us\";\nimport { MAX_LENGTHS } from \"./utils\";\nimport Image from \"../../Image\";\nexport type COUNTRY_DETAILS = {\n code: string;\n dial_code: string;\n name: string;\n};\nexport enum EDIT_ACTION {\n EDIT = \"EDIT\",\n SAVE = \"SAVE\",\n}\nconst { dashboard, dbCommercial } = enUs;\nexport const getCountryNameFromCode = (countryData: any, code: string) => {\n const country = countryData.find((country: any) => country.code === code);\n return country?.name;\n};\nexport default function TaxDetail({\n taxDetail,\n index,\n taxDispatch,\n countries,\n length,\n validateTaxDetail,\n state,\n}: any) {\n const handleChange = ({ target: { value } }: any) => {\n if (isAlphaNumeric(value) && value.length <= 50) {\n taxDispatch({\n type: \"CHANGE\",\n payload: {\n index,\n value,\n key: \"tinId\",\n },\n });\n }\n };\n const handleDelete = (index: number) =>\n taxDispatch({ type: \"DELETE\", payload: { index } });\n const handleEdit = (index: number, action: EDIT_ACTION) => {\n let dispatchValue = action === EDIT_ACTION.EDIT ? true : false;\n if (action === EDIT_ACTION.SAVE && !validateTaxDetail(taxDetail, index)) {\n return;\n }\n taxDispatch({\n type: \"CHANGE\",\n payload: { index, value: dispatchValue, key: \"editing\" },\n });\n if (action == EDIT_ACTION.SAVE) {\n taxDispatch({\n type: \"CHANGE\",\n payload: { index, value: false, key: \"errPresent\" },\n });\n }\n };\n if (!taxDetail.editing) {\n return (\n \n

    ID - {index + 1}

    \n
    \n

    \n {dbCommercial.newPurchase.rightMenu.fatcaEdit.countryOfTaxResidency}\n \n {getCountryNameFromCode(countries, taxDetail.taxResidency)}\n \n

    \n

    \n {dbCommercial.newPurchase.rightMenu.fatcaEdit.taxId}\n {taxDetail.tinAvailability ? \"NA\" : taxDetail.tinId}\n

    \n

    \n {dbCommercial.newPurchase.rightMenu.fatcaEdit.type}\n \n {\" \"}\n {taxDetail.tinAvailability\n ? \"Unavailable\"\n : taxDetail.identityVerification}\n \n

    \n
    \n handleEdit(index, EDIT_ACTION.EDIT)}\n >\n \"edit\n \n {length > 1 && (\n handleDelete(index)}>\n \"delete\n \n )}\n \n );\n }\n return (\n
    \n \n \n
    \n \n {\n taxDispatch({\n type: \"CHANGE\",\n payload: {\n index,\n value,\n key: \"taxResidency\",\n },\n });\n }}\n onFocus={() => {\n const { taxResidency, ...rest } = taxDetail.errors;\n taxDispatch({\n type: \"CHANGE\",\n payload: {\n index: index,\n key: \"errors\",\n value: rest,\n },\n });\n }}\n >\n \n {dashboard.FatcaDeclaration.taxResidencyCountry}\n \n {countries.map((_ele: COUNTRY_DETAILS) => (\n {_ele.name}\n ))}\n \n \n {taxDetail.errors.taxResidency}\n \n \n
    \n
    \n \n
    \n {\n const { tinId, ...rest } = taxDetail.errors;\n taxDispatch({\n type: \"CHANGE\",\n payload: {\n index: index,\n key: \"errors\",\n value: rest,\n },\n });\n }}\n value={taxDetail.tinId}\n error={!!taxDetail.errors.tinId}\n helperText={taxDetail.errors.tinId}\n />\n
    \n {\n if (Object.keys(taxDetail.errors).includes(\"tinId\")) {\n const { tinId, ...rest } = taxDetail.errors;\n taxDispatch({\n type: \"CHANGE\",\n payload: {\n index: index,\n key: \"errors\",\n value: rest,\n },\n });\n }\n if (e.target.checked) {\n //clear tinId and idText\n taxDispatch({\n type: \"CHANGE\",\n payload: { index, value: \"\", key: \"tinId\" },\n });\n taxDispatch({\n type: \"CHANGE\",\n payload: {\n index,\n value: \"\",\n key: \"identityVerificationText\",\n },\n });\n }\n if (!e.target.checked) {\n taxDispatch({\n type: \"CHANGE\",\n payload: {\n index,\n value: \"\",\n key: \"reasonOption\",\n },\n });\n taxDispatch({\n type: \"CHANGE\",\n payload: {\n index,\n value: \"\",\n key: \"reasonOptionText\",\n },\n });\n }\n taxDispatch({\n type: \"CHANGE\",\n payload: {\n index,\n value: !taxDetail.tinAvailability,\n key: \"tinAvailability\",\n },\n });\n }}\n />\n }\n label={dashboard.FatcaDeclaration.tinNotAvailable}\n />\n
    \n
    \n
    \n {!taxDetail.tinAvailability && (\n <>\n \n {\n taxDispatch({\n type: \"CHANGE\",\n payload: {\n index,\n value,\n key: \"identityVerification\",\n },\n });\n }}\n error={!!taxDetail.errors.identityVerification}\n helperText={taxDetail.errors.identityVerification}\n />\n {taxDetail.identityVerification === \"other-identity\" && (\n
    \n {\n if (\n checkForOnlyAlphabets(value) &&\n value.length <= MAX_LENGTHS.otherIdentity\n ) {\n taxDispatch({\n type: \"CHANGE\",\n payload: {\n index: index,\n key: \"identityVerificationText\",\n value,\n },\n });\n }\n }}\n onFocus={() => {\n const { identityVerificationText, ...rest } =\n taxDetail.errors;\n taxDispatch({\n type: \"CHANGE\",\n payload: {\n index: index,\n value: rest,\n key: \"errors\",\n },\n });\n }}\n error={!!taxDetail.errors.identityVerificationText}\n helperText={taxDetail.errors.identityVerificationText}\n />\n
    \n )}\n
    \n \n )}\n {taxDetail.tinAvailability && (\n \n {\n const { reasonOption, ...rest } = taxDetail.errors;\n taxDispatch({\n type: \"CHANGE\",\n payload: {\n index: index,\n key: \"errors\",\n value: rest,\n },\n });\n taxDispatch({\n type: \"CHANGE\",\n payload: {\n index,\n value,\n key: \"reasonOption\",\n },\n });\n }}\n selectedValue={taxDetail.reasonOption}\n error={!!taxDetail.errors.reasonOption}\n helperText={taxDetail.errors.reasonOption}\n />\n {taxDetail.reasonOption === \"C\" && (\n {\n taxDispatch({\n type: \"CHANGE\",\n payload: {\n index,\n value,\n key: \"reasonOptionText\",\n },\n });\n }}\n onFocus={() => {\n const { reasonOptionText, ...rest } = taxDetail.errors;\n taxDispatch({\n type: \"CHANGE\",\n payload: {\n index: index,\n key: \"errors\",\n value: rest,\n },\n });\n }}\n value={taxDetail.reasonOptionText}\n error={!!taxDetail.errors.reasonOptionText}\n helperText={taxDetail.errors.reasonOptionText}\n />\n )}\n \n )}\n
    \n {length > 1 && (\n \n taxDispatch({\n type: \"DELETE\",\n payload: { index },\n })\n }\n >\n Delete\n \n )}\n handleEdit(index, EDIT_ACTION.SAVE)}\n >\n Save\n \n
    \n
    \n
    \n );\n}\n","import * as yup from \"yup\";\nimport enUs from \"../../../lang/en-us\";\nimport {\n getAddressType,\n getIncomeValue,\n getOccupation,\n getPepValue,\n getSourceOfWealth,\n} from \"../portfolios/utils\";\n\nexport type kycValuesType = {\n occupation: string;\n pepFlag: string;\n annualIncomeSlab: string;\n fatherName: string;\n spouseName: string;\n netWorth: string;\n sourceOfWealth: string;\n placeOfBirth: string;\n addressType: string;\n netWorthDate: string | Date;\n};\n\nconst {\n dashboard: {\n FatcaDeclaration: { kycFields },\n },\n} = enUs;\n\nexport const kycValidationSchema = (isIndianResident: string) =>\n yup.object({\n occupation: yup.string().required(kycFields.form.errors.occupation),\n pepFlag: yup.string().required(kycFields.form.errors.pepFlag),\n annualIncomeSlab: yup\n .string()\n .required(kycFields.form.errors.annualIncomeSlab),\n fatherName: yup\n .string()\n .min(KYC_MIN_LENGHTHS.fatherName, kycFields.form.errors.minLength),\n spouseName: yup\n .string()\n .min(KYC_MIN_LENGHTHS.spouseName, kycFields.form.errors.minLength),\n addressType: yup.string().required(kycFields.form.errors.addressType),\n sourceOfWealth: yup.string().required(kycFields.form.errors.sourceOfWealth),\n placeOfBirth: yup\n .string()\n .required(kycFields.form.errors.placeOfBirth)\n .min(KYC_MIN_LENGHTHS.placeOfBirth, kycFields.form.errors.pobMinLength),\n netWorthDate: yup.string().required(kycFields.form.errors.netWorthDate),\n netWorth: yup\n .string()\n .required(kycFields.form.errors.netWorth)\n .test(\n \"greaterThanZero\",\n kycFields.form.errors.zeroError,\n (value: any) => Number(value) > 0\n ),\n });\nconst getKeyByValue = (object: { [key: string]: string }, value: string) => {\n const key = Object.keys(object).find(\n (key) => object[key].toLowerCase() === value.toLowerCase()\n );\n return key !== undefined ? key : value;\n};\nexport const prepareKycValidations = (payload: kycValuesType) => {\n if (payload.addressType?.length > 2) {\n payload.addressType = getKeyByValue(getAddressType, payload.addressType);\n }\n if (payload.pepFlag?.length > 1) {\n payload.pepFlag = getKeyByValue(getPepValue, payload.pepFlag);\n }\n if (payload.annualIncomeSlab?.length > 2) {\n payload.annualIncomeSlab = getKeyByValue(\n getIncomeValue,\n payload.annualIncomeSlab\n );\n }\n if (payload.sourceOfWealth?.length > 2) {\n payload.sourceOfWealth = getKeyByValue(\n getSourceOfWealth,\n payload.sourceOfWealth\n );\n }\n if (payload.occupation?.length > 2) {\n payload.occupation = getKeyByValue(getOccupation, payload.occupation);\n }\n return payload;\n};\nexport const MAX_LENGTHS = {\n fatherName: 70,\n spouseName: 100,\n placeOfBirth: 100,\n otherIdentity: 50,\n netWorth: 18,\n remarks: 100,\n};\nexport const KYC_MIN_LENGHTHS = {\n fatherName: 2,\n spouseName: 2,\n placeOfBirth: 2,\n};\n","import {\n FormControl,\n FormHelperText,\n Grid,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n} from \"@material-ui/core\";\nimport {\n getAddressType,\n getIncomeValue,\n getOccupation,\n getPepValue,\n getSourceOfWealth,\n} from \"../portfolios/utils\";\nimport enUs from \"../../../lang/en-us\";\nimport { isError, showHelperText } from \"../../../utils/utilityFunctions\";\nimport DatePickerInput from \"../../../lib/DatePicker\";\nimport {\n checkForOnlyAlphabets,\n isFloatingNumber,\n} from \"../../../utils/constants\";\nimport { MAX_LENGTHS } from \"./utils\";\n\nconst { dashboard } = enUs;\n\nexport default function KycFields({ kycFormik }: any) {\n return (\n \n
    {dashboard.FatcaDeclaration.kycFields.heading}
    \n \n \n {\n if (\n checkForOnlyAlphabets(e.target.value) &&\n e.target.value.length <= MAX_LENGTHS.fatherName\n ) {\n kycFormik.setFieldValue(\"fatherName\", e.target.value);\n }\n }}\n onBlur={kycFormik.handleBlur}\n label={dashboard.FatcaDeclaration.kycFields.fatherName}\n />\n \n \n {\n if (\n checkForOnlyAlphabets(e.target.value) &&\n e.target.value.length <= MAX_LENGTHS.spouseName\n ) {\n kycFormik.setFieldValue(\"spouseName\", e.target.value);\n }\n }}\n value={kycFormik.values.spouseName}\n onBlur={kycFormik.handleBlur}\n label={dashboard.FatcaDeclaration.kycFields.spouseName}\n />\n \n \n \n \n {dashboard.FatcaDeclaration.kycFields.pepFlag}\n \n \n {Object.keys(getPepValue).map((item: any) => (\n \n {getPepValue ? getPepValue[item] : item}\n \n ))}\n \n \n {showHelperText(kycFormik, \"pepFlag\")}\n \n \n \n \n \n \n {dashboard.FatcaDeclaration.kycFields.annualIncomeSlab}\n \n \n {Object.keys(getIncomeValue).map((item: any) => (\n \n {getIncomeValue ? getIncomeValue[item] : item}\n \n ))}\n \n \n {showHelperText(kycFormik, \"annualIncomeSlab\")}\n \n \n \n \n \n \n {dashboard.FatcaDeclaration.kycFields.occupation}\n \n \n {Object.keys(getOccupation).map((item: any) => (\n \n {getOccupation ? getOccupation[item] : item}\n \n ))}\n \n \n {showHelperText(kycFormik, \"occupation\")}\n \n \n \n \n \n \n {dashboard.FatcaDeclaration.kycFields.addressType}\n \n \n {Object.keys(getAddressType).map((item: any) => (\n \n {getAddressType ? getAddressType[item] : item}\n \n ))}\n \n \n {showHelperText(kycFormik, \"addressType\")}\n \n \n \n \n \n \n {dashboard.FatcaDeclaration.kycFields.sourceOfWealth}\n \n \n {Object.keys(getSourceOfWealth).map((item: any) => (\n \n {getSourceOfWealth ? getSourceOfWealth[item] : item}\n \n ))}\n \n \n {showHelperText(kycFormik, \"sourceOfWealth\")}\n \n \n \n \n {\n if (\n isFloatingNumber(e.target.value) &&\n e.target.value.length <= MAX_LENGTHS.netWorth\n ) {\n kycFormik.setFieldValue(\"netWorth\", e.target.value);\n }\n }}\n value={kycFormik.values.netWorth}\n onBlur={kycFormik.handleBlur}\n label={dashboard.FatcaDeclaration.kycFields.netWorth}\n />\n \n \n {\n kycFormik.setFieldValue(\"netWorthDate\", e);\n }}\n />\n \n \n \n );\n}\n","import {\n Button,\n Checkbox,\n FormControl,\n FormControlLabel,\n FormHelperText,\n Grid,\n MenuItem,\n Select,\n TextField,\n Typography,\n} from \"@material-ui/core\";\nimport { useFormik } from \"formik\";\nimport { useEffect, useReducer } from \"react\";\nimport { useState } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport en from \"../../../lang/en-us\";\nimport { CustomRadio } from \"../../../lib/CustomRadio\";\nimport TextInput from \"../../../lib/TextField\";\nimport {\n getFatcaDetails,\n getCountries,\n updateFATCA,\n} from \"../../../store/actions/nct\";\nimport { RootStateType } from \"../../../store/reducers/index\";\nimport TaxDetail from \"./TaxDetail\";\nimport { IsAllow } from \"../../../store/types/portfolio\";\nimport {\n checkForOnlyAlphabets,\n FATCA,\n getDateString,\n OTP_ACTIONS,\n} from \"../../../utils/constants\";\nimport KycFields from \"./KycFields\";\nimport {\n kycValidationSchema,\n kycValuesType,\n MAX_LENGTHS,\n prepareKycValidations,\n} from \"./utils\";\nimport { isError, showHelperText } from \"../../../utils/utilityFunctions\";\nimport { BackArrow } from \"../UpdateNominee/SelectedFolios\";\n\nconst { dashboard, common, dbCommercial } = en;\n\ntype COUNTRY_DETAILS = {\n code: string;\n dial_code: string;\n name: string;\n};\n\ntype COUNTRIES = {\n countries: COUNTRY_DETAILS[];\n};\n\nconst payloadStaticValues = {\n folio: \"\",\n aadhaarNo: \"\",\n amc: \"\",\n sourceOfFunds: \"\",\n corporateServices: \"\",\n taxStatus: \"\",\n};\n\nconst initialState = {\n isIndianResident: \"\",\n tinAvailability: false,\n identityVerification: \"\",\n reasonOption: \"\",\n countryOfBirth: \"\",\n nationality: \"\",\n taxResidency: \"\",\n identityVerificationText: \"\",\n tinId: \"\",\n declaration: \"\",\n reasonOptionText: \"\",\n remarks: \"\",\n placeOfBirth: \"\",\n};\n\nconst kycInitialValues: kycValuesType = {\n occupation: \"\",\n pepFlag: \"\",\n fatherName: \"\",\n spouseName: \"\",\n netWorthDate: new Date(),\n annualIncomeSlab: \"\",\n placeOfBirth: \"\",\n addressType: \"\",\n netWorth: \"\",\n sourceOfWealth: \"\",\n};\n\nconst taxInitialState = [\n {\n taxResidency: \"\",\n tinId: \"\",\n identityVerification: \"\",\n identityVerificationText: \"\",\n tinAvailability: false,\n editing: true,\n errPresent: false,\n reasonOption: \"\",\n reasonOptionText: \"\",\n errors: {},\n },\n];\nexport const taxReducer = (state: any, action: any) => {\n switch (action.type) {\n case \"INITIALIZE\":\n return [...action.payload];\n case \"CHANGE\":\n const newState = [\n ...state.slice(0, action.payload.index),\n {\n ...state[action.payload.index],\n [action.payload.key]: action.payload.value,\n },\n ...state.slice(action.payload.index + 1),\n ];\n return newState;\n case \"ADD\":\n return [...state, ...taxInitialState];\n case \"DELETE\":\n return [\n ...state.slice(0, action.payload.index),\n ...state.slice(action.payload.index + 1),\n ];\n default:\n return state;\n }\n};\n\nfunction FatcaDeclaration(props: any) {\n const [state, setState] = useState(initialState);\n const [isChecked, setChecked] = useState(false);\n const [loading, setLoading] = useState(false);\n const kycFormik = useFormik({\n initialValues: kycInitialValues,\n onSubmit: () => {},\n validationSchema: kycValidationSchema(state.isIndianResident),\n validateOnMount: false,\n });\n const [taxData, taxDispatch] = useReducer(taxReducer, taxInitialState);\n const [errors, setErrors] = useState({});\n\n const [countries, setCountries] = useState([]);\n const dispatch = useDispatch();\n useEffect(() => {\n async function callApi() {\n const payload: any = {\n pan: props.investorData.PAN,\n mobile: props.mobile,\n pekrn: props.investorData.PEKRN || \"\",\n };\n try {\n setLoading(true);\n const countriesData = await props.getCountries();\n const { countries: masterData = [] }: COUNTRIES = countriesData;\n setCountries(masterData);\n const { response: fatcaInfo } = await props.getFatcaDetails(payload);\n const { data: fatcaDetails = [], errors = [] } = fatcaInfo;\n if (errors.length && fatcaDetails.length === 0) {\n const [firstError] = errors;\n throw Error(firstError.message);\n }\n const data = fatcaDetails[0] || [];\n setState({\n ...state,\n isIndianResident: data?.taxResidencyOtherthanIndia,\n nationality: data?.nationality,\n countryOfBirth:\n (data?.taxResidencyOtherthanIndia || data?.declaration) ===\n IsAllow.No\n ? \"India\"\n : data?.countryOfBirth,\n placeOfBirth: data?.placeOfBirth,\n });\n\n const kycDetailsValues: kycValuesType = {\n netWorth: data?.netWorth,\n addressType: data?.addressType,\n placeOfBirth: data?.placeOfBirth,\n occupation: data?.occupation,\n annualIncomeSlab: data?.annualIncomeSlab,\n sourceOfWealth: data?.sourceOfWealth,\n fatherName: data?.fatherName,\n spouseName: data?.spouseName,\n pepFlag: data?.pepFlag,\n netWorthDate: data?.netWorthDate,\n };\n const kycDetailsInitValues = prepareKycValidations(kycDetailsValues);\n kycFormik.setValues(kycDetailsInitValues);\n const taxDetails = data?.taxDetails || [];\n const _taxDetails = taxDetails.map((taxDetail: any) => ({\n taxResidency: taxDetail.countryTax,\n tinId: taxDetail.taxId,\n identityVerification:\n taxDetail.idType?.toLowerCase() === \"tin\"\n ? \"tin\"\n : \"other-identity\",\n identityVerificationText:\n taxDetail.idType?.toLowerCase() === \"tin\" ? \"\" : taxDetail.idType,\n tinAvailability: !taxDetail.taxId,\n reasonOptioN: !!taxDetail.tinReason\n ? getTinReasonOption(taxDetail.tinReason)\n : getTinReasonOption(taxDetail.remarks),\n reasonOptionText: !!taxDetail.tinReason\n ? getTinReasonOption(taxDetail.tinReason)\n : getTinReasonOption(taxDetail.remarks) === \"C\"\n ? taxDetail.remarks\n : \"\",\n editing: false,\n errPresent: false,\n errors: {},\n }));\n _taxDetails.length !== 0 &&\n taxDispatch({ type: \"INITIALIZE\", payload: _taxDetails });\n setLoading(false);\n } catch (err: any) {\n setLoading(false);\n console.error(err);\n alert(err.message);\n }\n }\n callApi();\n return () => {\n setCountries([]);\n };\n }, []);\n\n const validateTaxDetail = (taxDetail: any, index: number) => {\n let errors: any = {};\n let formIsValid = true;\n if (!state.isIndianResident) {\n formIsValid = false;\n errors[\"isIndianResident\"] =\n dashboard.FatcaDeclaration.errors.taxResidency;\n }\n if (state.isIndianResident === \"Y\") {\n if (!taxDetail.taxResidency || taxDetail.taxResidency === \"0\") {\n formIsValid = false;\n errors[\"taxResidency\"] =\n dashboard.FatcaDeclaration.errors.countryOfTaxResidency;\n }\n if (!taxDetail.tinAvailability) {\n if (!taxDetail.tinId) {\n formIsValid = false;\n errors[\"tinId\"] = dashboard.FatcaDeclaration.errors.tinNumber;\n }\n if (!taxDetail.identityVerification) {\n formIsValid = false;\n errors[\"identityVerification\"] =\n dashboard.FatcaDeclaration.errors.identificationType;\n }\n if (\n taxDetail.identityVerification === \"other-identity\" &&\n !taxDetail.identityVerificationText\n ) {\n formIsValid = false;\n errors[\"identityVerificationText\"] =\n dashboard.FatcaDeclaration.errors.identificationReason;\n }\n } else {\n if (!taxDetail.reasonOption) {\n formIsValid = false;\n errors[\"reasonOption\"] =\n dashboard.FatcaDeclaration.errors.noTinReason;\n }\n if (taxDetail.reasonOption === \"C\" && !taxDetail.reasonOptionText) {\n formIsValid = false;\n errors[\"reasonOptionText\"] =\n dashboard.FatcaDeclaration.errors.noTinReason;\n }\n if (!checkMaxCharacter(state.reasonOptionText)) {\n formIsValid = false;\n errors[\"reasonOptionText\"] =\n dashboard.FatcaDeclaration.errors.maxCharacterForTinReason;\n }\n }\n }\n if (!formIsValid) {\n taxDispatch({\n type: \"CHANGE\",\n payload: { index: index, value: true, key: \"errPresent\" },\n });\n }\n taxDispatch({\n type: \"CHANGE\",\n payload: { index: index, value: errors, key: \"errors\" },\n });\n return formIsValid;\n };\n\n const validateCommonFields = (state: any, isChecked: any) => {\n let errors: any = {};\n let formIsValid = true;\n if (!isChecked) {\n formIsValid = false;\n errors[\"isChecked\"] = dashboard.FatcaDeclaration.errors.declarationBox;\n }\n if (!state.countryOfBirth || state.countryOfBirth === \"0\") {\n formIsValid = false;\n errors[\"countryOfBirth\"] =\n dashboard.FatcaDeclaration.errors.countryOfBirth;\n }\n if (!state.nationality || state.nationality === \"0\") {\n formIsValid = false;\n errors[\"nationality\"] = dashboard.FatcaDeclaration.errors.nationality;\n }\n setErrors(errors);\n return formIsValid;\n };\n const handleSubmit = async () => {\n const { mobile, pan, pekrn } = props;\n kycFormik.submitForm();\n let taxDetailsValid = true;\n const commonFieldsValid = validateCommonFields(state, isChecked);\n taxData.forEach(\n (taxDetail: any, index: number) =>\n (taxDetailsValid =\n taxDetailsValid && validateTaxDetail(taxDetail, index))\n );\n if (\n (commonFieldsValid && taxDetailsValid && kycFormik.isValid) ||\n (state.isIndianResident === IsAllow.No && isChecked && kycFormik.isValid)\n ) {\n try {\n let taxDetailsForAPI;\n if (state.isIndianResident === IsAllow.No) {\n taxDetailsForAPI = [\n {\n country: \"\",\n idType: \"\",\n taxId: \"\",\n tinReason: \"\",\n tinRemarks: \"\",\n },\n ];\n } else {\n taxDetailsForAPI = taxData.map((taxDetail: any) => {\n return {\n country: taxDetail.taxResidency,\n idType:\n taxDetail.identityVerification === \"tin\"\n ? \"TIN\"\n : taxDetail.identityVerificationText,\n taxId: taxDetail.tinId,\n tinReason: !!taxDetail.reasonOption ? taxDetail.reasonOption : \"\",\n tinRemarks:\n taxDetail.reasonOption === \"C\"\n ? taxDetail.reasonOptionText\n : \"\",\n };\n });\n }\n let data = {\n declaration: state.isIndianResident,\n taxResidencyOtherthanIndia: state.isIndianResident,\n countryOfBirth: state.countryOfBirth,\n nationality: state.nationality,\n taxResidency: taxDetailsForAPI,\n ...kycFormik.values,\n netWorthDate: getDateString(kycFormik.values.netWorthDate),\n };\n const investorName = props.investorData.invname;\n const investorPan = props.investorData.PAN;\n const investor = props.investors.find(\n (item: any) =>\n item.Name.toLowerCase() === investorName.toLowerCase() ||\n item.Pan.toLowerCase() == investorPan.toLowerCase()\n );\n\n const payload: {\n email: string;\n mobile: string;\n pan: string;\n distributor_id: string;\n data: any;\n } = {\n email: investor.Email,\n mobile: investor.Mobile,\n pan: investorPan,\n distributor_id: props.token,\n data: [data],\n };\n setLoading(true);\n const apiRes = await updateFATCA(payload)(dispatch);\n if (apiRes.status === 201) {\n props.history.replace(\"/new-transaction/nct-type/success\", {\n state: {\n succesMessage: apiRes.message,\n },\n });\n }\n } catch (err: any) {\n console.error(err);\n alert(err.message);\n } finally {\n setLoading(false);\n }\n }\n };\n\n const getTinReasonOption = (value: string) => {\n switch ((value || \"\").trim().toLowerCase()) {\n case \"A\".toLowerCase():\n case dashboard.FatcaDeclaration.accountHolderLiable.trim().toLowerCase():\n return \"A\";\n case \"B\".toLowerCase():\n case dashboard.FatcaDeclaration.noTinRequired.trim().toLowerCase():\n return \"B\";\n default:\n return \"C\";\n }\n };\n\n const checkMaxCharacter = (value: string) => {\n return value.length <= 10 ? true : false;\n };\n\n return (\n
    \n
    \n
    \n \n
    Fatca Declaration
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n {dashboard.FatcaDeclaration.enterPanPekrnHeading}\n
    \n \n
    \n
    \n {\n const { isIndianResident, ...rest } = errors;\n setErrors(rest);\n setState({\n ...initialState,\n isIndianResident: value,\n countryOfBirth: \"\",\n });\n if (value === IsAllow.No) {\n setState((prev: any) => ({\n ...prev,\n countryOfBirth: \"India\",\n }));\n const { countryOfBirth, ...rest } = errors;\n setErrors(rest);\n }\n }}\n error={!!errors.isIndianResident}\n helperText={errors.isIndianResident}\n isLoading={loading}\n />\n
    \n \n {(state.isIndianResident === IsAllow.YES ||\n state.isIndianResident === IsAllow.No) && (\n \n
    \n \n {\n setState((prevState: any) => {\n return {\n ...prevState,\n countryOfBirth: value,\n };\n });\n }}\n disabled={state.isIndianResident === IsAllow.No}\n onFocus={() => {\n const { countryOfBirth, ...rest } = errors;\n setErrors(rest);\n }}\n >\n {state.isIndianResident === IsAllow.YES && (\n Country of Birth\n )}\n {state.isIndianResident === IsAllow.No ? (\n India \n ) : (\n countries.map((_ele: COUNTRY_DETAILS) => (\n \n {_ele.name}\n \n ))\n )}\n \n \n {errors.countryOfBirth}\n \n \n
    \n
    \n )}\n {state.isIndianResident === IsAllow.YES && (\n \n
    \n \n \n setState({\n ...state,\n nationality: value,\n })\n }\n onFocus={() => {\n const { nationality, ...rest } = errors;\n setErrors(rest);\n }}\n >\n \n {dashboard.FatcaDeclaration.nationality}\n \n {countries.map((_ele: COUNTRY_DETAILS) => (\n \n {_ele.name}\n \n ))}\n \n \n {errors.nationality}\n \n \n
    \n
    \n )}\n {(state.isIndianResident === IsAllow.No ||\n state.isIndianResident === IsAllow.YES) && (\n \n {\n if (\n checkForOnlyAlphabets(e.target.value) &&\n e.target.value.length <= MAX_LENGTHS.placeOfBirth\n ) {\n kycFormik.setFieldValue(\n \"placeOfBirth\",\n e.target.value\n );\n }\n }}\n onBlur={kycFormik.handleBlur}\n label={\n dashboard.FatcaDeclaration.kycFields.placeOfBirth\n }\n />\n \n )}\n \n
    \n {state.isIndianResident === IsAllow.YES &&\n taxData.map((taxDetail: any, _index: number) => {\n return (\n \n );\n })}\n {taxData.length < 3 && state.isIndianResident === IsAllow.YES && (\n
    \n

    {`You can add ${3 - taxData.length} more ID${\n taxData.length == 2 ? \"\" : \"'S\"\n }`}

    \n taxDispatch({ type: \"ADD\" })}>\n {dbCommercial.newPurchase.rightMenu.fatcaEdit.addId}\n \n
    \n )}\n {(state.isIndianResident === IsAllow.No ||\n state.isIndianResident === IsAllow.YES) && (\n \n )}\n
    \n
    \n \n setChecked(!isChecked)}\n onFocus={() => {\n const { isChecked, ...rest } = errors;\n setErrors(rest);\n }}\n disabled={loading}\n />\n }\n label={<>{dashboard.FatcaDeclaration.acknowledge} }\n />\n {errors.isChecked}\n \n \n {dashboard.FatcaDeclaration.buttonText}\n \n
    \n
    \n
    \n
    \n
    \n
    \n );\n}\n\nexport default connect(\n ({ authReducer, investor }: RootStateType) => ({\n ...authReducer,\n ...investor,\n }),\n {\n getCountries,\n getFatcaDetails,\n updateFATCA,\n }\n)(FatcaDeclaration);\n","import { FormControl, InputLabel, Select, MenuItem } from \"@material-ui/core\";\nimport { useState, useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport { SubmitButton } from \"../../../lib/Button\";\nimport { CustomRadio } from \"../../../lib/CustomRadio\";\nimport { TableColumn, TableWithCollapse } from \"../../../lib/DataTable\";\nimport { useTableWithCollapse } from \"../../../lib/DataTable/customHooks\";\nimport {\n fetchInvestorDetails,\n sendPhoneOTP,\n updateMultiBankDetails,\n} from \"../../../store/actions/nct\";\nimport { RootStateType } from \"../../../store/reducers\";\nimport { BANK } from \"../../../store/types/nct\";\nimport { EQUITY, LIQUID, DEBT, OTHER } from \"../../../utils/constants\";\nimport { maskMobileNumber } from \"../../../utils/utilityFunctions\";\nimport { findDefaultBank, findDefaultBankIndex } from \"../ChangeBank\";\nimport { ConsolidateTableRowType } from \"../ConsolidationFolios/types\";\nimport NoFoliosFound from \"../NoFoliosFound\";\nimport { BackArrow } from \"../UpdateNominee/SelectedFolios\";\nimport {\n getInvestorFunds,\n portfoliosByModeOfHolding,\n portfoliosByTransactionResource,\n} from \"../portfolios/utils\";\nimport en from \"../../../lang/en-us\";\nimport CustomizedSelect from \"../transactions/customizedSelect\";\nimport { useMobileEmailFilter } from \"../useMobileEmailFilter\";\nimport { groupFilteredData } from \"../utils\";\n\nconst { dashboard } = en;\n\nexport const ADD_BANK = \"addition\";\nexport const DELETE_BANK = \"deletion\";\nexport const CHANGE_DEFALUT = \"changeDefaultFlag\";\n\nconst MenuList = [\n {\n label: dashboard.BankMandate.selectedFolios.radioOption1,\n value: ADD_BANK,\n },\n {\n label: dashboard.BankMandate.selectedFolios.radioOption2,\n value: DELETE_BANK,\n },\n {\n label: dashboard.BankMandate.selectedFolios.radioOption3,\n value: CHANGE_DEFALUT,\n },\n];\n\nexport const Columns: TableColumn[] = [\n {\n field: \"folio\",\n headerName: \"FOLIO\",\n },\n {\n field: \"amcName\",\n headerName: \"Fund House\",\n width: 250,\n filterBy: true,\n filterHeader: \"Fund House\",\n filterKey: \"amcName\",\n },\n {\n field: \"bank\",\n headerName: \"DEFAULT BANK\",\n valueGetter: ({ row }) =>\n findDefaultBank(row)?.name || dashboard.notAvailable,\n width: 200,\n },\n {\n field: \"accountNo\",\n headerName: \"ACCOUNT NUMBER\",\n valueGetter: ({ row }) =>\n maskMobileNumber(findDefaultBank(row)?.accountNo) ||\n dashboard.notAvailable,\n width: 200,\n },\n {\n field: \"investorName\",\n headerName: \"PRIMARY HOLDER\",\n valueGetter: ({ row }) =>\n (row?.investorName || \"\").toUpperCase() || dashboard.notAvailable,\n width: 100,\n },\n {\n isFilter: true,\n field: \"assetType\",\n headerName: \"Category\",\n filterBy: true,\n renderStaticFilters: [EQUITY, LIQUID, DEBT, OTHER],\n },\n];\nfunction BankMandate(props: any) {\n const [rowData, setRowdata] = useState([]);\n const { filterState, setGroupFilterMap, filterDispatch } =\n useMobileEmailFilter(rowData);\n const { emailMobileKeys, currentKey, groupedFilterMap } = filterState;\n const [loading, setLoading] = useState(false);\n const [actionType, setActionType] = useState(ADD_BANK);\n const {\n selectedRows: targetFunds,\n setSelectedRows: setTargetFunds,\n resetTable,\n resetFilters,\n tableColumns,\n tableRows,\n ...filters\n } = useTableWithCollapse({\n rows: currentKey ? groupedFilterMap[currentKey] : rowData,\n columns: Columns,\n loading,\n });\n\n useEffect(() => {\n setLoading(true);\n async function callApi() {\n const payload = {\n pan: props.investorData.PAN,\n brokercode: props.token,\n };\n try {\n const { body: investorDetails = {} } = await props.fetchInvestorDetails(\n payload\n );\n const { success: investorFundDetails = [] } = investorDetails;\n const bankFundRowData = getInvestorFunds(investorFundDetails, [\n portfoliosByTransactionResource,\n portfoliosByModeOfHolding,\n ({ banks = [] }: ConsolidateTableRowType): boolean =>\n banks.findIndex(\n (details: BANK) =>\n details.default === \"Y\" || details.default === \"\"\n ) !== -1,\n ]);\n setRowdata(bankFundRowData);\n } catch (err: any) {\n alert(err.message);\n } finally {\n setLoading(false);\n }\n }\n callApi();\n return () => {};\n }, []);\n\n useEffect(() => {\n setTargetFunds([]);\n }, [currentKey]);\n\n useEffect(() => {\n if (rowData.length > 0) {\n const groupedFilterMap = groupFilteredData(rowData);\n setGroupFilterMap(groupedFilterMap);\n }\n }, [rowData]);\n\n const handleFilterKeyChange = (e: any) => {\n filterDispatch({\n type: \"SET_FILTER_KEY\",\n payload: e.target.value,\n });\n };\n\n useEffect(() => {\n resetFilters();\n setTargetFunds([]);\n }, [actionType]);\n\n const _isRowSeletable = ({ row }: { row: ConsolidateTableRowType }) => {\n const { banks = [] } = row;\n if (banks.length === 1 && actionType !== ADD_BANK) {\n return false;\n }\n if (actionType === ADD_BANK && targetFunds.length) {\n const [fund] = targetFunds;\n\n const rowDefaultBankIndex = findDefaultBankIndex(row);\n const fundDefaultBankIndex = findDefaultBankIndex(fund);\n\n const bankIfsc = fund.banks[fundDefaultBankIndex]?.ifsc?.toUpperCase();\n const rowIfsc = row.banks[fundDefaultBankIndex]?.ifsc?.toUpperCase();\n\n const accountNo = fund.banks[rowDefaultBankIndex]?.accountNo;\n const rowAccountNo = row.banks[rowDefaultBankIndex]?.accountNo;\n\n if (!(bankIfsc === rowIfsc && accountNo === rowAccountNo)) {\n return false;\n }\n }\n return true;\n };\n\n const _toolTipGetText = ({ row }: { row: ConsolidateTableRowType }) => {\n const { banks = [] } = row;\n if (banks.length === 1 && actionType !== ADD_BANK) {\n return dashboard.BankMandate.toolTipText;\n }\n if (actionType === ADD_BANK && targetFunds.length) {\n const [fund] = targetFunds;\n\n const rowDefaultBankIndex = findDefaultBankIndex(row);\n const fundDefaultBankIndex = findDefaultBankIndex(fund);\n\n const bankIfsc = fund.banks[fundDefaultBankIndex]?.ifsc?.toUpperCase() || fund.banks[fundDefaultBankIndex]?.ifsccode?.toUpperCase();\n const rowIfsc = row.banks[fundDefaultBankIndex]?.ifsc?.toUpperCase() || row.banks[fundDefaultBankIndex]?.ifsccode?.toUpperCase();\n\n const accountNo = fund.banks[rowDefaultBankIndex]?.accountNo;\n const rowAccountNo = row.banks[rowDefaultBankIndex]?.accountNo;\n\n if (!(bankIfsc === rowIfsc && accountNo === rowAccountNo)) {\n return dashboard.ChangeBank.tooltip.info1;\n }\n }\n return \"\";\n };\n\n const handleSubmit = async () => {\n if (actionType === ADD_BANK) {\n props.history.push(\"bank-mandate-add-bank\", {\n targetFunds,\n actionType,\n addBank: true,\n });\n return;\n }\n props.history.push(\"bank-mandate-delete-selected\", {\n targetFunds: targetFunds.map((tf) => ({\n ...tf,\n banks: tf.banks.map((bank) => ({\n ...bank,\n ifsc: bank?.ifsccode || bank?.ifsc,\n })),\n })),\n actionType,\n addBank: false,\n });\n setTargetFunds([]);\n };\n\n return (\n
    \n \n {tableRows.length > 0 && currentKey && (\n \n \n Select Email-Mobile Combination\n
    \n \n {emailMobileKeys &&\n emailMobileKeys.map((item) => (\n \n {item}\n \n ))}\n \n \n )}\n
    \n
    \n setActionType(value)}\n />\n \n \n {dashboard.BankMandate.selectOption}\n \n setActionType(e.target.value)}\n >\n {MenuList.map((item) => (\n \n {item.label}\n \n ))}\n \n \n
    {dashboard.BankMandate.BankMandateInfo}
    \n
    \n {(!loading && !tableRows.length) || !currentKey ? (\n \n ) : (\n \n )}\n
    \n
    \n
    \n {!!rowData.length && (\n
    \n \n
    \n )}\n
    \n
    \n {/* */}\n \n );\n}\nexport default connect(\n ({ authReducer }: RootStateType) => ({ ...authReducer }),\n {\n fetchInvestorDetails,\n updateMultiBankDetails,\n sendPhoneOTP,\n }\n)(BankMandate);\n","import {\n FormControl,\n Select,\n MenuItem,\n FormHelperText,\n Button,\n} from \"@material-ui/core\";\nimport { useState, useRef, useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport { NoteModals } from \"../../../lib/NoteModals\";\nimport { IfscModal } from \"../../../lib/NoteModals/ifscModal\";\nimport TextInput from \"../../../lib/TextField\";\nimport {\n sendPhoneOTP,\n fetchIFSCDetails,\n updateMultiBankDetails,\n} from \"../../../store/actions/nct\";\nimport { RootStateType } from \"../../../store/reducers\";\nimport { BANK, ImageSaveType } from \"../../../store/types/nct\";\nimport {\n accountNumberRegex,\n OTP_ACTIONS,\n getBankAddress,\n accountNumberValidation,\n validateIfsc,\n ACCOUNT_TYPE_MASTER_DATA,\n BANK_ACCOUNT_DETAILS,\n} from \"../../../utils/constants\";\nimport { findDefaultBankIndex } from \"../ChangeBank\";\nimport { ConsolidateTableRowType } from \"../ConsolidationFolios/types\";\nimport { ifscRegex } from \"../CorrectionFolios/types\";\nimport { ValidationUI } from \"../MinorStatus/minor-status-edit-bank\";\nimport { ActionHeader, BackArrow } from \"../UpdateNominee/SelectedFolios\";\nimport { initialValues } from \"../UpdateNominee/update-nominee-edit\";\nimport en from \"../../../lang/en-us\";\nimport Image from \"../../Image\";\n\nconst { dashboard, common } = en;\n\ninterface BANK_ACCOUNT_DETAILS extends BANK {\n amcName: string;\n primaryHolder: string;\n folioNo?: string;\n}\n\ntype ACCOUNT_DETAILS = {\n key: string;\n label: string;\n value: string;\n isDisabled?: boolean;\n blurFunction?: Function;\n fieldValidation?: Function;\n shouldValidateField?: boolean;\n};\n\nconst getInitChequeData = () => {\n return {\n oldCheque: { name: \"OldCheque\", format: \"\", content: \"\" },\n newCheque: { name: \"NewCheque\", format: \"\", content: \"\" },\n };\n};\nfunction BankMandateAddBank(props: any) {\n const [bankDetails, setDetails] = useState([]);\n const { targetFunds = [] } = props.location.state || {};\n\n const [newBankDetails, setNewDetails] = useState({\n accountNo: \"\",\n ifsc: \"\",\n name: \"\",\n accountType: \"SAVINGS\",\n branch: \"\",\n city: \"\",\n pincode: \"\",\n });\n const [modalData, setShowModal] = useState(initialValues);\n const [showLoader, setLoader] = useState(false);\n const [ifscValidation, setValidation] = useState(false);\n const [errors, setErrors] = useState({});\n const [cheques, setCheques] = useState(getInitChequeData());\n const [showAlertModal, setAlertModal] = useState<{\n deleteType: string;\n showModal: boolean;\n }>({\n deleteType: \"\",\n showModal: false,\n });\n const folioRef = useRef();\n\n useEffect(() => {\n if (!targetFunds.length) {\n props.history.push(\"/\");\n return;\n }\n setDetails(\n targetFunds.map((_ele: ConsolidateTableRowType) => {\n const validBankIndex = findDefaultBankIndex(_ele);\n return {\n amcName: _ele.amcName,\n primaryHolder: _ele.investorName,\n folioNo: _ele.folio,\n ..._ele.banks[validBankIndex],\n };\n })\n );\n }, []);\n\n useEffect(() => {\n const { ifsc } = newBankDetails;\n setLoader(false);\n if (ifsc.length === 11) {\n document.getElementById(\"ifsc\")?.blur();\n _getBankDetailsFromIFSC(ifsc);\n } else {\n setNewDetails({\n ...newBankDetails,\n name: \"\",\n branch: \"\",\n city: \"\",\n pincode: \"\",\n });\n }\n }, [newBankDetails.ifsc]);\n\n const handleRemoveBankDetails = () => {\n const filteredDetails = bankDetails.filter(\n (_ele: BANK_ACCOUNT_DETAILS, ind: number) =>\n ind !== Number(folioRef.current)\n );\n setAlertModal({\n showModal: false,\n deleteType: \"\",\n });\n if (filteredDetails.length === 0) {\n setAlertModal({\n deleteType: \"deletedAllFolios\",\n showModal: true,\n });\n return;\n }\n setDetails(filteredDetails);\n };\n\n const _handleTextInputChange = (key: string, value: any) => {\n setNewDetails({\n ...newBankDetails,\n [key]: value,\n });\n };\n\n const validateForm = () => {\n let errors: any = {};\n let validForm = true;\n if (!accountNumberRegex.test(newBankDetails.accountNo)) {\n validForm = false;\n errors[\"accountNo\"] = common.errors.bankErrors.accountNo.regexError;\n }\n if (!newBankDetails.ifsc.match(ifscRegex)) {\n validForm = false;\n errors[\"ifsc\"] = common.errors.bankErrors.ifsc.regex;\n }\n if (\n newBankDetails.accountType ===\n dashboard.ChangeBank.selectedFolios.fields.accountType\n ) {\n validForm = false;\n errors[\"accountType\"] = common.errors.bankErrors.accountType;\n }\n setErrors(errors);\n return validForm;\n };\n\n const handleSubmit = async () => {\n if (validateForm()) {\n const { targetFunds, actionType, addBank } = props.location.state;\n const { pan, pekrn, mobile } = props;\n const sourceAccountNos = targetFunds\n .map((_ele: ConsolidateTableRowType) => _ele.banks[0]?.accountNo)\n .filter((accountNo: string | undefined) => accountNo);\n const sourceIFSCs = targetFunds\n .map((_ele: ConsolidateTableRowType) =>\n _ele.banks[0]?.ifsc?.toUpperCase()\n )\n .filter((ifsc: string | undefined) => ifsc);\n const { accountNo: targetAccountNo, ifsc: targetIFSC } = newBankDetails;\n if (sourceAccountNos.includes(targetAccountNo)) {\n alert(common.errors.bankErrors.sameBankDetails);\n setNewDetails({\n ...newBankDetails,\n accountNo: \"\",\n ifsc: \"\",\n name: \"\",\n branch: \"\",\n city: \"\",\n pincode: \"\",\n });\n setCheques(getInitChequeData());\n return;\n }\n const data = targetFunds.map(\n (_ele: ConsolidateTableRowType, index: number) => {\n return {\n amc: _ele.amc,\n amc_name: _ele.amcName,\n folio: String(_ele.folio),\n bankDetails: newBankDetails,\n };\n }\n );\n try {\n const pan = props.investorData.PAN;\n let payload = {\n email: targetFunds[0].email,\n mobile: targetFunds[0].mobile,\n distributor_id: props.token,\n operationType: actionType,\n pan,\n data,\n };\n let res = await props.updateMultiBankDetails(payload);\n if (res.status === 201) {\n props.history.replace(\"/new-transaction/nct-type/success\", {\n state: {\n succesMessage: res.message,\n },\n });\n }\n } catch (err: any) {\n alert(err);\n }\n }\n };\n\n const _handleChangeBankDetails = (\n resetValues: boolean = false,\n showModal: boolean = false,\n bankName: string = \"\",\n bankAddress: string = \"\",\n city: string = \"\",\n pincode: string = \"\"\n ) => {\n setShowModal({\n showModal: showModal,\n name: bankName,\n branch: bankAddress,\n city: city,\n pincode: pincode,\n });\n if (resetValues) {\n setNewDetails({\n ...newBankDetails,\n name: \"\",\n branch: \"\",\n city: \"\",\n pincode: \"\",\n });\n }\n };\n\n const _getBankDetailsFromIFSC = async (value: string) => {\n if (!!value && value.match(ifscRegex)) {\n setValidation(true);\n setLoader(true);\n const { pan, pekrn, mobile, reqId } = props;\n try {\n let response: any = await props.fetchIFSCDetails({\n pan,\n pekrn,\n mobile,\n reqId,\n ifscCode: value,\n });\n const { errors = [], data = [] } = response || {};\n if (errors.length) {\n const [firstError] = errors;\n setNewDetails({\n ...newBankDetails,\n name: \"\",\n branch: \"\",\n city: \"\",\n pincode: \"\",\n });\n throw Error(firstError?.message);\n }\n const [details] = data;\n const {\n BankAdd1 = \"\",\n BankAdd2 = \"\",\n BankAdd3 = \"\",\n BankPin = \"\",\n } = details;\n _handleChangeBankDetails(\n false,\n true,\n details.BankName,\n getBankAddress(BankAdd1, BankAdd2, BankAdd3),\n details.BankCity,\n String(BankPin)\n );\n setValidation(false);\n } catch (e: any) {\n setLoader(false);\n setValidation(false);\n _handleChangeBankDetails(true);\n setErrors({ ifsc: e.message });\n }\n }\n };\n\n const validateIfscWithRegex = (value: string) => {\n if (!value.match(ifscRegex)) {\n setLoader(false);\n setValidation(false);\n _handleChangeBankDetails(true);\n setErrors({ ifsc: common.errors.bankErrors.ifsc.regex });\n }\n };\n\n const _handleModalClose = () => {\n setLoader(false);\n setValidation(false);\n setShowModal(false);\n setNewDetails({\n ...newBankDetails,\n ifsc: \"\",\n name: \"\",\n branch: \"\",\n city: \"\",\n pincode: \"\",\n });\n };\n\n const _getBankInfo = () => {\n const { name = \"\", branch = \"\", city = \"\" } = modalData;\n return [name, branch, city].join(\",\");\n };\n\n const _handleProceed = () => {\n const { name = \"\", branch = \"\", city = \"\", pincode = \"\" } = modalData;\n setNewDetails({\n ...newBankDetails,\n name,\n branch,\n city,\n pincode,\n });\n setShowModal(initialValues);\n };\n\n return (\n
    \n \n
    \n
    \n \n

    {dashboard.ChangeBank.selectedFolios.subheading}

    \n {bankDetails.map((_ele: BANK_ACCOUNT_DETAILS, ind: number) => (\n
    \n

    {_ele.amcName}

    \n \n {\n folioRef.current = ind.toString();\n setAlertModal({\n deleteType: \"deleteFolio\",\n showModal: true,\n });\n }}\n />\n \n
    \n

    \n {dashboard.ChangeBank.selectedFolios.primaryHolder}\n {_ele.primaryHolder}\n

    \n

    \n {dashboard.ChangeBank.selectedFolios.ifsc}\n {_ele.ifsc || _ele.neftIfsc}\n

    \n

    \n {dashboard.ChangeBank.selectedFolios.accountNo}\n {_ele.accountNo}\n

    \n

    \n {dashboard.ChangeBank.selectedFolios.folioNo}\n {_ele.folioNo}\n

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

    {dashboard.ChangeBank.selectedFolios.addNewBankHeading}

    \n {/*

    {dashboard.ChangeBank.selectedFolios.addNewBankHeadingInfo}

    */}\n
    \n {[\n {\n key: \"accountNo\",\n label:\n dashboard.ChangeBank.selectedFolios.fields.accountNumber,\n value: newBankDetails.accountNo,\n isDisabled: false,\n fieldValidation: accountNumberValidation,\n },\n {\n key: \"ifsc\",\n label: dashboard.ChangeBank.selectedFolios.fields.ifsc,\n value: newBankDetails.ifsc,\n isDisabled: false,\n blurFunction: validateIfscWithRegex,\n shouldValidateField: true,\n fieldValidation: validateIfsc,\n },\n {\n key: \"name\",\n label: dashboard.ChangeBank.selectedFolios.fields.bankName,\n value: newBankDetails.name,\n isDisabled: true,\n },\n {\n key: \"accountType\",\n label: dashboard.ChangeBank.selectedFolios.fields.accountType,\n value:\n newBankDetails.accountType ||\n dashboard.ChangeBank.selectedFolios.fields.accountType,\n isDisabled: true,\n },\n {\n key: \"branch\",\n label: dashboard.ChangeBank.selectedFolios.fields.branch,\n value: newBankDetails.branch,\n isDisabled: true,\n },\n {\n key: \"city\",\n label: dashboard.ChangeBank.selectedFolios.fields.city,\n value: newBankDetails.city,\n isDisabled: true,\n },\n ].map((_ele: ACCOUNT_DETAILS) =>\n _ele.key === \"accountType\" ? (\n \n {\n _handleTextInputChange(_ele.key, e.target.value);\n }}\n // readOnly={true}\n >\n {_ele.label}\n {ACCOUNT_TYPE_MASTER_DATA.map((type: string) => (\n {type}\n ))}\n \n \n {errors[_ele.key]}\n \n \n ) : (\n \n {\n if (_ele.fieldValidation) {\n _handleTextInputChange(_ele.key, e.target.value);\n return;\n }\n _handleTextInputChange(_ele.key, e.target.value);\n }}\n onFocus={() => setErrors({})}\n onBlur={() => {\n if (_ele.blurFunction) {\n _ele.blurFunction(_ele.value);\n }\n }}\n error={!!errors[_ele.key]}\n helperText={errors[_ele.key]}\n disabled={_ele.isDisabled}\n title={!!_ele.isDisabled ? _ele.value : \"\"}\n />\n {_ele.shouldValidateField && showLoader && (\n \n \n \n )}\n \n )\n )}\n
    \n
    \n
    \n
    \n
    \n !!_ele)\n }\n onClick={handleSubmit}\n >\n {dashboard.ChangeBank.selectedFolios.buttonText}\n \n \n props.history.replace(\"bank-mandate\")\n : handleRemoveBankDetails\n }\n onCancel={() => {\n setAlertModal({\n deleteType: \"\",\n showModal: false,\n });\n folioRef.current = \"\";\n }}\n />\n
    \n
    \n
    \n
    \n
    \n \n );\n}\n\nexport default connect(\n ({ authReducer, investor }: RootStateType) => ({\n ...authReducer,\n ...investor,\n }),\n {\n sendPhoneOTP,\n fetchIFSCDetails,\n updateMultiBankDetails,\n }\n)(BankMandateAddBank);\n","import { Button } from \"@material-ui/core\";\nimport { useState, useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport { CHANGE_DEFALUT } from \".\";\nimport { TableColumn, TableWithCollapse } from \"../../../lib/DataTable\";\nimport { useTableWithCollapse } from \"../../../lib/DataTable/customHooks\";\nimport { RootStateType } from \"../../../store/reducers\";\nimport { BANK } from \"../../../store/types/nct\";\nimport { updateMultiBankDetails } from \"../../../store/actions/nct\";\nimport { BANK_ACCOUNT_DETAILS } from \"../../../utils/constants\";\nimport { ConsolidateTableRowType } from \"../ConsolidationFolios/types\";\nimport { ActionHeader, BackArrow } from \"../UpdateNominee/SelectedFolios\";\nimport en from \"../../../lang/en-us\";\nimport Image from \"../../Image\";\nconst { dashboard } = en;\n\ntype bankMandateProps = {\n accountNo: string;\n accountType: string;\n branch: string;\n city: string;\n default?: string;\n id: string;\n ifsc: string;\n micr: string;\n name: string;\n neftIfsc: string;\n pincode: number | string;\n};\n\nexport const Columns: TableColumn[] = [\n {\n field: \"bank\",\n headerName: \"BANK NAME\",\n valueGetter: ({ row }) => row?.name,\n width: 200,\n },\n {\n field: \"id\",\n headerName: \"ACCOUNT NUMBER\",\n valueGetter: ({ row }) => row?.accountNo,\n width: 200,\n },\n {\n field: \"ifsc\",\n headerName: \"IFSC\",\n valueGetter: ({ row }) => row?.ifsc || row?.neftIfsc,\n width: 200,\n },\n {\n field: \"investorName\",\n headerName: \"PRIMARY HOLDER\",\n valueGetter: ({ row }) =>\n (row?.investorName || \"\").toUpperCase() || \"Not Available\",\n width: 100,\n },\n];\nfunction BankMandateDeleteSelected(props: any) {\n const {\n targetFunds = [],\n actionType,\n }: { targetFunds: ConsolidateTableRowType[]; actionType: string } =\n props.location.state || {};\n\n const [tablesData, setTablesData] = useState([]);\n\n const {\n selectedRows,\n setSelectedRows,\n filterType,\n filteredData,\n ...filters\n } = useTableWithCollapse({\n initialSelectionModal: {},\n });\n\n useEffect(() => {\n const initState = targetFunds.reduce(\n (prev, curr, index: number) => ({\n ...prev,\n [`table${index}`]: [],\n }),\n {}\n );\n setTablesData(targetFunds);\n setSelectedRows(initState);\n }, [targetFunds]);\n\n useEffect(() => {\n if (!props.location.state) {\n props.history.push(\"/\");\n }\n }, []);\n\n const handleSubmit = async () => {\n const selectedBanks: any[] = Object.values(selectedRows).flat();\n let data = tablesData\n .filter((ele) => ele)\n .map((_ele: ConsolidateTableRowType, index: number) => {\n const { id, micr, neftIfsc, pincode, ...rest }: bankMandateProps =\n selectedBanks[index];\n return {\n amc: _ele.amc,\n amc_name: _ele.amcName,\n folio: String(_ele.folio),\n bankDetails: rest,\n };\n });\n const pan = props.investorData.PAN;\n try {\n let payload = {\n email: targetFunds[0].email,\n mobile: targetFunds[0].mobile,\n distributor_id: props.token,\n operationType: actionType,\n pan,\n data,\n };\n let res = await props.updateMultiBankDetails(payload);\n if (res?.status === 201) {\n props.history.replace(\"/new-transaction/nct-type/success\", {\n state: {\n succesMessage: res.message,\n },\n });\n }\n } catch (err: any) {\n alert(err.message);\n }\n };\n\n const handleDeleteFolio = (index: number) => {\n const reducedData = tablesData.reduce(\n (prev: any, curr: any, ind: number) => {\n if (index === ind) {\n return [...prev, undefined];\n }\n return [...prev, curr];\n },\n []\n );\n const filteredDetails = tablesData.filter(\n (_ele: ConsolidateTableRowType, ind: number) => ind !== index\n );\n if (reducedData.filter((_ele) => _ele).length === 0) {\n props.history.replace(\"bank-mandate\");\n }\n setTablesData(reducedData);\n };\n\n return (\n
    \n \n
    \n
    \n
    \n

    {dashboard.BankMandate.selectedFolios.subheading}

    \n {!!tablesData.length &&\n !!Object.keys(selectedRows).length &&\n tablesData.map(\n (fund: ConsolidateTableRowType, index: number) =>\n !!fund && (\n
    \n

    {fund.amcName}

    \n {\n handleDeleteFolio(index);\n setSelectedRows(\n Object.keys(selectedRows).reduce(\n (prev: any, curr: any, ind: number) => {\n if (index === ind) {\n return { ...prev };\n }\n return {\n ...prev,\n [`table${ind}`]: selectedRows[curr],\n };\n },\n {}\n )\n );\n }}\n >\n \n \n
    \n

    \n {dashboard.BankMandate.selectedFolios.primaryHolder}\n {fund.investorName}\n

    \n

    \n {dashboard.BankMandate.selectedFolios.ifsc}\n \n {\n fund.banks?.find(\n (detail) => detail.default === \"Y\"\n )?.ifsc\n }\n \n

    \n

    \n {dashboard.BankMandate.selectedFolios.bankName}\n \n {\n fund.banks?.find(\n (detail) => detail.default === \"Y\"\n )?.name\n }\n \n

    \n

    \n {dashboard.BankMandate.selectedFolios.folioNo}\n {fund.folio}\n

    \n
    \n\n
    \n
    \n {actionType === CHANGE_DEFALUT\n ? dashboard.BankMandate.selectedFolios\n .chooseNewDefaultBank\n : dashboard.BankMandate.selectedFolios\n .chooseBankToDelete}\n
    \n _ele.default !== \"Y\")\n .map((_detail) => ({\n ..._detail,\n id: _detail.accountNo,\n investorName: fund?.investorName,\n }))}\n columns={Columns}\n selectedRows={selectedRows[`table${index}`]}\n setSelectedRows={(data: any) => {\n setSelectedRows({\n ...selectedRows,\n [`table${index}`]: data,\n });\n }}\n filteredData={filteredData}\n radioGroupsEnabled\n />\n
    \n
    \n )\n )}\n {/*
    \n

    Axis Liquid Direct Fund

    \n \n \"delete\n \n
    \n

    \n {dashboard.BankMandate.selectedFolios.primaryHolder}\n Neha sagar\n

    \n

    \n {dashboard.BankMandate.selectedFolios.ifsc}\n 0123456\n

    \n

    \n {dashboard.BankMandate.selectedFolios.bankName}\n AXIS BANK\n

    \n

    \n {dashboard.BankMandate.selectedFolios.folioNo}\n 23XXXXXX454\n

    \n
    \n
    \n
    {dashboard.BankMandate.selectedFolios.chooseBankToDelete}
    \n Table\n
    \n
    */}\n
    \n
    \n !!_ele.length)\n }\n style={{ margin: \"auto\", marginTop: 30 }}\n >\n {dashboard.BankMandate.selectedFolios.buttonText}\n \n
    \n
    \n
    \n
    \n );\n}\n\nexport default connect(\n ({ authReducer }: RootStateType) => ({ ...authReducer }),\n {\n updateMultiBankDetails,\n }\n)(BankMandateDeleteSelected);\n","import { Button } from \"@material-ui/core\";\nimport { useState, useReducer } from \"react\";\nimport { connect } from \"react-redux\";\nimport { CustomRadio } from \"../../../lib/CustomRadio\";\nimport { sendPhoneOTP } from \"../../../store/actions/nct\";\nimport { RootStateType } from \"../../../store/reducers\";\nimport { BANK } from \"../../../store/types/nct\";\nimport { OTP_ACTIONS, BANK_ACCOUNT_DETAILS } from \"../../../utils/constants\";\nimport { ConsolidateTableRowType } from \"../ConsolidationFolios/types\";\nimport { ActionHeader } from \"../UpdateNominee/SelectedFolios\";\nimport en from \"../../../lang/en-us\";\nimport Image from \"../../Image\";\nconst { dashboard } = en;\n\nconst ADD_BANK = \"addition\";\nconst DELETE_BANK = \"deletion\";\nconst CHANGE_DEFALUT = \"changeDefaultFlag\";\n\ntype State = {\n targetFunds: ConsolidateTableRowType[];\n addedBank?: BANK;\n deletedBank?: BANK;\n changedDefaultBank?: BANK;\n};\ntype Action = {\n type: string;\n};\nconst _actionReducer = (state: State, action: Action): State => {\n switch (action.type) {\n case ADD_BANK: {\n return state;\n }\n case DELETE_BANK: {\n return state;\n }\n case CHANGE_DEFALUT: {\n return state;\n }\n default:\n throw new Error(\"\");\n }\n};\n\nfunction BankMandateSelected(props: any) {\n const { targetFunds = [] }: { targetFunds: ConsolidateTableRowType[] } =\n props.location.state || {};\n const [actionType, setActionType] = useState(\"\");\n const [state, dispatch] = useReducer(_actionReducer, { targetFunds });\n\n const handleSubmit = async () => {\n if (actionType === ADD_BANK) {\n props.history.replace(\"bank-mandate-add-bank\", {\n targetFunds: state.targetFunds,\n actionType,\n addBank: true,\n });\n return;\n }\n const { pan, pekrn, mobile } = props;\n try {\n let res = await props.sendPhoneOTP({\n mobile,\n pan,\n pekrn,\n action: OTP_ACTIONS.updateMultipleBanks,\n });\n props.history.replace(\"bank-mandate-otp\", {\n targetFunds: state.targetFunds,\n mobile,\n actionType,\n ...(res || {}).body,\n addBank: false,\n });\n } catch (err: any) {\n alert(err.message);\n }\n };\n\n return (\n
    \n \n
    \n
    \n
    \n

    {dashboard.BankMandate.selectedFolios.subheading}

    \n {state.targetFunds?.map((fund: ConsolidateTableRowType) => (\n
    \n

    {fund.amcName}

    \n \n \"delete\n \n
    \n

    \n {dashboard.BankMandate.selectedFolios.primaryHolder}\n {fund.investorName}\n

    \n

    \n {dashboard.BankMandate.selectedFolios.ifsc}\n \n {\n fund.banks?.find((detail) => detail.default === \"Y\")\n ?.ifsc\n }\n \n

    \n

    \n {dashboard.BankMandate.selectedFolios.bankName}\n \n {\n fund.banks?.find((detail) => detail.default === \"Y\")\n ?.name\n }\n \n

    \n

    \n {dashboard.BankMandate.selectedFolios.folioNo}\n {fund.folio}\n

    \n
    \n
    \n ))}\n
    \n
    \n setActionType(value)}\n />\n \n
    \n {/*
    \n

    {dashboard.BankMandate.selectedFolios.addNewBankHeading}

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

    {dashboard.BankMandate.selectedFolios.uploadDocuments}

    \n

    {dashboard.BankMandate.selectedFolios.uploadDocumentsInfo}

    \n
    \n
    \n

    {dashboard.BankMandate.selectedFolios.defaultBank}

    \n
    \n \n
    \n
    \n

    \n

    \n \n {\n dashboard.BankMandate.selectedFolios\n .ocrDataValidating\n }\n \n

    \n

    \n \"icon\"\n \n {\n dashboard.BankMandate.selectedFolios\n .ocrDataSuccess\n }\n \n

    \n
    \n
    \n
    \n

    {dashboard.BankMandate.selectedFolios.newBank}

    \n
    \n \n
    \n
    \n

    \n

    \n \n {\n dashboard.BankMandate.selectedFolios\n .bankValidating\n }\n \n

    \n

    \n \"icon\"\n \n {' '}\n {\n dashboard.BankMandate.selectedFolios\n .bankValidationFailed\n }\n \n

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

    \n \"icon\"\n \n {dashboard.BankMandate.selectedFolios.ocrDataFailed}\n \n

    \n
    \n

    \n {dashboard.BankMandate.selectedFolios.ocrDataFailedInfo}\n

    \n \n {dashboard.BankMandate.selectedFolios.uploadRequestLetter}\n \n
    \n
    \n
    */}\n
    \n
    \n
    \n );\n}\n\nexport default connect(\n ({ authReducer }: RootStateType) => ({ ...authReducer }),\n { sendPhoneOTP }\n)(BankMandateSelected);\n","import React, { Component } from \"react\";\nimport { Paper } from \"@material-ui/core\";\nimport { connect } from \"react-redux\";\nimport { Route, Switch, withRouter } from \"react-router-dom\";\n\nimport NewPurchase from \"./newPurchaseForm\";\nimport NewPurchaseConfirm from \"./newPurchaseConfirm\";\nimport AdditionalPurchase from \"./additionalPurchaseForm\";\nimport Redemption from \"./redemption\";\nimport switchCmponent from \"./switch\";\nimport Sip from \"./sip\";\nimport Swp from \"./swp\";\nimport Stp from \"./stp\";\nimport NfoPhysicalMode from \"./nfoPhysicalMode\";\n\nimport SipCancellation from \"./sipCancellation\";\nimport NctType from \"./nctType\";\nimport ENACH from \"./eNach\";\nimport { userPan } from \"../../../store/actions/auth\";\nimport EnachConfirm from \"./eNachConfirmation\";\nimport Image from \"../../Image\";\nimport ChangeEmail from \"../ChangeEmail\";\nimport ChangeMobileNew from \"../ChangeMobile/newMobile\";\n\nimport Nominee from \"../UpdateNominee\";\nimport ChangeEmailList from \"../ChangeEmail/change-email-list\";\nimport { getInvestorDetails } from \"../../../store/actions\";\nimport CustomLoader from \"../../forms/Loader\";\nimport ChangeMobile from \"../ChangeMobile\";\nimport changeEmailDocument from \"../ChangeEmail/change-email-document\";\nimport changeMobileDocument from \"../ChangeMobile/change-mobile-document\";\nimport ChangeIdcw from \"../ChangeIdcw\";\nimport ChangeDividendSuccess from \"../ChangeIdcw/change-dividend-success\";\nimport ConsolidationFolios from \"../ConsolidationFolios\";\nimport ConsolidationSourceFolios from \"../ConsolidationFolios/consolidationSourceFolios\";\nimport ConsolidationFoliosSuccess from \"../ConsolidationFolios/consolidation-folios-success\";\nimport ConsolidationFoliosFailure from \"../ConsolidationFolios/consolidation-folios-failed\";\nimport ChangeBank from \"../ChangeBank\";\nimport changeBankSelected from \"../ChangeBank/change-bank-selected\";\nimport UpdateIFSC from \"../UpdateIFSC\";\nimport updateIfscDetails from \"../UpdateIFSC/update-ifsc-details\";\nimport UpdateIFSCSuccess from \"../UpdateIFSC/update-ifsc-success\";\nimport correctionFoliosSelection from \"../CorrectionFolios/correction-folios-selection\";\nimport CorrectionFolios from \"../CorrectionFolios\";\nimport SuccessScreen from \"../SuccessScreen\";\nimport FatcaDeclaration from \"../FatcaDeclaration\";\nimport BankMandate from \"../BankMandate\";\nimport bankMandateAddBank from \"../BankMandate/bank-mandate-add-bank\";\nimport bankMandateDeleteSelected from \"../BankMandate/bank-mandate-delete-selected\";\nimport bankMandateSelected from \"../BankMandate/bank-mandate-selected\";\n\nclass NFOAndNewPurchaseDigital extends Component {\n async componentDidMount() {\n if (!!this.props.location.state && !!this.props.location.state.pan) {\n await this.props.userPan(this.props.location.state.pan);\n }\n }\n render() {\n const { investorData, location } = this.props;\n\n return (\n
    \n \n
    \n {location.pathname.includes(\"nct-type\") ? null : (\n // Check if the current path includes 'nct-type'\n
    \n \n
    \n )}\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n\n \n \n\n \n \n \n \n\n \n\n \n \n\n \n\n \n \n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n\n \n \n \n
    \n \n
    \n );\n }\n}\n\nexport default connect(\n ({ authReducer }) => {\n const { investorData, user_pan } = authReducer;\n return { investorData, user_pan };\n },\n { userPan }\n)(NFOAndNewPurchaseDigital);\n\nexport class List extends Component {\n render() {\n const { invname, PAN } = this.props.investorData;\n return (\n \n
    \n \n
    \n
    {invname}
    \n
    \n {\" \"}\n PAN : {PAN || this.props.pan}\n
    \n
    \n {!!this.props.image && (\n
    \n \n
    \n )}\n
    \n \n );\n }\n}\n","import React, { Component } from \"react\";\n\nimport Paper from \"@material-ui/core/Paper\";\nimport { Input } from \"../../forms/input\";\nimport Signbutton from \"../../forms/button\";\nimport { connect } from \"react-redux\";\nimport { getNewPurchaseFundList, checkKyc } from \"../../../store/actions\";\nimport { EKYCMail, redirectKyc} from \"../../../store/actions/investors\";\nimport CustomizedSelect from \"./customizedSelect\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport Checkbox from \"@material-ui/core/Checkbox\";\nimport { nameRegex } from \"./newInvestor\";\n\nimport { KycNotDoneDialog } from \"../customModal\";\nimport { BajajFund } from \"../nav\";\nimport CustomLoader from \"../../forms/Loader\";\n\nclass EKYC extends Component {\n constructor(props) {\n super(props);\n const { match } = this.props;\n this.state = {\n kycType: { value: \"IKYC\" },\n display: false,\n ipv: { value: \"YES\", errorMessage: \"\" },\n messageAlert: \"\",\n open: false,\n pan: {\n value:\n !!match && !!match.params && !!match.params.pan\n ? match.params.pan\n : \"\",\n },\n fund: { value: { value: \"102\" } },\n name: { value: \"\" },\n email: { value: \"\" },\n mobile: { value: \"\" },\n };\n }\n\n handleChange = (value) => {\n this.setState({\n fund: { value: { value: \"102\" } },\n pan: { value: this.state.pan.value },\n });\n };\n\n changeValue = (label) => (event) => {\n if (label === \"pan\" && event.target.value.length < 11) {\n if (/^[a-zA-Z0-9]*$/.test(event.target.value)) {\n this.setState({\n [label]: { value: event.target.value.toUpperCase() },\n });\n } else if (!event.target.value) {\n this.setState({\n [label]: { value: event.target.value },\n });\n }\n } else if (label === \"name\") {\n const cleanedValue = event.target.value.replace(/\\s+/g, ' ');\n if (/^[a-zA-Z ]*$/.test(cleanedValue)) {\n if(cleanedValue.length < 3){\n this.setState({\n [label]: { value: event.target.value,\n isError: true,\n errorMessage : \"enter valid name\" },\n });\n } else {\n this.setState({\n [label]: { value: cleanedValue },\n });\n }\n\n }\n } else if (label === \"mobile\" && event.target.value.length < 11) {\n this.setState({\n [label]: { value: event.target.value },\n });\n } else if (label != \"pan\" && label != \"mobile\" && label != \"name\") {\n this.setState({\n [label]: { value: event.target.value },\n });\n }\n };\n\n submit = async () => {\n const { ipv, open, messageAlert, fund, display, ...others } = this.state;\n const keys = Object.keys(others);\n\n const findError = keys.every((key) => !!others[key].value);\n\n if (!findError) {\n keys.forEach((key) => {\n !others[key].value &&\n this.setState({\n [key]: {\n ...others[key],\n isError: true,\n errorMessage: `${[\n key === \"kycType\"\n ? \"KYC Type\"\n : key === \"pan\"\n ? \"PAN\"\n : key === \"name\"\n ? \"Name\"\n : key === \"email\"\n ? \"Email Id\"\n : key === \"mobile\"\n ? \"Phone\"\n : \"\",\n ]} is mandatory`,\n },\n });\n });\n return;\n } else if (\n !/^([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}?$/.test(this.state.pan.value)\n ) {\n this.setState({\n pan: {\n value: \"\",\n isError: true,\n errorMessage: \"Please enter a valid PAN\",\n },\n });\n } else if (\n this.state.email.value === \"\" ||\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n ) === false\n ) {\n if (this.state.email.value === \"\") {\n this.setState({\n email: {\n isError: true,\n errorMessage: `Email ID is mandatory`,\n },\n });\n } else if (\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n ) === false\n ) {\n this.setState({\n email: {\n value: \"\",\n isError: true,\n errorMessage: `Enter a valid Email ID`,\n },\n });\n }\n } else if (!nameRegex.test(this.state.name.value)) {\n this.setState({\n name: {\n isError: true,\n errorMessage: \"Enter an valid Name\",\n },\n });\n return;\n } else if (\n this.state.mobile.value === \"\" ||\n /^(?:(?:\\+|0{0,2})91(\\s*[\\-]\\s*)?|[0]?)?[6-9]\\d{9}$/.test(\n this.state.mobile.value\n ) === false\n ) {\n if (this.state.mobile.value === \"\") {\n this.setState({\n mobile: {\n isError: true,\n errorMessage: `Phone no is mandatory`,\n },\n });\n } else if (\n /^(?:(?:\\+|0{0,2})91(\\s*[\\-]\\s*)?|[0]?)?[6-9]\\d{9}$/.test(\n this.state.mobile.value\n ) === false\n ) {\n this.setState({\n mobile: {\n isError: true,\n errorMessage: `Enter a valid Phone number`,\n },\n });\n }\n } else if (\n this.state.ipv.value === \"NO\" &&\n this.state.kycType.value === \"DKYC\"\n ) {\n this.setState({\n ipv: {\n value: \"NO\",\n // isError: true,\n errorMessage: \"It is mandatory to perform IPV to proceed\",\n },\n });\n } else {\n const { name, email, mobile, pan } = this.state;\n this.setState({\n display: true,\n }); \n const params = {\n InvPan: this.state.pan.value,\n InvMobile: mobile.value,\n InvEmail:email.value,\n InvDistFlag:\"W\",\n InvPan:pan.value,\n InvFund: \"102\",\n customfund: \"102\",\n InvName: name.value,\n DistUserId: this.props.userId,\n DistName:this.props.userId,\n ArnCode:this.props.token,\n Url: \"\",\n };\n \n \n \n const response = await this.props.EKYCMail(params);\n if (response && !response.error) {\n this.setState({\n display: false,\n open: true,\n messageAlert: \"An Mail will be triggered to investor's email\",\n });\n } else {\n this.setState({\n display: false,\n });\n }\n }\n}\n\n\n continue = () => {\n const { params } = this.props.match;\n this.setState({\n kycType: { value: \"\" },\n ipv: { value: \"YES\", errorMessage: \"\" },\n fund: { value: \"\" },\n pan: { value: !!params && !!params.pan ? params.pan : \"\" },\n open: false,\n messageAlert: \"\",\n name: { value: \"\" },\n email: { value: \"\" },\n mobile: { value: \"\" },\n });\n this.props.history.push(\"/dashboard\");\n };\n\n handleChangeKycType = (event) => {\n const { match } = this.props;\n this.setState({\n kycType: { value: event.target.value },\n ipv: { value: \"YES\", errorMessage: \"\" },\n fund: { value: \"\" },\n pan: {\n value:\n !!match && !!match.params && !!match.params.pan\n ? match.params.pan\n : \"\",\n },\n name: { value: \"\" },\n email: { value: \"\" },\n mobile: { value: \"\" },\n });\n };\n\n handleKycStatus = async () => {\n if (\n this.state.pan.value.charAt(3) !== \"P\" &&\n this.state.pan.value.length === 10\n ) {\n this.setState({\n pan: {\n value: \"\",\n isError: true,\n errorMessage:\n \"Entered PAN Number is not related to Individual PAN Number, So please Enter Individual PAN Number\",\n },\n });\n return;\n } else {\n if (this.state.pan.value.length === 10) {\n this.setState({\n display: true,\n });\n const kycResponse = await this.getKycDetails(this.state.pan.value);\n if (kycResponse) {\n const {\n DtData: [info],\n } = kycResponse;\n if (!!info && !!info.KYCBlock && info.KYCBlock === \"N\") {\n alert(\"PAN is KYC Registered\");\n this.setState({\n pan: { value: \"\" },\n display: false,\n });\n } else {\n this.setState({\n display: false,\n });\n }\n }\n }\n }\n };\n\n getKycDetails = async (pan) => {\n const params = {\n i_pan: pan,\n fund: \"102\",\n userid: this.props.userId,\n };\n const kycResponse = await this.props.checkKyc(params);\n return kycResponse;\n };\n\n render() {\n const { fundsList } = this.props;\n const { fund, email, name, mobile, kycType, display } = this.state;\n return (\n
    \n \n
    e-KYC Form
    \n \n \n
    \n
    \n
    \n
    AMC*
    \n \n
    \n
    \n \n \n Distributor (EKYC)\n \n \n Online IPV with Esign\n \n \n \n {this.state.kycType.value === \"IKYC\"\n ? \"\"\n : this.state.kycType.value === \"DKYC\"\n ? \"Investor Presence Required *\"\n : \"\"}\n
    \n
    \n
    \n
    \n
    \n
    PAN*
    \n
    \n \n
    \n
    \n
    \n
    Name*
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n \n (evt.key === \"e\" || evt.key === \".\" || evt.key === \"-\") &&\n evt.preventDefault()\n }\n type=\"number\"\n onChange={this.changeValue(\"mobile\")}\n value={mobile.value}\n isShowError={mobile.isError}\n errorMessage={mobile.errorMessage}\n />\n
    \n
    \n\n {this.state.kycType.value === \"IKYC\" && (\n
    \n
    Instructions Box
    \n
      \n
    • \n This process will send an email to your client for\n completing KYC process\n
    • \n
    • \n Your client has to upload relevant documents and record a\n video of self by showing the documents.\n
    • \n
    • \n Please inform and guide your client accordingly.\n
    • \n
    \n
    \n )}\n {/* \n {this.state.kycType.value === \"DKYC\" && (\n
    \n
    \n \n Required Documents\n
    \n \n
  • Aadhaar XML or PDF File
  • \n
  • Share code
  • \n \n
    \n
    \n \n \n \n {\" \"}\n Perform Inperson Verification (IPV)\n
    \n
    \n \n )} */}\n\n {this.state.kycType.value === \"DKYC\" && (\n
    \n
    Instructions Box
    \n
      \n
    • \n This process is based on e-Aadhaar, please keep the masked\n e-Aadhaar copy and password ready before initiating.\n
    • \n
    • \n First investment is allowed only towards the fund\n selected.\n
    • \n
    \n
    \n )}\n\n
    \n \n
    \n \n \n \n \n \n );\n }\n}\n\nexport default connect(\n ({ authReducer, transactions }) => {\n const { token, userId } = authReducer;\n const { fundsList = [] } = transactions;\n return {\n token,\n userId,\n fundsList,\n };\n },\n { getNewPurchaseFundList, EKYCMail, checkKyc , redirectKyc }\n)(EKYC);\n","import React, { Component } from \"react\";\nimport TransactionTypeCards from \"../TransactionTypeCards\";\n\nexport default class SIPModeTypes extends Component {\n render() {\n return (\n
    \n
    \n Select Mode of Registration\n
    \n \n \n \n
    \n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { getEnachFoliosList } from \"../../../../store/actions/transactions\";\nimport {\n EnachUMR,\n EnachFolio,\n Enachbank,\n EnachEndDate,\n EnachMaxAmount,\n EnachStartDate,\n} from \"../../../../store/actions/auth\";\nimport IntegrationReactSelect from \"../../../forms/autoCompleteInput\";\n\nclass SipEnach extends Component {\n constructor(props) {\n super(props);\n const fund = \"102\";\n const folios = this.props.fundList.reduce((prev, curr) => {\n if (curr.Fund.trim() === fund) {\n return [...prev, curr.Acno];\n }\n return prev;\n }, []);\n this.state = {\n folios: folios,\n folio: { value: \"\" },\n details: [],\n };\n }\n\n async componentDidMount() {\n const { investorData } = this.props;\n this.props.EnachUMR(\"\");\n this.props.EnachFolio(\"\");\n this.props.Enachbank(\"\");\n const fund = \"102\";\n const folios = this.props.fundList.reduce((prev, curr) => {\n if (curr.Fund.trim() === fund) {\n return [...prev, curr.Acno];\n }\n return prev;\n }, []);\n\n const params = {\n Fund: \"102\",\n PAN: investorData.PAN,\n uid: this.props.userId,\n customfund: \"102\",\n acno: folios[0],\n };\n const response = await this.props.getEnachFoliosList(params);\n if (!!response && !!response.Table1 && !!response.Table1.length) {\n this.setState({\n details: response.Table1,\n });\n }\n this.setState({\n folio: { value: { value: folios[0], label: folios[0] } },\n });\n }\n\n ChangeFolio = async (value) => {\n const { investorData } = this.props;\n if (!!value) {\n this.setState({\n folio: { value: value },\n });\n const params = {\n Fund: \"102\",\n PAN: investorData.PAN,\n uid: this.props.userId,\n customfund: \"102\",\n acno: value.value,\n };\n const response = await this.props.getEnachFoliosList(params);\n if (!!response && !!response.Table1 && !!response.Table1.length) {\n this.setState({\n details: response.Table1,\n });\n } else {\n this.setState({\n details: [],\n });\n }\n }\n };\n gotoSIP = (ele) => async () => {\n await this.props.EnachEndDate(ele[\"MANDATE END DATE\"]);\n await this.props.EnachStartDate(ele[\"MANDATE START DATE\"]);\n await this.props.EnachMaxAmount(ele.Amt);\n await this.props.EnachUMR(ele.UMRNNO);\n await this.props.Enachbank(ele[\"BANK A/C NO\"]);\n this.props.history.push({\n pathname: `/new-transaction/sip/digital/modes/enach-folios/transact`,\n state: {\n enachSipDetails: ele,\n mode: \"ENACH\",\n folio: this.state.folio.value.value,\n },\n });\n };\n\n gotoENACH = () => {\n this.props.EnachFolio(this.state.folio.value.value);\n this.props.history.push({\n pathname: `/new-transaction/sip/digital/modes/enach-folios/eNACH`,\n state: {\n folio: this.state.folio.value.value,\n },\n });\n };\n render() {\n const { folio, folios, details } = this.state;\n\n return (\n
    \n
    \n
    \n Summary of ENACH registered under the folio number\n
    \n
    \n
    \n Please select Folio\n
    \n ({\n label: item,\n value: item,\n }))}\n value={folio.value}\n placeholder=\"Select Folio\"\n handleChange={this.ChangeFolio}\n inputRef={(ele) => (this.folioField = ele)}\n isError={folio.isError}\n errorMessage={folio.errorMessage}\n />\n
    \n
    \n {!!details.length ? (\n
    \n
    Select Bank to Register ENACH
    \n
    \n \n \n Bank Account Number\n
    \n \n IFSC Code\n
    \n \n Bank Name\n
    \n \n UMR No\n \n \n Mandate Start Date\n \n \n Mandate End Date\n \n \n Amount\n \n \n Please click \"select\" to register ENACH SIP\n \n \n {details.map((ele, index) => (\n \n \n {ele[\"BANK A/C NO\"] || \"NA\"}\n \n \n {ele.GM_ifsc}\n \n \n {ele[\"BANK NAME\"] || \"NA\"}\n \n \n {ele.UMRNNO || \"NA\"}\n \n \n {ele[\"MANDATE START DATE\"] || \"NA\"}\n \n \n {ele[\"MANDATE END DATE\"] || \"NA\"}\n \n \n {ele.Amt || \"NA\"}\n \n \n Select\n \n \n ))}\n \n \n ) : (\n \n There are no ENACH registered for selected Folio. Please{\" \"}\n \n Click here\n {\" \"}\n to register to ENACH{\" \"}\n \n )}\n
    \n {details.length > 0\n ? details.map((ele, index) => (\n \n ))\n : null}\n
    \n \n );\n }\n}\n\nexport default connect(\n ({ authReducer }) => {\n const { token, userId, fundList, investorData } = authReducer;\n\n return {\n token,\n userId,\n fundList,\n investorData,\n };\n },\n {\n getEnachFoliosList,\n EnachUMR,\n EnachFolio,\n Enachbank,\n EnachEndDate,\n EnachMaxAmount,\n EnachStartDate,\n }\n)(SipEnach);\nexport class InvestorTableCard extends Component {\n render() {\n const { bankac, ifsc, bankname, UMR, item, gotosip } = this.props;\n return (\n \n
    \n
    \n \n Bank Account Number\n
    \n \n {!!bankac ? bankac : \"NA\"}\n
    \n \n
    \n \n IFSC Code\n
    \n \n {!!ifsc ? ifsc : \"NA\"}\n \n \n \n
    \n
    \n \n Bank Name\n
    \n \n {!!bankname ? bankname : \"NA\"}\n
    \n \n
    \n \n UMR No\n
    \n \n {!!UMR ? UMR : \"NA\"}\n \n \n \n
    \n
    \n \n
    Please click \"select\" to register ENACH SIP
    \n \n Select\n
    \n
    \n \n \n \n );\n }\n}\n","import React from \"react\";\nimport Image from \"../../../../Image\";\nimport { Link } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\n\nconst VerticalStepper = (props) => {\n const steps = [\n {\n name: \"investor-details\",\n value: \"Investor Details\",\n image: \"/images/home.png\",\n url: \"/new-investor-transaction/investor-details\",\n data: !!props.applicantparams.i_dob,\n },\n {\n name: \"fatca-details\",\n value: \"FATCA Details\",\n image: \"/images/ekyc.svg\",\n url: \"/new-investor-transaction/fatca-details\",\n data: !!props.fatcaDetails.i_invpin,\n },\n {\n name: \"nominee-details\",\n value: \"Nominee Details\",\n image: \"/images/investor.png\",\n url: \"/new-investor-transaction/nominee-details\",\n data: !!props.nomineDetails.i_nominee,\n },\n {\n name: \"bank-details\",\n value: \"Bank Details\",\n image: \"/images/newtransaction.png\",\n url: \"/new-investor-transaction/bank-details\",\n },\n {\n name: \"scheme-details\",\n value: \"Scheme Details\",\n image: \"/images/connect.png\",\n url: \"new-investor-transaction/scheme-details\",\n },\n ];\n const { active, hide } = props;\n return (\n
    \n {!hide && (\n
    \n {steps.map((step, index) => (\n \n
    \n \n \n
    \n \n \n Step {index + 1}\n \n \n {step.value}\n \n
    \n
    \n \n ))}\n \n )}\n \n );\n};\nexport default connect(({ newinvestor }) => {\n const {\n applicantparams,\n schemeDetails,\n fatcaDetails,\n investmentparams,\n nomineDetails,\n } = newinvestor;\n return {\n applicantparams,\n schemeDetails,\n fatcaDetails,\n applicantparams,\n investmentparams,\n nomineDetails,\n };\n})(VerticalStepper);\n","import React from \"react\";\n\nconst CardComponent = (props) => {\n return (\n
    \n
    \n {props.title.toUpperCase()}\n
    \n \n {props.children}\n
    \n \n );\n};\nconst SummaryCard = (props) => {\n return (\n <>\n
    \n
    {props.title}
    \n
    {props.children}
    \n
    \n \n );\n};\n\nexport default CardComponent;\nexport { SummaryCard };\n","import Radio from \"@material-ui/core/Radio\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nexport const RadioButton = (props) => {\n return (\n <>\n
    \n
    \n
    \n {props.Heading}\n
    \n \n \n
    \n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
    YES
    \n
    \n
    \n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
    NO
    \n
    \n \n
    \n
    \n
    \n \n );\n};\n","import React, { useState, useEffect } from \"react\";\nimport CardComponent from \"./lib/CardComponent\";\nimport { format } from \"date-fns\";\nimport { connect } from \"react-redux\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport { Occupations, Gross_Annual_income } from \".\";\nimport {\n getCountriesList,\n getStatesList,\n storeFatcaDetails,\n storeApplicantParams,\n getKycDetails,\n checkKyc,\n getCitiesList as getCitiesByState,\n getRelationShipList,\n storeAddress,\n} from \"../../../../store/actions\";\nimport CustomLoader from \"../../../forms/Loader\";\nimport CustomizedSelect from \"../customizedSelect\";\nimport { Input } from \"../../../forms/input\";\nimport { RadioButton } from \"./lib/Radiobutton\";\n\nconst FatcaDetails = (props) => {\n const checkReduxStore = () => {\n if (props.fatcaDetails.i_Occpn) {\n const { fatcaDetails } = props;\n const {\n i_Occpn,\n i_income,\n FCountryofBirth,\n FNationality,\n i_invpin,\n FPEP,\n FPREP,\n FTaxResident,\n FForeignTaxType,\n FForeignTaxId,\n i_SOccpn,\n i_Sincome,\n SCountryofBirth,\n SNationality,\n i_invpin2,\n SForeignTaxType,\n STaxResident,\n SForeignTaxId,\n SPEP,\n SPREP,\n i_TOccpn,\n i_Tincome,\n TCountryofBirth,\n TNationality,\n i_invpin3,\n TForeignTaxType,\n TTaxResident,\n TForeignTaxId,\n TPEP,\n TPREP,\n } = fatcaDetails;\n setCategoryOccupation((prev) => {\n return {\n ...prev,\n categoryoccupationprimary: { value: i_Occpn },\n };\n });\n setGross_Annual_Income((prev) => {\n return {\n ...prev,\n gross_annual_incomeprimary: { value: i_income },\n };\n });\n setcountryselected((prev) => {\n return {\n ...prev,\n countryofbirth: { value: FCountryofBirth },\n nationality: { value: FNationality },\n };\n });\n setPincode((prev) => {\n return {\n ...prev,\n value: { value: i_invpin },\n };\n });\n setPolitically_Exposed_Applicant((prev) => {\n return {\n ...prev,\n primary: FPEP,\n };\n });\n setPolitically_Exposed_Relative((prev) => {\n return {\n ...prev,\n primary: FPREP,\n };\n });\n setTax_resident((prev) => {\n return {\n ...prev,\n primary: FTaxResident,\n };\n });\n if (FTaxResident === \"yes\") {\n setforeign_tax_id_no((prev) => {\n return {\n ...prev,\n primary: { value: FForeignTaxId },\n };\n });\n settax_resident_option((prev) => {\n return {\n ...prev,\n primary: { value: FForeignTaxType },\n };\n });\n }\n\n if (!!props.applicantparams && !!props.applicantparams.i_pangno2) {\n setCategoryOccupation((prev) => {\n return {\n ...prev,\n categoryoccupationjoint1: { value: i_SOccpn },\n };\n });\n setGross_Annual_Income((prev) => {\n return {\n ...prev,\n gross_annual_incomejoint1: { value: i_Sincome },\n };\n });\n setcountryselected((prev) => {\n return {\n ...prev,\n countryofbirthjoint1: { value: SCountryofBirth },\n nationalityjoint1: { value: SNationality },\n };\n });\n setPincode((prev) => {\n return {\n ...prev,\n value_joint1: { value: i_invpin2 },\n };\n });\n setPolitically_Exposed_Applicant((prev) => {\n return {\n ...prev,\n joint1: SPEP,\n };\n });\n setPolitically_Exposed_Relative((prev) => {\n return {\n ...prev,\n joint1: SPREP,\n };\n });\n setTax_resident((prev) => {\n return {\n ...prev,\n joint1: STaxResident,\n };\n });\n if (STaxResident === \"yes\") {\n setforeign_tax_id_no((prev) => {\n return {\n ...prev,\n joint1: { value: SForeignTaxId },\n };\n });\n settax_resident_option((prev) => {\n return {\n ...prev,\n joint1: { value: SForeignTaxType },\n };\n });\n }\n }\n if (!!props.applicantparams && !!props.applicantparams.i_pangno3) {\n setCategoryOccupation((prev) => {\n return {\n ...prev,\n categoryoccupationjoint2: { value: i_TOccpn },\n };\n });\n setGross_Annual_Income((prev) => {\n return {\n ...prev,\n gross_annual_incomejoint2: { value: i_Tincome },\n };\n });\n setcountryselected((prev) => {\n return {\n ...prev,\n countryofbirthjoint2: { value: TCountryofBirth },\n nationalityjoint2: { value: TNationality },\n };\n });\n setPincode((prev) => {\n return {\n ...prev,\n value_joint2: { value: i_invpin3 },\n };\n });\n setPolitically_Exposed_Applicant((prev) => {\n return {\n ...prev,\n joint2: TPEP,\n };\n });\n setPolitically_Exposed_Relative((prev) => {\n return {\n ...prev,\n joint2: TPREP,\n };\n });\n setTax_resident((prev) => {\n return {\n ...prev,\n joint2: TTaxResident,\n };\n });\n if (TTaxResident === \"yes\") {\n setforeign_tax_id_no((prev) => {\n return {\n ...prev,\n joint2: { value: TForeignTaxId },\n };\n });\n settax_resident_option((prev) => {\n return {\n ...prev,\n joint2: { value: TForeignTaxType },\n };\n });\n }\n }\n }\n };\n const [isLoading, setIsLoading] = useState(false);\n const [categoryoccupation, setCategoryOccupation] = useState({\n categoryoccupationprimary: { value: \"\" },\n categoryoccupationjoint1: { value: \"\" },\n categoryoccupationjoint2: { value: \"\" },\n });\n const [gross_annual_income, setGross_Annual_Income] = useState({\n gross_annual_incomeprimary: { value: \"\" },\n gross_annual_incomejoint1: { value: \"\" },\n gross_annual_incomejoint2: { value: \"\" },\n });\n const [countriesList, setcountriesList] = useState([]);\n const [foreigncountriesList, setforeigncountriesList] = useState([]);\n const [countryselected, setcountryselected] = useState({\n countryofbirth: { value: \"\" },\n nationality: { value: \"\" },\n countryofbirthjoint1: { value: \"\" },\n nationalityjoint1: { value: \"\" },\n countryofbirthjoint2: { value: \"\" },\n nationalityjoint2: { value: \"\" },\n });\n const [tax_resident, setTax_resident] = useState({\n primary: props.applicantparams.i_category === \"20\" ? \"yes\" : \"no\",\n joint1: props.applicantparams.i_category2 === \"20\" ? \"yes\" : \"no\",\n joint2: props.applicantparams.i_category3 === \"20\" ? \"yes\" : \"no\",\n });\n const [politically_exposed_applicant, setPolitically_Exposed_Applicant] =\n useState({ primary: \"no\", joint1: \"no\", joint2: \"no\" });\n const [politically_exposed_relative, setPolitically_Exposed_Relative] =\n useState({ primary: \"no\", joint1: \"no\", joint2: \"no\" });\n const [tax_resident_option, settax_resident_option] = useState({\n primary: { value: \"\" },\n joint1: { value: \"\" },\n joint2: { value: \"\" },\n });\n const [foreign_tax_id_no, setforeign_tax_id_no] = useState({\n primary: { value: \"\" },\n joint1: { value: \"\" },\n joint2: { value: \"\" },\n });\n const [pincode, setPincode] = useState({\n value: { value: \"\" },\n value_joint1: { value: \"\" },\n value_joint2: { value: \"\" },\n });\n const [openModal, setOpenModal] = useState(false);\n const [panverification, setPanverification] = useState(false);\n useEffect(() => {\n window.scrollTo({\n top: 0,\n behavior: \"smooth\",\n });\n firstRender();\n checkReduxStore();\n }, []);\n const firstRender = async () => {\n await getLists();\n await prefillFormValues();\n };\n const getLists = async () => {\n setIsLoading(true);\n const countriesResponse = await props.getCountriesList();\n const Countries = countriesResponse.Dtinformation;\n const countriesList = Countries.map((country) => {\n return { label: country.country_name, value: country.country_name };\n });\n const ForeignCountrires = Countries.map((country) => {\n return { label: country.country_name, value: country.country_name };\n });\n setcountriesList(\n countriesList.length > 0\n ? countriesList\n : [{ label: \"India\", value: \"India\" }]\n );\n const RemomovingIndia = { label: \"India\", value: \"India\" };\n ForeignCountrires.splice(\n ForeignCountrires.findIndex((a) => a.value === RemomovingIndia.value),\n 1\n );\n setforeigncountriesList(ForeignCountrires);\n setIsLoading(false);\n };\n const prefillFormValues = async () => {\n if (!props.fatcaDetails.i_invpin) {\n if (\n (!!props.store_pan && props.store_pan.length > 0) ||\n props.applicantparams.typeofinvestor === \"M\"\n ) {\n const kycResponse = await props.getKycDetails({ pan: props.store_pan });\n if (!!kycResponse) {\n const {\n country,\n pin,\n GrossAnnualIncome,\n app_occ,\n add1,\n add2,\n add3,\n state,\n city,\n } = kycResponse.DtData[0];\n setCategoryOccupation((prev) => {\n return {\n ...prev,\n categoryoccupationprimary: { value: app_occ },\n };\n });\n setPincode((prev) => {\n return {\n ...prev,\n value: { value: pin },\n };\n });\n if(GrossAnnualIncome){\n setGross_Annual_Income((prev) => {\n return {\n ...prev,\n gross_annual_incomeprimary: { value: GrossAnnualIncome },\n };\n });\n }\n // setGross_Annual_Income((prev) => {\n // return {\n // ...prev,\n // gross_annual_incomeprimary: { value: GrossAnnualIncome },\n // };\n // });\n const countryvalue =\n country.charAt(0).toUpperCase() + country.slice(1).toLowerCase();\n setcountryselected((prev) => {\n return {\n ...prev,\n nationality: { value: countryvalue },\n countryofbirth: { value: countryvalue },\n };\n });\n const address = add1 + add2 + add3;\n const convertingcountry = country.toLowerCase();\n const restOfGreeting = convertingcountry.slice(1);\n const convertcountry = convertingcountry[0].toUpperCase();\n const newGreeting = convertcountry + restOfGreeting;\n const Address = {\n state: state,\n city: city,\n country: newGreeting,\n pincode: pin,\n address: address,\n };\n props.storeAddress(Address);\n setcountryselected({\n ...countryselected,\n nationality: { value: countryvalue },\n countryofbirth: { value: countryvalue },\n });\n }\n }\n }\n // setIsLoading(true)\n if (\n !!props.applicantparams.i_pangno2 &&\n props.applicantparams.i_pangno2.length > 0\n ) {\n const kycResponse = await props.getKycDetails({\n pan: props.applicantparams.i_pangno2,\n });\n // const { DtData } = !!kycResponse ?kycResponse :[]\n // const kycDetails = !!DtData[0] ?DtData[0] :{} ;\n if (!!kycResponse) {\n const { country, pin, GrossAnnualIncome, app_occ } =\n kycResponse.DtData[0];\n setCategoryOccupation((prev) => {\n return {\n ...prev,\n categoryoccupationjoint1: { value: app_occ },\n };\n });\n setPincode((prev) => {\n return {\n ...prev,\n value_joint1: { value: pin },\n };\n });\n setGross_Annual_Income((prev) => {\n return {\n ...prev,\n gross_annual_incomejoint1: { value: GrossAnnualIncome },\n };\n });\n const countryvalue =\n country.charAt(0).toUpperCase() + country.slice(1).toLowerCase();\n setcountryselected((prev) => {\n return {\n ...prev,\n nationalityjoint1: { value: countryvalue },\n countryofbirthjoint1: { value: countryvalue },\n };\n });\n }\n }\n if (\n !!props.applicantparams.i_pangno3 &&\n props.applicantparams.i_pangno3.length > 0\n ) {\n const kycResponse = await props.getKycDetails({\n pan: props.applicantparams.i_pangno3,\n });\n if (!!kycResponse) {\n const { country, pin, GrossAnnualIncome, app_occ } =\n kycResponse.DtData[0];\n setCategoryOccupation((prev) => {\n return {\n ...prev,\n categoryoccupationjoint2: { value: app_occ },\n };\n });\n setPincode((prev) => {\n return {\n ...prev,\n value_joint2: { value: pin },\n };\n });\n setGross_Annual_Income((prev) => {\n return {\n ...prev,\n gross_annual_incomejoint2: { value: GrossAnnualIncome },\n };\n });\n const countryvalue =\n country.charAt(0).toUpperCase() + country.slice(1).toLowerCase();\n setcountryselected((prev) => {\n return {\n ...prev,\n nationalityjoint2: { value: countryvalue },\n countryofbirthjoint2: { value: countryvalue },\n };\n });\n }\n }\n };\n const handleRadioButton = (label) => (event) => {\n if (label === \"TaxresidentPrimary\") {\n setTax_resident((prev) => {\n return {\n ...prev,\n primary: event.target.value,\n };\n });\n }\n if (label === \"PoliticallyExposedPersonPrimary\") {\n setPolitically_Exposed_Applicant((prev) => {\n return {\n ...prev,\n primary: event.target.value,\n };\n });\n }\n if (label === \"PoliticallyExposedRelativePrimary\") {\n setPolitically_Exposed_Relative((prev) => {\n return {\n ...prev,\n primary: event.target.value,\n };\n });\n }\n if (label === \"TaxresidentPrimaryjoint1\") {\n setTax_resident((prev) => {\n return {\n ...prev,\n joint1: event.target.value,\n };\n });\n }\n if (label === \"PoliticallyExposedPersonJoint1\") {\n setPolitically_Exposed_Applicant((prev) => {\n return {\n ...prev,\n joint1: event.target.value,\n };\n });\n }\n if (label === \"PoliticallyExposedRelativeJoint1\") {\n setPolitically_Exposed_Relative((prev) => {\n return {\n ...prev,\n joint1: event.target.value,\n };\n });\n }\n if (label === \"TaxresidentPrimaryjoint2\") {\n setTax_resident((prev) => {\n return {\n ...prev,\n joint2: event.target.value,\n };\n });\n }\n if (label === \"PoliticallyExposedPersonJoint2\") {\n setPolitically_Exposed_Applicant((prev) => {\n return {\n ...prev,\n joint2: event.target.value,\n };\n });\n }\n if (label === \"PoliticallyExposedRelativeJoint2\") {\n setPolitically_Exposed_Relative((prev) => {\n return {\n ...prev,\n joint2: event.target.value,\n };\n });\n }\n };\n const handlePincode = (label) => (event) => {\n const value = event.target.value;\n if (label === \"pincode1\" && value.length <= 6) {\n if (value.length < 6) {\n setPincode({\n value: {\n value: \"\",\n isError: true,\n errorMessage: \"Enter valid Pincode\",\n },\n });\n }\n setPincode({ ...pincode, value: { value: value } });\n }\n };\n const submit = async () => {\n if (!categoryoccupation?.categoryoccupationprimary?.value) {\n setCategoryOccupation({\n ...categoryoccupation,\n categoryoccupationprimary: {\n value:\"\",\n isError: true,\n errorMessage: \"Select the Occupation\",\n },\n });\n return;\n }\n if (!gross_annual_income?.gross_annual_incomeprimary?.value) {\n setGross_Annual_Income({\n ...gross_annual_income,\n gross_annual_incomeprimary: {\n value:\"\",\n isError: true,\n errorMessage: \"Select the Gross Annual Income\",\n },\n });\n return;\n }\n if (!countryselected?.countryofbirth?.value) {\n setcountryselected({\n ...countryselected,\n ...countryselected,\n countryofbirth: {\n value:\"\",\n isError: true,\n errorMessage: \"Select the Country of Birth\",\n },\n });\n return;\n }\n if (!countryselected?.nationality?.value) {\n setcountryselected({\n ...countryselected,\n nationality: {\n value:\"\",\n isError: true,\n errorMessage: \"Select the Nationality\",\n },\n });\n return;\n }\n if (\n tax_resident.primary == \"yes\" &&\n tax_resident_option.primary.value == \"\"\n ) {\n settax_resident_option({\n ...tax_resident_option,\n primary: {\n value:\"\",\n isError: true,\n errorMessage: \"Select the Tax Resident\",\n },\n });\n return;\n }\n if (\n tax_resident.primary == \"yes\" &&\n foreign_tax_id_no.primary.value == \"\"\n ) {\n setforeign_tax_id_no({\n ...foreign_tax_id_no,\n primary: {\n value:\"\",\n isError: true,\n errorMessage: \"Enter the Foreign Tax ID No\",\n },\n });\n return;\n }\n // if (pincode.value.value.length <= 5) {\n // setPincode({\n // ...pincode,\n // value: {\n // isError: true,\n // errorMessage: \"Please enter a valid 6-digit PIN code\",\n // },\n // });\n // return;\n // }\n if (!!props.applicantparams && !!props.applicantparams.i_pangno2) {\n if (categoryoccupation.categoryoccupationjoint1.value == \"\") {\n setCategoryOccupation({\n ...categoryoccupation,\n categoryoccupationjoint1: {\n value:\"\",\n isError: true,\n errorMessage: \"Select the Occupation\",\n },\n });\n return;\n }\n if (!gross_annual_income?.gross_annual_incomejoint1?.value) {\n setGross_Annual_Income({\n ...gross_annual_income,\n gross_annual_incomejoint1: {\n value:\"\",\n isError: true,\n errorMessage: \"Select the Gross Annual Income\",\n },\n });\n return;\n }\n if (!countryselected?.countryofbirthjoint1?.value) {\n setcountryselected({\n ...countryselected,\n countryofbirthjoint1: {\n value:\"\",\n isError: true,\n errorMessage: \"Select the Country of Birth\",\n },\n });\n return;\n }\n if (!countryselected?.nationalityjoint1?.value) {\n setcountryselected({\n ...countryselected,\n nationalityjoint1: {\n value:\"\",\n isError: true,\n errorMessage: \"Select the Nationality\",\n },\n });\n return;\n }\n if (\n tax_resident.joint1 == \"yes\" &&\n tax_resident_option.joint1.value == \"\"\n ) {\n settax_resident_option({\n ...tax_resident_option,\n joint1: {\n value:\"\",\n isError: true,\n errorMessage: \"Select the Tax Resident\",\n },\n });\n return;\n }\n if (\n tax_resident.joint1 == \"yes\" &&\n foreign_tax_id_no.joint1.value == \"\"\n ) {\n setforeign_tax_id_no({\n ...foreign_tax_id_no,\n joint1: {\n value:\"\",\n isError: true,\n errorMessage: \"Enter the Foreign Tax ID No\",\n },\n });\n return;\n }\n // if (pincode.value_joint1.value.length <= 5) {\n // setPincode({\n // ...pincode,\n // value_joint1: {\n // isError: true,\n // errorMessage: \"Please enter a valid 6-digit PIN code\",\n // },\n // });\n // return;\n // }\n }\n if (!!props.applicantparams && !!props.applicantparams.i_pangno3) {\n if (categoryoccupation.categoryoccupationjoint2.value == \"\") {\n setCategoryOccupation({\n ...categoryoccupation,\n categoryoccupationjoint2: {\n value:\"\",\n isError: true,\n errorMessage: \"Select the Occupation\",\n },\n });\n return;\n }\n if (!gross_annual_income?.gross_annual_incomejoint2?.value) {\n setGross_Annual_Income({\n ...gross_annual_income,\n gross_annual_incomejoint2: {\n value:\"\",\n isError: true,\n errorMessage: \"Select the Gross Annual Income\",\n },\n });\n return;\n }\n if (!countryselected?.countryofbirthjoint2?.value) {\n setcountryselected({\n ...countryselected,\n countryofbirthjoint2: {\n value:\"\",\n isError: true,\n errorMessage: \"Select the Country of Birth\",\n },\n });\n return;\n }\n if (!countryselected?.nationalityjoint2?.value) {\n setcountryselected({\n ...countryselected,\n nationalityjoint2: {\n value:\"\",\n isError: true,\n errorMessage: \"Select the Nationality\",\n },\n });\n return;\n }\n if (\n tax_resident.joint2 == \"yes\" &&\n tax_resident_option.joint2.value == \"\"\n ) {\n settax_resident_option({\n ...tax_resident_option,\n joint2: {\n value:\"\",\n isError: true,\n errorMessage: \"Select the Tax Resident\",\n },\n });\n return;\n }\n if (\n tax_resident.joint2 == \"yes\" &&\n foreign_tax_id_no.joint2.value == \"\"\n ) {\n setforeign_tax_id_no({\n ...foreign_tax_id_no,\n joint2: {\n value:\"\",\n isError: true,\n errorMessage: \"Enter the Foreign Tax ID No\",\n },\n });\n return;\n }\n // if ( tax_resident.joint2 == \"yes\" &&pincode.value_joint2.value.length <= 5) {\n // setPincode({\n // ...pincode,\n // value_joint2: {\n // isError: true,\n // errorMessage: \"Please enter a valid 6-digit PIN code\",\n // },\n // });\n // return;\n // }\n }\n if (panverification) {\n setOpenModal(!openModal);\n return;\n }\n setIsLoading(true);\n const fatcaDetails = {\n i_Occpn: categoryoccupation.categoryoccupationprimary.value,\n i_income: gross_annual_income.gross_annual_incomeprimary.value,\n FCountryofBirth: countryselected.countryofbirth.value,\n FNationality: countryselected.nationality.value,\n i_invpin: pincode.value.value,\n FPEP: politically_exposed_applicant.primary,\n FPREP: politically_exposed_relative.primary,\n FTaxResident: tax_resident.primary,\n FForeignTaxType:\n tax_resident.primary == \"yes\" ? tax_resident_option.primary.value : \"\",\n FForeignTaxId:\n tax_resident.primary == \"yes\" ? foreign_tax_id_no.primary.value : \"\",\n ...(props.applicantparams.i_genMOH === \"4\" &&\n props.applicantparams.i_pangno2 && {\n i_SOccpn: categoryoccupation.categoryoccupationjoint1.value,\n i_Sincome: gross_annual_income.gross_annual_incomejoint1.value,\n SCountryofBirth: countryselected.countryofbirthjoint1.value,\n SNationality: countryselected.nationalityjoint1.value,\n i_invpin2: pincode.value_joint1.value,\n SForeignTaxType:\n tax_resident.joint1 == \"yes\"\n ? tax_resident_option.joint1.value\n : \"\",\n STaxResident: tax_resident.joint1,\n SForeignTaxId:\n tax_resident.joint1 == \"yes\" ? foreign_tax_id_no.joint1.value : \"\",\n SPEP: politically_exposed_applicant.joint1,\n SPREP: politically_exposed_relative.joint1,\n }),\n ...(props.applicantparams.i_genMOH === \"4\" &&\n props.applicantparams.i_pangno3 && {\n i_TOccpn: categoryoccupation.categoryoccupationjoint2.value,\n i_Tincome: gross_annual_income.gross_annual_incomejoint2.value,\n TCountryofBirth: countryselected.countryofbirthjoint2.value,\n TNationality: countryselected.nationalityjoint2.value,\n i_invpin3: pincode.value_joint2.value,\n TForeignTaxType:\n tax_resident.joint2 == \"yes\"\n ? tax_resident_option.joint2.value\n : \"\",\n TTaxResident: tax_resident.joint2,\n TForeignTaxId:\n tax_resident.joint2 == \"yes\" ? foreign_tax_id_no.joint2.value : \"\",\n TPEP: politically_exposed_applicant.joint2,\n TPREP: politically_exposed_relative.joint2,\n }),\n };\n props.storeFatcaDetails(fatcaDetails);\n setIsLoading(false);\n props.history.replace(\"/new-investor-transaction/nominee-details\");\n };\n\n return (\n <>\n \n \n
    \n
    Primary Holder :
    \n \n
    \n \n setCategoryOccupation({\n ...categoryoccupation,\n categoryoccupationprimary: { value: event.target.value },\n })\n }\n isError={categoryoccupation.categoryoccupationprimary.isError}\n errorMessage={\n categoryoccupation.categoryoccupationprimary.errorMessage\n }\n placeholder={\"Select One\"}\n >\n {Occupations.map((item, index) => (\n \n {item.label}\n \n ))}\n \n
    {\" \"}\n
    \n \n setGross_Annual_Income({\n ...gross_annual_income,\n gross_annual_incomeprimary: { value: event.target.value },\n })\n }\n isError={gross_annual_income.gross_annual_incomeprimary.isError}\n errorMessage={\n gross_annual_income.gross_annual_incomeprimary.errorMessage\n }\n placeholder={\"Select One\"}\n >\n {Gross_Annual_income.map((item, index) => (\n \n {item.value}\n \n ))}\n \n
    \n
    \n \n setcountryselected({\n ...countryselected,\n countryofbirth: { value: event.target.value },\n })\n }\n isError={countryselected.countryofbirth.isError}\n errorMessage={countryselected.countryofbirth.errorMessage}\n >\n {countriesList.map((item, index) => (\n \n {item.value}\n \n ))}\n \n
    \n
    \n \n setcountryselected({\n ...countryselected,\n nationality: { value: event.target.value },\n })\n }\n // isError={countryselected.nationality.isError}\n // errorMessage={countryselected.nationality.errorMessage}\n isError={countryselected.nationality.isError}\n errorMessage={countryselected.nationality.errorMessage}\n >\n {countriesList.map((item, index) => (\n \n {item.value}\n \n ))}\n \n
    \n
    \n \n
    \n \n {tax_resident.primary == \"yes\" && (\n \n
    \n \n settax_resident_option({\n ...tax_resident_option,\n primary: { value: event.target.value },\n })\n }\n fatcawidth={\"true\"}\n placeholder={\"Select One\"}\n isError={tax_resident_option.primary.isError}\n errorMessage={tax_resident_option.primary.errorMessage}\n >\n {foreigncountriesList.map((item, index) => (\n \n {item.value}\n \n ))}\n \n
    \n
    \n {\n const { value } = event.target;\n const regex = /^[a-zA-Z0-9]*$/;\n \n if (regex.test(value)) {\n setforeign_tax_id_no({\n ...foreign_tax_id_no,\n primary: { ...foreign_tax_id_no.primary, value, isError: false, errorMessage: '' }\n });\n } else {\n setforeign_tax_id_no({\n ...foreign_tax_id_no,\n primary: {\n ...foreign_tax_id_no.primary,\n value : \"\",\n isError: true,\n errorMessage: 'Only alphanumeric characters and numbers are allowed'\n }\n });\n }\n }\n }\n fatcawidth={\"true\"}\n isShowError={foreign_tax_id_no.primary.isError}\n errorMessage={foreign_tax_id_no.primary.errorMessage}\n />\n
    \n
    \n )}\n \n \n \n \n {!!props.applicantparams.i_pangno2 &&\n props.applicantparams.i_pangno2.length > 0 && (\n
    \n
    Secondary Holder 1:
    \n \n
    \n \n setCategoryOccupation({\n ...categoryoccupation,\n categoryoccupationjoint1: { value: event.target.value },\n })\n }\n isError={\n categoryoccupation.categoryoccupationjoint1.isError\n }\n errorMessage={\n categoryoccupation.categoryoccupationjoint1.errorMessage\n }\n >\n {Occupations.map((item, index) => (\n \n {item.label}\n \n ))}\n \n
    {\" \"}\n
    \n \n setGross_Annual_Income({\n ...gross_annual_income,\n gross_annual_incomejoint1: {\n value: event.target.value,\n },\n })\n }\n isError={\n gross_annual_income.gross_annual_incomejoint1.isError\n }\n errorMessage={\n gross_annual_income.gross_annual_incomejoint1.errorMessage\n }\n >\n {Gross_Annual_income.map((item, index) => (\n \n {item.value}\n \n ))}\n \n
    \n
    \n \n setcountryselected({\n ...countryselected,\n countryofbirthjoint1: { value: event.target.value },\n })\n }\n isError={countryselected.countryofbirthjoint1.isError}\n errorMessage={\n countryselected.countryofbirthjoint1.errorMessage\n }\n >\n {countriesList.map((item, index) => (\n \n {item.value}\n \n ))}\n \n
    \n
    \n ({\n label: item.label,\n value: item.value,\n }))}\n value={\n countryselected.nationalityjoint1.value\n ? countryselected.nationalityjoint1.value\n : \"\"\n }\n handleChange={(event) =>\n setcountryselected({\n ...countryselected,\n nationalityjoint1: { value: event.target.value },\n })\n }\n isError={countryselected.nationalityjoint1.isError}\n errorMessage={\n countryselected.nationalityjoint1.errorMessage\n }\n >\n {countriesList.map((item, index) => (\n \n {item.value}\n \n ))}\n \n
    \n
    \n \n setPincode({\n ...pincode,\n value_joint1: { value: event.target.value },\n })\n }\n fatcawidth={\"true\"}\n isShowError={pincode.value_joint1.isError}\n errorMessage={pincode.value_joint1.errorMessage}\n />\n
    \n \n {tax_resident.joint1 == \"yes\" && (\n \n
    \n \n settax_resident_option({\n ...tax_resident_option,\n joint1: { value: event.target.value },\n })\n }\n fatcawidth={\"true\"}\n isError={tax_resident_option.joint1.isError}\n errorMessage={tax_resident_option.joint1.errorMessage}\n >\n {foreigncountriesList.map((item, index) => (\n \n {item.value}\n \n ))}\n \n
    \n
    \n {\n const { value } = event.target;\n const regex = /^[a-zA-Z0-9]*$/;\n \n if (regex.test(value)) {\n setforeign_tax_id_no({\n ...foreign_tax_id_no,\n joint1 : { ...foreign_tax_id_no.joint1, value, isError: false, errorMessage: '' }\n });\n } else {\n setforeign_tax_id_no({\n ...foreign_tax_id_no,\n joint1: {\n ...foreign_tax_id_no.joint1,\n value : \"\",\n isError: true,\n errorMessage: 'Only alphanumeric characters and numbers are allowed'\n }\n });\n }\n }\n }\n fatcawidth={\"true\"}\n isShowError={foreign_tax_id_no.joint1.isError}\n errorMessage={foreign_tax_id_no.joint1.errorMessage}\n />\n
    \n
    \n )}\n \n \n \n \n )}\n\n {!!props.applicantparams.i_pangno3 &&\n props.applicantparams.i_pangno3.length > 0 && (\n
    \n
    Secondary Holder 2:
    \n \n
    \n \n setCategoryOccupation({\n ...categoryoccupation,\n categoryoccupationjoint2: { value: event.target.value },\n })\n }\n isError={\n categoryoccupation.categoryoccupationjoint2.isError\n }\n errorMessage={\n categoryoccupation.categoryoccupationjoint2.errorMessage\n }\n >\n {Occupations.map((item, index) => (\n \n {item.label}\n \n ))}\n \n
    {\" \"}\n
    \n \n setGross_Annual_Income({\n ...gross_annual_income,\n gross_annual_incomejoint2: {\n value: event.target.value,\n },\n })\n }\n isError={\n gross_annual_income.gross_annual_incomejoint2.isError\n }\n errorMessage={\n gross_annual_income.gross_annual_incomejoint2.errorMessage\n }\n placeholder={\"Select One\"}\n >\n {Gross_Annual_income.map((item, index) => (\n \n {item.value}\n \n ))}\n \n
    \n
    \n \n setcountryselected({\n ...countryselected,\n countryofbirthjoint2: { value: event.target.value },\n })\n }\n isError={countryselected.countryofbirthjoint2.isError}\n errorMessage={\n countryselected.countryofbirthjoint2.errorMessage\n }\n >\n {countriesList.map((item, index) => (\n \n {item.value}\n \n ))}\n \n
    \n
    \n ({\n label: item.label,\n value: item.value,\n }))}\n value={\n countryselected.nationalityjoint2.value\n ? countryselected.nationalityjoint2.value\n : \"\"\n }\n handleChange={(event) =>\n setcountryselected({\n ...countryselected,\n nationalityjoint2: { value: event.target.value },\n })\n }\n isError={countryselected.nationalityjoint2.isError}\n errorMessage={\n countryselected.nationalityjoint2.errorMessage\n }\n >\n {countriesList.map((item, index) => (\n \n {item.value}\n \n ))}\n \n
    \n
    \n \n setPincode({\n ...pincode,\n value_joint2: { value: event.target.value },\n })\n }\n fatcawidth={\"true\"}\n isShowError={pincode.value_joint2.isError}\n errorMessage={pincode.value_joint2.errorMessage}\n />\n
    \n \n {tax_resident.joint2 == \"yes\" && (\n \n
    \n \n settax_resident_option({\n ...tax_resident_option,\n joint2: { value: event.target.value },\n })\n }\n fatcawidth={\"true\"}\n isError={tax_resident_option.joint2.isError}\n errorMessage={tax_resident_option.joint2.errorMessage}\n >\n {foreigncountriesList.map((item, index) => (\n \n {item.value}\n \n ))}\n \n
    \n
    \n {\n const { value } = event.target;\n const regex = /^[a-zA-Z0-9]*$/;\n \n if (regex.test(value)) {\n setforeign_tax_id_no({\n ...foreign_tax_id_no,\n joint2 : { ...foreign_tax_id_no.joint2, value, isError: false, errorMessage: '' }\n });\n } else {\n setforeign_tax_id_no({\n ...foreign_tax_id_no,\n joint2: {\n ...foreign_tax_id_no.joint2,\n value : \"\",\n isError: true,\n errorMessage: 'Only alphanumeric characters and numbers are allowed'\n }\n });\n }\n }\n }\n fatcawidth={\"true\"}\n isShowError={foreign_tax_id_no.joint2.isError}\n errorMessage={foreign_tax_id_no.joint2.errorMessage}\n />\n
    \n
    \n )}\n \n \n \n \n )}\n
    \n
    \n \n props.history.replace(\"/new-investor-transaction/investor-details\")\n }\n >\n BACK\n \n \n PROCEED\n \n
    \n \n );\n};\nexport default connect(\n ({ newinvestor }) => {\n const { applicantparams, fatcaDetails, store_pan } = newinvestor;\n return {\n applicantparams,\n fatcaDetails,\n store_pan,\n };\n },\n {\n storeFatcaDetails,\n getCountriesList,\n getStatesList,\n storeApplicantParams,\n getKycDetails,\n checkKyc,\n getCitiesByState,\n getRelationShipList,\n storeAddress,\n }\n)(FatcaDetails);\n","import { Checkbox, MenuItem } from \"@material-ui/core\";\nimport {\n KeyboardDatePicker,\n MuiPickersUtilsProvider,\n} from \"@material-ui/pickers\";\nimport IntegrationReactSelect from \"../../../forms/autoCompleteInput\";\nimport CustomizedDialogs from \"../../customModal\";\nimport DateFnsUtils from \"@date-io/date-fns\";\nimport Radio from \"@material-ui/core/Radio\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport React, { useEffect, useReducer, useState } from \"react\";\nimport CustomizedSelect from \"../customizedSelect\";\nimport { Input } from \"../../../forms/input\";\nimport CardComponent from \"./lib/CardComponent\";\nimport { RadioButton } from \"./lib/Radiobutton\";\nimport { Termsandconditions } from \"./lib/Termsandconditions\";\nimport { connect, useDispatch } from \"react-redux\";\nimport { useHistory } from \"react-router\";\nimport {\n getNewPurchaseFundList,\n validateSubBroker,\n swpOptions,\n CalcSIPEnddt,\n storeSchemeDetails,\n getNav,\n getOtherSchemes,\n storeSchemeParams,\n submitSipDetails,\n clearingFirstTimeInvestorJourney,\n getCheckPanKotm,\n getCheckPanAotm,\n} from \"../../../../store/actions\";\nimport {\n GET_CATEGORY_LIST,\n GET_CATEGORY_LIST_SUCCESS,\n GET_CATEGORY_LIST_FAILED,\n REGULAR,\n} from \"../../../../store/types\";\n\nimport {\n INVESTMENT_FREQUENCY,\n SIP_DAY,\n PAYMENT_MODE,\n} from \"../../../../store/types\";\nimport CustomLoader from \"../../../forms/Loader\";\nimport { format } from \"date-fns\";\nconst SipDetails = (props) => {\n const history = useHistory();\n const initialState = {\n Scheme: { value: \"\" },\n Category: { value: \"\" },\n EUIN: { value: \"\" },\n \"SIP Day\": { value: \"\" },\n Frequency: { value: \"\" },\n \"SIP Period From\": { value: \"\" },\n \"SIP Period To\": { value: \"\" },\n \"No of Installments\": { value: \"\" },\n MinimumAmount: \"\",\n Amount: { value: \"\" },\n MinimumInstallements: \"\",\n schemeList: [],\n euinList: [],\n sipDateList: [],\n frequencyList: [],\n planValue: \"\",\n optionValue: \"\",\n schemeValue: \"\",\n modeList: [],\n EUINNO: { value: \"no\" },\n CategoryList: [],\n multiple: \"\",\n umrnList: [],\n UMRN: { value: \"\" },\n perpetualSip: false,\n \"Mode of Registration\": \"\",\n };\n const [formValues, setFormValues] = useReducer(\n (preValues, newValues) => ({ ...preValues, ...newValues }),\n initialState\n );\n const InputFields = [\n [\n {\n name: \"Category\",\n type: \"select\",\n placeholder: \"Select Category\",\n isMandatory: true,\n listName: \"CategoryList\",\n },\n ],\n [\n {\n name: \"Scheme\",\n type: \"Searchselect\",\n placeholder: \"Select Scheme\",\n isMandatory: true,\n listName: \"schemeList\",\n },\n ],\n [\n {\n name: \"Do you want to intentionally leave the EUIN box blank?\",\n type: \"radio\",\n },\n ],\n [\n {\n name: \"EUIN\",\n type: \"Searchselect\",\n placeholder: \"Select EUIN\",\n isMandatory: true,\n listName: \"euinList\",\n },\n ],\n [\n {\n name: \"Frequency\",\n type: \"select\",\n placeholder: \"Select Frequency\",\n isMandatory: true,\n listName: \"frequencyList\",\n },\n ],\n [\n {\n name: \"Mode of Registration\",\n type: \"select\",\n placeholder: \"Select Mode\",\n isMandatory: true,\n listName: \"modeList\",\n },\n ],\n [\n {\n name: \"UMRN\",\n type: \"select\",\n placeholder: \"Select UMRN\",\n listName: \"umrnList\",\n display:\n formValues[\"Mode of Registration\"].value === \"KOTM\" ||\n formValues[\"Mode of Registration\"].value === \"AOTM\"\n ? false\n : true,\n disabled: formValues.umrnList.length === 1 ? true : false,\n },\n ],\n [\n {\n name: \"SIP Day\",\n type: \"select\",\n placeholder: \"Select SIP Day\",\n isMandatory: true,\n listName: \"sipDateList\",\n },\n ],\n [\n {\n name: \"No of Installments\",\n type: \"number\",\n placeholder: !formValues.perpetualSip ? \"\" : \"Perpetual SIP\",\n isMandatory: true,\n disabled: !formValues.perpetualSip ? false : true,\n },\n ],\n [\n {\n name: \"SIP Period From\",\n type: \"date\",\n placeholder: \"Start Date\",\n isMandatory: true,\n disabled: true,\n },\n {\n name: \"SIP Period To\",\n type: \"date\",\n placeholder: \"End Date\",\n isMandatory: true,\n disabled: true,\n },\n ],\n [\n {\n name: \"Perpetual SIP\",\n type: \"Perpetual\",\n display: !formValues[\"SIP Period From\"].value\n },\n ],\n [\n {\n name: \"Amount\",\n type: \"number\",\n placeholder: \"\",\n isMandatory: true,\n },\n ],\n ];\n const [dialog, setDialog] = useState({ open: false, appno: \"\" });\n const [isChecked, setIsChecked] = useState(true);\n const [isLoading, setIsLoading] = useState(false);\n const SIP_Date = formValues[\"SIP Day\"].value;\n const Frequency = formValues[\"Frequency\"].value;\n\n const setFrequencyList = async () => {\n const euinParams = { opt: INVESTMENT_FREQUENCY, fund: \"102\" };\n const euinResponse = await props.swpOptions(euinParams);\n const { Dtinformation } = euinResponse;\n const frequencyList = Dtinformation.map((item) => ({\n label: item.FrequencyID,\n value: item.FrequencyID,\n min: item.Minimum_Instalment,\n }));\n setFormValues({ frequencyList });\n };\n const handleScheme = (label) => (event) => {\n const { schemeList } = formValues;\n if (label === \"Scheme\") {\n const scheme = schemeList.find((item) => item.label === event.label);\n setFormValues({\n Scheme: { value: event },\n planValue: scheme.planValue,\n optionValue: scheme.optionValue,\n schemeValue: scheme.schemeValue,\n MinimumAmount: scheme.MinimumAmount,\n multiple: scheme.multiples || 1,\n });\n setFrequencyList();\n }\n if (label === \"EUIN\") {\n setFormValues({\n EUIN: { value: event },\n });\n }\n };\n const handleChange = (label) => async (event) => {\n const value = event.target.value;\n if (!value) {\n setFormValues({\n [label]: {\n value,\n isError: true,\n errorMessage: `${label} is Mandatory`,\n },\n });\n return;\n }\n setFormValues({ [label]: { value } });\n switch (label) {\n case \"Category\":\n setFormValues({\n [label]: { value },\n Scheme: { value: \"\" },\n Amount: { value: \"\" },\n EUIN: \"\",\n \"SIP Day\": { value: \"\" },\n Frequency: { value: \"\" },\n \"SIP Period From\": { value: \"\" },\n \"SIP Period To\": { value: \"\" },\n \"No of Installments\": { value: \"\" },\n });\n break;\n case \"No of Installments\":\n if (\n !!value &&\n parseInt(value) < parseInt(formValues.MinimumInstallements)\n ) {\n setFormValues({\n [label]: {\n value,\n isError: true,\n errorMessage:\n \" Number of installments should be greater than or equal to the minimum number of installments \",\n },\n });\n } else if (parseInt(value) > 9999) {\n setFormValues({\n [label]: {\n value: \"\",\n isError: true,\n errorMessage: \"No of Installments should not be greater than 9999\",\n },\n });\n }\n break;\n case \"radioValue\":\n setFormValues({\n EUINNO: { value: formValues.EUINNO.value === \"no\" ? \"yes\" : \"no\" },\n });\n break;\n case \"Mode of Registration\":\n if (value === \"KOTM\") {\n fetchUMRNList(\"KOTM\");\n }\n if (value === \"AOTM\") {\n fetchUMRNList(\"AOTM\");\n } else {\n setFormValues({\n UMRN: { value: \"\" },\n });\n }\n setFormValues({ [label]: { value } });\n break;\n case \"Amount\":\n if (!!value && parseInt(value) < parseInt(formValues.MinimumAmount)) {\n setFormValues({\n [label]: {\n value,\n isError: true,\n errorMessage:\n \" Amount should be greater than or equal to \" +\n formValues.MinimumAmount,\n },\n });\n } else if (parseInt(value) % parseInt(formValues.multiple) !== 0) {\n setFormValues({\n [label]: {\n value,\n isError: true,\n errorMessage:\n \"Amount should be multiple of \" + formValues.multiple,\n },\n });\n } else {\n setFormValues({ [label]: { value } });\n }\n break;\n default:\n setFormValues({ [label]: { value } });\n break;\n }\n };\n\n const getSipDates = async (installments) => {\n const StartDate = formValues[\"SIP Day\"].value;\n const sipDateParams = {\n fund: \"102\",\n trtype: \"SIP\",\n StartDate,\n Installments: installments,\n Frequency: formValues.Frequency.value,\n };\n try {\n setIsLoading(true);\n const sipDateResponse = await props.CalcSIPEnddt(sipDateParams);\n const {\n DtData: [dates],\n } = sipDateResponse;\n const { SIP_EndDate, SIP_StartDate } = dates;\n const End_dt = !!SIP_EndDate ? SIP_EndDate.split(\"/\") : [];\n const Start_dt = !!SIP_StartDate ? SIP_StartDate.split(\"/\") : [];\n setFormValues({\n \"SIP Period From\": {\n value: !!End_dt\n ? new Date().setFullYear(Start_dt[2], Start_dt[1] - 1, Start_dt[0])\n : \"\",\n },\n \"SIP Period To\": {\n value: !!Start_dt\n ? new Date().setFullYear(End_dt[2], End_dt[1] - 1, End_dt[0])\n : \"\",\n },\n });\n } catch (e) {\n console.log(\"error\", e);\n setFormValues({\n \"No of Installments\": {\n value: \"\",\n isError: true,\n errorMessage: `Enter Valid Number of Installments`,\n },\n \"SIP Period From\": { value: \"\" },\n \"SIP Period To\": { value: \"\" },\n });\n } finally {\n setIsLoading(false);\n }\n };\n const validate = (label) => async (event) => {\n const value = event.target.value;\n switch (label) {\n case \"Amount\":\n if (!!value && parseInt(value) < parseInt(formValues.MinimumAmount)) {\n setFormValues({\n [label]: {\n value: \"\",\n isError: true,\n errorMessage:\n \" Amount should be greater than or equal to Minimum Amount \",\n },\n });\n }\n break;\n case \"No of Installments\":\n if (!value && formValues.perpetualSip) {\n setFormValues({\n [label]: {\n value,\n isError: true,\n errorMessage: `${label} is Mandatory`,\n },\n });\n return;\n }\n getSipDates(value);\n break;\n default:\n break;\n }\n };\n\n const getMinInstallment = async (event) => {\n const value = event.target.value;\n const { frequencyList } = formValues;\n\n const installment = frequencyList.find((item) => item.value === value);\n const frequencyParams = {\n opt: SIP_DAY,\n fund: \"102\",\n astscheme: value,\n };\n const frequencyResponse = await props.swpOptions(frequencyParams);\n const frequencyData = frequencyResponse.Dtinformation;\n const sipDateList = frequencyData.map((item) => ({\n label: item.sip_cycleid,\n value: item.sip_cycleid,\n }));\n setFormValues({\n sipDateList,\n MinimumInstallements: installment.min,\n Frequency: { value },\n });\n };\n const fetchSchemeList = async () => {\n try {\n setIsLoading(true);\n const schemeParams = {\n schtype: \"Regular\",\n category: formValues.Category.value,\n acno: \"0\",\n fundCode: \"102\",\n trantype: \"I\",\n };\n const schemeResponse = await props.getOtherSchemes(schemeParams);\n const { DtData } = schemeResponse;\n const schemeList = DtData.map((item) => {\n return {\n label: item.fm_schdesc,\n value: item.fm_scheme,\n planValue: item.fm_plan,\n optionValue: item.fm_option,\n schemeValue: item.fm_scheme,\n MinimumAmount: item.SIPminamt,\n multiples: item.multiples,\n };\n });\n setFormValues({\n schemeList,\n });\n } catch (e) {\n console.log(e);\n setFormValues({ schemeList: [] });\n } finally {\n setIsLoading(false);\n }\n };\n const fetchEuinList = async () => {\n try {\n setIsLoading(true);\n\n const response = await props.validateSubBroker({\n Fund: \"102\",\n SubAgentCd: \"\",\n AgentCd: props.token,\n });\n const { DtData } = response;\n const euinList = DtData.map((item) => ({\n value: item.abm_name,\n label: item.abm_agent,\n }));\n setFormValues({ euinList: euinList });\n } catch (e) {\n alert(e);\n } finally {\n setIsLoading(false);\n }\n };\n const fetchModelist = async () => {\n try {\n setIsLoading(true);\n const params = {\n opt: PAYMENT_MODE,\n Fund: \"102\",\n astscheme: props.applicantparams.i_pangno,\n };\n const response = await props.swpOptions(params);\n if (!!response) {\n setFormValues({\n modeList: response.Dtinformation.map((item) => {\n return { label: item.Pay_Mode, value: item.Pay_Mode_Val };\n }),\n });\n }\n } catch (e) {\n console.log(e);\n } finally {\n setIsLoading(false);\n }\n };\n const fetchCategoryList = async () => {\n try {\n setIsLoading(true);\n let params = { plntype: REGULAR };\n params = { ...params, opt: \"AT\", fund: \"102\" };\n const types = [\n GET_CATEGORY_LIST,\n GET_CATEGORY_LIST_SUCCESS,\n GET_CATEGORY_LIST_FAILED,\n ];\n const response = await props.getNewPurchaseFundList(params, types);\n const { Dtinformation } = response;\n const categoryList = Dtinformation.map((item) => ({\n value: item.fm_subcategory,\n label: item.fm_subcategory,\n }));\n setFormValues({ CategoryList: categoryList });\n } catch (e) {\n console.log(e);\n } finally {\n setIsLoading(false);\n }\n };\n useEffect(() => {\n fetchCategoryList();\n fetchModelist();\n }, []);\n useEffect(() => {\n fetchSchemeList();\n fetchEuinList();\n }, [formValues.Category.value]);\n\n useEffect(() => {\n if (formValues[\"No of Installments\"].value && SIP_Date && Frequency) {\n getSipDates(formValues[\"No of Installments\"].value);\n }\n }, [SIP_Date, Frequency]);\n const fetchUMRNList = async (type) => {\n setIsLoading(true);\n const { AMC } = formValues;\n const params = {\n Fund: \"102\",\n PAN: props.applicantparams.i_pangno,\n Acno: 0,\n };\n const response =\n type === \"KOTM\"\n ? await props.getCheckPanKotm(params)\n : await props.getCheckPanAotm(params);\n const { Table1 } = response;\n const umrnList = Table1.map((item) => ({\n value: item,\n label: item.UMRNNO,\n }));\n if (umrnList.length > 1) {\n const maxAmt = Table1.reduce(\n (max, obj) => (obj.Amt > max ? obj.Amt : max),\n 0\n );\n const filteredData = Table1.filter((obj) => obj.Amt === maxAmt);\n setFormValues({ UMRN: { value: filteredData[0] } });\n }\n if (umrnList.length === 1) {\n setFormValues({ UMRN: { value: umrnList[0].value } });\n }\n setFormValues({ umrnList: umrnList });\n setIsLoading(false);\n };\n const handlechangeSIPEndDateChange = () => {\n const { perpetualSip } = formValues;\n let Umrn_endDate;\n const URMN_enddate =\n formValues[\"UMRN\"]?.value[\"MANDATE END DATE\"]?.split(\"/\");\n const End_dt = \"31/12/2099\".split(\"/\");\n const endDate = new Date().setFullYear(End_dt[2], End_dt[1] - 1, End_dt[0]);\n if (formValues[\"UMRN\"]?.value[\"MANDATE END DATE\"]) {\n Umrn_endDate = new Date().setFullYear(\n URMN_enddate[2],\n URMN_enddate[1] - 1,\n URMN_enddate[0]\n );\n }\n let selectedFrequency = formValues[\"Frequency\"].value;\n let startDateSplitting = formValues[\"SIP Period From\"].value\n let dateFromTimestamp = new Date(startDateSplitting);\n\n// Extract the year, month, and day from the Date object\nlet Year = dateFromTimestamp.getFullYear();\nlet Month = dateFromTimestamp.getMonth() + 1; // getMonth() returns 0-11\nlet Day = dateFromTimestamp.getDate();\n const startDate = new Date(Year, Month - 1, Day);\n let EndDate =\n formValues[\"Mode of Registration\"].value === \"KOTM\"\n ? new Date(Umrn_endDate)\n : new Date(endDate);\n let monthsDifference =\n (EndDate.getFullYear() - startDate.getFullYear()) * 12 +\n (EndDate.getMonth() - startDate.getMonth());\n let noofFrequency =\n selectedFrequency == \"Monthly\"\n ? monthsDifference\n : selectedFrequency == \"Daily\"\n ? Math.floor((EndDate - startDate) / (1000 * 60 * 60 * 24))\n : selectedFrequency == \"Weekly\"\n ? (EndDate - startDate) / (1000 * 60 * 60 * 24) / 7\n : selectedFrequency == \"Quarterly\"\n ? Math.floor(monthsDifference / 3)\n : selectedFrequency == \"Yearly\"\n ? Math.floor(monthsDifference / 12)\n : \"\";\n if (!perpetualSip && formValues[\"UMRN\"]?.value) {\n setFormValues({\n perpetualSip: !perpetualSip,\n \"SIP Period To\": {\n value:\n formValues[\"Mode of Registration\"].value === \"KOTM\"\n ? Umrn_endDate\n : endDate,\n },\n \"No of Installments\": {\n value: Math.floor(noofFrequency),\n },\n });\n } else if (!perpetualSip) {\n setFormValues({\n perpetualSip: !perpetualSip,\n \"SIP Period To\": {\n value: endDate,\n },\n \"No of Installments\": {\n value: Math.floor(noofFrequency),\n },\n });\n } else if (!!perpetualSip) {\n setFormValues({\n perpetualSip: !perpetualSip,\n });\n }\n };\n\n const closeModel = () => {\n history.replace(\"/new-transaction\");\n };\n const gotoTransactionTypes = () => {\n history.replace(\"/\");\n };\n const dispatch = useDispatch();\n\n const submit = async () => {\n const {\n schemeList,\n euinList,\n modeList,\n CategoryList,\n Category,\n sipDateList,\n frequencyList,\n MinimumInstallements,\n MinimumAmount,\n planValue,\n optionValue,\n schemeValue,\n type,\n ct,\n umrnList,\n multiple,\n perpetualSip,\n EUIN,\n ...others\n } = formValues;\n let d1, d2;\n const split_enddate = format(\n formValues[\"SIP Period To\"].value,\n \"MM/dd/yyyy\"\n ).split(\"/\");\n const split_mandatedate =\n formValues[\"UMRN\"].value[\"MANDATE END DATE\"]?.split(\"/\");\n d1 = new Date(\n Number(split_enddate[2]),\n Number(split_enddate[0]) - 1,\n Number(split_enddate[1])\n );\n if (formValues[\"UMRN\"].value[\"MANDATE END DATE\"]?.split(\"/\")) {\n d2 = new Date(\n Number(split_mandatedate[2]),\n Number(split_mandatedate[1]) - 1,\n Number(split_mandatedate[0])\n );\n }\n const euindeclaration = [\"EUIN Declaration\"];\n const umrn = [\"UMRN\"];\n const noof = [\"No of Installments\"];\n const values = Object.keys(others);\n const keys = formValues.perpetualSip\n ? values.filter((ele) => !noof.includes(ele))\n : values;\n const final_keys_for_validation =\n formValues[\"Mode of Registration\"].value === \"KOTM\"\n ? keys\n : keys.filter((ele) => !umrn.includes(ele));\n const findError = final_keys_for_validation.every(\n (key) => !!others[key].value\n );\n if (!findError) {\n keys.forEach((key) => {\n !others[key].value &&\n setFormValues({\n [key]: {\n ...others[key],\n isError: true,\n errorMessage: `${\n key === \"sipType\"\n ? \"SIP Type\"\n : key === \"Category\"\n ? \"Category\"\n : key === \"Scheme\"\n ? \"Scheme\"\n : key === \"investmentFrequency\"\n ? \"Investment frequency\"\n : key === \"installments\"\n ? \"Installments\"\n : key === \"sipDay\"\n ? \"SIP day\"\n : key === \"sip_start_date\"\n ? \"SIP Start date\"\n : key === \"sip_end_date\"\n ? \"SIP end date\"\n : key === \"installmentAmount\"\n ? \"Installment Amount\"\n : key\n } is Mandatory`,\n },\n });\n });\n\n return;\n } else if (\n others[\"No of Installments\"].value < MinimumInstallements &&\n !formValues.perpetualSip\n ) {\n setFormValues({\n \"No of Installments\": {\n ...others[\"No of Installments\"],\n isError: true,\n errorMessage: `Number of installments should be greater than or equal to the minimum number of installments`,\n },\n });\n\n return;\n } else if (parseInt(others[\"Amount\"].value) < parseInt(MinimumAmount)) {\n setFormValues({\n Amount: {\n ...others[\"Amount\"],\n value: \"\",\n isError: true,\n errorMessage: `Amount should be greater than or equal to Minimum Amount`,\n },\n });\n\n return;\n }\n // else if (+others[\"Amount\"].value > 1000000) {\n // setFormValues({\n // Amount: {\n // ...others[\"Amount\"],\n // isError: true,\n // errorMessage: `Amount should be less than or equal to 1,000,000`,\n // },\n // });\n // return;\n // }\n else if (formValues.Amount.value % formValues.multiple !== 0) {\n setFormValues({\n Amount: {\n value: formValues.Amount.value,\n isError: true,\n errorMessage: \"Amount should be a multiple of \" + formValues.multiple,\n },\n });\n return;\n } else if (\n formValues[\"Mode of Registration\"].value === \"KOTM\" &&\n formValues[\"UMRN\"].value.Amt < formValues.Amount.value\n ) {\n setFormValues({\n Amount: {\n value: formValues.Amount.value,\n isError: true,\n errorMessage: `SIP installment amount cannot exceed\n mandate registration limit of ${formValues[\"UMRN\"]?.value?.Amt}.`,\n },\n });\n } else if (!isChecked) {\n alert(\"Please accept the terms and conditions to proceed\");\n return;\n } else if (formValues.EUINNO.value === \"no\" && !EUIN.value) {\n setFormValues({\n EUIN: {\n value: \"\",\n isError: true,\n errorMessage: `EUIN selection is mandatory`,\n },\n });\n } else if (d1 > d2) {\n setFormValues({\n \"SIP Period To\": {\n value: \"\",\n isError: true,\n errorMessage: `SIP end date cannot exceed mandate validity\n date of ${formValues[\"UMRN\"].value[\"MANDATE END DATE\"]}.`,\n },\n });\n return;\n } else {\n setIsLoading(true);\n const schemedetails = {\n i_scheme: schemeValue,\n i_plan: planValue,\n i_option: optionValue,\n sip_amt: others.Amount.value,\n i_disitributorid: props.token,\n i_EUINno: formValues.EUINNO.value === \"no\" ? EUIN.value.value : \"\",\n i_frequency: others.Frequency.value,\n i_noofinst: others[\"No of Installments\"].value,\n i_sipstartdt: format(others[\"SIP Period From\"].value, \"MM/dd/yyyy\"),\n i_sipenddt: format(others[\"SIP Period To\"].value, \"MM/dd/yyyy\"),\n i_paymode: formValues[\"Mode of Registration\"].value,\n i_umrno: formValues[\"UMRN\"]?.value?.UMRNNO,\n };\n const paramsSip = {\n ...props.applicantparams,\n ...props.investmentparams,\n ...props.fatcaDetails,\n ...schemedetails,\n ...props.nomineDetails,\n i_trtype: \"SINI\",\n i_appldt: format(new Date(), \"MM/dd/yyyy\"),\n i_chqdt: format(new Date(), \"MM/dd/yyyy\"),\n i_entby: props.userId,\n i_sipflag: \"Y\",\n Invdistflag: \"W\",\n CustomFund: \"102\",\n i_fund: \"102\",\n };\n try {\n\n const responseSip = await props.submitSipDetails(paramsSip);\n const { DtData } = responseSip;\n const { appno } = DtData[0];\n setIsLoading(false);\n dispatch(clearingFirstTimeInvestorJourney());\n setDialog({ appno: appno, open: true });\n } catch (err) {\n if (\n !!err \n ) {\n setIsLoading(false);\n }\n }\n\n }\n };\n return (\n <>\n \n \n <>\n {InputFields.map((section, index) => (\n
    \n {section.map((field) => (\n \n {field.type === \"select\" ? (\n \n {formValues[field.listName].map((i, index) => (\n \n {i.label}\n \n ))}\n \n ) : field.type === \"Searchselect\" || field.type === \"radio\" ? (\n <>\n
    \n
    \n {field.name === \"Scheme\"\n ? Scheme*\n : field.name === \"EUIN\" &&\n formValues.EUINNO.value === \"no\"\n ? EUIN Selection*\n : field.name === \"EUIN\" &&\n formValues.EUINNO.value !== \"n0\"\n ? \"\"\n : \"\"}\n
    \n {/* {field.name ===\n \"Do you want to intentionally leave the EUIN box blank?\" && (\n <>\n \n
    \n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
    YES
    \n
    \n
    \n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
    NO
    \n
    \n \n \n )} */}\n {field.type !== \"radio\" &&\n (field.name !== \"EUIN\" ||\n formValues.EUINNO.value === \"no\" ? (\n ({\n label: i.label,\n value: i.value,\n })\n )}\n value={formValues[field.name].value}\n placeholder={`Select ${field.name}`}\n handleChange={handleScheme(field.name)}\n disabled={field.disabled}\n isError={formValues[field.name].isError}\n errorMessage={formValues[field.name].errorMessage}\n />\n ) : (\n
    \n I/We hereby confirm that the EUIN box has been\n intentionally left the blank by me/us as this is an\n 'execution-only' transaction without any interaction\n or advice by any personnel of the above distributor\n or notwithstanding the advice of\n in-appropriateness,if any provided by any personnel\n of the distributor and the distributor has not\n charged any advisory fees on this transaction\n
    \n ))}\n
    \n {field.name === \"Amount\" && (\n Minimum Amount : ₹ {formValues.minimumAmount}\n )}\n \n ) : field.type === \"date\" ? (\n <>\n \n {`${field.name}`}\n
    \n \n \n \n {formValues[field.name].isError && (\n
    \n {formValues[field.name].errorMessage}{\" \"}\n
    \n )}\n \n ) : field.type === \"Perpetual\" ? (\n
    \n {!!formValues[\"SIP Day\"].value && (\n \n \n \n Perpetual SIP\n
    \n \n )}\n \n ) : (\n
    \n e.key === \".\" && e.preventDefault()}\n />\n \n {field.name === \"No of Installments\"\n ? `Minimum number of installments : ${formValues.MinimumInstallements}`\n : field.name === \"Amount\"\n ? `Minimum Amount : ${formValues.MinimumAmount}`\n : null}\n \n
    \n )}\n {formValues[\"UMRN\"]?.value && field.name === \"UMRN\" && (\n
    \n
    \n
    Mandate amount limit
    \n
    Start Date
    \n
    End Date
    \n
    Bank Name
    \n
    Bank Account No
    \n
    \n
    \n
    \n {formValues[\"UMRN\"].value\n ? formValues[\"UMRN\"].value.Amt\n : \"\"}\n (INR)\n
    \n
    \n {formValues[\"UMRN\"].value\n ? formValues[\"UMRN\"].value[\"MANDATE START DATE\"]\n : \"\"}{\" \"}\n
    \n
    \n {formValues[\"UMRN\"].value\n ? formValues[\"UMRN\"].value[\"MANDATE END DATE\"]\n : \"\"}\n
    \n
    \n {formValues[\"UMRN\"].value\n ? formValues[\"UMRN\"].value[\"BANK NAME\"]\n : \"\"}\n
    {\" \"}\n
    \n {formValues[\"UMRN\"].value\n ? formValues[\"UMRN\"].value[\"BANK A/C NO\"]\n : \"\"}\n
    \n
    \n
    \n )}\n {formValues[\"UMRN\"]?.value &&\n field.name === \"UMRN\" &&\n formValues?.umrnList.length === 1 && (\n \n The investor has only one active KOTM mandate.\n \n )}\n \n ))}\n \n ))}\n {/* <>\n setIsChecked((p) => !p)}\n checked={isChecked}\n />\n \n I/We have read and understood the contents of the Offer Document(s),\n Load Structure(s) of the respective Scheme(s) and agree to abide by\n the terms, conditions, rules and regulations of the respective\n Scheme(s).\n \n */}\n {/* */}\n
    \n
    \n \n history.replace(\"/new-investor-transaction/bank-details\")\n }\n >\n BACK\n \n \n SUBMIT\n \n \n
    \n \n );\n};\n\nexport default connect(\n ({ authReducer, transactions, newinvestor }) => {\n const { token, userId } = authReducer;\n const { euinList } = transactions;\n const {\n schemeparams,\n schemeDetails,\n applicantparams,\n fatcaDetails,\n investmentparams,\n nomineDetails,\n } = newinvestor;\n return {\n token,\n userId,\n euinList,\n schemeparams,\n schemeDetails,\n applicantparams,\n investmentparams,\n fatcaDetails,\n nomineDetails,\n };\n },\n {\n getNewPurchaseFundList,\n validateSubBroker,\n swpOptions,\n CalcSIPEnddt,\n submitSipDetails,\n storeSchemeDetails,\n getCheckPanKotm,\n storeSchemeParams,\n getOtherSchemes,\n getNav,\n clearingFirstTimeInvestorJourney,\n getCheckPanAotm,\n }\n)(SipDetails);\n","import { MenuItem, Checkbox } from \"@material-ui/core\";\nimport CustomizedDialogs from \"../../customModal\";\nimport { Input } from \"../../../forms/input\";\nimport Radio from \"@material-ui/core/Radio\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport React, { useState, useEffect, useReducer } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport { useHistory } from \"react-router\";\nimport { Termsandconditions } from \"./lib/Termsandconditions\";\nimport {\n getNewPurchaseFundList,\n validateSubBroker,\n submitLumpsumDetails,\n clearingFirstTimeInvestorJourney,\n storeSchemeDetails,\n} from \"../../../../store/actions\";\nimport {\n GET_CATEGORY_LIST,\n GET_CATEGORY_LIST_SUCCESS,\n GET_CATEGORY_LIST_FAILED,\n REGULAR,\n} from \"../../../../store/types\";\nimport IntegrationReactSelect from \"../../../forms/autoCompleteInput\";\nimport { RadioButton } from \"./lib/Radiobutton\";\nimport CustomLoader from \"../../../forms/Loader\";\nimport { format } from \"date-fns\";\nimport CustomizedSelect from \"../customizedSelect\";\nimport CardComponent from \"./lib/CardComponent\";\nconst Lumpsum = (props) => {\n const initialState = {\n Scheme: { value: \"\" },\n Category: { value: \"\" },\n \"Scheme Plan\": \"\",\n \"Scheme Option\": \"\",\n Combo: false,\n comboDisclaimer: \"\",\n comboLabel: \"\",\n Amount: { value: \"\" },\n \"Sub Broker Code\": { value: \"\" },\n planValue: \"\",\n optionValue: \"\",\n schemeValue: \"\",\n EUIN: \"\",\n\tEUINNO : {value: \"no\"},\n schemeList: [],\n euinList: [],\n CategoryList: [],\n multiples: \"\",\n };\n const [formValues, setFormValues] = useReducer(\n (preValues, newValues) => ({ ...preValues, ...newValues }),\n initialState\n );\n const InputFields = [\n [\n {\n name: \"Category\",\n type: \"select\",\n placeholder: \"Select Category\",\n isMandatory: true,\n listName: \"CategoryList\",\n },\n\n {\n name: \"Scheme\",\n type: \"Searchselect\",\n placeholder: \"Select Scheme\",\n isMandatory: true,\n listName: \"schemeList\",\n },\n {\n name: \"Scheme Plan\",\n type: \"text\",\n placeholder: \"Select Scheme Plan\",\n isMandatory: true,\n listName: \"schemePlanList\",\n disabled: true,\n display: \"none\",\n },\n ],\n [\n {\n name: \"Scheme Option\",\n type: \"text\",\n placeholder: \"Select Scheme Option\",\n isMandatory: true,\n listName: \"schemeOptionList\",\n disabled: true,\n display: \"none\",\n },\n\t {\n name: \"Do you want to intentionally leave the EUIN box blank?\",\n type: \"radio\",\n },\n {\n name: \"EUIN\",\n type: \"Searchselect\",\n placeholder: \"Select EUIN\",\n isMandatory: true,\n listName: \"euinList\",\n },\n ],\n [\n {\n name: \"Amount\",\n type: \"number\",\n placeholder: \"Enter Amount\",\n isMandatory: true,\n },\n ],\n [\n {\n name: \"Combo\",\n type: \"combo\",\n },\n ],\n\n\t\n\n ];\n const [dialog, setDialog] = useState({ open: false, appno: \"\" });\n const [isLoading, setIsLoading] = useState(false);\n const [isChecked, setIsChecked] = useState(true);\n const history = useHistory();\n const fetchSchemeList = async () => {\n try {\n const params = {\n plntype: \"Regular\",\n opt: \"S\",\n schemetype: formValues.Category.value,\n fund: \"102\"\n };\n const response = await props.getNewPurchaseFundList(params);\n const { Dtinformation } = response;\n const schemeList = Dtinformation.map((item) => ({\n value: item.Scheme_Plan,\n label: item.Scheme_Desc,\n plan: item.PlanDesc,\n option: item.fm_optiondesc,\n planValue: item.Scheme_Plan.split(\"~\")[2],\n optionValue: item.Scheme_Plan.split(\"~\")[3],\n schemeValue: item.Scheme_Plan.split(\"~\")[1],\n minAmt: item.MinAmt,\n multiples: item.multiples,\n combo: item.combo_flag,\n comboDisclaimer: item.combo_disclaimer,\n comboLabel: item.combo_lable,\n }));\n setFormValues({\n schemeList: schemeList.filter((item) => {\n return (\n item.plan.toLowerCase() === \"regular\" && item.schemeValue !== \"EB\"\n );\n }),\n });\n } catch (e) {\n setFormValues({ schemeList: [] });\n console.log(e);\n } finally {\n setIsLoading(false);\n }\n };\n const fetchEuinList = async () => {\n try {\n setIsLoading(true);\n const response = await props.validateSubBroker({\n Fund: \"102\",\n SubAgentCd: \"\",\n AgentCd: props.token,\n });\n const { DtData } = response;\n const euinList = DtData.map((item) => ({\n value: item.abm_name,\n label: item.abm_agent,\n }));\n setFormValues({ euinList: euinList });\n } catch (e) {\n console.log(e);\n } finally {\n setIsLoading(false);\n }\n };\n const fetchCategoryList = async () => {\n try {\n setIsLoading(true);\n let params = { plntype: REGULAR };\n params = { ...params, opt: \"AT\", fund: \"102\", customfund: \"102\" };\n const types = [\n GET_CATEGORY_LIST,\n GET_CATEGORY_LIST_SUCCESS,\n GET_CATEGORY_LIST_FAILED,\n ];\n const response = await props.getNewPurchaseFundList(params, types);\n const { Dtinformation } = response;\n const categoryList = Dtinformation.map((item) => ({\n value: item.fm_subcategory,\n label: item.fm_subcategory,\n }));\n setFormValues({ CategoryList: categoryList });\n } catch (e) {\n console.log(e);\n } finally {\n setIsLoading(false);\n }\n };\n useEffect(() => {\n fetchCategoryList();\n }, []);\n useEffect(() => {\n fetchSchemeList();\n fetchEuinList();\n }, [formValues.Category.value]);\n const handleScheme = (label) => (event) => {\n const { schemeList } = formValues;\n if (label === \"Scheme\") {\n const scheme = schemeList.find((item) => item.value === event.value);\n const commonValues = {\n Scheme: { value: event },\n \"Scheme Plan\": { value: scheme.plan },\n \"Scheme Option\": { value: scheme.option },\n planValue: scheme.planValue,\n optionValue: scheme.optionValue,\n schemeValue: scheme.schemeValue,\n minimumAmount: scheme.minAmt,\n multiples: scheme.multiples || 1,\n };\n\n setFormValues({\n ...commonValues,\n ...(scheme.combo === \"Y\" && !!scheme.comboDisclaimer\n ? { Combo: true, comboDisclaimer: scheme.comboDisclaimer }\n : { comboDisclaimer: \"\" }),\n });\n\n\n }\n if (label === \"EUIN\") {\n setFormValues({\n EUIN: { value: event },\n });\n }\n };\n const handleChange = (label) => (event) => {\n const value = label !== \"Scheme\" ? event.target.value : event.value;\n switch (label) {\n case \"Category\":\n setFormValues({\n [label]: { value },\n Scheme: { value: \"\" },\n \"Scheme Plan\": \"\",\n \"Scheme Option\": \"\",\n Amount: { value: \"\" },\n EUIN: \"\",\n });\n break;\n case \"Combo\":\n setFormValues({\n Combo: !formValues.Combo,\n });\n break;\n\n\t case \"radioValue\": \n setFormValues({\n EUINNO : {value: formValues.EUINNO.value === \"no\" ? \"yes\" : \"no\"}\n })\n case \"Amount\":\n if (parseInt(value) < parseInt(formValues.minimumAmount)) {\n setFormValues({\n [label]: {\n value,\n isError: true,\n errorMessage:\n \" Amount should be greater than or equal to \" +\n formValues.minimumAmount,\n },\n });\n } else if (parseInt(value) % parseInt(formValues.multiples) !== 0) {\n setFormValues({\n [label]: {\n value,\n isError: true,\n errorMessage:\n \"Amount should be multiple of \" + formValues.multiples,\n },\n });\n } else {\n setFormValues({ [label]: { value } });\n }\n break;\n default:\n setFormValues({ [label]: { value } });\n }\n };\n const closeModel = () => {\n history.replace(\"/new-transaction\");\n };\n const handleBlur = (label) => (event) => {\n const value = event.target.value;\n props.storeLumpsum({[label]:value})\n }\n const gotoTransactionTypes = () => {\n history.replace(\"/\");\n };\n const dispatch = useDispatch();\n const submit = async () => {\n if (!formValues.Category.value) {\n setFormValues({\n Category: {\n value: \"\",\n isError: true,\n errorMessage: \" Category is Mandatory\",\n },\n });\n return;\n } else if (!formValues.Scheme.value) {\n setFormValues({\n Scheme: {\n value: \"\",\n isError: true,\n errorMessage: \" Scheme is Mandatory\",\n },\n });\n return;\n } else if (formValues.EUINNO.value === \"no\" && !formValues.EUIN.value) {\n\t\tsetFormValues({\n\t\t EUIN: {\n\t\t\tvalue: \"\",\n\t\t\tisError: true,\n\t\t\terrorMessage: \"EUIN selection is mandatory\",\n\t\t },\n\t\t});\n\t\treturn;\n\t} else if (!formValues.Amount.value) {\n setFormValues({\n Amount: {\n value: \"\",\n isError: true,\n errorMessage: \" Amount is Mandatory\",\n },\n });\n return;\n } else if (!isChecked) {\n alert(\"Please accept the terms and conditions to proceed\");\n return;\n } else if (formValues.Amount.value < formValues.minimumAmount) {\n setFormValues({\n Amount: {\n value: formValues.Amount.value,\n isError: true,\n errorMessage:\n \" Amount should be greater than or equal to \" +\n formValues.minimumAmount,\n },\n });\n return;\n } else if (formValues.Amount.value % formValues.multiples !== 0) {\n setFormValues({\n Amount: {\n value: formValues.Amount.value,\n isError: true,\n errorMessage:\n \"Amount should be a multiple of \" + formValues.multiples,\n },\n });\n return;\n } else {\n if (!!formValues.Combo) {\n if (\n window.confirm(\n \"You have opted to do a Purchase cum Switch. Do you want to proceed?\"\n )\n ) {\n } else {\n return;\n }\n }\n\n setIsLoading(true);\n const schemedetails = {\n i_scheme: formValues.schemeValue,\n i_plan: formValues.planValue,\n i_option: formValues.optionValue,\n\t\ti_EUINno: formValues.EUINNO.value === \"no\" ? formValues.EUIN.value.value : \"\",\n i_amount: formValues.Amount.value,\n i_disitributorid: props.token,\n combo_flag: !!formValues.Combo ? \"Y\" : \"N\",\n };\n props.storeSchemeDetails({\n ...formValues,\n type: \"lumpsum\",\n ct: formValues.Category.value,\n });\n const paramsLumpsum = {\n ...props.applicantparams,\n ...props.fatcaDetails,\n ...props.investmentparams,\n ...props.nomineDetails,\n ...schemedetails,\n i_email: props.applicantparams.i_email === props.applicantparams.i_maskedEmail ? props.applicantparams.i_orignalEmail : props.applicantparams.i_email,\n i_mobileno: props.applicantparams.i_mobileno === props.applicantparams.i_maskedMobile ? props.applicantparams.i_orignalMobile : props.applicantparams.i_mobileno,\n\n i_trtype: \"NEW\",\n i_appldt: format(new Date(), \"MM/dd/yyyy\"),\n i_chqdt: format(new Date(), \"MM/dd/yyyy\"),\n i_entby: props.userId,\n i_bankadd2: \" -\",\n i_bankadd3: \" -\",\n Invdistflag: \"W\",\n CustomFund: \"102\",\n i_fund: \"102\",\n };\n\n try {\n const responseLumpsum = await props.submitLumpsumDetails(paramsLumpsum);\n const { DtData } = responseLumpsum;\n const { appno } = DtData[0];\n dispatch(clearingFirstTimeInvestorJourney());\n setDialog({ appno: appno, open: true });\n setIsLoading(false);\n } catch (error) {\n setIsLoading(false);\n }\n\n }\n };\n const handleCombo=()=> {\n setFormValues({\n Combo: !formValues.Combo,\n });\n }\n return (\n <>\n \n \n <>\n {InputFields.map((section, index) => (\n
    \n {section.map((field) => (\n \n {field.type === \"select\" ? (\n \n {formValues[field.listName].map((i, index) => (\n \n {i.label}\n \n ))}\n \n ) : field.type === \"Searchselect\" || field.type === \"radio\" ? (\n\t\t\t\t\t<>\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t {field.name === \"Scheme\"\n\t\t\t\t\t\t\t? Scheme*\n\t\t\t\t\t\t\t: (field.name === \"EUIN\" && formValues.EUINNO.value === \"no\")\n\t\t\t\t\t\t\t? EUIN Selection*\n : (field.name === \"EUIN\" && formValues.EUINNO.value !== \"no\") ? \"\" : \"\"}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t{/* {field.name ===\n\t\t\t\t\t\t \"Do you want to intentionally leave the EUIN box blank?\" && (\n\t\t\t\t\t\t <>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t className=\"investor-formcontrol-label\"\n\t\t\t\t\t\t\t\t style={{ margin: 0 }}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t
    YES
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t className=\"investor-formcontrol-label\"\n\t\t\t\t\t\t\t\t style={{ margin: 0 }}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t
    NO
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t)} */}\n\t\t\t\t\t\t{ (field.type !== \"radio\") && ((field.name !== \"EUIN\" || formValues.EUINNO.value === \"no\" ) ? (\n\t\t\t\t\t\t ({\n\t\t\t\t\t\t\t label: i.label,\n\t\t\t\t\t\t\t value: i.value,\n\t\t\t\t\t\t\t}))}\n\t\t\t\t\t\t\tvalue={formValues[field.name].value}\n\t\t\t\t\t\t\tplaceholder={`Select ${field.name}`}\n\t\t\t\t\t\t\thandleChange={handleScheme(field.name)}\n\t\t\t\t\t\t\tonBlur={handleBlur(field.name)}\n\t\t\t\t\t\t\tdisabled={field.disabled}\n\t\t\t\t\t\t\tisError={formValues[field.name].isError}\n\t\t\t\t\t\t\terrorMessage={formValues[field.name].errorMessage}\n\t\t\t\t\t\t />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t I/We hereby confirm that the EUIN box has been intentionally left\n\t\t\t\t\t\t the blank by me/us as this is an 'execution-only' transaction\n\t\t\t\t\t\t without any interaction or advice by any personnel of the above\n\t\t\t\t\t\t distributor or notwithstanding the advice of in-appropriateness,if\n\t\t\t\t\t\t any provided by any personnel of the distributor and the distributor\n\t\t\t\t\t\t has not charged any advisory fees on this transaction\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t))}\n\t\t\t\t\t
    \n\t\t\t\t\t {field.name === \"Amount\" && (\n\t\t\t\t\t\tMinimum Amount : ₹ {formValues.minimumAmount}\n\t\t\t\t\t )}\n\t\t\t\t\t\n\t\t\t\t ) : field.type === \"combo\" ? (\n
    \n {!!formValues.comboDisclaimer && (\n \n \n \n Combo\n
    \n
    \n )}\n {!!formValues.comboDisclaimer && !!formValues.Combo && (\n \n {\" \"}\n {formValues.comboDisclaimer}\n \n )}\n \n ) : (\n <>\n
    \n \n
    \n {field.name === \"Amount\" && (\n Minimum Amount : ₹ {formValues.minimumAmount}\n )}\n \n )}\n \n ))}\n \n ))}\n {/* <>\n setIsChecked((p) => !p)}\n checked={isChecked}\n />\n \n I/We have read and understood the contents of the Offer Document(s),\n Load Structure(s) of the respective Scheme(s) and agree to abide by\n the terms, conditions, rules and regulations of the respective\n Scheme(s).\n \n */}\n {/* */}\n
    \n
    \n \n history.replace(\"/new-investor-transaction/bank-details\")\n }\n >\n BACK\n \n \n SUBMIT\n \n \n
    \n \n );\n};\nexport default connect(\n ({ authReducer, transactions, newinvestor }) => {\n const { token, userId } = authReducer;\n const { euinList } = transactions;\n const {\n schemeDetails,\n fatcaDetails,\n applicantparams,\n investmentparams,\n nomineDetails,\n } = newinvestor;\n return {\n schemeDetails,\n token,\n userId,\n euinList,\n fatcaDetails,\n applicantparams,\n investmentparams,\n nomineDetails,\n };\n },\n {\n getNewPurchaseFundList,\n validateSubBroker,\n submitLumpsumDetails,\n storeSchemeDetails,\n clearingFirstTimeInvestorJourney,\n }\n)(Lumpsum);\n","import { Checkbox, MenuItem } from \"@material-ui/core\";\nimport {\n KeyboardDatePicker,\n MuiPickersUtilsProvider,\n} from \"@material-ui/pickers\";\nimport { Termsandconditions } from \"./lib/Termsandconditions\";\nimport DateFnsUtils from \"@date-io/date-fns\";\nimport Radio from \"@material-ui/core/Radio\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport React, { useEffect, useReducer, useState } from \"react\";\nimport CustomizedSelect from \"../customizedSelect\";\nimport { Input } from \"../../../forms/input\";\nimport CardComponent from \"./lib/CardComponent\";\nimport CustomizedDialogs from \"../../customModal\";\nimport { connect, useDispatch } from \"react-redux\";\nimport IntegrationReactSelect from \"../../../forms/autoCompleteInput\";\nimport { RadioButton } from \"./lib/Radiobutton\";\nimport { useHistory } from \"react-router\";\nimport {\n getNewPurchaseFundList,\n validateSubBroker,\n swpOptions,\n CalcSIPEnddt,\n storeSchemeDetails,\n getNav,\n getOtherSchemes,\n storeSchemeParams,\n submitSipDetails,\n clearingFirstTimeInvestorJourney,\n getCheckPanKotm,\n getCheckPanAotm,\n} from \"../../../../store/actions\";\nimport {\n GET_CATEGORY_LIST,\n GET_CATEGORY_LIST_SUCCESS,\n GET_CATEGORY_LIST_FAILED,\n REGULAR,\n} from \"../../../../store/types\";\nimport {\n INVESTMENT_FREQUENCY,\n SIP_DAY,\n PAYMENT_MODE,\n} from \"../../../../store/types\";\nimport CustomLoader from \"../../../forms/Loader\";\nimport { format } from \"date-fns\";\nconst LummpsumSip = (props) => {\n const history = useHistory();\n const initialState = {\n Scheme: { value: \"\" },\n EUIN: { value: \"\" },\n Category: { value: \"\" },\n \"SIP Day\": { value: \"\" },\n Frequency: { value: \"\" },\n \"SIP Period From\": { value: \"\" },\n \"SIP Period To\": { value: \"\" },\n \"No of Installments\": { value: \"\" },\n MinimumAmount: \"\",\n MinimumLumpsumAmount: \"\",\n Amount: { value: \"\" },\n \"Lumpsum Amount\": { value: \"\" },\n MinimumInstallements: \"\",\n schemeList: [],\n euinList: [],\n EUINNO: { value: \"no\" },\n sipDateList: [],\n frequencyList: [],\n CategoryList: [],\n planValue: \"\",\n optionValue: \"\",\n schemeValue: \"\",\n multiple: \"\",\n perpetualSip: false,\n \"Mode of Registration\": \"\",\n modeList: [],\n umrnList: [],\n \"UMRN\": { value: \"\" },\n };\n const [formValues, setFormValues] = useReducer(\n (preValues, newValues) => ({ ...preValues, ...newValues }),\n initialState\n );\n const InputFields = [\n [\n {\n name: \"Category\",\n type: \"select\",\n placeholder: \"Select Category\",\n isMandatory: true,\n listName: \"CategoryList\",\n },\n ],\n [\n {\n name: \"Scheme\",\n type: \"Searchselect\",\n placeholder: \"Select Scheme\",\n isMandatory: true,\n listName: \"schemeList\",\n },\n ],\n [\n {\n name: \"Do you want to intentionally leave the EUIN box blank?\",\n type: \"radio\",\n },\n ],\n [\n {\n name: \"EUIN\",\n type: \"Searchselect\",\n placeholder: \"Select EUIN\",\n isMandatory: true,\n listName: \"euinList\",\n },\n ],\n [\n {\n name: \"Frequency\",\n type: \"select\",\n placeholder: \"Select Frequency\",\n isMandatory: true,\n listName: \"frequencyList\",\n },\n ],\n [\n {\n name: \"Mode of Registration\",\n type: \"select\",\n placeholder: \"Select Mode\",\n isMandatory: true,\n listName: \"modeList\",\n },\n ],\n [\n {\n name: \"UMRN\",\n type: \"select\",\n placeholder: \"Select UMRN\",\n listName: \"umrnList\",\n display:\n formValues[\"Mode of Registration\"].value === \"KOTM\" ||\n formValues[\"Mode of Registration\"].value === \"AOTM\"\n ? false\n : true,\n disabled:formValues.umrnList.length===1?true:false\n },\n ],\n [\n {\n name: \"SIP Day\",\n type: \"select\",\n placeholder: \"Select SIP Day\",\n isMandatory: true,\n listName: \"sipDateList\",\n },\n ],\n [\n {\n name: \"No of Installments\",\n type: \"number\",\n placeholder: !formValues.perpetualSip ? \"\" : \"Perpetual SIP\",\n isMandatory: true,\n disabled: !formValues.perpetualSip ? false : true,\n },\n ],\n [\n {\n name: \"SIP Period From\",\n type: \"date\",\n placeholder: \"Start Date\",\n isMandatory: true,\n disabled: true,\n },\n {\n name: \"SIP Period To\",\n type: \"date\",\n placeholder: \"End Date\",\n isMandatory: true,\n disabled: true,\n },\n ],\n \n [\n {\n name: \"Perpetual SIP\",\n type: \"Perpetual\",\n display: !formValues[\"SIP Period From\"].value\n },\n ],\n [\n {\n name: \"Amount\",\n type: \"number\",\n isMandatory: true,\n },\n ],\n [\n {\n name: \"Lumpsum Amount\",\n type: \"number\",\n\n isMandatory: true,\n },\n ],\n ];\n const [dialog, setDialog] = useState({ open: false, appno: \"\" });\n const [isChecked, setIsChecked] = useState(true);\n const [isLoading, setIsLoading] = useState(false);\n const SIP_Date = formValues[\"SIP Day\"].value;\n const Frequency = formValues[\"Frequency\"].value;\n const setFrequencyList = async () => {\n const euinParams = { opt: INVESTMENT_FREQUENCY, fund: \"102\" };\n const euinResponse = await props.swpOptions(euinParams);\n const { Dtinformation } = euinResponse;\n const frequencyList = Dtinformation.map((item) => ({\n label: item.FrequencyID,\n value: item.FrequencyID,\n min: item.Minimum_Instalment,\n }));\n setFormValues({ frequencyList });\n };\n const handleScheme = (label) => (event) => {\n const { schemeList } = formValues;\n if (label === \"Scheme\") {\n const scheme = schemeList.find((item) => item.label === event.label);\n setFormValues({\n Scheme: { value: event },\n planValue: scheme.planValue,\n optionValue: scheme.optionValue,\n schemeValue: scheme.schemeValue,\n MinimumAmount: scheme.MinimumAmount,\n multiple: scheme.multiples || 1,\n MinimumLumpsumAmount: scheme.MinimumLumpsumAmount,\n });\n setFrequencyList();\n }\n if (label === \"EUIN\") {\n setFormValues({\n EUIN: { value: event },\n });\n }\n };\n const handleChange = (label) => async (event) => {\n const value = event.target.value;\n if (!value) {\n setFormValues({\n [label]: {\n value,\n isError: true,\n errorMessage: `${label} is Mandatory`,\n },\n });\n return;\n }\n setFormValues({ [label]: { value } });\n switch (label) {\n case \"Category\":\n setFormValues({\n [label]: { value },\n Scheme: { value: \"\" },\n Amount: { value: \"\" },\n EUIN: \"\",\n \"SIP Day\": { value: \"\" },\n Frequency: { value: \"\" },\n \"Lumpsum Amount\": { value: \"\" },\n \"SIP Period From\": { value: \"\" },\n \"SIP Period To\": { value: \"\" },\n \"No of Installments\": { value: \"\" },\n });\n break;\n case \"No of Installments\":\n if (\n !!value &&\n parseInt(value) < parseInt(formValues.MinimumInstallements)\n ) {\n setFormValues({\n [label]: {\n value,\n isError: true,\n errorMessage:\n \" Number of installments should be greater than or equal to the minimum number of installments \",\n },\n });\n } else if (parseInt(value) > 999) {\n setFormValues({\n [label]: {\n value: \"\",\n isError: true,\n errorMessage: \"No of Installments should not be greater than 999\",\n },\n });\n }\n break;\n case \"radioValue\":\n setFormValues({\n EUINNO: { value: formValues.EUINNO.value === \"no\" ? \"yes\" : \"no\" },\n });\n break;\n case \"Mode of Registration\":\n if (value === \"KOTM\") {\n fetchUMRNList(\"KOTM\");\n }\n if (value === \"AOTM\") {\n fetchUMRNList(\"AOTM\");\n } else {\n setFormValues({\n UMRN: { value: \"\" },\n });\n }\n setFormValues({ [label]: { value } });\n break;\n case \"Amount\":\n if (!!value && parseInt(value) < parseInt(formValues.MinimumAmount)) {\n setFormValues({\n [label]: {\n value,\n isError: true,\n errorMessage:\n \" Amount should be greater than or equal to \" +\n formValues.MinimumAmount,\n },\n });\n } else if (parseInt(value) % parseInt(formValues.multiple) !== 0) {\n setFormValues({\n [label]: {\n value,\n isError: true,\n errorMessage:\n \"Amount should be multiple of \" + formValues.multiple,\n },\n });\n } else {\n setFormValues({ [label]: { value } });\n }\n break;\n case \"Lumpsum Amount\":\n if (\n !!value &&\n parseInt(formValues.MinimumLumpsumAmount) > parseInt(value)\n ) {\n setFormValues({\n [label]: {\n value,\n isError: true,\n errorMessage:\n \" Amount should be greater than or equal to \" +\n formValues.MinimumLumpsumAmount,\n },\n });\n } else if (parseInt(value) % parseInt(formValues.multiple) !== 0) {\n setFormValues({\n [label]: {\n value,\n isError: true,\n errorMessage:\n \"Amount should be multiple of \" + formValues.multiple,\n },\n });\n } else {\n setFormValues({ [label]: { value } });\n }\n break;\n default:\n setFormValues({ [label]: { value } });\n break;\n }\n };\n const fetchUMRNList = async (type) => {\n setIsLoading(true);\n const { AMC } = formValues;\n const params = {\n Fund: \"102\",\n PAN: props.applicantparams.i_pangno,\n Acno: 0,\n };\n const response =\n type === \"KOTM\"\n ? await props.getCheckPanKotm(params)\n : await props.getCheckPanAotm(params);\n const { Table1 } = response;\n const umrnList = Table1.map((item) => ({\n value: item,\n label: item.UMRNNO,\n }));\n if (umrnList.length > 1) {\n const maxAmt = Table1.reduce(\n (max, obj) => (obj.Amt > max ? obj.Amt : max),\n 0\n );\n const filteredData = Table1.filter((obj) => obj.Amt === maxAmt);\n setFormValues({ UMRN: { value: filteredData[0] } });\n }\n if (umrnList.length === 1) {\n setFormValues({ UMRN: { value: umrnList[0].value } });\n }\n setFormValues({ umrnList: umrnList });\n setIsLoading(false);\n };\n const getSipDates = async (installments) => {\n const StartDate = formValues[\"SIP Day\"].value;\n const sipDateParams = {\n fund: \"102\",\n trtype: \"SIP\",\n StartDate,\n Installments: installments,\n Frequency: formValues.Frequency.value,\n };\n try {\n setIsLoading(true);\n const sipDateResponse = await props.CalcSIPEnddt(sipDateParams);\n const {\n DtData: [dates],\n } = sipDateResponse;\n const { SIP_EndDate, SIP_StartDate } = dates;\n const End_dt = !!SIP_EndDate ? SIP_EndDate.split(\"/\") : [];\n const Start_dt = !!SIP_StartDate ? SIP_StartDate.split(\"/\") : [];\n setFormValues({\n \"SIP Period From\": {\n value: !!End_dt\n ? new Date().setFullYear(Start_dt[2], Start_dt[1] - 1, Start_dt[0])\n : \"\",\n },\n \"SIP Period To\": {\n value: !!Start_dt\n ? new Date().setFullYear(End_dt[2], End_dt[1] - 1, End_dt[0])\n : \"\",\n },\n });\n } catch (e) {\n console.log(\"error\", e);\n setFormValues({\n \"No of Installments\": {\n value: \"\",\n isError: true,\n errorMessage: `Enter Valid Number of Installments`,\n },\n \"SIP Period From\": { value: \"\" },\n \"SIP Period To\": { value: \"\" },\n });\n } finally {\n setIsLoading(false);\n }\n };\n const validate = (label) => async (event) => {\n const value = event.target.value;\n switch (label) {\n case \"Amount\":\n if (!!value && parseInt(value) < parseInt(formValues.MinimumAmount)) {\n setFormValues({\n [label]: {\n value: \"\",\n isError: true,\n errorMessage:\n \" Amount should be greater than or equal to Minimum Amount \",\n },\n });\n }\n break;\n case \"No of Installments\":\n if (!value && formValues.perpetualSip) {\n setFormValues({\n [label]: {\n value,\n isError: true,\n errorMessage: `${label} is Mandatory`,\n },\n });\n return;\n }\n getSipDates(value);\n break;\n default:\n break;\n }\n };\n\n const getMinInstallment = async (event) => {\n const value = event.target.value;\n const { frequencyList } = formValues;\n\n const installment = frequencyList.find((item) => item.value === value);\n const frequencyParams = {\n opt: SIP_DAY,\n fund: \"102\",\n astscheme: value,\n };\n const frequencyResponse = await props.swpOptions(frequencyParams);\n const frequencyData = frequencyResponse.Dtinformation;\n const sipDateList = frequencyData.map((item) => ({\n label: item.sip_cycleid,\n value: item.sip_cycleid,\n }));\n setFormValues({\n sipDateList,\n MinimumInstallements: installment.min,\n Frequency: { value },\n });\n };\n const fetchSchemeList = async () => {\n try {\n setIsLoading(true);\n const schemeParams = {\n schtype: \"Regular\",\n category: formValues.Category.value,\n acno: \"0\",\n fundCode: \"102\",\n trantype: \"I\",\n };\n const schemeResponse = await props.getOtherSchemes(schemeParams);\n const { DtData } = schemeResponse;\n const schemeList = DtData.map((item) => {\n return {\n label: item.fm_schdesc,\n value: item.fm_scheme,\n planValue: item.fm_plan,\n optionValue: item.fm_option,\n schemeValue: item.fm_scheme,\n MinimumAmount: item.SIPminamt,\n multiples: item.multiples,\n MinimumLumpsumAmount: item.fm_newpur,\n };\n });\n setFormValues({\n schemeList,\n });\n } catch (e) {\n console.log(e);\n setFormValues({ schemeList: [] });\n } finally {\n setIsLoading(false);\n }\n };\n const fetchEuinList = async () => {\n try {\n setIsLoading(true);\n const response = await props.validateSubBroker({\n Fund: \"102\",\n SubAgentCd: \"\",\n AgentCd: props.token,\n });\n const { DtData } = response;\n const euinList = DtData.map((item) => ({\n value: item.abm_name,\n label: item.abm_agent,\n }));\n setFormValues({ euinList: euinList });\n } catch (e) {\n alert(e);\n } finally {\n setIsLoading(false);\n }\n };\n const fetchModelist = async () => {\n try {\n setIsLoading(true);\n const params = {\n opt: PAYMENT_MODE,\n Fund: \"102\",\n astscheme: props.applicantparams.i_pangno,\n };\n const response = await props.swpOptions(params);\n if (!!response) {\n setFormValues({\n modeList: response.Dtinformation.map((item) => {\n return { label: item.Pay_Mode, value: item.Pay_Mode_Val };\n }),\n });\n }\n } catch (e) {\n console.log(e);\n } finally {\n setIsLoading(false);\n }\n };\n const fetchCategoryList = async () => {\n try {\n setIsLoading(true);\n let params = { plntype: REGULAR };\n params = { ...params, opt: \"AT\", fund: \"102\" };\n const types = [\n GET_CATEGORY_LIST,\n GET_CATEGORY_LIST_SUCCESS,\n GET_CATEGORY_LIST_FAILED,\n ];\n const response = await props.getNewPurchaseFundList(params, types);\n const { Dtinformation } = response;\n const categoryList = Dtinformation.map((item) => ({\n value: item.fm_subcategory,\n label: item.fm_subcategory,\n }));\n setFormValues({ CategoryList: categoryList });\n } catch (e) {\n console.log(e);\n } finally {\n setIsLoading(false);\n }\n };\n useEffect(() => {\n fetchCategoryList();\n fetchModelist();\n }, []);\n useEffect(() => {\n fetchSchemeList();\n fetchEuinList();\n }, [formValues.Category.value]);\n useEffect(() => {\n if (formValues[\"No of Installments\"].value && SIP_Date && Frequency) {\n getSipDates(formValues[\"No of Installments\"].value);\n }\n }, [SIP_Date, Frequency]);\n const handlechangeSIPEndDateChange = () => {\n const { perpetualSip } = formValues;\n let Umrn_endDate;\n const URMN_enddate =\n formValues[\"UMRN\"]?.value[\"MANDATE END DATE\"]?.split(\"/\");\n const End_dt = \"31/12/2099\".split(\"/\");\n const endDate = new Date().setFullYear(End_dt[2], End_dt[1] - 1, End_dt[0]);\n if (formValues[\"UMRN\"]?.value[\"MANDATE END DATE\"]) {\n Umrn_endDate = new Date().setFullYear(\n URMN_enddate[2],\n URMN_enddate[1] - 1,\n URMN_enddate[0]\n );\n }\n let selectedFrequency = formValues[\"Frequency\"].value;\n let startDateSplitting = formValues[\"SIP Period From\"].value\n let dateFromTimestamp = new Date(startDateSplitting);\n\n// Extract the year, month, and day from the Date object\nlet Year = dateFromTimestamp.getFullYear();\nlet Month = dateFromTimestamp.getMonth() + 1; // getMonth() returns 0-11\nlet Day = dateFromTimestamp.getDate();\n const startDate = new Date(Year, Month - 1, Day);\n\n let EndDate =\n formValues[\"Mode of Registration\"].value === \"KOTM\"\n ? new Date(Umrn_endDate)\n : new Date(endDate);\n let monthsDifference =\n (EndDate.getFullYear() - startDate.getFullYear()) * 12 +\n (EndDate.getMonth() - startDate.getMonth());\n let noofFrequency =\n selectedFrequency == \"Monthly\"\n ? monthsDifference\n : selectedFrequency == \"Daily\"\n ? Math.floor((EndDate - startDate) / (1000 * 60 * 60 * 24))\n : selectedFrequency == \"Weekly\"\n ? (EndDate - startDate) / (1000 * 60 * 60 * 24) / 7\n : selectedFrequency == \"Quarterly\"\n ? Math.floor(monthsDifference / 3)\n : selectedFrequency == \"Yearly\"\n ? Math.floor(monthsDifference / 12)\n : \"\";\n if (!perpetualSip && formValues[\"UMRN\"]?.value) {\n setFormValues({\n perpetualSip: !perpetualSip,\n \"SIP Period To\": {\n value:\n formValues[\"Mode of Registration\"].value === \"KOTM\"\n ? Umrn_endDate\n : endDate,\n },\n \"No of Installments\": {\n value: Math.floor(noofFrequency),\n },\n });\n } else if (!perpetualSip) {\n setFormValues({\n perpetualSip: !perpetualSip,\n \"SIP Period To\": {\n value: endDate,\n },\n \"No of Installments\": {\n value: Math.floor(noofFrequency),\n },\n });\n } else if (!!perpetualSip) {\n setFormValues({\n perpetualSip: !perpetualSip,\n });\n }\n };\n\n const closeModel = () => {\n history.replace(\"/new-transaction\");\n };\n const gotoTransactionTypes = () => {\n history.replace(\"/\");\n };\n const dispatch = useDispatch();\n\n const submit = async () => {\n const {\n schemeList,\n euinList,\n CategoryList,\n modeList,\n sipDateList,\n frequencyList,\n MinimumInstallements,\n MinimumAmount,\n MinimumLumpsumAmount,\n planValue,\n optionValue,\n schemeValue,\n type,\n ct,\n umrnList,\n perpetualSip,\n multiple,\n EUIN,\n ...others\n } = formValues;\n let d1, d2\n const split_enddate = format(formValues[\"SIP Period To\"].value, \"MM/dd/yyyy\").split(\"/\")\n const split_mandatedate = formValues[\"UMRN\"].value[\"MANDATE END DATE\"]?.split(\"/\")\n d1 = new Date(Number(split_enddate[2]), Number(split_enddate[0]) - 1, Number(split_enddate[1]))\n if (formValues[\"UMRN\"].value[\"MANDATE END DATE\"]?.split(\"/\")) {\n d2 = new Date(Number(split_mandatedate[2]), Number(split_mandatedate[1]) - 1, Number(split_mandatedate[0]))\n }\n const noof = [\"No of Installments\"];\n const umrn = [\"UMRN\"];\n const values = Object.keys(others);\n const keys = formValues.perpetualSip\n ? values.filter((ele) => !noof.includes(ele))\n : values; \n const final_keys_for_validation = formValues[\"Mode of Registration\"].value === \"KOTM\" ? keys : keys.filter((ele) => !umrn.includes(ele));\n const findError = final_keys_for_validation.every((key) => !!others[key].value);\n if (!findError) {\n keys.forEach((key) => {\n !others[key].value &&\n setFormValues({\n [key]: {\n ...others[key],\n isError: true,\n errorMessage: `${key === \"sipType\"\n ? \"SIP Type\"\n : key === \"Scheme\"\n ? \"Scheme\"\n : key === \"investmentFrequency\"\n ? \"Investment frequency\"\n : key === \"installments\"\n ? \"Installments\"\n : key === \"sipDay\"\n ? \"SIP day\"\n : key === \"sip_start_date\"\n ? \"SIP Start date\"\n : key === \"sip_end_date\"\n ? \"SIP end date\"\n : key === \"installmentAmount\"\n ? \"Installment Amount\"\n : key\n } is Mandatory`,\n },\n });\n });\n\n return;\n } else if (\n others[\"No of Installments\"].value < MinimumInstallements &&\n !formValues.perpetualSip\n ) {\n setFormValues({\n \"No of Installments\": {\n ...others[\"No of Installments\"],\n isError: true,\n errorMessage: `Number of installments should be greater than or equal to the minimum number of installments`,\n },\n });\n\n return;\n } else if (parseInt(others[\"Amount\"].value) < parseInt(MinimumAmount)) {\n setFormValues({\n Amount: {\n ...others[\"Amount\"],\n value: \"\",\n isError: true,\n errorMessage: `Amount should be greater than or equal to Minimum Amount`,\n },\n });\n\n return;\n } else if (+others[\"Amount\"].value > 1000000) {\n setFormValues({\n Amount: {\n ...others[\"Amount\"],\n isError: true,\n errorMessage: `Amount should be less than or equal to 1,000,000`,\n },\n });\n return;\n } else if (formValues.Amount.value % formValues.multiple !== 0) {\n setFormValues({\n Amount: {\n value: formValues.Amount.value,\n isError: true,\n errorMessage: \"Amount should be a multiple of \" + formValues.multiple,\n },\n });\n return;\n } else if (\n formValues[\"Mode of Registration\"].value === \"KOTM\" &&\n formValues[\"UMRN\"].value.Amt < formValues.Amount.value\n ) {\n setFormValues({\n Amount: {\n value: formValues.Amount.value,\n isError: true,\n errorMessage: `SIP installment amount cannot exceed\n mandate registration limit of ${formValues[\"UMRN\"]?.value?.Amt}.`,\n },\n });\n } else if (\n parseInt(others[\"Lumpsum Amount\"].value) <\n parseInt(formValues.MinimumLumpsumAmount)\n ) {\n setFormValues({\n \"Lumpsum Amount\": {\n ...others[\"Lumpsum Amount\"],\n value : \"\",\n isError: true,\n errorMessage: `Amount should be greater than or equal to Minimum Amount`,\n },\n });\n return;\n } else if (others[\"Lumpsum Amount\"].value % formValues.multiple !== 0) {\n setFormValues({\n \"Lumpsum Amount\": {\n value: formValues[\"Lumpsum Amount\"].value,\n isError: true,\n errorMessage: \"Amount should be a multiple of \" + formValues.multiple,\n },\n });\n return;\n } else if (!isChecked) {\n alert(\"Please accept the terms and conditions to proceed\");\n\n return;\n } else if (d1 > d2) {\n setFormValues({\n \"SIP Period To\": {\n value: \"\",\n isError: true,\n errorMessage: `SIP end date cannot exceed mandate validity\n date of ${formValues[\"UMRN\"].value[\"MANDATE END DATE\"]}.`,\n },\n });\n return;\n } else if (formValues.EUINNO.value === \"no\" && !EUIN.value) {\n setFormValues({\n EUIN: {\n value: \"\",\n isError: true,\n errorMessage: `EUIN selection is mandatory`,\n },\n });\n } else {\n setIsLoading(true);\n const schemedetails = {\n i_scheme: schemeValue,\n i_plan: planValue,\n i_option: optionValue,\n sip_amt: others.Amount.value,\n i_disitributorid: props.token,\n i_EUINno: formValues.EUINNO.value === \"no\" ? EUIN.value.value : \"\",\n i_frequency: others.Frequency.value,\n i_noofinst: others[\"No of Installments\"].value,\n i_sipstartdt: format(others[\"SIP Period From\"].value, \"MM/dd/yyyy\"),\n i_sipenddt: format(others[\"SIP Period To\"].value, \"MM/dd/yyyy\"),\n i_amount: formValues[\"Lumpsum Amount\"].value,\n i_paymode: formValues[\"Mode of Registration\"].value,\n i_umrno:formValues[\"UMRN\"]?.value?.UMRNNO,\n };\n const paramsSip = {\n ...props.applicantparams,\n ...props.investmentparams,\n ...props.fatcaDetails,\n ...schemedetails,\n ...props.nomineDetails,\n i_trtype: \"SIN\",\n i_appldt: format(new Date(), \"MM/dd/yyyy\"),\n i_chqdt: format(new Date(), \"MM/dd/yyyy\"),\n i_entby: props.userId,\n i_sipflag: \"Y\",\n Invdistflag: \"W\",\n CustomFund: \"102\",\n i_fund: \"102\",\n };\n try {\n\n const responseSip = await props.submitSipDetails(paramsSip);\n const { DtData } = responseSip;\n const { appno } = DtData[0];\n setIsLoading(false);\n dispatch(clearingFirstTimeInvestorJourney());\n setDialog({ appno: appno, open: true });\n } catch (err) {\n if (\n !!err \n ) {\n setIsLoading(false);\n }\n }\n\n }\n };\n return (\n <>\n \n \n <>\n {InputFields.map((section, index) => (\n
    \n {section.map((field) => (\n \n {field.type === \"select\" ? (\n \n {formValues[field.listName].map((i, index) => (\n \n {i.label}\n \n ))}\n \n ) : field.type === \"Searchselect\" || field.type === \"radio\" ? (\n <>\n
    \n
    \n {field.name === \"Scheme\"\n ? Scheme*\n : field.name === \"EUIN\" &&\n formValues.EUINNO.value === \"no\"\n ? EUIN Selection*\n : field.name === \"EUIN\" &&\n formValues.EUINNO.value !== \"n0\"\n ? \"\"\n : \"\"}\n
    \n {/* {field.name ===\n \"Do you want to intentionally leave the EUIN box blank?\" && (\n <>\n \n
    \n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
    YES
    \n
    \n
    \n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
    NO
    \n
    \n \n \n )} */}\n {field.type !== \"radio\" &&\n (field.name !== \"EUIN\" ||\n formValues.EUINNO.value === \"no\" ? (\n ({\n label: i.label,\n value: i.value,\n })\n )}\n value={formValues[field.name].value}\n placeholder={`Select ${field.name}`}\n handleChange={handleScheme(field.name)}\n disabled={field.disabled}\n isError={formValues[field.name].isError}\n errorMessage={formValues[field.name].errorMessage}\n />\n ) : (\n
    \n I/We hereby confirm that the EUIN box has been\n intentionally left the blank by me/us as this is an\n 'execution-only' transaction without any interaction\n or advice by any personnel of the above distributor\n or notwithstanding the advice of\n in-appropriateness,if any provided by any personnel\n of the distributor and the distributor has not\n charged any advisory fees on this transaction\n
    \n ))}\n
    \n {field.name === \"Amount\" && (\n Minimum Amount : ₹ {formValues.minimumAmount}\n )}\n \n ) : field.type === \"date\" ? (\n <>\n \n {`${field.name}*`} \n
    \n \n \n \n {formValues[field.name].isError &&
    {formValues[field.name].errorMessage}
    }\n \n ) : field.type === \"Perpetual\" ? (\n
    \n {!!formValues[\"SIP Day\"].value && (\n \n \n \n Perpetual SIP\n
    \n \n )}\n \n ) : (\n
    \n e.key === \".\" && e.preventDefault()}\n />\n \n {field.name === \"No of Installments\"\n ? `Minimum number of installments : ${formValues.MinimumInstallements}`\n : field.name === \"Amount\"\n ? `Minimum Amount : ${formValues.MinimumAmount}`\n : field.name === \"Lumpsum Amount\"\n ? `Minimum Lumpsum Amount : ${formValues.MinimumLumpsumAmount}`\n : null}\n \n
    \n )}\n {formValues[\"UMRN\"]?.value && field.name === \"UMRN\" && (\n
    \n
    \n
    Mandate amount limit
    \n
    Start Date
    \n
    End Date
    \n
    Bank Name
    \n
    Bank Account No
    \n
    \n
    \n
    \n {formValues[\"UMRN\"].value ? formValues[\"UMRN\"].value.Amt : \"\"}\n (INR)\n
    \n
    \n {formValues[\"UMRN\"].value\n ? formValues[\"UMRN\"].value[\"MANDATE START DATE\"]\n : \"\"}{\" \"}\n
    \n
    \n {formValues[\"UMRN\"].value\n ? formValues[\"UMRN\"].value[\"MANDATE END DATE\"]\n : \"\"}\n
    \n
    \n {formValues[\"UMRN\"].value ? formValues[\"UMRN\"].value[\"BANK NAME\"] : \"\"}\n
    {\" \"}\n
    \n {formValues[\"UMRN\"].value ? formValues[\"UMRN\"].value[\"BANK A/C NO\"] : \"\"}\n
    \n
    \n
    \n )}\n {formValues[\"UMRN\"]?.value && field.name === \"UMRN\" && formValues?.umrnList.length === 1 && (\n The investor has only one active KOTM mandate.\n )}\n\n \n ))}\n \n ))}\n\n {/* <>\n setIsChecked((p) => !p)}\n checked={isChecked}\n />\n \n I/We have read and understood the contents of the Offer Document(s),\n Load Structure(s) of the respective Scheme(s) and agree to abide by\n the terms, conditions, rules and regulations of the respective\n Scheme(s).\n \n */}\n {/* */}\n
    \n
    \n \n history.replace(\"/new-investor-transaction/bank-details\")\n }\n >\n BACK\n \n \n SUBMIT\n \n \n
    \n \n );\n};\n\nexport default connect(\n ({ authReducer, transactions, newinvestor }) => {\n const { token, userId } = authReducer;\n const { euinList } = transactions;\n const {\n schemeparams,\n schemeDetails,\n applicantparams,\n fatcaDetails,\n investmentparams,\n nomineDetails,\n } = newinvestor;\n return {\n token,\n userId,\n euinList,\n schemeparams,\n schemeDetails,\n applicantparams,\n investmentparams,\n fatcaDetails,\n nomineDetails,\n };\n },\n {\n getNewPurchaseFundList,\n validateSubBroker,\n swpOptions,\n CalcSIPEnddt,\n submitSipDetails,\n storeSchemeDetails,\n storeSchemeParams,\n getOtherSchemes,\n getCheckPanKotm,\n getNav,\n clearingFirstTimeInvestorJourney,\n getCheckPanAotm,\n }\n)(LummpsumSip);\n","import React, { useEffect, useState } from \"react\";\nimport SipDetails from \"./Sip\";\nimport Lumpsum from \"./Lumpsum\";\nimport LumpsumSip from \"./LumpsumSip\";\nimport {\n getNewPurchaseFundList,\n storeSchemeDetails,\n} from \"../../../../store/actions\";\nimport {\n FormControl,\n RadioGroup,\n Radio,\n FormControlLabel,\n} from \"@material-ui/core\";\nimport { connect } from \"react-redux\";\n\nconst SchemeDetails = (props) => {\n const schemes = [\"Lumpsum\", \"SIP\", \"Lumpsum + SIP\"];\n const [scheme, setScheme] = useState(\"Lumpsum\");\n useEffect(() => {\n window.scrollTo({\n top: 0,\n behavior: \"smooth\",\n });\n }, []);\n return (\n <>\n
    \n \n Mode of Transaction *\n \n \n setScheme(e.target.value)}\n >\n {schemes.map((mode) => (\n \n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
    \n {mode === \"SIP\" ? \"SIP(Without Payment)\" : mode}\n
    \n
    \n ))}\n \n \n \n {scheme === \"Lumpsum\" ? : \"\"}\n {scheme === \"SIP\" ? : \"\"}\n {scheme === \"Lumpsum + SIP\" ? : \"\"}\n \n );\n};\nexport default connect(null, { getNewPurchaseFundList, storeSchemeDetails })(\n SchemeDetails\n);\n","export const validatePercentage = (val) => {\n if (+val > 100 || +val <= 0) {\n return +val > 100\n ? \"Percentage cannot be more than 100\"\n : \"Percentage should not be 0\";\n }\n};\n\nexport const checkIfMinor = (date) => {\n var today = new Date().getTime();\n var birthDate = new Date(date).getTime();\n const age = (today - birthDate) / 365 / 24 / 3600 / 1000;\n return age < 18;\n};\nexport const getFieldsFromMap = (\n type,\n Schema,\n noOfApplicants,\n customHandler\n) => {\n const fields = {};\n for (let i = 1; i < noOfApplicants + 1; i++) {\n for (let k in Schema) {\n const field = { ...Schema[k] };\n fields[`${type ? type + \"_\" : \"\"}${k}_${i}`] = field;\n\n customHandler && customHandler(field, i, k);\n }\n }\n return fields;\n};\n\nexport const getFieldList = (fieldMap) => {\n const fieldList = Object.keys(fieldMap).map((k) => {\n const field = fieldMap[k];\n field.key = k;\n return field;\n });\n\n return fieldList.filter((f) => !f.hidden);\n};\n\nexport const getConvertedFormValues = (formValues, allFields) => {\n const newFormValues = { ...formValues };\n for (let f in allFields) {\n if (f.hidden) {\n delete newFormValues[f.key];\n }\n }\n const conversionMap = {\n // # gets replaced with 1,2,3\n // @ gets replaced with '',2,3\n // ~ gets replaced with F,S,T\n pan: \"i_pangno@\",\n name: \"i_fname@\", // jholder1,jholder2\n email: \"i_email@\",\n gender: \"i_invgender@\",\n dob: \"i_dob@\", //jh1dob,jh2dob\n mobile: \"i_mobileno@\",\n category: \"i_category@\",\n status: \"\", //not needed\n kycCompleted: \"i_Ckyc#\",\n kyc_occupation: \"i_Occpn@\", //i_Soccpn, i_Toccpn\n kyc_annualIncome: \"i_income@\", //SAnnualIncome, TAnnualIncome\n kyc_birthCountry: \"~CountryofBirth\",\n kyc_nationality: \"~Nationality\",\n kyc_residentOfIndia: \"\",\n kyc_residency: \"~TaxResident\",\n kyc_foreignTaxId: \"~ForeignTaxId\",\n kyc_foreignTaxIdType: \"~ForeignTaxType\",\n countrycode: \"\",\n kyc_address: \"i_invadd#\",\n kyc_country: \"i_invcountry@\",\n kyc_state: \"i_invstate@\",\n kyc_city: \"i_invcity@\",\n kyc_pincode: \"i_invpin@\",\n kyc_politicallexposed: \"~PEP\",\n kyc_politicallyexposedrelative: \"~PREP\",\n\n nom_name: \"i_Nominee@\",\n nom_relationship: \"i_NomRelation@\",\n nom_guardian: \"i_@nomGuardian\",\n nom_dob: \"i_NomDOB@\",\n nom_gender: \"nom#gender\",\n nom_percentage: \"i_Nominee#percentage\",\n nom_email: \"nom#email\",\n nom_address: \"i_nomadd#1\",\n nom_country: \"i_nom@country\",\n nom_state: \"i_nomstate@\",\n nom_city: \"i_nomcity@\",\n nom_pincode: \"i_nompin@\",\n };\n\n const finalValues = {};\n\n for (let fkey in newFormValues) {\n const key = fkey.replace(/_\\d/g, \"\");\n const [num_part] = fkey.match(/_\\d/g) || [\"_1\"];\n const number = String(num_part).slice(1);\n\n const templateKey = conversionMap[key];\n\n if (!templateKey) {\n console.log({ key });\n continue;\n }\n\n const wildCard = [`@`, \"#\", \"~\"].find((t) => templateKey.includes(t));\n\n let finalNumber = number;\n\n if (wildCard === \"@\" && parseInt(number) === 1) {\n finalNumber = \"\";\n } else if (wildCard === `~`) {\n finalNumber = [\"F\", \"S\", \"T\"][number - 1];\n }\n const specialKeys = {\n name_2: \"i_jholder1\",\n name_3: \"i_jholder2\",\n dob_2: \"i_jh1dob\",\n dob_3: \"i_jh2dob\",\n kyc_occupation_2: \"i_Soccpn\",\n kyc_occupation_3: \"i_Toccpn\",\n kyc_annualIncome_2: \"SAnnualIncome\",\n kyc_annualIncome_3: \"TAnnualIncome\",\n nom_address_1: \"i_nomadd1\",\n };\n if (fkey in specialKeys) {\n finalValues[specialKeys[fkey]] = newFormValues[fkey];\n } else {\n const actualKey = templateKey.replace(wildCard, finalNumber);\n finalValues[actualKey] = newFormValues[fkey];\n }\n }\n\n return finalValues;\n};\n\nexport function $wait(time = 500) {\n return new Promise((res, rej) => {\n setTimeout(() => {\n res();\n }, time);\n });\n}\n","import { Checkbox, MenuItem, Select, TextField } from \"@material-ui/core\";\nimport {\n KeyboardDatePicker,\n MuiPickersUtilsProvider,\n} from \"@material-ui/pickers\";\nimport React from \"react\";\nimport DateFnsUtils from \"@date-io/date-fns\";\nconst YES = \"Yes\";\nconst NO = \"No\";\nconst AutoField = ({\n field,\n value,\n onChange,\n style,\n error,\n disabled,\n investorType,\n ...props\n}) => {\n const commonProps = {\n value,\n onChange,\n disabled,\n id: `${field.key}Field`,\n name: field.name || field.key,\n errorMessage: error,\n variant: \"outlined\",\n size: \"small\",\n onBlur: props.onBlur,\n };\n\n if ([\"number\", \"email\", \"password\"].includes(field.type)) {\n commonProps.type = field.type;\n }\n if (field.type === \"countrycode\") {\n commonProps.onKeyDown = (e) => {\n const keys = [\"Backspace\", \"Delete\", \"ArrowLeft\", \"ArrowRight\", \"+\"];\n if (isNaN(e.key) && !keys.includes(e.key)) {\n e.preventDefault();\n }\n };\n }\n\n let inputField;\n\n switch (field.type) {\n case \"select\":\n const optionsList =\n typeof field.options === \"function\"\n ? field.options(field.key)\n : field.options;\n inputField = (\n <>\n \n \n Select One\n \n {optionsList.map((option, index) => (\n \n {option.name || option.label}\n \n ))}\n \n \n );\n\n break;\n\n case \"date\":\n inputField = (\n <>\n \n \n \n \n );\n break;\n\n case \"choice\":\n inputField = ;\n\n break;\n\n default:\n inputField = (\n \n );\n }\n\n return (\n \n \n {field.name} {field.isRequired ? \"*\" : \"\"}\n

    \n {inputField}\n\n {!!error && (\n

    \n {error}\n

    \n )}\n \n );\n};\n\nconst defaultChoiceOptions = [\n { name: \"Yes\", value: YES },\n { name: \"No\", value: NO },\n];\n\nexport const ChoiceField = ({\n value,\n onChange,\n options = defaultChoiceOptions,\n disabled,\n}) => {\n return (\n
    \n {options.map((o) => (\n
    \n {\n const newValue = o.value;\n onChange({ target: { value: newValue } });\n }}\n />\n

    \n {o.name}\n

    \n
    \n ))}\n
    \n );\n};\n\nexport default AutoField;\n","import { default as React, useEffect, useState } from \"react\";\nimport { connect, useSelector } from \"react-redux\";\nimport { differenceInYears, format } from \"date-fns\";\n\nimport {\n Radio,\n RadioGroup,\n FormControl,\n FormControlLabel,\n} from \"@material-ui/core\";\nimport { KycNotDoneDialog } from \"../../customModal\";\nimport { NEW_TRANSACTION_URL } from \"..\";\nimport {\n getCountriesList,\n getStatesList,\n storeApplicantParams,\n getKycDetails,\n checkKyc,\n getCitiesList as getCitiesByState,\n getRelationShipList,\n storePan,\n checkPAN,\n} from \"../../../../store/actions\";\nimport {\n getFieldsFromMap,\n getFieldList,\n $wait,\n checkIfMinor,\n} from \"./lib/utils\";\n\nimport CardComponent from \"./lib/CardComponent\";\nimport CustomLoader from \"../../../forms/Loader\";\nimport AutoField from \"./lib/AutoField\";\nimport {\n countryCodeRegex,\n emailRegex,\n mobileRegex,\n nameRegex,\n panRegex,\n categoryOptions,\n genderOptions,\n familyDescriptionOptions,\n relationshipOptions,\n countrycodeOptions,\n} from \".\";\nimport {\n maskEmail,\n maskMobileNumber,\n} from \"../../../../utils/utilityFunctions\";\n\nconst YES = \"Yes\";\nconst INDIVIDUAL = \"individual\";\n\nconst investorOptions = [\n { name: \"Individual\", value: INDIVIDUAL },\n { name: \"Minor\", value: \"minor\" },\n];\n\nconst InvestorDetails = (props) => {\n const { nomineesData, investors, token } = useSelector(\n ({ NomineeReducer, investor, authReducer }) => ({\n nomineesData: NomineeReducer,\n investors: investor.investors,\n token: authReducer.token,\n })\n );\n\n const [maskedMobile, setMaskedMobile] = useState(\"\");\n const [maskedEmail, setMaskedEmail] = useState(\"\");\n\n const [orignalMobile, setOrignalMobile] = useState(\"\");\n const [orignalEmail, setOrignalEmail] = useState(\"\");\n const allInvestorPan = investors.map((i) => i.Pan);\n const SINGLE_APPLICANT = \"single\";\n\n const [investortype, setInvestorType] = useState({\n investorType: INDIVIDUAL,\n });\n\n const MAX_APPLICANTS = 3;\n\n const [disabledFields, setDisabledFields] = useState({});\n\n const validateSecondPan = (secondPan) => {\n const firstPan = formValues.pan_1;\n const thirdPan = formValues.pan_3;\n let error;\n if (firstPan === secondPan) {\n setFieldValue(\"pan_2\", \"\");\n error = \"PAN of Secondary Holder 1 should not be same as Primary Holder\";\n const id = document.getElementById(\"pan_2Field\");\n id.focus();\n } else if (secondPan.length > 3 && secondPan[3].toLowerCase() !== \"p\") {\n // setFieldValue(\"pan_2\", \"\");\n error =\n \"Entered PAN Number is not related to Individual PAN Number, So please Enter Individual PAN Number\";\n const id = document.getElementById(\"pan_2Field\");\n id.focus();\n } else if (secondPan === thirdPan) {\n setFieldValue(\"pan_3\", \"\");\n } else {\n const isValid = panRegex.test(secondPan || \"\");\n if (!isValid) {\n error = \"Please enter a valid PAN\";\n }\n }\n return error;\n };\n\n const validateThirdPan = (thirdPan) => {\n const firstPan = formValues.pan_1;\n const secondPan = formValues.pan_2;\n let error;\n if (firstPan === thirdPan) {\n setFieldValue(\"pan_3\", \"\");\n error =\n \"PAN of the Secondary Holder should not be same as Primary Holder\";\n const id = document.getElementById(\"pan_3Field\");\n id.focus();\n } else if (secondPan === thirdPan) {\n setFieldValue(\"pan_3\", \"\");\n error =\n \"PAN of the First Secondary Holder should not be same as Second Secondary Holder\";\n const id = document.getElementById(\"pan_3Field\");\n id.focus();\n } else if (thirdPan.length > 3 && thirdPan[3] !== \"P\") {\n // setFieldValue(\"pan_3\", \"\");\n error =\n \"Entered PAN Number is not related to Individual PAN Number, So please Enter Individual PAN Number\";\n const id = document.getElementById(\"pan_3Field\");\n id.focus();\n }\n if (!!thirdPan && !panRegex.test(thirdPan)) {\n error = \"Please enter a valid PAN\";\n }\n return error;\n };\n\n const applicantSchema = {\n pan: {\n name:\n investortype.investorType != \"minor\"\n ? \"PAN of Primary Holder\"\n : \"Minor PAN\",\n isRequired: investortype.investorType === \"minor\" ? false : true,\n placeholder: \"Enter PAN of First Applicant\",\n validate: panRegex,\n },\n name: {\n name:\n investortype.investorType != \"minor\"\n ? \"Name (As per PAN)\"\n : \"Minor Name (As per PAN)\",\n isRequired: true,\n placeholder: \"Enter Name\",\n validate: nameRegex,\n },\n emailFamily: {\n name: \"Email Family Description\",\n type: \"select\",\n isRequired: investortype.investorType === \"minor\" ? false : true,\n default: \"SE\",\n options: familyDescriptionOptions,\n },\n email: {\n name: \"Email ID\",\n isRequired: investortype.investorType === \"minor\" ? false : true,\n placeholder: \"Enter Email ID\",\n validate: emailRegex,\n },\n gender: {\n name: \"Gender\",\n type: \"select\",\n isRequired: investortype.investorType === \"minor\" ? false : true,\n options: genderOptions,\n },\n dob: {\n name: \"Date of Birth (As per PAN)\",\n type: \"date\",\n isRequired: true,\n },\n category: {\n name: \"Category\",\n type: \"select\",\n isRequired: investortype.investorType === \"minor\" ? false : true,\n options: categoryOptions,\n },\n countrycode: {\n name: \"Country Code\",\n isRequired: investortype.investorType === \"minor\" ? false : true,\n default: \"+91\",\n type: \"select\",\n options: countrycodeOptions,\n },\n\n mobileFamily: {\n name: \"Mobile Family Description\",\n type: \"select\",\n isRequired: investortype.investorType === \"minor\" ? false : true,\n default: \"SE\",\n options: familyDescriptionOptions,\n },\n mobile: {\n name: \"Mobile Number\",\n isRequired: investortype.investorType === \"minor\" ? false : true,\n placeholder: \"Enter Mobile Number\",\n validate: mobileRegex,\n },\n guardianname: {\n name: \"Guardian Name (As per PAN)\",\n isRequired: true,\n placeholder: \"Enter Guardian Name\",\n validate: nameRegex,\n hidden: true,\n },\n guardianpan: {\n name: \"Guardian PAN\",\n isRequired: true,\n placeholder: \"Enter PAN of First Applicant\",\n validate: panRegex,\n hidden: true,\n },\n guardiancategory: {\n name: \"Guardian Category\",\n type: \"select\",\n isRequired: true,\n options: categoryOptions,\n hidden: true,\n },\n\n guardianemailFamily: {\n name: \"Guardian Email Family Description\",\n type: \"select\",\n isRequired: true,\n default: \"SE\",\n options: familyDescriptionOptions,\n hidden: true,\n },\n guardianemail: {\n name: \"Guardian Email ID\",\n isRequired: true,\n placeholder: \"Enter Guardian Email ID\",\n validate: emailRegex,\n hidden: true,\n },\n guardianmobileFamily: {\n name: \"Guardian Mobile Family Description\",\n type: \"select\",\n isRequired: true,\n default: \"SE\",\n options: familyDescriptionOptions,\n hidden: true,\n },\n guardianmobile: {\n name: \"Guardian Mobile Number\",\n isRequired: true,\n placeholder: \"Enter Guardian Mobile Number\",\n validate: mobileRegex,\n hidden: true,\n },\n guardianRelationship: {\n name: \"Guardian Relationship with Minor\",\n type: \"select\",\n isRequired: true,\n options: relationshipOptions,\n hidden: true,\n },\n address1: {\n name: \"Address1\",\n isRequired: investortype.investorType === \"minor\" ? false : true,\n placeholder: \"Enter Address\",\n hidden: true,\n },\n address2: {\n name: \"Address2\",\n isRequired: investortype.investorType === \"minor\" ? false : true,\n placeholder: \"Enter Address\",\n hidden: true,\n },\n city: {\n name: \"City\",\n isRequired: investortype.investorType === \"minor\" ? false : true,\n placeholder: \"Enter City\",\n validate: nameRegex,\n hidden: true,\n },\n state: {\n name: \"State\",\n isRequired: investortype.investorType === \"minor\" ? false : true,\n placeholder: \"Enter State\",\n validate: nameRegex,\n hidden: true,\n },\n country: {\n name: \"Country\",\n isRequired: investortype.investorType === \"minor\" ? false : true,\n placeholder: \"Enter Country\",\n validate: nameRegex,\n hidden: true,\n },\n };\n\n const initialFormValues = {\n modeOfHolding: SINGLE_APPLICANT,\n kycCompleted_1: YES,\n };\n\n const allFieldsMax = getFieldList({\n ...getFieldsFromMap(\"\", applicantSchema, MAX_APPLICANTS),\n });\n\n for (let f of allFieldsMax) {\n initialFormValues[f.key] = initialFormValues[f.key] || f.default || \"\";\n }\n\n const [formValues, setFormValues] = useState(initialFormValues);\n const [errors, setErrors] = useState({});\n\n const showJointHolders = formValues.modeOfHolding !== SINGLE_APPLICANT;\n const noOfApplicants = showJointHolders ? 3 : 1;\n\n const applicantFields = getFieldsFromMap(\n \"\",\n applicantSchema,\n noOfApplicants,\n (field, i, k) => {\n if (i > 1) {\n if (k === \"category\") {\n field.hidden = true;\n }\n const pan2 = formValues[`pan_${i}`];\n const panNotFilled = !pan2 || errors[`pan_${i}`];\n if (k === \"pan\") {\n field.name =\n i === 2 ? \"PAN of Secondary Holder 1\" : \"PAN of Secondary Holder 2\";\n field.validate = validateSecondPan;\n } else if (panNotFilled) {\n field.hidden = true;\n }\n if (i > 2) {\n if (k == \"pan\") {\n if (formValues.pan_2 && !errors.pan_2) {\n field.hidden = false;\n field.validate = validateThirdPan;\n } else {\n field.hidden = true;\n field.validate = null;\n }\n field.isRequired = false;\n }\n }\n }\n const category = formValues[`category_${i}`];\n const nriFields = [\"address1\", \"address2\", \"state\", \"country\", \"city\"];\n const minorFields = [\n \"guardianname\",\n \"guardianpan\",\n \"guardiancategory\",\n \"guardianemailFamily\",\n \"guardianemail\",\n \"guardianmobileFamily\",\n \"guardianmobile\",\n \"guardianmobileFamily\",\n \"guardianRelationship\",\n ];\n if (category === \"20\") {\n const isNriField = nriFields.some((fieldName) => fieldName === k);\n if (!!isNriField) field.hidden = false;\n }\n if (investortype.investorType === \"minor\") {\n const isMinorFields = minorFields.some((fieldName) => fieldName === k);\n if (!!isMinorFields) field.hidden = false;\n }\n }\n );\n\n const validateField = async (field, value) => {\n const validate = field.validate;\n let fieldKey = \"\"\n let isValid = true;\n let errorMessage = \"\";\n if (field.key === \"mobile_1\" && value === maskedMobile) {\n isValid = true;\n return;\n }\n if (field.key === \"email_1\" && value === maskEmail) {\n isValid = true;\n return;\n } else if (!value && field.isRequired && !field.hidden) {\n errorMessage = `${field.name} is required to proceed.`;\n } else if (typeof validate == \"function\") {\n field.key.includes(\"nom_email\")\n ? (errorMessage = validate(field, value))\n : (errorMessage = validate(value));\n } else if (typeof validate == \"object\" && field.isRequired) {\n const validationRegex = validate;\n isValid = validationRegex.test(value || \"\");\n if (isValid && field.key == \"email_1\") {\n isValid = value.includes(\".\") || value === orignalEmail;\n }\n if (!isValid && field.key == \"countrycode_1\") {\n isValid = value.length < 4;\n }\n if (\n isValid &&\n field.key === \"countrycode_1\" &&\n formValues.category_1 === \"20\" &&\n value === \"+91\"\n ) {\n isValid = false;\n }\n } else if (typeof validate == \"object\" && !!value) {\n const validationRegex = validate;\n isValid = validationRegex.test(value);\n }\n for (let i = 1; i <= 3; i++) {\n if (\n field.key === `countrycode_${i}` &&\n formValues[`category_${i}`] === \"11\"\n ) {\n isValid = value === \"+91\";\n break;\n }\n if (\n field.key === `email_${i}` && value === props.profileData.Email\n\n ) {\n isValid = false;\n errorMessage = \"Email id cannot be same as Distributor email\"\n break;\n }\n if (\n field.key === `mobile_${i}` && value === props.profileData.MobileNo\n\n ) {\n isValid = false;\n errorMessage = \"Mobile Number cannot be same as Distributor email\"\n\n break;\n }\n if (\n field.key === `pan_${i}` && value === props.profileData.PAN\n\n ) {\n isValid = false;\n errorMessage = \"PAN cannot be same as Distributor email\"\n\n break;\n }\n if (field.key === `email_${i}`) {\n if (formValues[`email_${i}`] && formValues[`email_${i}`].length > 0) {\n for (let j = 1; j <= 3; j++) {\n if (formValues[`email_${j}`] && formValues[`email_${j}`].length > 0 && formValues[`email_${i}`].toLowerCase() === formValues[`email_${j}`].toLowerCase() && i !== j && formValues[`emailFamily_${i}`].toLowerCase() === formValues[`emailFamily_${j}`].toLowerCase() ) {\n console.log(\"formValues\", formValues);\n isValid = false;\n fieldKey = `emailFamily_${i}`;\n errorMessage = \"Please change the email flag because the email IDs are same\";\n break;\n }\n }\n }\n }\n if (field.key === `mobile_${i}`) {\n if (formValues[`mobile_${i}`] && formValues[`mobile_${i}`].length > 0) {\n for (let j = 1; j <= 3; j++) {\n if (formValues[`mobile_${j}`] && formValues[`mobile_${j}`].length > 0 && formValues[`mobile_${i}`] === formValues[`mobile_${j}`] && i !== j && formValues[`mobileFamily_${i}`] === formValues[`mobileFamily_${j}`]) {\n isValid = false;\n fieldKey = `mobileFamily_${i}`;\n errorMessage = \"Please change the mobile flag because the mobile number's are same\";\n break;\n }\n }\n }\n }\n }\n\n if (!isValid) {\n errorMessage = !!errorMessage ? errorMessage : `Please enter a valid ${field.name}`;\n }\n setFieldError((errorMessage === \"Please change the email flag because the email IDs are same\" || errorMessage === \"Please change the mobile flag because the mobile number's are same\" )? fieldKey : field.key, errorMessage);\n await $wait(10);\n if (errorMessage) {\n return { [field.key]: errorMessage };\n }\n\n if (!value && field.isRequired && !field.hidden) {\n errorMessage = `${field.name} is required to proceed.`;\n }\n if (typeof validate == \"function\") {\n field.key.includes(\"nom_email\")\n ? (errorMessage = validate(field, value))\n : (errorMessage = validate(value));\n } else if (typeof validate == \"object\" && field.isRequired) {\n const validationRegex = validate;\n isValid = validationRegex.test(value || \"\");\n } else if (typeof validate == \"object\" && !!value) {\n const validationRegex = validate;\n isValid = validationRegex.test(value);\n }\n if (!isValid) {\n errorMessage = `Please enter a valid ${field.name}`;\n }\n setFieldError(field.key, errorMessage);\n await $wait(10);\n if (errorMessage) {\n return { [field.key]: errorMessage };\n }\n };\n\n const [isLoading, setIsLoading] = useState(false);\n const [displayModal1, setDisplayModal1] = useState(false);\n const [displayModal2, setDisplayModal2] = useState(false);\n\n const [previouslyCheckedPAN, setPreviouslyCheckedPAN] = useState({\n pan_2: \"\",\n pan_3: \"\",\n });\n\n const applicantFieldList = getFieldList(applicantFields);\n\n const allFields = [...applicantFieldList];\n\n const removeJointHolderDetails = () => {\n try {\n const newFormValues = formValues;\n const jointHoldersFields = [...applicantFieldList];\n for (let f of jointHoldersFields) {\n if ([\"_2\", \"_3\"].some((num) => f.key.includes(num))) {\n delete newFormValues[f.key];\n }\n }\n setFormValues(newFormValues);\n } catch (error) {\n console.error(error);\n }\n };\n\n const prefillFormValues = async () => {\n const { location } = props;\n const { state } = location;\n\n if (!!state && !!state.pan && !props.applicantparams.i_fname) {\n const { pan } = state;\n setIsLoading(true);\n try {\n const kycResponse = await props.getKycDetails({ pan });\n const { DtData } = kycResponse;\n const kycDetails = DtData[0];\n for (let key in kycDetails) {\n const val = kycDetails[key];\n if (!val) {\n key === \"country\"\n ? (kycDetails[key] = \"India\")\n : (kycDetails[key] = \"\");\n }\n }\n\n const { name1, gender, dob, email, mobile, app_cat } = kycDetails;\n setOrignalMobile(mobile.trim());\n setOrignalEmail(email);\n\n let kycFormValues = {\n name_1: name1,\n pan_1: pan,\n };\n if (allInvestorPan.includes(pan)) {\n kycFormValues = {\n ...kycFormValues,\n dob_1:\n !!dob &&\n differenceInYears(\n new Date(),\n new Date(parseInt(dob.substr(6))),\n \"MM/dd/yyyy\"\n ) >= 18\n ? format(new Date(parseInt(dob.substr(6))), \"MM/dd/yyyy\")\n : \"\",\n email_1: email ? maskEmail(email) : email,\n orignalEmail: orignalEmail,\n maskedEmail: maskedEmail,\n\n orignalMobile: orignalMobile,\n maskedMobile: maskedMobile,\n\n gender_1: gender,\n mobile_1: mobile ? maskMobileNumber(mobile) : mobile,\n category_1: app_cat,\n status_1: +app_cat === 11 ? \"I\" : +app_cat > 20 ? \"N\" : \"\",\n };\n }\n\n setMaskedEmail(maskEmail(email));\n setMaskedMobile(maskMobileNumber(mobile));\n setFormValues((prev) => {\n return { ...prev, ...kycFormValues };\n });\n setDisabledFields((prev) => {\n return {\n ...prev,\n pan_1: investortype.investorType != \"minor\" ? true : false,\n kycCompleted_1: true,\n status_1: true,\n // name_1: true ,\n };\n });\n } catch (err) {\n setFormValues((prev) => {\n return {\n ...prev,\n pan_1: pan,\n };\n });\n\n setDisabledFields((prev) => {\n return {\n ...prev,\n pan_1: true,\n kycCompleted_1: true,\n status_1: true,\n };\n });\n } finally {\n setIsLoading(false);\n }\n }\n };\n const gotoEkyc = () => {\n props.history.replace(\"/e-KYC\");\n };\n const checkReduxStore = async () => {\n const { applicantparams } = props;\n const {\n i_category,\n i_dob,\n i_email,\n i_email3,\n i_fname,\n i_invgender,\n i_mobileno,\n i_pangno,\n fEmailFlag,\n fMobileFlag,\n country_code,\n typeofinvestor,\n JHfEmailFlag1,\n JHfMobileFlag1,\n JHfEmailFlag2,\n JHfMobileFlag2,\n i_genMOH,\n i_pangno2,\n i_jholder1,\n i_invgender2,\n i_jh1dob,\n i_category2,\n i_mobileno2,\n i_pangno3,\n i_jholder2,\n i_email2,\n i_invgender3,\n i_jh2dob,\n i_category3,\n i_mobileno3,\n i_shnriadd1,\n i_shnriadd2,\n i_shnricity,\n i_shnristate,\n i_shnricountry,\n i_jhnriadd1,\n i_jhnriadd2,\n i_jhnricity,\n i_jhnristate,\n i_jhnricountry,\n i_nriadd1,\n i_nriadd2,\n i_nricity,\n i_nristate,\n i_nricountry,\n i_guardianname,\n i_guardianpan,\n i_guardiancategory,\n i_guadianmobile,\n i_guardianemail,\n i_guardianEmailFlag,\n i_guardianMobileFlag,\n i_guardianrelationship,\n i_orignalEmail,\n i_maskedEmail,\n i_orignalMobile,\n i_maskedMobile,\n } = applicantparams;\n if (!!props.applicantparams.i_fname) {\n setOrignalEmail(i_orignalEmail);\n setOrignalMobile(i_orignalMobile);\n setMaskedEmail(i_maskedEmail);\n setMaskedMobile(i_maskedMobile);\n setFormValues({\n ...formValues,\n [`name_1`]: i_fname,\n [`pan_1`]: i_pangno,\n [`dob_1`]: i_dob,\n [`gender_1`]: i_invgender,\n [`email_1`]: i_email,\n [`mobile_1`]: i_mobileno,\n [`category_1`]: i_category,\n [`emailFamily_1`]: fEmailFlag,\n [`mobileFamily_1`]: fMobileFlag,\n [`countrycode_1`]: country_code,\n [`modeOfHolding`]: i_genMOH === \"1\" ? \"single\" : \"anyone\",\n ...(!!i_pangno2 && {\n [`name_2`]: i_jholder1,\n [`pan_2`]: i_pangno2,\n [`dob_2`]: i_jh1dob,\n [`gender_2`]: i_invgender2,\n [`email_2`]: i_email2,\n [`mobile_2`]: i_mobileno2,\n [`category_2`]: i_category2,\n [`emailFamily_2`]: JHfEmailFlag1,\n [`mobileFamily_2`]: JHfMobileFlag1,\n }),\n ...(!!i_pangno3 && {\n [`name_3`]: i_jholder2,\n [`pan_3`]: i_pangno3,\n [`dob_3`]: i_jh2dob,\n [`gender_3`]: i_invgender3,\n [`email_3`]: i_email3,\n [`mobile_3`]: i_mobileno3,\n [`category_3`]: i_category3,\n [`emailFamily_3`]: JHfEmailFlag2,\n [`mobileFamily_3`]: JHfMobileFlag2,\n }),\n ...(i_category === \"20\" && {\n [`address1_1`]: i_nriadd1,\n [`address2_1`]: i_nriadd2,\n [`city_1`]: i_nricity,\n [`state_1`]: i_nristate,\n [`country_1`]: i_nricountry,\n }),\n ...(i_category2 === \"20\" && {\n [`address1_2`]: i_jhnriadd1,\n [`address2_2`]: i_jhnriadd2,\n [`city_2`]: i_jhnricity,\n [`state_2`]: i_jhnristate,\n [`country_2`]: i_jhnricountry,\n }),\n ...(i_category3 === \"20\" && {\n [`address1_3`]: i_shnriadd1,\n [`address2_3`]: i_shnriadd2,\n [`city_3`]: i_shnricity,\n [`state_3`]: i_shnristate,\n [`country_3`]: i_shnricountry,\n }),\n ...(typeofinvestor === \"M\" && {\n [`guardianname_1`]: i_guardianname,\n [`guardianpan_1`]: i_guardianpan,\n [`guardiancategory_1`]: i_guardiancategory,\n [`guardianmobile_1`]: i_guadianmobile,\n [`guardianemail_1`]: i_guardianemail,\n [`guardianemailFamily_1`]: i_guardianEmailFlag,\n [`guardianmobileFamily_1`]: i_guardianMobileFlag,\n [`guardianRelationship_1`]: i_guardianrelationship,\n }),\n });\n setDisabledFields((prev) => {\n return {\n ...prev,\n pan_1: true,\n // name_1: true,\n };\n });\n setInvestorType({\n investorType: typeofinvestor === \"M\" ? \"minor\" : \"individual\",\n });\n }\n };\n const firstRender = async () => {\n window.scrollTo({\n top: 0,\n behavior: \"smooth\",\n });\n if (!!props.location.state) {\n props.storePan(props.location.state.pan);\n }\n await prefillFormValues();\n await checkReduxStore();\n };\n useEffect(() => {\n firstRender();\n }, []);\n const handleInvestor = async (e) => {\n setInvestorType({ investorType: e.target.value });\n if (e.target.value === \"minor\") {\n setFormValues((prev) => {\n return {\n ...prev,\n [\"guardianpan_1\"]: props.store_pan,\n [\"guardianname_1\"]: formValues.name_1,\n [\"guardianemail_1\"]: formValues.email_1,\n [\"guardianmobile_1\"]: formValues.mobile_1,\n [`modeOfHolding`]: SINGLE_APPLICANT,\n [`name_1`]: \"\",\n [`pan_1`]: \"\",\n [`dob_1`]: \"\",\n [`gender_1`]: \"\",\n [`email_1`]: \"\",\n [`mobile_1`]: \"\",\n [`category_1`]: \"\",\n [`emailFamily_1`]: \"\",\n [`mobileFamily_1`]: \"\",\n };\n });\n }\n setDisabledFields((prev) => {\n return {\n ...prev,\n pan_1:\n e.target.value === \"individual\" && formValues.pan_1.length === 10\n ? true\n : false,\n };\n });\n };\n\n const convertDateFormat = (originalDate) => {\n const [month, day, year] = originalDate.split(\"/\");\n\n const convertedDate = `${day}/${month}/${year}`;\n\n return convertedDate;\n };\n\n const submit = async () => {\n try {\n setIsLoading(true);\n const errors = [];\n\n for (let field of allFields) {\n const error = await validateField(field, formValues[field.key]);\n if (error) {\n errors.push(error);\n }\n }\n const isValid = errors.filter((e) => !!e).length === 0;\n const getStatus = (category) => (category === \"20\" ? \"NRI\" : \"RI\");\n const getInvStatus = (category) =>\n !!category ? getStatus(category) : \"\";\n\n if (!!isValid) {\n const payload = {\n pan: formValues.pan_1,\n PanName: formValues.name_1,\n PanDOB: !!formValues.dob_1\n ? convertDateFormat(formValues.dob_1)\n : formValues.dob_1,\n folio: \"\",\n trType: \"New\",\n fund: \"102\",\n scheme: \"\",\n plan: \"\",\n guardianPan: formValues.guardianpan_1,\n guardianPanDOB: \"\",\n guardianPanName: formValues.guardianname_1,\n jointHolder1Pan: formValues.pan_2,\n jointHolder1PanName: formValues.name_2,\n jointHolder1PanDOB: !!formValues.dob_2\n ? convertDateFormat(formValues.dob_2)\n : formValues.dob_2,\n jointHolder2Pan: formValues.pan_3,\n jointHolder2PanName: formValues.name_3,\n jointHolder2PanDOB: !!formValues.dob_3\n ? convertDateFormat(formValues.dob_3)\n : formValues.dob_3,\n invStatus: getInvStatus(formValues.category_1),\n JH1_invStatus: getInvStatus(formValues.category_2),\n JH2_invStatus: getInvStatus(formValues.category_3),\n G_invStatus: getInvStatus(formValues.guardiancategory_1),\n };\n const response = await props.checkPAN(payload);\n validateResponse(response);\n const ApplicantDetails = {\n i_Ckyc1: formValues.kycCompleted_1,\n i_category: formValues.category_1,\n i_dob: formValues.dob_1,\n i_email: formValues.email_1,\n i_orignalEmail: orignalEmail,\n i_maskedEmail: maskedEmail,\n\n i_orignalMobile: orignalMobile,\n i_maskedMobile: maskedMobile,\n\n i_fname: formValues.name_1,\n i_invgender: formValues.gender_1,\n i_mobileno: formValues.mobile_1,\n i_pangno: formValues.pan_1,\n fEmailFlag: formValues.emailFamily_1,\n fMobileFlag: formValues.mobileFamily_1,\n typeofinvestor:\n investortype.investorType === \"individual\" ? \"I\" : \"M\",\n i_genMOH: formValues.modeOfHolding === \"single\" ? \"1\" : \"4\",\n country_code: formValues.countrycode_1,\n ...(formValues.category_1 === \"20\" && {\n i_nriadd1: formValues.address1_1,\n i_nriadd2: formValues.address2_1,\n i_nricity: formValues.city_1,\n i_nristate: formValues.state_1,\n i_nricountry: formValues.country_1,\n }),\n ...(formValues.category_2 === \"20\" && {\n i_jhnriadd1: formValues.address1_2,\n i_jhnriadd2: formValues.address2_2,\n i_jhnricity: formValues.city_2,\n i_jhnristate: formValues.state_2,\n i_jhnricountry: formValues.country_2,\n }),\n ...(formValues.category_3 === \"20\" && {\n i_shnriadd1: formValues.address1_3,\n i_shnriadd2: formValues.address2_3,\n i_shnricity: formValues.city_3,\n i_shnristate: formValues.state_3,\n i_shnricountry: formValues.country_3,\n }),\n\n ...(formValues.modeOfHolding === \"anyone\" &&\n formValues.pan_2.length === 10 && {\n i_pangno2: formValues.pan_2,\n i_jholder1: formValues.name_2,\n i_email2: formValues.email_2,\n JHfEmailFlag1: formValues.emailFamily_2,\n JHfMobileFlag1: formValues.mobileFamily_2,\n i_invgender2: formValues.gender_2,\n i_jh1dob: formValues.dob_2,\n i_category2: formValues.category_2,\n i_mobileno2: formValues.mobile_2,\n JHcountry_code1: formValues.countrycode_2,\n }),\n ...(formValues.modeOfHolding === \"anyone\" &&\n formValues.pan_3.length === 10 && {\n i_pangno3: formValues.pan_3,\n i_jholder2: formValues.name_3,\n i_email3: formValues.email_3,\n JHfEmailFlag2: formValues.emailFamily_3,\n JHfMobileFlag2: formValues.mobileFamily_3,\n i_invgender3: formValues.gender_3,\n i_jh2dob: formValues.dob_3,\n i_category3: formValues.category_3,\n i_mobileno3: formValues.mobile_3,\n JHcountry_code2: formValues.countrycode_3,\n }),\n ...(investortype.investorType === \"minor\" && {\n i_guardianname: formValues.guardianname_1,\n i_guardianpan: formValues.guardianpan_1,\n guard_category: formValues.guardiancategory_1,\n i_guadianmobile: formValues.guardianmobile_1,\n i_guardianemail: formValues.guardianemail_1,\n i_guardianEmailFlag: formValues.guardianemailFamily_1,\n i_guardianMobileFlag: formValues.guardianmobileFamily_1,\n i_guardianrelationship: formValues.guardianRelationship_1,\n }),\n };\n if (isValid) {\n props.storeApplicantParams(ApplicantDetails);\n props.history.push({\n pathname: \"/new-investor-transaction/fatca-details\",\n });\n } else {\n const id = Object.keys(errors[0])[0] + \"Field\";\n const element = document.getElementById(id);\n element.focus();\n setIsLoading(false);\n }\n }\n setIsLoading(false);\n } catch (error) {\n alert(error.message);\n setIsLoading(false);\n }\n };\n // End of Sumbit, thank you, visit again.\n\n function validateResponse(response) {\n if (response.Transaction_allow === \"N\") {\n if (response.PASFlag === \"N\") {\n throw new Error(response.PASRemarks);\n }\n if (response.PANFlag === \"N\") {\n throw new Error(response.PANRemarks);\n }\n if (response.PANNameMatch === \"N\") {\n throw new Error(\"Entered Primary holder name does not match with PAN record\");\n }\n if (response.JH1_panFlag === \"N\") {\n throw new Error(response.JH1_panRemarks);\n }\n if (response.JH2_panFlag === \"N\") {\n throw new Error(response.JH2_panRemarks);\n }\n if (response.G_panFlag === \"N\") {\n throw new Error(response.G_panRemarks);\n }\n if (response.JH1_PANNameMatch === \"N\") {\n throw new Error(\n \"Entered Secondary Holder 1 name does not match with PAN record\"\n );\n }\n if (response.JH2_PANNameMatch === \"N\") {\n throw new Error(\n \"Entered Secondary Holder 2 name name does not match with PAN record\"\n );\n }\n if (response.G_PANNameMatch === \"N\") {\n throw new Error(\"Entered Guadian name does not match with PAN record\");\n }\n if (response.PanDOBMatch === \"N\") {\n throw new Error(\"Entered Primay DOB does not match with PAN record\");\n }\n if (response.JH1_PanDOBMatch === \"N\") {\n throw new Error(\n \"Entered Secondary Holder 1 DOB does not match with PAN record\"\n );\n }\n if (response.JH2_PanDOBMatch === \"N\") {\n throw new Error(\n \"Entered Secondary Holder 2 DOB name does not match with PAN record\"\n );\n }\n if (response.G_PanDOBMatch === \"N\") {\n throw new Error(\"Entered Guadian DOB does not match with PAN record\");\n }\n }\n }\n\n const setFieldValue = (field_key, value) => {\n const cleanedValue = value.replace(/\\s+/g, \" \");\n setFormValues((values) => ({\n ...values,\n [field_key]: cleanedValue,\n }));\n };\n\n const setFieldError = (field_key, errorMessage) => {\n setErrors((errors) => ({\n ...errors,\n [field_key]: errorMessage,\n }));\n };\n\n const handleChange = (field) => {\n return (e) => {\n const value =\n typeof e == \"string\"\n ? e\n : field.type === \"date\"\n ? format(new Date(e), \"MM/dd/yyyy\")\n : field.key.includes(\"pan\")\n ? e.target.value.toUpperCase()\n : (e.target && e.target.value) || \"\";\n if (field.key.includes(\"category\")) {\n let countryCode = \"+91\";\n const status = +value === 11 ? \"I\" : +value === 20 ? \"N\" : \"\";\n const key = field.key.replace(\"category\", \"status\");\n setFieldValue(key, status);\n if (String(value) === \"20\") {\n countryCode = \"\";\n }\n\n const countryCodeKey = field.key.replace(\"category\", \"countrycode\");\n setFieldValue(countryCodeKey, countryCode);\n }\n setFieldValue(field.key, value);\n validateField(field, value)\n .then((error) => {\n if (\n field.key.includes(\"pan\") &&\n value &&\n value.length === 10 &&\n !error\n ) {\n const id = field.key + \"Field\";\n const element = document.getElementById(id);\n element.blur();\n getKycStatus(field)({ target: { value } });\n }\n })\n .catch((err) => {\n console.error(err);\n setFieldValue(field.key, \"\");\n });\n };\n };\n\n const handleBlur = (field) => {\n return async (e) => {\n const value =\n typeof e == \"string\" ? e : (e.target && e.target.value) || \"\";\n const error = await validateField(field, value);\n if (error) {\n setFieldValue(field.key, \"\");\n }\n };\n };\n\n const getKycStatus = (field) => async (e) => {\n const value = e.target.value;\n const n = field.key.split(\"_\")[1];\n if (field.key != \"guardianpan_1\") {\n setIsLoading(true);\n try {\n const error = await validateField(field, value);\n\n if (error) {\n return;\n }\n\n const response = await props.checkKyc({\n fund: \"102\",\n userid: props.userId,\n i_pan: value,\n });\n const {\n DtData: [info],\n } = response;\n if (info.KYCBlock !== \"N\") {\n +n === 2 ? setDisplayModal1(true) : setDisplayModal2(true);\n setPreviouslyCheckedPAN((val) => ({ ...val, [field.key]: \"\" }));\n return;\n }\n const kycDetails = await props.getKycDetails({ pan: value });\n const { DtData } = kycDetails;\n const {\n name1,\n gender,\n app_pangno,\n app_occ,\n dob,\n email,\n mobile,\n app_cat,\n } = DtData[0];\n const kycFormValues = {\n [`name_${n}`]: name1,\n [`pan_${n}`]: app_pangno,\n // [`dob_${n}`]: !!dob\n // ? format(new Date(parseInt(dob.substr(6))), \"MM/dd/yyyy\")\n // : \"\",\n // [`gender_${n}`]: gender,\n // [`email_${n}`]: email,\n // [`mobile_${n}`]: mobile,\n // [`kyc_occupation_${n}`]: app_occ,\n // [`category_${n}`]: app_cat,\n // [`status_${n}`]: +app_cat === 11 ? \"I\" : +app_cat > 20 ? \"N\" : \"\",\n };\n\n setFormValues((prev) => {\n return {\n ...prev,\n ...kycFormValues,\n };\n });\n setDisabledFields((prev) => {\n return {\n ...prev,\n [`kycCompleted_${n}`]: true,\n [`status_${n}`]: true,\n // [`name_${n}`]: true,\n };\n });\n } catch (error) {\n setFormValues((prev) => {\n return {\n ...prev,\n [`name_${n}`]: \"\",\n [`dob_${n}`]: \"\",\n [`email_${n}`]: \"\",\n [`mobile_${n}`]: \"\",\n [`kyc_occupation_${n}`]: \"\",\n [`category_${n}`]: \"\",\n [`status_${n}`]: \"\",\n };\n });\n\n setDisabledFields((prev) => {\n return {\n ...prev,\n [`kycCompleted_${n}`]: true,\n [`status_${n}`]: true,\n };\n });\n } finally {\n setIsLoading(false);\n }\n }\n };\n\n const isMinor = investortype.investorType == \"minor\";\n\n return (\n <>\n \n
    \n \n {/*

    Type of Investor:

    \n
    \n handleInvestor(e)}\n />\n
    */}\n\n {!isMinor && (\n <>\n
    \n
    \n Mode of Holding*\n
    \n \n {\n if (formValues.modeOfHolding !== e.target.value) {\n removeJointHolderDetails();\n }\n setFieldValue(\"modeOfHolding\", e.target.value);\n }}\n >\n
    \n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
    Single
    \n
    \n
    \n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
    \n Anyone (or) Surviour\n
    \n
    \n \n
    \n
    \n \n )}\n
    \n \n \n
    \n {applicantFieldList.map((field) => {\n return (\n \n \n {!!field.nextEmpty &&
    }\n \n );\n })}\n
    \n {\n setFieldValue(\"pan_2\", \"\");\n setDisplayModal1(false);\n }}\n continue={gotoEkyc}\n />\n {\n setFieldValue(\"pan_3\", \"\");\n setDisplayModal2(false);\n }}\n continue={gotoEkyc}\n />\n \n\n
    \n \n Back\n \n \n Proceed\n \n
    \n \n );\n};\nexport default connect(\n ({ newinvestor, authReducer, profileReducer }) => {\n const { applicantparams, store_pan } = newinvestor;\n const { userId } = authReducer;\n const { profileData } = profileReducer;\n\n return {\n applicantparams,\n store_pan,\n userId,\n profileData\n };\n },\n {\n getCountriesList,\n checkPAN,\n getStatesList,\n storeApplicantParams,\n getKycDetails,\n checkKyc,\n getCitiesByState,\n getRelationShipList,\n storePan,\n }\n)(InvestorDetails);\n\nfunction ChoiceFieldforinvestor({ value, options, onChange }) {\n return (\n
    \n {options.map((o, i) => {\n const isActive = o.value == value;\n const handleClick = () => {\n const newValue = o.value;\n onChange({ target: { value: newValue } });\n };\n const isFirst = i == 0;\n const isLast = i == options.length - 1;\n const radius = \"6px\";\n return (\n
    \n \n {o.name}\n
    \n
    \n );\n })}\n
    \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport CardComponent from \"./lib/CardComponent\";\nimport { connect } from \"react-redux\";\nimport CustomizedSelect from \"../customizedSelect\";\nimport { Input } from \"../../../forms/input\";\nimport { Checkbox } from \"@material-ui/core\";\nimport {\n MuiPickersUtilsProvider,\n KeyboardDatePicker,\n} from \"@material-ui/pickers\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport {\n genderOptions,\n NomineesList,\n panRegex,\n emailRegex,\n nameRegex,\n} from \".\";\nimport { KycNotDoneDialog } from \"../../customModal\";\nimport { $wait, checkIfMinor } from \"./lib/utils\";\nimport CustomLoader from \"../../../forms/Loader\";\nimport {\n getCountriesList,\n storeNomineeDetails,\n getStatesList,\n storeApplicantParams,\n getKycDetails,\n checkKyc,\n getCitiesList as getCitiesByState,\n getRelationShipList,\n getNomineeDetails,\n} from \"../../../../store/actions\";\nimport { format } from \"date-fns\";\n\nimport DateFnsUtils from \"@date-io/date-fns\";\n\nconst NomineeDetails = (props) => {\n const first_nominee_details = {\n name: { value: \"\" },\n pan: { value: \"\" },\n relationship: { value: \"\" },\n otherrelationship: { value: \"\" },\n dob: { value: \"\" },\n gender: { value: \"\" },\n percentage: { value: \"100\" },\n email: { value: \"\" },\n address: { value: \"\" },\n country: { value: \"\" },\n state: { value: \"\" },\n city: { value: \"\" },\n pincode: { value: \"\" },\n gaurdianname: { value: \"\" },\n gaurdianpan: { value: \"\" },\n gaurdianrelationship: { value: \"\" },\n };\n const second_nominee_details = {\n name: { value: \"\" },\n pan: { value: \"\" },\n relationship: { value: \"\" },\n otherrelationship: { value: \"\" },\n dob: { value: \"\" },\n gender: { value: \"\" },\n percentage: { value: \"100\" },\n email: { value: \"\" },\n address: { value: \"\" },\n country: { value: \"\" },\n state: { value: \"\" },\n city: { value: \"\" },\n pincode: { value: \"\" },\n gaurdianname: { value: \"\" },\n gaurdianpan: { value: \"\" },\n gaurdianrelationship: { value: \"\" },\n };\n const third_nominee_details = {\n name: { value: \"\" },\n pan: { value: \"\" },\n relationship: { value: \"\" },\n otherrelationship: { value: \"\" },\n dob: { value: \"\" },\n gender: { value: \"\" },\n percentage: { value: \"100\" },\n email: { value: \"\" },\n address: { value: \"\" },\n country: { value: \"\" },\n state: { value: \"\" },\n city: { value: \"\" },\n pincode: { value: \"\" },\n gaurdianname: { value: \"\" },\n gaurdianpan: { value: \"\" },\n gaurdianrelationship: { value: \"\" },\n };\n const [isLoading, setIsLoading] = useState(false);\n const [NomineeListShow, setIsNomineeListShow] = useState(true);\n const [openModal, setOpenModal] = useState(false);\n\n const [nominate_yes_or_no, setnominate_yes_or_no] = useState(false);\n const [countriesList, setcountriesList] = useState([]);\n const [nominees_selected, setnomineeSelected] = useState({\n nominee_selected1: \"\",\n nominee_selected2: \"\",\n nominee_selected3: \"\",\n });\n const [nomineeList, setnomineeList] = useState([]);\n const [relationshipList, setrelationshipList] = useState([]);\n const [same_as_first_appicant_address, setsame_as_first_appicant_address] =\n useState(false);\n const list = \"1\";\n const [nominee_dateofbirth, setnominee_dateofbirth] = useState({\n first_nominee_dateofbirth: false,\n second_nominee_dateofbirth: false,\n third_nominee_dateofbirth: false,\n });\n const [nominee_list, setnominee_list] = useState(list);\n const [first_nomineeDetails, setfirst_nomineeDetails] = useState(\n first_nominee_details\n );\n const [second_nomineeDetails, setsecond_nomineeDetails] = useState(\n second_nominee_details\n );\n const [third_nomineeDetails, setthird_nomineeDetails] = useState(\n third_nominee_details\n ); \n const [inputLabel, setInputLabel] = useState('');\n const prefillFormValues = async () => {\n setIsLoading(true);\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n address: { value: !!props.address.address ? props.address.address : \"\" },\n country: { value: !!props.address.country ? props.address.country : \"\" },\n state: { value: !!props.address.state ? props.address.state : \"\" },\n pincode: { value: !!props.address.pincode ? props.address.pincode : \"\" },\n city: { value: !!props.address.city ? props.address.city : \"\" },\n });\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n address: { value: !!props.address.address ? props.address.address : \"\" },\n country: { value: !!props.address.country ? props.address.country : \"\" },\n state: { value: !!props.address.state ? props.address.state : \"\" },\n pincode: { value: !!props.address.pincode ? props.address.pincode : \"\" },\n city: { value: !!props.address.city ? props.address.city : \"\" },\n });\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n address: { value: !!props.address.address ? props.address.address : \"\" },\n country: { value: !!props.address.country ? props.address.country : \"\" },\n state: { value: !!props.address.state ? props.address.state : \"\" },\n pincode: { value: !!props.address.pincode ? props.address.pincode : \"\" },\n city: { value: !!props.address.city ? props.address.city : \"\" },\n });\n setIsLoading(false);\n };\n const handleAddress = () => {\n setsame_as_first_appicant_address(!same_as_first_appicant_address);\n if (same_as_first_appicant_address == false) {\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n address: { value: props.address.address ? props.address.address : \"\" },\n country: {\n value: !!props.address.country ? props.address.country : \"\",\n },\n state: { value: !!props.address.state ? props.address.state : \"\" },\n pincode: {\n value: !!props.address.pincode ? props.address.pincode : \"\",\n },\n city: { value: !!props.address.city ? props.address.city : \"\" },\n });\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n address: { value: props.address.address ? props.address.address : \"\" },\n country: {\n value: !!props.address.country ? props.address.country : \"\",\n },\n state: { value: !!props.address.state ? props.address.state : \"\" },\n pincode: {\n value: !!props.address.pincode ? props.address.pincode : \"\",\n },\n city: { value: !!props.address.city ? props.address.city : \"\" },\n });\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n address: { value: props.address.address ? props.address.address : \"\" },\n country: {\n value: !!props.address.country ? props.address.country : \"\",\n },\n state: { value: !!props.address.state ? props.address.state : \"\" },\n pincode: {\n value: !!props.address.pincode ? props.address.pincode : \"\",\n },\n city: { value: !!props.address.city ? props.address.city : \"\" },\n });\n } else {\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n address: { value: \"\" },\n country: { value: \"\" },\n state: { value: \"\" },\n pincode: { value: \"\" },\n city: { value: \"\" },\n });\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n address: { value: \"\" },\n country: { value: \"\" },\n state: { value: \"\" },\n pincode: { value: \"\" },\n city: { value: \"\" },\n });\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n address: { value: \"\" },\n country: { value: \"\" },\n state: { value: \"\" },\n pincode: { value: \"\" },\n city: { value: \"\" },\n });\n }\n };\n const handleChangeNomineeList = async (event) => {\n const value = event.target.value;\n setnominee_list(event.target.value);\n if (value == \"1\") {\n setIsLoading(true);\n await $wait(10);\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n percentage: { value: \"100\" },\n });\n setIsLoading(false);\n }\n if (value == \"2\") {\n setIsLoading(true);\n await $wait(10);\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n percentage: { value: \"50\" },\n });\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n percentage: { value: \"50\" },\n });\n setIsLoading(false);\n }\n if (value == \"3\") {\n setIsLoading(true);\n await $wait(10);\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n percentage: { value: \"33.3\" },\n });\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n percentage: { value: \"33.3\" },\n });\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n percentage: { value: \"33.4\" },\n });\n setIsLoading(false);\n }\n };\n useEffect(() => {\n firstRender();\n }, []);\n const firstRender = async () => {\n await getLists();\n checkReduxStore();\n };\n useEffect(() => {\n nomineelist();\n prefillFormValues();\n }, [nomineeList.length === 1]);\n useEffect(() => {\n secondRender()\n }, [nomineeList.length >= 2]);\n useEffect(() => {\n const guardianPANs = [\n first_nomineeDetails.gaurdianpan.value,\n second_nomineeDetails.gaurdianpan.value,\n third_nomineeDetails.gaurdianpan.value,\n ];\n const investorAsGuardianCount = guardianPANs.filter(pan => pan === props.store_pan).length;\n if (investorAsGuardianCount > 1) {\n alert(\"PAN cannot be both Primary & Guardian PAN for multiple nominees.\");\n switch(inputLabel) {\n case \"firstNomineeGuardianPan\":\n setfirst_nomineeDetails(prevDetails => ({...prevDetails, gaurdianpan: { value: \"\" }}));\n break;\n case \"secondNomineeGuardianPan\":\n setsecond_nomineeDetails(prevDetails => ({...prevDetails, gaurdianpan: { value: \"\" }}));\n break;\n case \"thirdNomineeGuardianPan\":\n setthird_nomineeDetails(prevDetails => ({...prevDetails, gaurdianpan: { value: \"\" }}));\n break;\n default:\n break;\n }\n }\n }, [first_nomineeDetails, second_nomineeDetails, third_nomineeDetails, inputLabel, props.store_pan]); \n const secondRender =async()=>{\n if(!first_nomineeDetails.name.value){\n await prefill_nomineelist();\n }\n }\n const prefill_nomineelist = async () => {\n setIsLoading(true);\n const nomineeone_details = props?.getnomineeDetails?.Dtinformation?.[0] \n const nomineetwo_details = props?.getnomineeDetails?.Dtinformation?.[1]\n const nomineethree_details = props?.getnomineeDetails?.Dtinformation?.[2] \n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n name: { value: nomineeone_details?.Nom1 },\n relationship: {\n value:\n nomineeone_details?.Nom1Relation.charAt(0).toUpperCase() +\n nomineeone_details?.Nom1Relation.substr(1).toLowerCase(),\n },\n dob: { value: nomineeone_details?.Nom1_Dob },\n gender: { value: nomineeone_details?.Nom1_Gender === \"Male\" ? \"M\" : nomineeone_details?.Nom1_Gender === \"Female\" ? \"F\":null },\n address: {\n value:\n nomineeone_details?.Nom1_Add1 +\n nomineeone_details?.Nom1_Add2 +\n nomineeone_details?.Nom1_Add3,\n },\n percentage:{value:nomineeone_details?.NomPer1},\n country: { value: nomineeone_details?.Nom1_Country },\n state: { value: nomineeone_details?.Nom1_state },\n pincode: { value: nomineeone_details?.Nom1_pin },\n city: { value: nomineeone_details?.Nom1_City },\n });\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n name: { value: nomineetwo_details?.Nom1 },\n relationship: {\n value:\n nomineetwo_details?.Nom1Relation.charAt(0).toUpperCase() +\n nomineetwo_details?.Nom1Relation.substr(1).toLowerCase(),\n },\n dob: { value: nomineetwo_details?.Nom1_Dob },\n gender: { value: nomineetwo_details?.Nom1_Gender === \"Male\" ? \"M\" : nomineeone_details?.Nom1_Gender === \"Female\" ? \"F\":null },\n address: {\n value:\n nomineetwo_details?.Nom1_Add1 +\n nomineetwo_details?.Nom1_Add2 +\n nomineetwo_details?.Nom1_Add3,\n },\n percentage:{value:nomineeone_details?.NomPer2},\n country: { value: nomineetwo_details?.Nom1_Country },\n state: { value: nomineetwo_details?.Nom1_state },\n pincode: { value: nomineetwo_details?.Nom1_pin },\n city: { value: nomineetwo_details?.Nom1_City },\n });\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n name: { value: nomineethree_details?.Nom1 },\n relationship: {\n value:\n nomineethree_details?.Nom1Relation.charAt(0).toUpperCase() +\n nomineethree_details?.Nom1Relation.substr(1).toLowerCase(),\n },\n dob: { value: nomineethree_details?.Nom1_Dob },\n gender: { value: nomineethree_details?.Nom1_Gender === \"Male\" ? \"M\" : nomineeone_details?.Nom1_Gender === \"Female\" ? \"F\":null },\n address: {\n value:\n nomineethree_details?.Nom1_Add1 +\n nomineethree_details?.Nom1_Add2 +\n nomineethree_details?.Nom1_Add3,\n },\n percentage:{value:nomineeone_details?.NomPer3},\n country: { value: nomineethree_details?.Nom1_Country },\n state: { value: nomineethree_details?.Nom1_state },\n pincode: { value: nomineethree_details?.Nom1_pin },\n city: { value: nomineethree_details?.Nom1_City },\n });\n setnomineeSelected({\n ...nominees_selected,\n nominee_selected1: nomineeone_details?.Nom1 ,\n nominee_selected2: nomineetwo_details?.Nom1 ,\n nominee_selected3: nomineethree_details?.Nom1 ,\n });\n setnominee_list(!!nomineethree_details?.Nom1?\"3\":!!nomineetwo_details?.Nom1?\"2\":!!nomineeone_details?.Nom1?\"1\":null);\n setIsLoading(false);\n };\n const nomineelist = async () => {\n await NomineeDetails();\n };\n const checkReduxStore = () => {\n if (!!props.nomineDetails && !!props.nomineDetails.i_nominee) {\n const { nomineDetails } = props;\n const {\n i_nominee,\n i_nominee2,\n i_nominee3,\n i_nompan1,\n i_nompan2,\n i_nompan3,\n i_NomRelation,\n i_NomRelation2,\n i_NomRelation3,\n i_NomDOB,\n i_NomDOB2,\n i_NomDOB3,\n nom1gender,\n nom2gender,\n nom3gender,\n i_Nominee1percentage,\n i_Nominee2percentage,\n i_Nominee3percentage,\n nom1email,\n nom2email,\n nom3email,\n i_nomadd1,\n i_nomadd21,\n i_nomadd31,\n i_nomcountry,\n i_nom2country,\n i_nom3country,\n i_nomstate,\n i_nomstate2,\n i_nomstate3,\n i_nomcity,\n i_nomcity2,\n i_nomcity3,\n i_nompin,\n i_nompin2,\n i_nompin3,\n i_nomguardianname1,\n i_nomguardianname3,\n i_nomguardianpan1,\n i_nomguardianpan3,\n i_nomguardianname2,\n i_namguardianrelationship1,\n i_namguardianrelationship3,\n i_namguardianrelationship2,\n i_nomguardianpan2,\n } = nomineDetails;\n setnominate_yes_or_no(!!i_nominee ? false : true);\n setnominee_list(\n !!i_nominee3 ? \"3\" : !!i_nominee2 ? \"2\" : !!i_nominee ? \"1\" : \"\"\n );\n setnomineeSelected({\n ...nominees_selected,\n nominee_selected1:i_nominee,\n nominee_selected2:i_nominee2,\n nominee_selected3:i_nominee3,\n }); if (!!i_nominee) {\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n name: { value: i_nominee },\n pan: { value: i_nompan1 },\n relationship: { value: i_NomRelation },\n dob: { value: i_NomDOB },\n gender: { value: nom1gender },\n percentage: { value: i_Nominee1percentage },\n email: { value: nom1email },\n address: { value: i_nomadd1 },\n country: { value: i_nomcountry },\n state: { value: i_nomstate },\n city: { value: i_nomcity },\n pincode: { value: i_nompin },\n });\n }\n if (!!i_nominee2) {\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n name: { value: i_nominee2 },\n pan: { value: i_nompan2 },\n relationship: { value: i_NomRelation2 },\n dob: { value: i_NomDOB2 },\n gender: { value: nom2gender },\n percentage: { value: i_Nominee2percentage },\n email: { value: nom2email },\n address: { value: i_nomadd21 },\n country: { value: i_nom2country },\n state: { value: i_nomstate2 },\n city: { value: i_nomcity2 },\n pincode: { value: i_nompin2 },\n });\n }\n if (!!i_nominee3) {\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n name: { value: i_nominee3 },\n pan: { value: i_nompan3 },\n relationship: { value: i_NomRelation3 },\n dob: { value: i_NomDOB3 },\n gender: { value: nom3gender },\n percentage: { value: i_Nominee3percentage },\n email: { value: nom3email },\n address: { value: i_nomadd31 },\n country: { value: i_nom3country },\n state: { value: i_nomstate3 },\n city: { value: i_nomcity3 },\n pincode: { value: i_nompin3 },\n });\n }\n let new_nominee_dateofbirth = nominee_dateofbirth;\n if (!!i_NomDOB && checkIfMinor(i_NomDOB)) {\n new_nominee_dateofbirth.first_nominee_dateofbirth = true;\n\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n name: { value: i_nominee },\n pan: { value: i_nompan1 },\n relationship: { value: i_NomRelation },\n dob: { value: i_NomDOB },\n gender: { value: nom1gender },\n percentage: { value: i_Nominee1percentage },\n email: { value: nom1email },\n address: { value: i_nomadd1 },\n country: { value: i_nomcountry },\n state: { value: i_nomstate },\n city: { value: i_nomcity },\n pincode: { value: i_nompin },\n gaurdianname: { value: i_nomguardianname1 },\n gaurdianpan: { value: i_nomguardianpan1 },\n gaurdianrelationship: { value: i_namguardianrelationship1 },\n });\n }\n if (!!i_NomDOB2 && checkIfMinor(i_NomDOB2)) {\n new_nominee_dateofbirth.second_nominee_dateofbirth = true;\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n name: { value: i_nominee2 },\n pan: { value: i_nompan2 },\n relationship: { value: i_NomRelation2 },\n dob: { value: i_NomDOB2 },\n gender: { value: nom2gender },\n percentage: { value: i_Nominee2percentage },\n email: { value: nom2email },\n address: { value: i_nomadd21 },\n country: { value: i_nom2country },\n state: { value: i_nomstate2 },\n city: { value: i_nomcity2 },\n pincode: { value: i_nompin2 },\n gaurdianname: { value: i_nomguardianname2 },\n gaurdianpan: { value: i_nomguardianpan2 },\n gaurdianrelationship: { value: i_namguardianrelationship2 },\n });\n }\n if (!!i_NomDOB3 && checkIfMinor(i_NomDOB3)) {\n new_nominee_dateofbirth.third_nominee_dateofbirth = true;\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n name: { value: i_nominee3 },\n pan: { value: i_nompan3 },\n relationship: { value: i_NomRelation3 },\n dob: { value: i_NomDOB3 },\n gender: { value: nom3gender },\n percentage: { value: i_Nominee3percentage },\n email: { value: nom3email },\n address: { value: i_nomadd31 },\n country: { value: i_nom3country },\n state: { value: i_nomstate3 },\n city: { value: i_nomcity3 },\n pincode: { value: i_nompin3 },\n gaurdianname: { value: i_nomguardianname3 },\n gaurdianpan: { value: i_nomguardianpan3 },\n gaurdianrelationship: { value: i_namguardianrelationship3 },\n });\n }\n setnominee_dateofbirth(new_nominee_dateofbirth);\n }\n };\n\n const NomineeDetails = async () => {\n setIsLoading(true);\n const params = {\n pan: props.store_pan,\n };\n const response = await props.getNomineeDetails(params);\n const nomineevalues = !!response.Dtinformation\n ? response.Dtinformation\n : [];\n if (response.Dtinformation.length === 0) {\n setIsNomineeListShow(false);\n }\n const nomineeList = nomineevalues.map((nominee) => {\n return { label: nominee.Nom1.trim(), value: nominee.Nom1.trim() };\n });\n const AddNew = { label: 'ADD NEW NOMINEE', value: 'ADD NEW NOMINEE' }\n nomineeList.push(AddNew);\n setnomineeList(nomineeList);\n setIsLoading(false);\n };\n const getLists = async () => {\n const relationShipResponse = await props.getRelationShipList();\n const { Dtinformation } = relationShipResponse;\n const relationShipList = Dtinformation.map((item) => ({\n label: item.rm_relation,\n value: item.rm_relation,\n }));\n const countriesResponse = await props.getCountriesList();\n const Countries = countriesResponse.Dtinformation;\n const countriesList = Countries.map((country) => {\n return { label: country.country_name, value: country.country_name };\n });\n setcountriesList(\n countriesList.length > 0\n ? countriesList\n : [{ label: \"India\", value: \"India\" }]\n );\n setrelationshipList(relationShipList);\n };\n const handleDateofBirth = (label) => (event) => {\n const value = format(new Date(event), \"MM/dd/yyyy\");\n const oneday = 86400000;\n const today = new Date();\n const datevalue = new Date(value);\n if (label == \"dob1\") {\n const min18yersletnew = new Date(today.getTime() - oneday * 365 * 18);\n if (datevalue.getTime() > min18yersletnew) {\n setnominee_dateofbirth({\n ...nominee_dateofbirth,\n first_nominee_dateofbirth: true,\n });\n } else {\n setnominee_dateofbirth({\n ...nominee_dateofbirth,\n first_nominee_dateofbirth: false,\n });\n }\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n dob: { value: value },\n });\n }\n if (label == \"dob2\") {\n const min18yersletnew = new Date(today.getTime() - oneday * 365 * 18);\n if (datevalue.getTime() > min18yersletnew) {\n setnominee_dateofbirth({\n ...nominee_dateofbirth,\n second_nominee_dateofbirth: true,\n });\n } else {\n setnominee_dateofbirth({\n ...nominee_dateofbirth,\n second_nominee_dateofbirth: false,\n });\n }\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n dob: { value: value },\n });\n }\n if (label == \"dob3\") {\n const min18yersletnew = new Date(today.getTime() - oneday * 365 * 18);\n if (datevalue.getTime() > min18yersletnew) {\n setnominee_dateofbirth({\n ...nominee_dateofbirth,\n third_nominee_dateofbirth: true,\n });\n } else {\n setnominee_dateofbirth({\n ...nominee_dateofbirth,\n third_nominee_dateofbirth: false,\n });\n }\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n dob: { value: value },\n });\n }\n };\n const handleNomineeList = (label) => async (event) => {\n const RemovingTheNomineeMember = { value:event.target.value };\n if (nominee_list === \"1\" && RemovingTheNomineeMember.value!==\"ADD NEW NOMINEE\") {\n if (\n RemovingTheNomineeMember.value ===\n nominees_selected.nominee_selected3 ||\n nominees_selected.nominee_selected2\n ) {\n alert(\"Already this nominee has been selected\");\n return;\n }\n }\n if (nominee_list === \"2\" && RemovingTheNomineeMember.value!==\"ADD NEW NOMINEE\") {\n if (\n RemovingTheNomineeMember.value === nominees_selected.nominee_selected1\n ) {\n alert(\"Already this nominee has been selected\");\n return;\n }\n }\n if (nominee_list === \"3\" && RemovingTheNomineeMember.value!==\"ADD NEW NOMINEE\") {\n if (\n (label == \"nomine1\" &&\n RemovingTheNomineeMember.value ===\n nominees_selected.nominee_selected3) ||\n RemovingTheNomineeMember.value === nominees_selected.nominee_selected2\n ) {\n alert(\"Already this nominee has been selected1\");\n\n return;\n }\n if (\n (label == \"nomine2\" &&\n RemovingTheNomineeMember.value ===\n nominees_selected.nominee_selected3) ||\n RemovingTheNomineeMember.value === nominees_selected.nominee_selected1\n ) {\n alert(\"Already this nominee has been selected2\");\n return;\n }\n if (\n (label == \"nomine3\" &&\n RemovingTheNomineeMember.value ===\n nominees_selected.nominee_selected2) ||\n RemovingTheNomineeMember.value === nominees_selected.nominee_selected1\n ) {\n alert(\"Already this nominee has been selected3\");\n return ;\n }\n }\n const nomineedetails =\n !!props.getnomineeDetails &&\n props.getnomineeDetails.Dtinformation.find(\n (ele) => ele.Nom1.trim() === event.target.value.trim() \n );\n const oneday = 86400000;\n const today = new Date();\n if (!!nomineedetails && label === \"nominee1\" ) {\n if (!!nomineedetails.Nom1_Dob) {\n const value = new Date(nomineedetails.Nom1_Dob);\n const min18yersletnew = new Date(today.getTime() - oneday * 365 * 18);\n if (value.getTime() > min18yersletnew) {\n setnominee_dateofbirth({\n ...nominee_dateofbirth,\n first_nominee_dateofbirth: true,\n });\n } else {\n setnominee_dateofbirth({\n ...nominee_dateofbirth,\n first_nominee_dateofbirth: false,\n });\n }\n }\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n name: { value: nomineedetails?.Nom1 },\n relationship: {\n value:\n nomineedetails.Nom1Relation.charAt(0).toUpperCase() +\n nomineedetails.Nom1Relation.substr(1).toLowerCase(),\n },\n dob: { value: nomineedetails?.Nom1_Dob },\n gender: { value: nomineedetails.Nom1_Gender === \"Male\" ? \"M\" : \"F\" },\n address: {\n value:\n nomineedetails?.Nom1_Add1 +\n nomineedetails?.Nom1_Add2 +\n nomineedetails?.Nom1_Add3,\n },\n country: { value: nomineedetails?.Nom1_Country },\n state: { value: nomineedetails?.Nom1_state },\n pincode: { value: nomineedetails?.Nom1_pin },\n city: { value: nomineedetails?.Nom1_City },\n });\n setnomineeSelected({\n ...nominees_selected,\n nominee_selected1: event.target.value,\n });\n } else if(label === \"nominee1\" && event.target.value===\"ADD NEW NOMINEE\"){\n const thirdPercentage = nominee_list ===\"3\" ?third_nomineeDetails.percentage.value: 0;\n const secondPercentage = nominee_list >=\"2\" ? second_nomineeDetails.percentage.value:0;\n const percentage = thirdPercentage\n ? 100 - thirdPercentage - (secondPercentage || 0)\n : secondPercentage\n ? 100 - secondPercentage\n : 100;\n setfirst_nomineeDetails({\n ...first_nominee_details,\n percentage:{value:percentage}\n });\n setnomineeSelected({\n ...nominees_selected,\n nominee_selected1: event.target.value,\n });\n }\n\n if (!!nomineedetails && label === \"nominee2\" ) {\n if (!!nomineedetails.Nom2_Dob) {\n const value = new Date(nomineedetails.Nom2_Dob);\n const min18yersletnew = new Date(today.getTime() - oneday * 365 * 18);\n if (value.getTime() > min18yersletnew) {\n setnominee_dateofbirth({\n ...nominee_dateofbirth,\n second_nominee_dateofbirth: true,\n });\n } else {\n setnominee_dateofbirth({\n ...nominee_dateofbirth,\n second_nominee_dateofbirth: false,\n });\n }\n }\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n name: { value: nomineedetails?.Nom1 },\n relationship: {\n value:\n nomineedetails.Nom1Relation.charAt(0).toUpperCase() +\n nomineedetails.Nom1Relation.substr(1).toLowerCase(),\n },\n dob: { value: nomineedetails?.Nom1_Dob },\n gender: { value: nomineedetails.Nom1_Gender === \"Male\" ? \"M\" : \"F\" },\n address: {\n value:\n nomineedetails?.Nom1_Add1 +\n nomineedetails?.Nom1_Add2 +\n nomineedetails?.Nom1_Add3,\n },\n country: { value: nomineedetails?.Nom1_Country },\n state: { value: nomineedetails?.Nom1_state },\n pincode: { value: nomineedetails?.Nom1_pin },\n city: { value: nomineedetails?.Nom1_City },\n });\n setnomineeSelected({\n ...nominees_selected,\n nominee_selected2: event.target.value,\n });\n } else if (label === \"nominee2\" && event.target.value===\"ADD NEW NOMINEE\") {\n const thirdPercentage = nominee_list ===\"3\" ?third_nomineeDetails.percentage.value: 0;\n const firstPercentage = first_nomineeDetails.percentage.value;\n const percentage = thirdPercentage\n ? 100 - thirdPercentage - (firstPercentage || 0)\n : firstPercentage\n ? 100 - firstPercentage\n : 100;\n setsecond_nomineeDetails({\n ...second_nominee_details,\n percentage:{value:percentage}\n\n });\n setnomineeSelected({\n ...nominees_selected,\n nominee_selected2: event.target.value,\n });\n }\n if (!!nomineedetails && label === \"nominee3\" ) {\n if (!!nomineedetails.Nom3_Dob) {\n const value = new Date(nomineedetails.Nom3_Dob);\n const min18yersletnew = new Date(today.getTime() - oneday * 365 * 18);\n if (value.getTime() > min18yersletnew) {\n setnominee_dateofbirth({\n ...nominee_dateofbirth,\n third_nominee_dateofbirth: true,\n });\n } else {\n setnominee_dateofbirth({\n ...nominee_dateofbirth,\n third_nominee_dateofbirth: false,\n });\n }\n }\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n name: { value: nomineedetails?.Nom1 },\n relationship: {\n value:\n nomineedetails.Nom1Relation.charAt(0).toUpperCase() +\n nomineedetails.Nom1Relation.substr(1).toLowerCase(),\n },\n dob: { value: nomineedetails?.Nom1_Dob },\n gender: { value: nomineedetails.Nom1_Gender === \"Male\" ? \"M\" : \"F\" },\n address: {\n value:\n nomineedetails?.Nom1_Add1 +\n nomineedetails?.Nom1_Add2 +\n nomineedetails?.Nom1_Add3,\n },\n country: { value: nomineedetails?.Nom1_Country },\n state: { value: nomineedetails?.Nom1_state },\n pincode: { value: nomineedetails?.Nom1_pin },\n city: { value: nomineedetails?.Nom1_City },\n });\n setnomineeSelected({\n ...nominees_selected,\n nominee_selected3: event.target.value,\n });\n } else if (label === \"nominee3\" && event.target.value===\"ADD NEW NOMINEE\") {\n const firstPercentage = first_nomineeDetails.percentage.value;\n const secondPercentage = nominee_list >=\"2\" ? second_nomineeDetails.percentage.value:0;\n const percentage = firstPercentage\n ? 100 - firstPercentage - (secondPercentage || 0)\n : secondPercentage\n ? 100 - secondPercentage\n : 100;\n setthird_nomineeDetails({\n ...third_nominee_details,\n percentage:{value:percentage}\n });\n setnomineeSelected({\n ...nominees_selected,\n nominee_selected3: event.target.value,\n });\n }\n };\n const handleChangePan = (label) => async (event) => {\n const value = event?.target?.value?.toUpperCase();\n if(value.length === 10) {\n const kycResponse = await props.checkKyc(\n {\n fund: \"102\",\n userid: props.userId,\n i_pan: event.target.value.toUpperCase(),\n },\n true\n );\n const {\n DtData: [info],\n } = kycResponse;\n if(info?.KYCBlock !== \"N\") { \n if(label === \"firstNomineePan\") {\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n pan: { value: \"\" }, });\n }\n if(label === \"secondNomineePan\"){\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n pan: { value: \"\" },\n });\n }\n if(label === \"thirdNomineePan\") {\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n pan: { value: \"\" },\n });\n }\n setOpenModal(true);\n return;\n } }\n setInputLabel(label);\n const arr = [\n { pan: props.profileData.PAN},\n { pan: props.store_pan },\n { pan: props.applicantparams.i_pangno2 },\n { pan: props.applicantparams.i_pangno3 },\n { pan: first_nomineeDetails.pan.value },\n { pan: second_nomineeDetails.pan.value },\n { pan: third_nomineeDetails.pan.value },\n { pan: first_nomineeDetails.gaurdianpan.value },\n { pan: second_nomineeDetails.gaurdianpan.value },\n { pan: third_nomineeDetails.gaurdianpan.value },\n ];\n if (label === \"firstNomineePan\" && value?.length <= 10) {\n if (value.length === 10 && !/^[A-Z]{5}[0-9]{4}[A-Z]$/.test(value)) {\n alert(\"Provide valid PAN\");\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n pan: { value: \"\" },\n });\n return;\n }\n const search = arr.find((ele) => !!ele.pan && ele.pan === value);\n if (!!search) {\n alert(\"Nominee PAN,Primary Holder PAN,Guardian PAN,Distributor PAN cannot be same\");\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n pan: { value: \"\" },\n });\n return;\n }\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n pan: { value: value },\n });\n if(label === \"firstNomineePan\" && value.length > 3 && value[3]?.toLowerCase() !== \"p\") {\n alert(\"Invalid PAN\");\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n pan: { value: \"\" },\n });\n return;\n }\n }\n if (label === \"secondNomineePan\" && value.length <= 10) {\n if (value.length === 10 && !/^[A-Z]{5}[0-9]{4}[A-Z]$/.test(value)) {\n alert(\"Provide Valid PAN\");\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n pan: { value: \"\" },\n });\n return;\n }\n const search = arr.find((ele) => !!ele.pan && ele.pan === value);\n if (!!search) {\n alert(\"Nominee PAN,Primary Holder PAN,Guardian PAN,Distributor PAN cannot be same\");\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n pan: { value: \"\" },\n });\n return;\n }\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n pan: { value: value },\n });\n if(label === \"secondNomineePan\" && value.length > 3 && value[3]?.toLowerCase() !== \"p\") {\n alert(\"Provide Valid PAN\");\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n pan: { value: \"\" },\n });\n return;\n }\n }\n if (label === \"thirdNomineePan\" && value.length <= 10) {\n if (value.length === 10 && !/^[A-Z]{5}[0-9]{4}[A-Z]$/.test(value)) {\n alert(\"Provide Valid PAN\");\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n pan: { value: \"\" },\n });\n return;\n }\n const search = arr.find((ele) => !!ele.pan && ele.pan === value);\n if (!!search) {\n alert(\"Nominee PAN,Primary Holder PAN,Guardian PAN,Distributor PAN cannot be same\");\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n pan: { value: \"\" },\n });\n return;\n }\n if(label === \"thirdNomineePan\" && value.length > 3 && value[3]?.toLowerCase() !== \"p\") {\n alert(\"Invalid PAN\");\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n pan: { value: \"\" },\n });\n return;\n }\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n pan: { value: value },\n });\n }\n if (label === \"firstNomineeGuardianPan\" && value.length <= 10) {\n const search = arr.find((ele) => !!ele.pan && ele.pan === value);\n if (!!search && (value !== props.store_pan)) {\n alert(\"Nominee PAN,Primary Holder PAN,Guardian PAN,Distributor PAN cannot be same\");\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n gaurdianpan: { value: \"\" },\n });\n return;\n }\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n gaurdianpan: { value: value },\n });\n if( value.length >= 4 && value.length > 3 && value[3].toLowerCase() != \"p\") {\n alert(\"Invalid PAN\");\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n gaurdianpan: { value: \"\" },\n });\n return;\n }\n }\n if (label === \"secondNomineeGuardianPan\" && value.length <= 10) {\n \n const search = arr.find((ele) => !!ele.pan && ele.pan === value);\n if (!!search && (value !== props.store_pan)) {\n alert(\"Nominee PAN,Primary Holder PAN,Guardian PAN,Distributor PAN cannot be same\");\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n gaurdianpan: { value: \"\" },\n });\n return;\n }\n\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n gaurdianpan: { value: value },\n });\n if( value.length >= 4 && value.length > 3 && value[3].toLowerCase() != \"p\") {\n alert(\"Invalid PAN\");\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n gaurdianpan: { value: \"\" },\n });\n return;\n }\n }\n if (label === \"thirdNomineeGuardianPan\" && value.length <= 10) {\n \n const search = arr.find((ele) => !!ele.pan && ele.pan === value);\n if (!!search && (value !== props.store_pan)) {\n alert(\"Nominee PAN,Primary Holder PAN,Guardian PAN,Distributor PAN cannot be same\");\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n gaurdianpan: { value: \"\" },\n });\n return;\n }\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n gaurdianpan: { value: value },\n });\n if( value.length >= 4 && value.length > 3 && value[3].toLowerCase() != \"p\") {\n alert(\"Invalid PAN\");\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n gaurdianpan: { value: \"\" },\n });\n return;\n }\n }\n \n };\n const handlePercentage = (label) => (event) => {\n const value = event.target.value;\n if (event.target.value <= 100) {\n if (label === \"first\" && nominee_list === \"1\") {\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n percentage: { value: value },\n });\n }\n if (nominee_list === \"2\" && (label === \"second\" || label === \"first\")) {\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n percentage:\n label === \"second\"\n ? { value: value }\n : { value: Math.abs(value - 100) },\n });\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n percentage:\n label === \"first\"\n ? { value: value }\n : { value: Math.abs(value - 100) },\n });\n }\n if (\n nominee_list === \"3\" &&\n (label === \"first\" || label === \"second\" || label === \"third\")\n ) {\n // if(label === \"first\") {\n // if ((value + second_nomineeDetails.percentage.value + third_nomineeDetails.percentage.value) > 100 ) {\n // alert(\"Total nominee percentage should not be more than 100%\")\n // return;\n // }\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n percentage:\n label === \"first\"\n ? { value: value }\n : { value: Math.abs(value - 100)/2 },\n }); \n // }\n // if(label === \"second\") {\n // if ((value + first_nomineeDetails.percentage.value + third_nomineeDetails.percentage.value) > 100 ) {\n // alert(\"Total nominee percentage should not be more than 100%\")\n // return;\n // }\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n percentage:\n label === \"second\"\n ? { value: value }\n : { value: Math.abs(value - 100)/2 },\n }); \n // }\n // if(label === \"third\") {\n // if ((value + second_nomineeDetails.percentage.value + first_nomineeDetails.percentage.value) > 100 ) {\n // alert(\"Total nominee percentage should not be more than 100%\")\n // return;\n // }\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n percentage:\n label === \"third\"\n ? { value: value }\n : { value: Math.abs(value - 100)/2 },\n }); \n // }\n }\n }\n };\n const handleNominees = () => {\n setnominate_yes_or_no(!nominate_yes_or_no);\n setfirst_nomineeDetails(first_nominee_details);\n setsecond_nomineeDetails(second_nominee_details);\n setthird_nomineeDetails(third_nominee_details);\n };\n const handlePincode = (label) => (event) => {\n const value = event.target.value;\n if (value.length <= 6) {\n if (label === \"nominee1\") {\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n pincode: { value: event.target.value },\n });\n }\n if (label === \"nominee2\") {\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n pincode: { value: event.target.value },\n });\n }\n\n if (label === \"nominee3\") {\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n pincode: { value: event.target.value },\n });\n }\n }\n };\n const handleName = (label) => (event) => {\n const value = event.target.value;\n const investorName = props?.applicantparams.i_fname.toLowerCase();\n const isDuplicate = value.toLowerCase() === investorName ? true : false;\n const arr = [\n { name: third_nomineeDetails.name.value },\n { name: second_nomineeDetails.name.value },\n { name: first_nomineeDetails.name.value },\n ];\n\n if (label === \"nominee1\") {\n const search = arr.find((ele) => !!ele.name && ele.name === value);\n if (isDuplicate || !!search) {\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n name: { value: \"\" },\n });\n alert(isDuplicate ? \"Nominee name should not match Investor name\" : \"Nominee Names cannot be same\");\n return;\n }\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n name: { value: value },\n });\n }\n if (label === \"nominee2\") {\n const search = arr.find((ele) => !!ele.name && ele.name === value);\n if (isDuplicate || !!search) {\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n name: { value: \"\" },\n });\n alert(isDuplicate ? \"Nominee name cannot match Investor name\" : \"Nominee Names cannot be same\");\n return;\n }\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n name: { value: value },\n });\n }\n if (label === \"nominee3\") {\n const search = arr.find((ele) => !!ele.name && ele.name === value);\n if (isDuplicate || !!search) {\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n name: { value: \"\" },\n });\n alert(isDuplicate ? \"Nominee name cannot match Investor name\" : \"Nominee Names cannot be same\");\n return;\n }\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n name: { value: value },\n });\n }\n };\n const closeModal = () => {\n setOpenModal(false)\n ;\n};\nconst handleContinue = () => {\n closeModal();\n props.history.push({\n pathname:\n \"/e-KYC\",\n });\n};\n const submit = async () => {\n if (!nominate_yes_or_no && (props.store_pan.charAt(3) !== \"H\" && props.applicantparams.typeofinvestor !== \"M\")) {\n if (nominee_list >= 1) {\n if (!nameRegex.test(first_nomineeDetails.name.value)) {\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n name: {\n value: \"\",\n isError: true,\n errorMessage: \"Name is mandatory\",\n },\n });\n return;\n }\n if (!first_nomineeDetails.relationship.value) {\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n relationship: {\n isError: true,\n errorMessage: \"Select the Relationship\",\n },\n });\n return;\n }\n if((!!first_nomineeDetails?.pan?.value) && first_nomineeDetails?.pan?.value?.length !== 10) {\n alert(\"enter valid pan\")\n return;\n }\n if((!!second_nomineeDetails?.pan?.value) && second_nomineeDetails?.pan?.value?.length !== 10) {\n alert(\"enter valid pan\")\n return;\n }\n if((!!third_nomineeDetails?.pan?.value) && third_nomineeDetails?.pan?.value?.length !== 10) {\n alert(\"enter valid pan\")\n return;\n }\n if (!first_nomineeDetails.dob.value) {\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n dob: {\n isError: true,\n errorMessage: \"Select the Date of Birth\",\n },\n });\n return;\n }\n if (\n !!nominee_dateofbirth.first_nominee_dateofbirth &&\n first_nomineeDetails.gaurdianname.value == \"\"\n ) {\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n gaurdianname: {\n isError: true,\n errorMessage: \"Enter the Guardian Name\",\n },\n });\n return;\n }\n if (\n !!nominee_dateofbirth.first_nominee_dateofbirth &&\n !panRegex.test(first_nomineeDetails.gaurdianpan.value)\n ) {\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n gaurdianpan: {\n isError: true,\n errorMessage: \"Enter valid Guardian PAN\",\n },\n });\n return;\n }\n if (!first_nomineeDetails.gender.value) {\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n gender: {\n isError: true,\n errorMessage: \"Select the gender\",\n },\n });\n return;\n }\n if ((first_nomineeDetails.percentage.value===\"0\" || first_nomineeDetails.percentage.value===\"\" || first_nomineeDetails.percentage.value===null)) {\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n percentage: {\n value:\"\",\n isError: true,\n errorMessage: \"Please enter a valid percentage\",\n },\n });\n return;\n }\n if (nominee_list === \"1\" && first_nomineeDetails.percentage.value!==\"100\") {\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n percentage: {\n value:\"\",\n isError: true,\n errorMessage: \"Please enter a valid percentage\",\n },\n });\n return;\n }\n if (first_nomineeDetails.email.value.length > 0 &&\n (!emailRegex.test(first_nomineeDetails.email.value) ||\n !first_nomineeDetails.email.value.includes(\".\"))\n ) {\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n email: {\n value: \"\",\n isError: true,\n errorMessage: \"Enter valid Email id\",\n },\n });\n return;\n }\n if (nominee_list >= 2) {\n if (!nameRegex.test(second_nomineeDetails.name.value)) {\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n name: {\n value: \"\",\n isError: true,\n errorMessage: \"Name is mandatory\",\n },\n });\n return;\n }\n if (!second_nomineeDetails.dob.value) {\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n dob: {\n isError: true,\n errorMessage: \"Select the Date of Birth\",\n },\n });\n return;\n }\n if (!second_nomineeDetails.relationship.value) {\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n relationship: {\n isError: true,\n errorMessage: \"Select the Relationship\",\n },\n });\n return;\n }\n if (second_nomineeDetails.percentage.value === 0 || second_nomineeDetails.percentage.value===\"\" || second_nomineeDetails.percentage.value===null) {\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n percentage: {\n value:\"\",\n isError: true,\n errorMessage: \"Please enter a valid percentage\",\n },\n });\n return;\n }\n if (\n !!nominee_dateofbirth.second_nominee_dateofbirth &&\n second_nomineeDetails.gaurdianname.value == \"\"\n ) {\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n gaurdianname: {\n isError: true,\n errorMessage: \"Enter the Guardian Name\",\n },\n });\n return;\n }\n if (\n !!nominee_dateofbirth.second_nominee_dateofbirth &&\n !panRegex.test(second_nomineeDetails.gaurdianpan.value)\n ) {\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n gaurdianpan: {\n isError: true,\n errorMessage: \"Enter valid Guardian PAN\",\n },\n });\n return;\n }\n if (!second_nomineeDetails.gender.value) {\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n gender: {\n isError: true,\n errorMessage: \"Select the gender\",\n },\n });\n return;\n }\n if (second_nomineeDetails.email.value.length > 0 &&\n (!emailRegex.test(second_nomineeDetails.email.value) ||\n !second_nomineeDetails.email.value.includes(\".\"))\n ) {\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n email: {\n value: \"\",\n isError: true,\n errorMessage: \"Enter valid Email id\",\n },\n });\n return;\n }\n }\n }\n if (nominee_list >= 3) {\n if (!nameRegex.test(third_nomineeDetails.name.value)) {\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n name: {\n value: \"\",\n isError: true,\n errorMessage: \"Name is mandatory\",\n },\n });\n return;\n }\n if (!third_nomineeDetails.dob.value) {\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n dob: {\n isError: true,\n errorMessage: \"Select the Date of Birth\",\n },\n });\n return;\n }\n if (!third_nomineeDetails.relationship.value) {\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n relationship: {\n isError: true,\n errorMessage: \"Select the Relationship\",\n },\n });\n return;\n }\n if (third_nomineeDetails.percentage.value===0 || third_nomineeDetails.percentage.value===\"\" || third_nomineeDetails.percentage.value===null) {\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n percentage: {\n value:\"\",\n isError: true,\n errorMessage: \"Please enter a valid percentage\",\n },\n });\n return;\n }\n if (\n !!nominee_dateofbirth.third_nominee_dateofbirth &&\n third_nomineeDetails.gaurdianname.value == \"\"\n ) {\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n gaurdianname: {\n isError: true,\n errorMessage: \"Enter the Guardian Name\",\n },\n });\n return;\n }\n if (\n !!nominee_dateofbirth.third_nominee_dateofbirth &&\n !panRegex.test(third_nomineeDetails.gaurdianpan.value)\n ) {\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n gaurdianpan: {\n isError: true,\n errorMessage: \"Enter valid Guardian PAN\",\n },\n });\n return;\n }\n if (!third_nomineeDetails.gender.value) {\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n gender: {\n isError: true,\n errorMessage: \"Select the gender\",\n },\n });\n return;\n }\n if (third_nomineeDetails.email.value.length > 0 &&\n (!emailRegex.test(\n third_nomineeDetails.email.value ||\n !third_nomineeDetails.email.value.includes(\".\"))\n )\n ) {\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n email: {\n value: \"\",\n isError: true,\n errorMessage: \"Enter valid Email Id\",\n },\n });\n return;\n }\n }\n }\n \n\n setIsLoading(true);\n const NomineeDetails = {\n ...(!nominate_yes_or_no && {\n i_nominee: first_nomineeDetails.name.value,\n i_nompan1: first_nomineeDetails.pan.value,\n i_NomRelation:\n first_nomineeDetails.relationship.value === \"Other\"\n ? first_nomineeDetails.otherrelationship.value\n : first_nomineeDetails.relationship.value,\n i_NomDOB: first_nomineeDetails.dob.value,\n nom1gender: first_nomineeDetails.gender.value,\n i_Nominee1percentage: first_nomineeDetails.percentage.value,\n nom1email: first_nomineeDetails.email.value,\n i_nomadd1: first_nomineeDetails.address.value,\n i_nomcountry: first_nomineeDetails.country.value,\n i_nomstate: first_nomineeDetails.state.value,\n i_nomcity: first_nomineeDetails.city.value,\n i_nompin: first_nomineeDetails.pincode.value,\n i_nomguardianname1: first_nomineeDetails.gaurdianname.value,\n i_nomguardianpan1: first_nomineeDetails.gaurdianpan.value,\n i_namguardianrelationship1:\n first_nomineeDetails.gaurdianrelationship.value,\n }),\n ...(!nominate_yes_or_no && nominee_list > 1\n ? {\n i_nominee2: second_nomineeDetails.name.value,\n i_nompan2: second_nomineeDetails.pan.value,\n i_NomRelation2:\n second_nomineeDetails.relationship.value === \"Other\"\n ? second_nomineeDetails.otherrelationship.value\n : second_nomineeDetails.relationship.value,\n i_NomDOB2: second_nomineeDetails.dob.value,\n nom2gender: second_nomineeDetails.gender.value,\n i_Nominee2percentage: second_nomineeDetails.percentage.value,\n nom2email: second_nomineeDetails.email.value,\n i_nomadd21: second_nomineeDetails.address.value,\n i_nom2country: second_nomineeDetails.country.value,\n i_nomstate2: second_nomineeDetails.state.value,\n i_nomcity2: second_nomineeDetails.city.value,\n i_nompin2: second_nomineeDetails.pincode.value,\n i_nomguardianname2: second_nomineeDetails.gaurdianname.value,\n i_nomguardianpan2: second_nomineeDetails.gaurdianpan.value,\n i_namguardianrelationship2:\n second_nomineeDetails.gaurdianrelationship.value,\n }\n : {}),\n ...(!nominate_yes_or_no && nominee_list > 2\n ? {\n i_nominee3: third_nomineeDetails.name.value,\n i_nompan3: third_nomineeDetails.pan.value,\n i_NomRelation3:\n third_nomineeDetails.relationship.value === \"Other\"\n ? third_nomineeDetails.otherrelationship.value\n : third_nomineeDetails.relationship.value,\n i_NomDOB3: third_nomineeDetails.dob.value,\n nom3gender: third_nomineeDetails.gender.value,\n i_Nominee3percentage: third_nomineeDetails.percentage.value,\n nom3email: third_nomineeDetails.email.value,\n i_nomadd31: third_nomineeDetails.address.value,\n i_nom3country: third_nomineeDetails.country.value,\n i_nomstate3: third_nomineeDetails.state.value,\n i_nomcity3: third_nomineeDetails.city.value,\n i_nompin3: third_nomineeDetails.pincode.value,\n i_nomguardianname3: third_nomineeDetails.gaurdianname.value,\n i_nomguardianpan3: third_nomineeDetails.gaurdianpan.value,\n i_namguardianrelationship3:\n third_nomineeDetails.gaurdianrelationship.value,\n }\n : {}),\n };\n setIsLoading(false);\n props.storeNomineeDetails(NomineeDetails);\n props.history.replace(\"/new-investor-transaction/bank-details\");\n };\n return (\n <>\n \n \n {\n (props.store_pan.charAt(3) !== \"H\" && props.applicantparams.typeofinvestor !== \"M\") ? (\n \n \n
    \n \n I Wish not to nominate\n
    \n {!nominate_yes_or_no && (\n
    \n \n Same as First Applicant Address\n
    \n )}\n \n {!nominate_yes_or_no && (\n
    \n
    \n \n {NomineesList.map((item, index) => (\n \n {item.value}\n \n ))}\n \n
    \n {nominee_list >= 1 && (\n
    \n
    Nominee 1:
    \n \n {NomineeListShow && (\n
    \n \n {nomineeList.map((item, index) => (\n \n {item.value}\n \n ))}\n \n
    \n )}\n\n
    \n =1? false : true\n }\n isShowError={first_nomineeDetails.name.isError}\n errorMessage={first_nomineeDetails.name.errorMessage}\n />\n
    \n
    \n \n
    \n
    \n \n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n relationship: { value: event.target.value },\n })\n }\n >\n {relationshipList.map((item, index) => (\n \n {item.label}\n \n ))}\n \n
    \n {first_nomineeDetails.relationship.value == \"Other\" && (\n
    \n \n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n otherrelationship: { value: event.target.value },\n })\n }\n />\n
    \n )}\n
    \n
    Date of Birth*
    \n \n \n \n {!!first_nomineeDetails.dob.errorMessage && (\n
    \n {\" \"}\n {first_nomineeDetails.dob.errorMessage}\n
    \n )}\n
    \n {nominee_dateofbirth.first_nominee_dateofbirth && (\n
    \n \n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n gaurdianname: { value: event.target.value },\n })\n }\n onBlur={(event) => {\n const guardianName = event.target.value;\n if (guardianName.length < 2) {\n alert('Guardian Name must be at least 2 characters long');\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n gaurdianname: { value: \"\" },\n })\n }\n }}\n isShowError={first_nomineeDetails.gaurdianname.isError}\n errorMessage={\n first_nomineeDetails.gaurdianname.errorMessage\n }\n />\n
    \n )}\n {nominee_dateofbirth.first_nominee_dateofbirth && (\n
    \n setfirst_nomineeDetails({ ...first_nomineeDetails, gaurdianpan:{value:event.target.value}})}\n isShowError={first_nomineeDetails.gaurdianpan.isError}\n errorMessage={\n first_nomineeDetails.gaurdianpan.errorMessage\n }\n />\n
    \n )}\n {nominee_dateofbirth.first_nominee_dateofbirth && (\n
    \n \n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n gaurdianrelationship: { value: event.target.value },\n })\n }\n >\n {relationshipList.map((item, index) => (\n \n {item.label}\n \n ))}\n \n
    \n )}\n
    \n \n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n gender: { value: event.target.value },\n })\n }\n >\n {genderOptions.map((item, index) => (\n \n {item.name}\n \n ))}\n \n
    \n
    \n \n
    \n
    \n \n // setfirst_nomineeDetails({\n // ...first_nomineeDetails,\n // email: { value: event.target.value },\n // })\n // }\n onChange={(event) => {\n const emailValue = event.target.value;\n const isDistributorEmail = emailValue === props.profileData.Email;\n \n setfirst_nomineeDetails((prevDetails) => ({\n ...first_nomineeDetails,\n email: { value: isDistributorEmail ? \"\" : emailValue, isError: isDistributorEmail,\n errorMessage: isDistributorEmail ? \"Email id cannot be same as Distributor email\" : \"\" },\n\n }));\n }}\n isShowError={first_nomineeDetails.email.isError}\n errorMessage={first_nomineeDetails.email.errorMessage}\n />\n
    \n
    \n \n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n address: { value: event.target.value },\n })\n }\n />\n
    \n
    \n \n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n country: { value: event.target.value },\n })\n }\n >\n {countriesList.map((item, index) => (\n \n {item.label}\n \n ))}\n \n
    \n
    \n {\n const inputValue = event.target.value;\n if (!/\\d/.test(inputValue)) {\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n state: { value: inputValue },\n }); } else {\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n state: { value: \"\" },\n }); }\n } }\n />\n
    \n
    \n {\n const inputValue = event.target.value;\n if (!/\\d/.test(inputValue)) {\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n city: { value: event.target.value },\n }) \n } else {\n setfirst_nomineeDetails({\n ...first_nomineeDetails,\n city: { value: \"\" },\n })\n } }}\n />{\" \"}\n
    \n
    \n \n
    \n
    \n
    \n )}\n {nominee_list >= 2 && (\n
    \n
    Nominee 2:
    \n\n \n {NomineeListShow && (\n
    \n \n {nomineeList.map((item, index) => (\n \n {item.value}\n \n ))}\n \n
    \n )}\n
    \n =1? false : true\n }\n isShowError={second_nomineeDetails.name.isError}\n errorMessage={second_nomineeDetails.name.errorMessage}\n />\n
    \n
    \n \n
    \n
    \n \n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n relationship: { value: event.target.value },\n })\n }\n >\n {relationshipList.map((item, index) => (\n \n {item.value}\n \n ))}\n \n
    \n {second_nomineeDetails.relationship.value == \"Other\" && (\n
    \n \n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n otherrelationship: { value: event.target.value },\n })\n }\n />\n
    \n )}\n
    \n
    Date of Birth*
    \n \n \n \n {!!second_nomineeDetails.dob.errorMessage && (\n
    \n {\" \"}\n {second_nomineeDetails.dob.errorMessage}\n
    \n )}\n
    \n {nominee_dateofbirth.second_nominee_dateofbirth && (\n
    \n \n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n gaurdianname: { value: event.target.value },\n })\n }\n onBlur={(event) => {\n const guardianName = event.target.value;\n if (guardianName.length < 2) {\n alert('Guardian Name must be at least 2 characters long');\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n gaurdianname: { value: \"\" },\n })\n }\n }}\n isShowError={second_nomineeDetails.gaurdianname.isError}\n errorMessage={\n second_nomineeDetails.gaurdianname.errorMessage\n }\n />\n
    \n )}\n {nominee_dateofbirth.second_nominee_dateofbirth && (\n
    \n \n
    \n )}\n {nominee_dateofbirth.second_nominee_dateofbirth && (\n
    \n \n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n gaurdianrelationship: { value: event.target.value },\n })\n }\n >\n {relationshipList.map((item, index) => (\n \n {item.label}\n \n ))}\n \n
    \n )}\n
    \n \n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n gender: { value: event.target.value },\n })\n }\n >\n {genderOptions.map((item, index) => (\n \n {item.name}\n \n ))}\n \n
    {\" \"}\n
    \n \n
    \n
    \n \n // setsecond_nomineeDetails({\n // ...second_nomineeDetails,\n // email: { value: event.target.value },\n // })\n // }\n onChange={(event) => {\n const emailValue = event.target.value;\n const isDistributorEmail = emailValue === props.profileData.Email;\n \n setsecond_nomineeDetails((prevDetails) => ({\n ...second_nomineeDetails,\n email: { value: isDistributorEmail ? \"\" : emailValue, isError: isDistributorEmail,\n errorMessage: isDistributorEmail ? \"Email id cannot be same as Distributor email\" : \"\" },\n\n }));\n }}\n isShowError={second_nomineeDetails.email.isError}\n errorMessage={second_nomineeDetails.email.errorMessage}\n />\n
    \n
    \n \n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n address: { value: event.target.value },\n })\n }\n />\n
    \n
    \n \n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n country: { value: event.target.value },\n })\n }\n >\n {countriesList.map((item, index) => (\n \n {item.value}\n \n ))}\n \n
    \n
    \n {\n const inputValue = event.target.value;\n if (!/\\d/.test(inputValue)) {\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n state: { value: event.target.value },\n })\n }else {\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n state: { value: \"\" },\n })\n } } }\n />\n
    \n
    \n {\n const inputValue = event.target.value;\n if (!/\\d/.test(inputValue)) {\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n city: { value: event.target.value },\n })\n } else {\n setsecond_nomineeDetails({\n ...second_nomineeDetails,\n city: { value: \"\" },\n })\n } }}\n />\n
    \n
    \n \n
    \n
    \n \n )}\n {nominee_list >= 3 && (\n
    \n
    Nominee 3:
    \n \n {NomineeListShow && (\n
    \n \n {nomineeList.map((item, index) => (\n \n {item.value}\n \n ))}\n \n
    \n )}\n
    \n =1? false : true\n }\n value={third_nomineeDetails.name.value}\n isShowError={third_nomineeDetails.name.isError}\n errorMessage={third_nomineeDetails.name.errorMessage}\n />\n
    \n
    \n \n
    \n
    \n \n setthird_nomineeDetails({\n ...third_nomineeDetails,\n relationship: { value: event.target.value },\n })\n }\n >\n {relationshipList.map((item, index) => (\n \n {item.label}\n \n ))}\n \n
    \n {third_nomineeDetails.relationship.value == \"Other\" && (\n
    \n \n setthird_nomineeDetails({\n ...third_nomineeDetails,\n otherrelationship: { value: event.target.value },\n })\n }\n />\n
    \n )}\n
    \n
    Date of Birth*
    \n \n \n \n {!!third_nomineeDetails.dob.errorMessage && (\n
    \n {\" \"}\n {third_nomineeDetails.dob.errorMessage}\n
    \n )}\n
    \n {nominee_dateofbirth.third_nominee_dateofbirth && (\n
    \n \n setthird_nomineeDetails({\n ...third_nomineeDetails,\n gaurdianname: { value: event.target.value },\n })\n }\n onBlur={(event) => {\n const guardianName = event.target.value;\n if (guardianName.length < 2) {\n alert('Guardian Name must be at least 2 characters long');\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n gaurdianname: { value: \"\" },\n })\n }\n }}\n isShowError={third_nomineeDetails.gaurdianname.isError}\n errorMessage={\n third_nomineeDetails.gaurdianname.errorMessage\n }\n />\n
    \n )}\n {nominee_dateofbirth.third_nominee_dateofbirth && (\n
    \n \n
    \n )}\n {nominee_dateofbirth.third_nominee_dateofbirth && (\n
    \n \n setthird_nomineeDetails({\n ...third_nomineeDetails,\n gaurdianrelationship: { value: event.target.value },\n })\n }\n >\n {relationshipList.map((item, index) => (\n \n {item.label}\n \n ))}\n \n
    \n )}\n
    \n \n setthird_nomineeDetails({\n ...third_nomineeDetails,\n gender: { value: event.target.value },\n })\n }\n >\n {genderOptions.map((item, index) => (\n \n {item.name}\n \n ))}\n \n
    \n
    \n \n
    \n
    \n {\n const emailValue = event.target.value;\n const isDistributorEmail = emailValue === props.profileData.Email;\n \n setthird_nomineeDetails(() => ({\n ...third_nomineeDetails,\n email: { value: isDistributorEmail ? \"\" : emailValue, isError: isDistributorEmail,\n errorMessage: isDistributorEmail ? \"Email id cannot be same as Distributor email\" : \"\" },\n\n }));\n }}\n isShowError={third_nomineeDetails.email.isError}\n errorMessage={third_nomineeDetails.email.errorMessage}\n />\n
    \n
    \n \n setthird_nomineeDetails({\n ...third_nomineeDetails,\n address: { value: event.target.value },\n })\n }\n fatcawidth={true}\n />\n
    {\" \"}\n
    \n \n setthird_nomineeDetails({\n ...third_nomineeDetails,\n country: { value: event.target.value },\n })\n }\n >\n {countriesList.map((item, index) => (\n \n {item.value}\n \n ))}\n \n
    {\" \"}\n
    \n {\n const inputValue = event.target.value;\n if (!/\\d/.test(inputValue)) {\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n state: { value: event.target.value },\n })\n } else { setthird_nomineeDetails({ ...third_nomineeDetails, state: { value: \"\" } }) } }}\n />\n
    \n
    \n {\n const inputValue = event.target.value;\n if (!/\\d/.test(inputValue)) {\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n city: { value: event.target.value },\n })\n } else {\n setthird_nomineeDetails({\n ...third_nomineeDetails,\n city: { value: \"\" },\n })\n } }}\n />\n
    \n
    \n \n
    \n
    \n \n )}\n \n )}\n\n
    \n ) : (\n
    {props.store_pan.charAt(3) === \"H\" && props.applicantparams.typeofinvestor === \"M\" ? \"Nominee section is disabled for HUF Investor\" : \"For minor's nominee section is disabled\"}
    \n )}\n
    \n \n props.history.replace(\"/new-investor-transaction/fatca-details\")\n }\n >\n BACK\n \n \n PROCEED\n \n
    \n \n );\n};\nexport default connect(\n ({ newinvestor , authReducer,profileReducer }) => {\n const {\n applicantparams,\n fatcaDetails,\n getnomineeDetails,\n nomineDetails,\n address,\n store_pan,\n } = newinvestor;\n const { userId } = authReducer;\n const { profileData } = profileReducer;\n return {\n fatcaDetails,\n applicantparams,\n getnomineeDetails,\n nomineDetails,\n address,\n store_pan,\n profileData\n };\n },\n {\n getCountriesList,\n getStatesList,\n storeApplicantParams,\n getKycDetails,\n checkKyc,\n getCitiesByState,\n getRelationShipList,\n storeNomineeDetails,\n getNomineeDetails,\n }\n)(NomineeDetails);\n","import React, { useEffect, useReducer, useState } from \"react\";\n\nimport {\n ifscRegex,\n bankAccountRegex,\n pincodeRegex,\n nameRegex,\n accountRegex,\n} from \".\";\n\nimport CustomizedSelect from \"../customizedSelect\";\nimport { Input } from \"../../../forms/input\";\nimport CustomLoader from \"../../../forms/Loader\";\nimport CardComponent from \"./lib/CardComponent\";\nimport { MenuItem } from \"@material-ui/core\";\nimport { getBankDetails } from \"../../../../store/actions/newinvestor\";\nimport {\n getBankList,\n storeInvestmentDetails,\n storeInvestmentParams,\n NewinvestorBankDetails,\n bankAccountTypes,\n getAccountTypes,\n storeApplicantParams\n} from \"../../../../store/actions\";\nimport { connect } from \"react-redux\";\nimport { validatePennyDrop } from \"../../../../store/actions\";\n\nconst BankDetails = (props) => {\n // const ValidAccountTypes = {\n // 11: [\"Savings\"],\n // 12: [\"Current\"],\n // 21: [\"NRE\"],\n // 22: [\"NRO\"],\n // };\n\n const [bankselected, setbankseleected] = useState(\"\");\n const [bankList, setBankList] = useState([]);\n\n const initialState = {\n IFSC: { value: \"\" },\n // \"MICR Code\": { value: \"\" },\n \"Bank Name\": { value: \"\" },\n \"Branch Address\": { value: \"\" },\n \"Branch City\": { value: \"\" },\n \"Branch Pincode\": { value: \"\" },\n \"Account Type\": { value: \"\" },\n \"Account Number\": { value: \"\" },\n \"Confirm Account Number\": { value: \"\" },\n AccountTypes: [],\n isLoading: false,\n BanksListShow: true,\n DisablingBankDetails:false,\n };\n \n const [formValues, setFormValues] = useReducer(\n (preValues, newValues) => ({ ...preValues, ...newValues }),\n initialState\n );\n const InputFields = [\n [\n { name: \"IFSC\", isMandatory: false, type: \"text\" },\n { name: \"Account Type\", isMandatory: false },\n ],\n [\n // { name: \"MICR Code\", isMandatory: false, type: \"text\" },\n { name: \"Bank Name\", isMandatory: false, type: \"text\",disabled:!!formValues.DisablingBankDetails?true:false },\n { name: \"Branch Address\", isMandatory: false, type: \"text\",disabled:!!formValues.DisablingBankDetails?true:false },\n ],\n [\n { name: \"Branch City\", isMandatory: false, type: \"text\",disabled:!!formValues.DisablingBankDetails?true:false },\n { name: \"Branch Pincode\", isMandatory: false, type: \"number\",disabled:!!formValues.DisablingBankDetails?true:false },\n ],\n [\n { name: \"Account Number\", isMandatory: false, type: \"password\" },\n { name: \"Confirm Account Number\", isMandatory: false, type: \"number\" },\n ],\n ];\n\n useEffect(() => {\n window.scrollTo({\n top: 0,\n behavior: \"smooth\",\n });\n NewinvestorBankDetails();\n const { investmentDetails } = props;\n if (investmentDetails.IFSC) {\n setFormValues({ ...investmentDetails });\n return;\n }\n // setFormValues({\n // AccountTypes: ValidAccountTypes[props.applicantparams.i_category],\n // \"Account Type\": {\n // value: ValidAccountTypes[props.applicantparams.i_category]\n // },\n // });\n }, []);\n const NewinvestorBankDetails = async () => {\n // const response = await props.NewinvestorBankDetails({\n // pan: props.applicantparams.i_pangno,\n // // pan:\"ABAPM0703H\"\n // });\n // const banks = !!response.Dtinformation ? response.Dtinformation : [];\n // if (response.Dtinformation.length === 0) {\n // setFormValues({ BanksListShow: false });\n // }\n // const bankList = banks.map((bank) => {\n // return { label: bank.BankName, value: bank.BankName };\n // });\n // setBankList(bankList);\n const params = {\n opt: \"AC\",\n SchemeType: props.applicantparams.i_category === \"20\" ? 'Y' : \"\",\n }\n const res = await props.getAccountTypes(params)\n if (res) {\n const typeList = res.Dtinformation.map((type) => {\n return { label: type.Account_Type, value: type.Account_Type };\n });\n setFormValues({ AccountTypes: typeList });\n }\n };\n\n const handleChange = (label) => (event) => {\n const value = event.target.value;\n switch (label) {\n case \"IFSC\":\n const alphanumericRegex = /^[A-Za-z0-9]+$/;\n setFormValues({\n [label]: {\n value: value.toUpperCase(),\n isError: !ifscRegex.test(value) || !alphanumericRegex.test(value),\n errorMessage: !value\n ? \"IFSC Number is Mandatory\"\n : !alphanumericRegex.test(value) ? \"Enter valid IFSC Number\" \n :!ifscRegex.test(value)\n ? \"Enter a valid IFSC Number\"\n : \"\",\n },\n });\n break;\n case \"Account Type\":\n setFormValues({\n [label]: {\n value: value,\n isError: value ? false : true,\n errorMessage: value ? \"\" : \"Enter a valid Account Typ\",\n },\n });\n break;\n case \"Branch Pincode\":\n setFormValues({\n [label]: {\n value,\n isError: !pincodeRegex.test(value),\n errorMessage: !value\n ? \"Pincode is Mandatory\"\n : !pincodeRegex.test(value)\n ? \"Enter a valid Pincode\"\n : \"\",\n },\n });\n break;\n // case \"Account Number\":\n // setFormValues({\n // [label]: {\n // value,\n // isError: !bankAccountRegex.test(value),\n // errorMessage: !value\n // ? \"Account Number is Mandatory\"\n // : !bankAccountRegex.test(value)\n // ? \"Enter a valid Account Number\"\n // : \"\",\n // },\n // });\n // break;\n case \"Confirm Account Number\":\n setFormValues({\n [label]: {\n value,\n isError: !(formValues[\"Account Number\"].value === value),\n errorMessage: !value\n ? \"Account Number is Mandatory\"\n : !(formValues[\"Account Number\"].value === value)\n ? \"Account Numbers does not match\"\n : \"\",\n },\n });\n break;\n default:\n setFormValues({ [label]: { value } });\n break;\n }\n };\n const getBankDetails = async () => {\n const { IFSC } = formValues;\n if (ifscRegex.test(IFSC.value)) {\n setFormValues({ isLoading: true });\n try {\n const response = await props.getBankDetails({ ifsc: IFSC.value });\n const { DtData } = response;\n const {\n BankName,\n BankAdd1,\n BankAdd2,\n BankAdd3,\n BankCity,\n BankPin,\n MicrNo,\n } = DtData[0];\n setFormValues({\n bankadd1: BankAdd1,\n bankadd2: BankAdd2,\n bankadd3: BankAdd3,\n \"Bank Name\": { value: BankName },\n \"Branch Address\": {\n value: BankAdd1 + \", \" + BankAdd2 + \" ,\" + BankAdd3,\n },\n \"Branch City\": { value: BankCity },\n \"Branch Pincode\": { value: BankPin },\n DisablingBankDetails:true\n // \"MICR Code\": { value: MicrNo },\n });\n } catch (error) {\n console.log(error);\n setFormValues({\n // AccountTypes: ValidAccountTypes[props.category_1],\n // \"Account Type\": {\n // value: ValidAccountTypes[props.category_1],\n // },\n IFSC: {\n value: \"\",\n isError: true,\n errorMessage: \"IFSC Not Found, Enter a valid IFSC Number\",\n },\n });\n } finally {\n setFormValues({ isLoading: false });\n }\n } else {\n setFormValues({\n IFSC: {\n isError: true,\n errorMessage: \"IFSC Not Found, Enter a valid IFSC Number\",\n },\n });\n }\n };\n const handleBankDetails = (event) => {\n setbankseleected(event.target.value);\n const bankDetails =\n !!props.getbankDetails.Dtinformation &&\n props.getbankDetails.Dtinformation.find(\n (ele) => ele.BankName === event.target.value\n );\n setFormValues({\n bankadd1: bankDetails.BankAdd1,\n bankadd2: bankDetails.BankAdd2,\n bankadd3: bankDetails.BankAdd3,\n IFSC: { value: bankDetails.ifsccode },\n \"Bank Name\": { value: bankDetails.BankName },\n \"Branch Address\": {\n value:\n bankDetails.BankAdd1 +\n \", \" +\n bankDetails.BankAdd2 +\n \" ,\" +\n bankDetails.BankAdd3,\n },\n \"Branch City\": { value: bankDetails.BankCity },\n \"Branch Pincode\": { value: bankDetails.BankPIN },\n \"Account Number\": { value: bankDetails.BankAcno },\n \"Confirm Account Number\": { value: bankDetails.BankAcno },\n \"Account Type\": {\n value: bankDetails.BnkAcType,\n },\n // value: ValidAccountTypes[bankDetails.BnkAcType]\n });\n };\n\n const save = async () => {\n if (formValues[\"IFSC\"].isError) {\n return;\n }\n\n if (!!formValues.IFSC.value && !formValues[\"Account Type\"].value) {\n setFormValues({\n ...formValues,\n \"Account Type\": {\n value: \"\",\n isError: true,\n errorMessage: \"Account Type is mandatory\",\n },\n });\n return;\n }\n if (\n props.applicantparams.i_category === \"20\" &&\n [\"SAVING\", \"Savings\", \"Saving\", \"SAVINGS\", \"\"].includes(\n formValues[\"Account Type\"].value\n )\n ) {\n setFormValues({\n ...formValues,\n \"Account Type\": {\n value: \"\",\n isError: true,\n errorMessage: \"Select account type\",\n },\n });\n return;\n }\n\n if (\n formValues[\"Account Number\"].value.length > 0 &&\n formValues[\"Confirm Account Number\"].value.length > 0 &&\n formValues[\"Account Number\"].value !==\n formValues[\"Confirm Account Number\"].value\n ) {\n setFormValues({\n \"Confirm Account Number\": {\n value: \"\",\n isError: true,\n errorMessage: \"Account Numbers does not match\",\n },\n });\n return;\n }\n if (formValues[\"Account Type\"].value === \"NRE\") {\n props.applicantparams[\"i_category\"] = \"21\";\n props.storeApplicantParams(props.applicantparams);\n }\n if (formValues[\"Account Type\"].value === \"NRO\") {\n props.applicantparams[\"i_category\"] = \"22\";\n props.storeApplicantParams(props.applicantparams);\n }\n\n const { AccountTypes, isLoading, bankadd1, bankadd2, bankadd3, ...others } =\n formValues;\n const invdetails = {\n i_ifsccode: formValues.IFSC.value,\n // i_micrcode: formValues[\"MICR Code\"].value,\n i_bnkacname: formValues[\"Bank Name\"].value,\n i_bnkadd1: formValues.bankadd1,\n i_bnkadd3: formValues.bankadd3,\n i_bnkadd2: formValues.bankadd2,\n i_bnkcity: formValues[\"Branch City\"].value,\n i_bnkpin: formValues[\"Branch Pincode\"].value,\n i_bnkacctype: formValues[\"Account Type\"].value,\n i_bnkacno: formValues[\"Account Number\"].value,\n };\n props.storeInvestmentDetails({ ...formValues });\n props.storeInvestmentParams({ ...invdetails });\n };\n const submit = async () => {\n await save();\n props.history.replace(\"/new-investor-transaction/scheme-details\");\n };\n const { AccountTypes, isLoading } = formValues;\n return (\n <>\n \n BANK Details\n \n \n \n {/* {formValues.BanksListShow && (\n
    \n \n {bankList.map((item, index) => (\n \n {item.value}\n \n ))}\n \n
    \n )} */}\n\n {InputFields.map((section) => (\n
    \n {section.map((field) => (\n console.log(field)}\n >\n {!!field.type ? (\n \n ) : (\n \n {AccountTypes.map((i, index) => (\n \n {i.label}\n \n ))}\n \n )}\n
    \n ))}\n \n ))}\n <>\n
    \n\n
    \n {\n await save();\n props.history.replace(\"/new-investor-transaction/nominee-details\");\n }}\n >\n BACK\n \n \n PROCEED\n \n
    \n \n );\n};\nexport default connect(\n ({ newinvestor }) => {\n const { investmentDetails, applicantparams, getbankDetails } = newinvestor;\n return {\n investmentDetails,\n applicantparams,\n getbankDetails,\n };\n },\n {\n getBankDetails,\n storeInvestmentDetails,\n storeInvestmentParams,\n validatePennyDrop,\n getBankList,\n NewinvestorBankDetails,\n bankAccountTypes,\n getAccountTypes,\n storeApplicantParams\n }\n)(BankDetails);\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport { Route, Switch , Router } from \"react-router\";\n\nimport VerticalStepper from \"./lib/VerticalStepper\";\nimport FatcaDetails from \"./FatcaDetails\";\nimport SchemeDetails from \"./SchemeDetails\";\nimport InvestorDetails from \"./InvestorDetails\";\nimport Signbutton from \"../../../forms/button\";\nimport { NEW_TRANSACTION_URL } from \"..\";\nimport NomineeDetails from \"./NomineeDetails\";\nimport BankDetails from \"./BankDetails\";\n\nconst NewInvestorRegistration = (props) => {\n const { location } = props;\n const { pathname } = location;\n const activestep = pathname.split(\"/\").slice(-1)[0];\n const hide = pathname.includes(\"first-time-new-investor-journey\");\n return (\n
    \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n
    \n
    \n );\n};\n\nexport default connect(null)(NewInvestorRegistration);\n","import { Paper } from \"@material-ui/core\";\nimport React from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport Image from \"../../Image\";\nimport { RootStateType } from \"../../../store/reducers\";\nimport { useSelector } from \"react-redux\";\n\nconst NEW_NCT_TYPES = [\n {\n path: \"/new-transaction/nct-type/digital/change-email\",\n isPhygitalPath: \"/new-transaction/nct-type/phygital/change-email\",\n name: \"Change/Update Email Address\",\n isPhygitial: true,\n digital: \"Digital mode\",\n phygital: \"Phygital mode\",\n isNew: false,\n },\n {\n path: \"/new-transaction/nct-type/digital/updateNominee\",\n name: \"Update Nominee Details\",\n isPhygitial: false,\n digital: \"Digital mode\",\n isNew: false,\n },\n {\n path: \"/new-transaction/nct-type/digital/change-mobile\",\n isPhygitalPath: \"/new-transaction/nct-type/phygital/change-mobile\",\n name: \"Change Registered Mobile Number \",\n isPhygitial: true,\n digital: \"Digital mode\",\n phygital: \"Phygital mode\",\n isNew: false,\n },\n {\n path: \"/new-transaction/nct-type/digital/facta-declaration\",\n name: \"Fatca Declaration\",\n isPhygitial: false,\n digital: \"Digital mode\",\n isNew: false,\n },\n {\n path: \"/new-transaction/nct-type/digital/change-idcw\",\n name: \"Change of IDCW\",\n isPhygitial: false,\n digital: \"Digital mode\",\n isNew: false,\n },\n {\n path: \"/new-transaction/nct-type/digital/update-ifsc\",\n name: \"Update IFSC\",\n isPhygitial: false,\n digital: \"Digital mode\",\n isNew: true,\n },\n // {\n // path: \"/new-transaction/nct-type/digital/consolidation-folios\",\n // name: \"Consolidation of Folios\",\n // isPhygitial: false,\n // digital: \"Digital mode\"\n // },\n\n // {\n // path: \"/new-transaction/nct-type/digital/correction-folios\",\n // name: \"Correction of Folios\",\n // isPhygitial: false,\n // digital: \"Digital mode\",\n // },\n {\n path: \"/new-transaction/nct-type/digital/change-bank\",\n name: \"Change of Bank\",\n isPhygitial: false,\n digital: \"Digital mode\",\n isNew: true,\n },\n {\n path: \"/new-transaction/nct-type/digital/bank-mandate\",\n name: \"Multiple Bank Mandate Registration\",\n isPhygitial: false,\n digital: \"Digital mode\",\n isNew: true,\n },\n];\n\nexport default function NctTypes() {\n const history = useHistory();\n const { nomineeFlag } = useSelector(\n (state: RootStateType) => state.authReducer\n );\n \n const NctTypeMap = nomineeFlag\n ? NEW_NCT_TYPES\n : NEW_NCT_TYPES.filter((item) => !item.isNew || true);\n\n return (\n
    \n \n Select Transaction Type\n
    \n
    \n {NctTypeMap.map(\n (\n { name, path, isPhygitial, phygital, digital, isPhygitalPath },\n i\n ) => (\n {\n //@ts-ignore\n history.push(isPhygitial ? isPhygitalPath : path, {\n isPhygitial: isPhygitial,\n });\n }}\n name={name}\n isPhygitial={isPhygitial}\n //@ts-ignore\n phygital={phygital}\n digital={digital}\n key={i}\n />\n )\n )}\n
    \n \n );\n}\n\nfunction NctTypeCard({\n onClick,\n name,\n isPhygitial,\n phygital,\n digital,\n}: {\n onClick: any;\n name: string;\n isPhygitial: boolean;\n phygital: string;\n digital: string;\n}) {\n const commonStyle = {\n display: \"flex\",\n justifyContent: \"center\",\n flexGrow: 1,\n fontSize: 13,\n color: \"black\",\n fontFamily: \"OpenSans-Regular\",\n flexBasis: 0,\n padding: \"15px 0px\",\n cursor: \"pointer\",\n // boxShadow: \"-1px 1px 3px 1px lavender\",\n //padding: \"15px 0px 0px 0px\",\n // borderRadius: 8,\n };\n return (\n
    \n \n
    \n \"\"\n
    \n \n {name}\n
    \n\n \n onClick(e, false)}\n >\n {digital}\n \n \n {isPhygitial && (\n onClick(e, true)}\n >\n {phygital}\n \n \n )}\n \n \n \n );\n}\n","import { Button } from \"@material-ui/core\";\nimport { useEffect } from \"react\";\nimport en from \"../../../lang/en-us\";\nimport SuccessScreen from \"../SuccessScreen\";\nconst { dashboard } = en;\n\nexport default function UpdateNomineeSuccess(props: any) {\n // const { reqId } = props.location.state || {};\n // useEffect(() => {\n // if (!props.location.state) {\n // props.history.push(\"/\");\n // return;\n // }\n // }, []);\n const { succesMessage } = props.location.state.state;\n return (\n
    \n props.history.push(\"/new-transaction\")}\n backNavigation={() => props.history.push(\"/portal/nct\")}\n />\n
    \n );\n}\n","import { CircularProgress } from \"@material-ui/core\";\nimport { Close } from \"@material-ui/icons\";\nimport React, { Component, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport {\n reInitiateTransaction,\n showPurchaseConfirmationReinitiate,\n} from \"../../../store/actions\";\nimport { PURCHASE } from \"../../../store/types\";\nimport { DetailsGroup } from \"./newPurchaseConfirm\";\nimport { CustomizedDialogsforReintitate } from \"../customModal\";\nimport CustomLoader from \"../../forms/Loader\";\nimport enUs from \"../../../lang/en-us\";\nclass ReinitiateConfirm extends Component {\n constructor(props) {\n super(props);\n const locState = !!this.props.location\n ? this.props.location.state\n : this.props.transaction;\n this.standalone = this.props.standalone || true;\n this.transaction =\n this.props.transaction || (locState && locState.transaction) || {};\n // this.transaction = this.props.transaction || {}\n\n this.state = {\n confirmationData: this.transaction, //sample_additional_purchase,//null,\n loading: false,\n saving: false,\n success: false,\n open: true,\n modal_open: true,\n ReferenceNO: \"\",\n isLoading: false,\n };\n }\n\n async fetchConfirmationData(transaction) {\n const fund =\n transaction.fund_code || transaction.fund || transaction.td_fund;\n const ihno = transaction.Refno || transaction.ihno || transaction.td_ihno;\n\n const confirmationParams = {\n // ModuleName: \"Webile\",\n // Trtype: \"STP\",\n ModuleName: \"Webile\",\n\n // Trtype: transaction.trtype,\n\n // Refno: ihno,\n // ihno,\n // fund,\n\n Ihno: ihno,\n Fund: fund,\n\n // Trtype: 'STP',\n // Refno: transaction.ihno,\n // i_ihno: transaction.ihno,\n };\n try {\n // fetchTempConfirmData({fund,ihno})\n // return\n this.setState({ loading: true });\n const confirmationResponse =\n await this.props.showPurchaseConfirmationReinitiate(confirmationParams);\n const dtData = confirmationResponse && confirmationResponse.Dtinformation;\n const conData = dtData && dtData[0];\n\n if (conData) {\n this.setState({ confirmationData: conData });\n }\n this.setState({ loading: false });\n if (!conData) {\n this.setState({\n open: false,\n });\n }\n } catch (error) {\n console.error(error);\n } finally {\n this.setState({ loading: false });\n }\n }\n\n componentDidMount() {\n this.fetchConfirmationData(this.transaction); // Will be used once the API is ready\n }\n\n async confirmReinitiation() {\n try {\n // console.log('re-initiating!')\n\n const transaction = this.transaction;\n // console.log(transaction)\n\n const ihno = transaction.ihno || transaction.td_ihno;\n const reInitiateProps = {\n // Trtype: ' ',\n\n ihno,\n fund: transaction.fund_code || transaction.fund || transaction.td_fund,\n Invdistflag: \"W\",\n };\n\n if (!ihno) {\n return alert(\"Cannot proceed because IHNO is missing!\");\n }\n\n this.setState({ saving: true });\n\n const txn = await this.props.reInitiateTransaction(reInitiateProps);\n // alert('Re-initiated transaction!')\n this.setState({\n ReferenceNO: txn.Table1[0].appno,\n });\n\n this.setState({ success: true, modal_open: true });\n\n // const onClose = this.props.onClose\n // if(onClose){onClose()}\n\n // console.log('Re-initiated!!!')\n } catch (error) {\n console.error(error);\n } finally {\n this.setState({ saving: false });\n }\n }\n closeModal = () => {\n this.setState({\n modal_open: !this.state.modal_open,\n });\n };\n confirmation = () => {\n this.props.history.push(\"/dashboard\");\n };\n modifyObject=(obj)=> {\n if (obj.dd_trtype === \"NEW\") {\n delete obj.dd_sipstartdt;\n delete obj.dd_trtype;\n }\n return obj;\n}\n render() {\n const transaction = this.transaction || {};\n\n const confirmationDataNotFetched =\n Object.keys(this.props.confirmationData || {}).length == 0;\n\n let confirmationData = this.props.confirmationData;\n if (confirmationDataNotFetched) {\n confirmationData = transaction;\n }\n confirmationData = { ...confirmationData, ...transaction };\n confirmationData =this.modifyObject(confirmationData);\n\n // trSchema = transactionTypes.additional_purchase\n\n // console.log('transaction type = ')\n // console.log(transaction)\n\n const transactionSchema = getTransactionSchema(transaction);\n const { fields: schemaFields, name: transactionTypeDesc } =\n transactionSchema;\n\n console.log(\"ConfirmationData\", confirmationData);\n\n const transactionFields = confirmationDataNotFetched\n ? fallbackFields\n : schemaFields;\n\n // Add extra fields for now\n // transactionFields['Fund'] = {label:'AMC',altKeys:['FundDesc','fund']}\n\n const rawFields = Object.keys(transactionFields).map((k) => {\n const field = transactionFields[k];\n return {\n key: k,\n name: field.label,\n label: field.label,\n ...field,\n };\n });\n\n // console.log(\"raw fields\", rawFields);\n const genderKeys = [\n \"dd_invgender\", \"dd_nom3gender\", \"dd_nom2gender\", \"dd_nomgender\", \"dd_invgender3\", \"dd_invgender2\", \"nom3gender\", \"nom2gender\", \"nom1gender\", \"i_invgender2\", \"i_invgender3\"\n ]\n const emailormobileRelationship = [\n \"emailrelationship\", \"mobilerelationship\",\"JHfEmailFlag1\",\"JHfEmailFlag2\",\"JHfMobileFlag1\",\"JHfMobileFlag2\"\n ]\n const occupationKeys = [\n \"i_Occpn\", \"i_SOccpn\",\"i_TOccpn\",\"dd_mohoccpn2\",\"dd_mohoccpn3\",\"occupation\"\n ]\n const frequeincesKeys = [\n \"frequency\"\n ]\n\n const getFieldValue = (field) => {\n\n // const parseDateFields = ['dd_sipstartdt', 'dd_sipenddt']\n let value = confirmationData[field.key];\n\n const altKeys =\n [...(field.altKeys || []), ...(altKeyMap[field.key] || [])] || [];\n // console.log(`key = ${field.key}`)\n // console.log(confirmationData)\n // console.log(altKeys)\n for (let key of altKeys) {\n if (value) {\n break;\n }\n value = confirmationData[key];\n }\n\n // if(parseDateFields.includes(field.key)){\n // const [month, day, year] = value.split('/');\n // console.log(\"field\", field, `${day}/${month}/${year}`)\n // return `${day}/${month}/${year}`;\n // }\n const startDateendDateskeys = [\"dd_sipstartdt\",\"dd_sipenddt\"]\n const nomineeDOBKeys =[\"dd_invdob\",\"dd_Nom3DOB1\",\"dd_Nom2DOB1\",\"dd_Nom3DOB\",\"dd_Nom2DOB\",\"i__Nom2DOB\",\"i_Nom3DOB\",\"dd_NomDOB\",\"dd_genguardianDOB\",\"dd_jh2dob\",\"dd_jh1dob\",\"dd_genguardianDOB\"]\n const regex = /-?\\d+/;\n const matches = String(value).match(regex);\n if(startDateendDateskeys.includes(field.key) && !!value){\n return convertDateFormat(value)\n }\n if (genderKeys.includes(field.key) && !!value) {\n if (value === \"M\") {\n return \"Male\"\n } else if (value === \"F\") {\n return \"Female\"\n } else {\n return \"Transgender\"\n }\n }\n if (emailormobileRelationship.includes(field.key) && !!value) {\n if (value === \"SE\") {\n return \"Self\"\n } else if (value === \"SP\") {\n return \"Spouse\"\n } else if (value === \"SP\") {\n return \"Spouse\"\n } else if (value === \"DC\") {\n return \"Dependent Children\"\n } else if (value === \"DS\") {\n return \"Dependent Siblings\"\n } else if (value === \"DP\") {\n return \"Dependent Parents\"\n } else if (value === \"GD\") {\n return \"Guardian\"\n }\n }\n if (occupationKeys.includes(field.key) && !!value) {\n console.log(typeof value,value)\n if (value === \"1\") {\n return \"Service\"\n } else if (value === \"2\") {\n return \"Business\"\n } else if (value === \"3\") {\n return \"Student\"\n } else if (value === \"4\") {\n return \"House Wife\"\n } else if (value === \"5\") {\n return \"Professional\"\n } else if (value === \"7\") {\n return \"Retired\"\n } else if (value === \"8\") {\n return \"Others\"\n }\n }\n if (nomineeDOBKeys.includes(field.key) && !!value) {\n const splitValue = value.split(\"/\")\n return `${splitValue[1]}/${splitValue[0]}/${splitValue[2]}`;\n }\n if (frequeincesKeys.includes(field.key) && !!value) {\n if (value === \"D\") {\n return \"Daily\"\n } else if (value === \"Q\") {\n return \"Quaterly\"\n } else if (value === \"M\") {\n return \"Monthly\"\n } else if (value === \"Y\") {\n return \"Yearly\"\n } else {\n return value\n }\n }\n\n\n if (matches && String(value).includes(\"Date\")) {\n if (parseInt(matches[0]) < 0) {\n return \"--\";\n }\n // console.log(\"Extracted numbers:\");\n const milliseconds = Math.abs(parseInt(matches[0]));\n\n const date = new Date(milliseconds);\n // console.log(\"Dateeee\", date);\n const day = String(date.getDate()).padStart(2, \"0\");\n const month = String(date.getMonth() + 1).padStart(2, \"0\"); // Months are 0-indexed\n const year = date.getFullYear();\n return `${day}/${month}/${year}`;\n }\n return value || \"--\";\n };\n const fields = [];\n const valueSet = new Map();\n const finalKeyValuePairs = {}\nconst convertDateFormat=(dateStr)=> {\n // Split the date string by '/'\n const [month, day, year] = dateStr.split('/');\n\n // Rearrange the components to 'dd/MM/yyyy'\n const newDateStr = `${day}/${month}/${year}`;\n\n return newDateStr;\n}\n for (let f of rawFields) {\n // Showing only values that are not null.\n const value = getFieldValue(f);\n // console.log(\n // f.key,\n // value,\n // value && String(value) !== \"\",\n // value !== \"--\",\n // value !== 0,\n // value !== 0.0,\n // !valueSet.has(value),\n // valueSet,\n // value\n // );\n // Checking if the value is not null, empty, \"--\", 0, or 0.00 and not a repeated value.\n const keywords = [\n \"date\",\n \"anotherKeyword\",\n \"yetAnotherKeyword\",\n \"enddt\",\n \"startdate\",\n ];\n const normalizeValue = (value) => {\n const numValue = Number(value);\n return isNaN(numValue) ? String(value) : String(numValue);\n };\n\n if (\n value &&\n String(value) !== \"\" &&\n value != \"--\" &&\n value != \"-\" &&\n value != \"~~\" &&\n value != \"~\" &&\n value != 0 &&\n value != 0.0 &&\n value != \"null\" &&\n value != \"01/01/1900\" &&\n !String(value).includes('Date(') &&\n !String(value).includes('~') &&\n (!valueSet.has(normalizeValue(value)) ||\n keywords.some((keyword) => f.key.includes(keyword)))\n ) {\n fields.push(f);\n valueSet.set(value, normalizeValue(value));\n finalKeyValuePairs[f.key] = {\n label: f.label,\n value\n }\n if (f.isDoubleCol) {\n fields.push(null);\n }\n }\n }\n // console.log(\"All fields\", fields)\n console.log(\"All Key Values\", finalKeyValuePairs)\n const rows = [];\n\n const numRows = Math.ceil(fields.length / 2);\n for (let i = 0; i < numRows; i++) {\n const field1 = fields[i * 2];\n const field2 = fields[i * 2 + 1];\n\n rows.push({ field1, field2 });\n // const isDoubleCol = field1 && field1.isDoubleCol\n // if(isDoubleCol && field2){\n // }\n }\n // console.log(Object.keys(transactionFields))\n // console.log(rawFields,fields,rows)\n\n // Add fields that aren't there\n if (!confirmationData.arnCode) {\n confirmationData.arnCode = (this.props.arnCode || \"\").split(\"-\")[1] || \"\";\n }\n // console.log(this.state.confirmationData)\n return (\n \n \n
    \n

    \n Confirm re-initiation of transaction{\" \"}\n {transactionTypeDesc ? `(${transactionTypeDesc})` : \"\"}\n

    \n\n {!this.standalone && (\n this.props.onClose && this.props.onClose()}\n className={`mouse-pointer`}\n >\n \n
    \n )}\n \n\n {this.state.loading ? (\n \n ) : (\n //

    \n // Transaction re-initiated successfully with the Reference No:{!!this.state.ReferenceNO?this.state.ReferenceNO:\"\"}\n //

    \n\n \n {this.state.open &&\n rows.map((r) => {\n const { field1, field2 } = r;\n return (\n \n );\n })}\n {this.state.open && (\n this.confirmReinitiation()}\n >\n \n Confirm\n {this.state.saving && (\n \n )}\n \n \n )}\n\n {/* */}\n \n )}\n {this.state.success && (\n \n )}\n \n \n );\n }\n}\n\nconst isDoubleCol = true;\n\nconst fallbackFields = {\n // fund: { label: \"AMC\", altKeys: [\"FundDesc\"] },\n SchemeDesc: { label: \"Scheme\", altKeys: [\"scheme\"] },\n ARNCode: { label: \"ARN Code\", altKeys: [\"arnCode\", \"Arn_no\"] },\n\n Mobile: { label: \"Phone No\", altKeys: [\"mobile\", \"Mobile_no\"] },\n i_UntAmtValue: {\n label: \"Amount (INR)\",\n altKeys: [\"td_amt\", \"amount\", \"sipamount\", \"Amount\"],\n },\n};\n\n// Map alternative keys to the props\nconst amountKeys = [\"Amount\"];\nconst altKeyMap = {\n i_UntAmtValue: amountKeys,\n installmentAmount: amountKeys,\n ARNCode: [\"Arn_no\"],\n Mobile: [\"Mobile_no\", \"mobile\"],\n mobile: [\"Mobile_no\", \"Mobile\"],\n\n i_Acno: [\"Folio_no\"],\n frequency: [\"Frequency\"],\n sip_freq: [\"Frequency\"],\n pan: [\"Pan_no\"],\n};\n\nconst personalFields = {\n InvName: { label: \"Investor Name\" },\n\n Email: { label: \"Email Id\" },\n inv_email: { label: \"Email Id\" },\n inv_mobileno: { label: \"Phone No\" },\n mobile: { label: \"Phone No\" },\n};\n\nconst financialFields = {\n // Fdesc: { label: \"AMC\" },\n arnCode: { label: \"ARN Code\" },\n arncode: { label: \"ARN Code\" },\n pan: { label: \"PAN No\" },\n i_Acno: { label: \"Folio\" },\n acno: { label: \"Folio\" },\n \"Account No\": { label: \"Account no\" },\n \"Account Type\": { label: \"Account Type\" },\n \"Bank Name\": { label: \"Bank Name\" },\n euincode: { label: \"Euin code\" },\n EUIN: { label: \"Euin code\" },\n // Plan:{label:\"Plan\"},\n // Option:{label:\"Option\"},\n};\n\nconst transactionDetails = {\n startdate: { label: \"Start Date\" },\n enddt: { label: \"End Date\" },\n};\n\nconst commonFields = {\n ...personalFields,\n ...financialFields,\n};\nconst additionalPurchaseFields = {\n ...commonFields,\n\n ARNCode: { label: \"ARN Code\" },\n subarn: { label: \"Sub ARN Code\" },\n\n EUINCode: { label: \"EUIN No\" },\n i_UntAmtValue: { label: \"Investment Amount (INR)\" },\n\n Amount: { label: \"Amount\" },\n Arn_no: { label: \"ARN No\" },\n Email: { label: \"Email\" },\n End_date: { label: \"End Date\" },\n // Entdate: { label: \"Entry Date\" },\n Folio_no: { label: \"Folio No\" },\n Frequency: { label: \"Frequency\" },\n InvName: { label: \"Investor Name\" },\n // Link: { label: \"Confirmation Link\" },\n Mobile_no: { label: \"Mobile No\" },\n Name: { label: \"Name\" },\n Start_date: { label: \"Start Date\" },\n Sub_Arn_no: { label: \"Sub ARN No\" },\n Units: { label: \"Units\" },\n amount: { label: \"Amount\" },\n arnCode: { label: \"ARN Code\" },\n // dd_active: { label: \"Direct Debit Active\" },\n // dd_appno: { label: \"Direct Debit Application No\" },\n // dd_entdt: { label: \"Direct Debit Entry Date\" },\n // fund: { label: \"Fund\" },\n // fund_code: { label: \"Fund Code\" },\n // ihno: { label: \"Investor Holding Number\" },\n mobile: { label: \"Mobile\" },\n pan: { label: \"PAN\" },\n scheme: { label: \"Scheme\" },\n sipamount: { label: \"SIP Amount\" },\n // trtype: { label: \"Transaction Type\" },\n units: { label: \"Units\" },\n\n Schdesc: { label: \"Scheme\", isDoubleCol },\n scheme: { label: \"Scheme\" },\n};\n\nconst sipFields = {\n ...commonFields,\n // ...transactionDetails,\n No_ofinstalments:{label: \"No of installments\" },\n\n dd_sipstartdt: { label: \"Start Date\" },\n dd_sipenddt: { label: \"End Date\" },\n\n redemptionType: { label: \"No of installments\" },\n sip_freq: { label: \"SIP Frequency\" },\n sip_day: { label: \"SIP Day\" },\n NoOfInstalments: { label: \"No Of Installments\" },\n // sip_strtdate: { label: \"Start Date\" },\n sip_enddt: { label: \"End Date\" },\n EUINCode: { label: \"EUIN No\" },\n i_Fname: { label: \"Investor Name\" },\n sip_mode: { label: \"Mode of registration\" },\n i_UntAmtValue: { label: \"Investment Amount(INR)\" },\n sip_amt: { label: \"Installment Payment Amount(INR)\" },\n ARNCode: { label: \"ARN Code\" },\n subarn: { label: \"Sub ARN Code\" },\n\n // Amount: { label: \"Amount\" },\n // Arn_no: { label: \"ARN No\" },\n // arnCode: { label: \"ARN No\" },\n // arncode: { label: \"ARN No\" },\n\n // Email: { label: \"Email\" },\n // End_date: { label: \"End Date\" },\n // Entdate: { label: \"Entry Date\" },\n // Folio_no: { label: \"Folio No\" },\n scheme: { label: \"Scheme\" },\n\n Schdesc: { label: \"Scheme\", isDoubleCol },\n scheme: { label: \"Scheme\" },\n frequency: { label: \"Frequency\" },\n\n // Frequency: { label: \"Frequency\" },\n // InvName: { label: \"Investor Name\" },\n // Link: { label: \"Confirmation Link\" },\n // Mobile_no: { label: \"Mobile No\" },\n // Name: { label: \"Name\" },\n // Pan_no: { label: \"PAN No\" },\n // Start_date: { label: \"Start Date\" },\n Sub_Arn_no: { label: \"Sub ARN No\" },\n Units: { label: \"Units\" },\n amount: { label: \"Lumpsum Amount\" },\n // dd_active: { label: \"Direct Debit Active\" },\n // dd_appno: { label: \"Direct Debit Application No\" },\n // dd_entdt: { label: \"Direct Debit Entry Date\" },\n // fund: { label: \"Fund\" },\n // fund_code: { label: \"Fund Code\" },\n // ihno: { label: \"Investor Holding Number\" },\n mobile: { label: \"Mobile\" },\n pan: { label: \"PAN\" },\n sipamount: { label: \"SIP Amount\" },\n // trtype: { label: \"Transaction Type\" },\n units: { label: \"Units\" },\n Mode_Of_Registration: { label: \"Mode of Registration\" },\n // startdate:{ label: \"Start Date\" },\n // enddt:{ label: \"End Date\" },\n // REFNO:{ label: \"Reference No\" },\n};\n\nconst redemptionFields = {\n ...commonFields,\n\n redemptionType: { label: \"Redemption Type\" },\n redemptionMode: { label: \"Redemption Mode\" },\n redemptionValue: { label: \"Redemption Value(INR/UNITS)\" },\n pan: { label: \"PAN\" },\n\n Amount: { label: \"Amount\" },\n Arn_no: { label: \"ARN No\" },\n Email: { label: \"Email\" },\n // End_date: { label: \"End Date\" },\n // Entdate: { label: \"Entry Date\" },\n Folio_no: { label: \"Folio No\" },\n Frequency: { label: \"Frequency\" },\n InvName: { label: \"Investor Name\" },\n // Link: { label: \"Confirmation Link\" },\n Mobile_no: { label: \"Mobile No\" },\n Name: { label: \"Name\" },\n Pan_no: { label: \"PAN No\" },\n Start_date: { label: \"Start Date\" },\n Sub_Arn_no: { label: \"Sub ARN No\" },\n Units: { label: \"Units\" },\n amount: { label: \"Amount\" },\n arnCode: { label: \"ARN Code\" },\n // dd_active: { label: \"Direct Debit Active\" },\n // dd_appno: { label: \"Direct Debit Application No\" },\n // dd_entdt: { label: \"Direct Debit Entry Date\" },\n // fund: { label: \"Fund\" },\n // fund_code: { label: \"Fund Code\" },\n // ihno: { label: \"Investor Holding Number\" },\n mobile: { label: \"Mobile\" },\n scheme: { label: \"Scheme\" },\n\n Schdesc: { label: \"Scheme\", isDoubleCol },\n scheme: { label: \"Scheme\" },\n sipamount: { label: \"SIP Amount\" },\n // trtype: { label: \"Transaction Type\" },\n units: { label: \"Units\" },\n\n // enddt:{ label: \"End Date\" },\n};\n\nconst swpFields = {\n ...commonFields,\n // ...transactionDetails,\n acno:{label:\"Folio\"},\n dd_sipstartdt: { label: \"Start Date\" },\n dd_sipenddt: { label: \"End Date\" },\n swpOption: { label: \"SWP Option\" },\n noWithdrawals: { label: \"No of withdrawals\" },\n frequency: { label: \"Frequency\" },\n swpDay: { label: \"SWP Day\" },\n // startDate: { label: \"Start Date\" },\n endDate: { label: \"End Date\" },\n swpAmount: { label: \"SWP Amount(INR)\" },\n pan: { label: \"PAN\" },\n\n Amount: { label: \"Amount\" },\n Arn_no: { label: \"ARN No\" },\n Email: { label: \"Email\" },\n End_date: { label: \"End Date\" },\n // Entdate: { label: \"Entry Date\" },\n Folio_no: { label: \"Folio No\" },\n Frequency: { label: \"Frequency\" },\n InvName: { label: \"Investor Name\" },\n // Link: { label: \"Confirmation Link\" },\n Mobile_no: { label: \"Mobile No\" },\n Name: { label: \"Name\" },\n Pan_no: { label: \"PAN No\" },\n // Start_date: { label: \"Start Date\" },\n Sub_Arn_no: { label: \"Sub ARN No\" },\n Units: { label: \"Units\" },\n amount: { label: \"Amount\" },\n arnCode: { label: \"ARN Code\" },\n // dd_active: { label: \"Direct Debit Active\" },\n // dd_appno: { label: \"Direct Debit Application No\" },\n // dd_entdt: { label: \"Direct Debit Entry Date\" },\n // fund: { label: \"Fund\" },\n // fund_code: { label: \"Fund Code\" },\n // ihno: { label: \"Investor Holding Number\" },\n mobile: { label: \"Mobile\" },\n pan: { label: \"PAN\" },\n scheme: { label: \"Scheme\" },\n\n Schdesc: { label: \"Scheme\", isDoubleCol },\n scheme: { label: \"Scheme\" },\n sipamount: { label: \"SIP Amount\" },\n // trtype: { label: \"Transaction Type\" },\n units: { label: \"Units\" },\n};\n\nconst switchFields = {\n ...commonFields,\n // ...transactionDetails,\n Fund: { label: \"Switch Out Fund\" },\n scheme: { label: \"Switch Out Scheme\" },\n Plan: { label: \"Switch Out Plan\" },\n switchType: { label: \"Switch Type\" },\n switchInScheme: { label: \"Switch In Scheme\" },\n\n switchMode: { label: \"Switch Mode\" },\n ARNCode: { label: \"ARN Code\" },\n subARNCode: { label: \"Sub ARN Code\" },\n EUINCode: { label: \"EUIN No\" },\n paymentUnits: { label: \"Payment Units\" },\n\n Amount: { label: \"Amount\" },\n Arn_no: { label: \"ARN No\" },\n Email: { label: \"Email\" },\n End_date: { label: \"End Date\" },\n // Entdate: { label: \"Entry Date\" },\n Folio_no: { label: \"Folio No\" },\n Frequency: { label: \"Frequency\" },\n // InvName: { label: \"Investor Name\" },\n // Link: { label: \"Confirmation Link\" },\n Mobile_no: { label: \"Mobile No\" },\n Name: { label: \"Name\" },\n Pan_no: { label: \"PAN No\" },\n Start_date: { label: \"Start Date\" },\n Sub_Arn_no: { label: \"Sub ARN No\" },\n Units: { label: \"Units\" },\n amount: { label: \"Amount\" },\n arnCode: { label: \"ARN Code\" },\n // dd_active: { label: \"Direct Debit Active\" },\n // dd_appno: { label: \"Direct Debit Application No\" },\n // dd_entdt: { label: \"Direct Debit Entry Date\" },\n // fund: { label: \"Fund\" },\n // fund_code: { label: \"Fund Code\" },\n // ihno: { label: \"Investor Holding Number\" },\n\n mobile: { label: \"Mobile\" },\n pan: { label: \"PAN\" },\n sipamount: { label: \"SIP Amount\" },\n // trtype: { label: \"Transaction Type\" },\n units: { label: \"Units\" },\n\n // Fdesc: { label: \"Fund Description\" },\n i_Acno: { label: \"Account Number\" },\n acno: { label: \"Folio No\" },\n\n tFund: { label: \"Switch In Fund\" },\n // tscheme: { label: \"Switch In Scheme\" },\n topt: { label: \"Switch In Option\" },\n tpln: { label: \"Switch In Plan\" },\n};\nconst stpFields = {\n ...commonFields,\n // ...transactionDetails,\n acno:{label:\"Folio\"},\n dd_sipstartdt: { label: \"Start Date\" },\n dd_sipenddt: { label: \"End Date\" },\n // customfund: { label: \"Transfer Out Fund\" },\n // scheme: { label: \"Transfer Out Scheme\" },\n // Plan: { label: \"Transfer Out Plan\" },\n switchType: { label: \"Switch Type\" },\n\n switchInScheme: { label: \"Transfer In Scheme\" },\n switchOutScheme: { label: \"Transfer Out Scheme\" },\n stpOption: { label: \"STP Option\" },\n // noTransfers: { label: \"No of transfers\" },\n frequency: { label: \"Frequency\" },\n stpDay: { label: \"STP Day\" },\n // startDate: { label: \"Start Date\" },\n endDate: { label: \"End Date\" },\n installmentAmount: { label: \"Installment amount(INR)\" },\n pan: { label: \"PAN\" },\n ARNCode: { label: \"ARN Code\" },\n subARNCode: { label: \"Sub ARN Code\" },\n euin: { label: \"EUIN No\" },\n\n Amount: { label: \"Amount\" },\n Arn_no: { label: \"ARN No\" },\n Email: { label: \"Email\" },\n End_date: { label: \"End Date\" },\n // Entdate: { label: \"Entry Date\" },\n Folio_no: { label: \"Folio No\" },\n Frequency: { label: \"Frequency\" },\n InvName: { label: \"Investor Name\" },\n // Link: { label: \"Confirmation Link\" },\n Mobile_no: { label: \"Mobile No\" },\n Name: { label: \"Name\" },\n Pan_no: { label: \"PAN No\" },\n // Start_date: { label: \"Start Date\" },\n Sub_Arn_no: { label: \"Sub ARN No\" },\n Units: { label: \"Units\" },\n amount: { label: \"Amount\" },\n arnCode: { label: \"ARN Code\" },\n // dd_active: { label: \"Direct Debit Active\" },\n // dd_appno: { label: \"Direct Debit Application No\" },\n // dd_entdt: { label: \"Direct Debit Entry Date\" },\n // fund: { label: \"Fund\" },\n // fund_code: { label: \"Fund Code\" },\n // ihno: { label: \"Investor Holding Number\" },\n mobile: { label: \"Mobile\" },\n pan: { label: \"PAN\" },\n // scheme: { label: \"Scheme\" },\n sipamount: { label: \"SIP Amount\" },\n // trtype: { label: \"Transaction Type\" },\n units: { label: \"Units\" },\n\n tFund: { label: \"Transfer to Fund\" },\n // tscheme: { label: \"Transfer to Scheme\" },\n // topt: { label: \"Transfer to Option\" },\n // tpln: { label: \"Transfer to Plan\" },\n};\n\nconst reInitiateNewPurchaseFields = {\n ...commonFields,\n // ...transactionDetails,\n ...enUs.reInitiateNewPurchaseFields\n}\n\nconst allFieldsCombined = {\n ...fallbackFields,\n ...additionalPurchaseFields,\n ...sipFields,\n ...redemptionFields,\n ...switchFields,\n ...swpFields,\n ...stpFields,\n};\n\nconst trTypes = [\"newPurchase\", \"additionalPurchase\", \"sip\", \"redemption\", \"stp\", \"swp\", \"switch\"];\n\nconst keyList = {};\n\nconst localScope = {\n newPurchaseFields: reInitiateNewPurchaseFields,\n additionalPurchaseFields,\n sipFields,\n redemptionFields,\n stpFields,\n switchFields,\n swpFields,\n};\nfor (let ttype of trTypes) {\n console.log(\"ttype\", ttype)\n const all_keys = localScope[ttype + \"Fields\"];\n const fieldObj = all_keys;\n\n keyList[ttype] = Object.keys(fieldObj);\n}\n\n// console.log(keyList)\nexport const transactionTypes = {\n \"New purchase\": {\n fields: reInitiateNewPurchaseFields,\n keys: [\"NEW\", \"NEW_PURCHASE\", \"NEWP\", \"P\", \"N\", \"New Purchase\", \"LTOF\"],\n },\n\n \"Additional Purchase\": {\n fields: additionalPurchaseFields,\n keys: [\n \"ADD\",\n \"A\",\n \"ADDITIONAL_PURCHASE\",\n \"Additional Purchase\",\n \"Purchase\",\n ],\n },\n SIP: {\n fields: sipFields,\n keys: [\"SIP\", \"ISIP\", \"sini\", \"SIN\"],\n },\n\n Redemption: {\n fields: redemptionFields,\n keys: [\"REDEMPTION\", \"RED\", \"FUL\", \"Redemption\", \"Fulfill\", \"Fulfillment\"],\n },\n SWP: {\n fields: swpFields,\n keys: [\"SWP\"],\n },\n\n Switch: {\n fields: switchFields,\n keys: [\"SWITCH\", \"LTOF\", \"LTOP\", \"SWOF\", \"Switch\"],\n },\n STP: {\n fields: stpFields,\n keys: [\"STP\"],\n },\n};\n\nconst transactionTypeList = Object.keys(transactionTypes).map((k) => {\n return { ...transactionTypes[k], name: k };\n});\n\nfunction getTransactionSchema(transaction) {\n let trtype = transaction.td_trtype || transaction.trtype;\n // console.log(transaction)\n // console.log('trtype === ')\n\n // const schema = {...fallbackFields, ...additionalPurchaseFields, ...sipFields, ...redemptionFields, ...switchFields, ...swpFields, ...stpFields}\n\n const schema = transactionTypeList.find(\n (t) => t.keys && t.keys.includes(trtype)\n );\n // console.log(\"See this schema\", schema);\n\n return (\n schema || {\n fields: fallbackFields,\n name: \"\",\n }\n );\n}\n\nexport default connect(\n ({ transactions, authReducer }) => ({\n arnCode: authReducer.token,\n confirmationData: transactions.confirmationData,\n }),\n {\n showPurchaseConfirmationReinitiate,\n reInitiateTransaction,\n }\n)(ReinitiateConfirm);\n","import React, { Component } from \"react\";\nimport { Route, Switch } from \"react-router-dom\";\nimport Transactions from \"./TransactionMain\";\nimport TransactionType from \"./TransactionTypes\";\nimport TransactionMode from \"./TransactionModes\";\nimport NFOAndNewPurchaseDigital from \"./nfoAndNewPurchase\";\nimport EKYC from \"./ekycForm\";\nimport SIPModeTypes from \"./sip/modeTypes\";\nimport SipEnach from \"./sip/sipEnach\";\nimport NewInvestorRegistration from \"./newInvestor/NewInvestorRegistration\";\nimport NctTypes from \"./NctTypes\";\nimport UpdateNomineeEdit from \"../UpdateNominee/update-nominee-edit\";\nimport UpdateNomineeSuccess from \"../UpdateNominee/update-nominee-success\";\nimport SelectedFolios from \"../UpdateNominee/SelectedFolios\";\nexport default class TransactionRouter extends Component {\n render() {\n const { history, location } = this.props;\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {/* \n \n */}\n\n \n \n\n \n \n\n \n \n \n \n \n \n \n\n \n \n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport TransactionRouter from \"./TransactionRoutes\";\nimport CommonBreadCrumb from \"../breadCrumbs\";\n\nexport const NEW_TRANSACTION_URL = `/new-transaction`;\n\nconst breadcrumbNameMap = {\n \"/new-transaction\": { title: \"New Transaction\", to: NEW_TRANSACTION_URL },\n\n \"/new-transaction/new-investor/ekyc\": {\n title: \"EKYC\",\n to: NEW_TRANSACTION_URL + \"/new-investor/ekyc\",\n },\n \"/new-transaction/new-investor\": {\n title: \"New Investor\",\n to: NEW_TRANSACTION_URL,\n },\n \"/new-transaction/transction-types\": {\n title: \"Transaction Type\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/nfo-new-purchase\": {\n title: \"Lumpsum\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n // \"/new-transaction/nfo-new-purchase/transaction-modes\": {\n // title: \"Mode of Transaction\",\n // to: NEW_TRANSACTION_URL + \"/nfo-new-purchase/transaction-modes\"\n // },\n \"/new-transaction/nfo-new-purchase/physical\": {\n title: \"Phygital Mode\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n // to: NEW_TRANSACTION_URL + \"/nfo-new-purchase/transaction-modes\"\n },\n \"/new-transaction/nfo-new-purchase/physical/transact\": {\n title: \"Transact\",\n to: NEW_TRANSACTION_URL + \"/nfo-new-purchase/physical/transact\",\n },\n \"/new-transaction/additional-purchase/physical\": {\n title: \"Phygital Mode\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n // to: NEW_TRANSACTION_URL + \"/additional-purchase/transaction-modes\"\n },\n \"/new-transaction/additional-purchase/physical/transact\": {\n title: \"Transact\",\n to: NEW_TRANSACTION_URL + \"/additional-purchase/physical/transact\",\n },\n\n \"/new-transaction/redemption/physical\": {\n title: \"Phygital Mode\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n // to: NEW_TRANSACTION_URL + \"/redemption/transaction-modes\"\n },\n \"/new-transaction/redemption/physical/transact\": {\n title: \"Transact\",\n to: NEW_TRANSACTION_URL + \"/redemption/physical/transact\",\n },\n \"/new-transaction/switch/physical\": {\n title: \"Phygital Mode\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n // to: NEW_TRANSACTION_URL + \"/switch/transaction-modes\"\n },\n \"/new-transaction/switch/physical/transact\": {\n title: \"Transact\",\n to: NEW_TRANSACTION_URL + \"/switch/physical/transact\",\n },\n \"/new-transaction/sip/physical\": {\n title: \"Phygital Mode\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n // to: NEW_TRANSACTION_URL + \"/sip/transaction-modes\"\n },\n \"/new-transaction/sip/physical/transact\": {\n title: \"Transact\",\n to: NEW_TRANSACTION_URL + \"/sip/physical/transact\",\n },\n\n \"/new-transaction/nfo-new-purchase/digital\": {\n title: \"Digital Mode\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/nfo-new-purchase/digital/transact\": {\n title: \"Transact\",\n to: NEW_TRANSACTION_URL + \"/nfo-new-purchase/digital/transact\",\n },\n \"/new-transaction/nfo-new-purchase/digital/transact/confirm\": {\n title: \"Confirm\",\n to: NEW_TRANSACTION_URL + \"/nfo-new-purchase/digital/transact/confirm\",\n },\n\n \"/new-transaction/additional-purchase\": {\n title: \"Additional Purchase\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/additional-purchase/transaction-modes\": {\n title: \"Mode of Transaction\",\n to: NEW_TRANSACTION_URL + \"/additional-purchase/transaction-modes\",\n },\n \"/new-transaction/additional-purchase/digital\": {\n title: \"Digital Mode\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/additional-purchase/digital/transact\": {\n title: \"Transact\",\n to: NEW_TRANSACTION_URL + \"/additional-purchase/digital/transact\",\n },\n \"/new-transaction/additional-purchase/digital/transact/confirm\": {\n title: \"Confirm\",\n to: NEW_TRANSACTION_URL + \"/additional-purchase/digital/transact/confirm\",\n },\n\n \"/new-transaction/redemption\": {\n title: \"Redemption\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/redemption/transaction-modes\": {\n title: \"Mode of Transaction\",\n to: NEW_TRANSACTION_URL + \"/redemption/transaction-modes\",\n },\n \"/new-transaction/redemption/digital\": {\n title: \"Digital Mode\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/redemption/digital/transact\": {\n title: \"Transact\",\n to: NEW_TRANSACTION_URL + \"/redemption/digital/transact\",\n },\n \"/new-transaction/redemption/digital/transact/confirm\": {\n title: \"Confirm\",\n to: NEW_TRANSACTION_URL + \"/redemption/digital/transact/confirm\",\n },\n\n \"/new-transaction/switch\": {\n title: \"SWITCH\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/switch/transaction-modes\": {\n title: \"Mode of Transaction\",\n to: NEW_TRANSACTION_URL + \"/switch/transaction-modes\",\n },\n \"/new-transaction/switch/digital\": {\n title: \"Digital Mode\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/switch/digital/transact\": {\n title: \"Transact\",\n to: NEW_TRANSACTION_URL + \"/switch/digital/transact\",\n },\n \"/new-transaction/switch/digital/transact/confirm\": {\n title: \"Confirm\",\n to: NEW_TRANSACTION_URL + \"/switch/digital/transact/confirm\",\n },\n\n \"/new-transaction/sip\": {\n title: \"SIP\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/sip/transaction-modes\": {\n title: \"Mode of Transaction\",\n to: NEW_TRANSACTION_URL + \"/sip/transaction-modes\",\n },\n \"/new-transaction/sip/digital\": {\n title: \"Digital Mode\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/sip/digital\": {\n title: \"Digital Mode\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/sip/digital/modes\": {\n title: \"Mode of registration\",\n to: NEW_TRANSACTION_URL + \"/sip/digital/modes\",\n },\n \"/new-transaction/sip/digital/modes/transact\": {\n title: \"Transact\",\n to: NEW_TRANSACTION_URL + \"/sip/digital/modes/transact\",\n },\n \"/new-transaction/sip/digital/modes/enach-folios\": {\n title: \"Enach Folios\",\n to: NEW_TRANSACTION_URL + \"/sip/digital/modes/enach-folios\",\n },\n \"/new-transaction/sip/digital/modes/enach-folios/eNACH\": {\n title: \"Enach\",\n to: NEW_TRANSACTION_URL + \"/sip/digital/modes/enach-folios/eNACH\",\n },\n \"/new-transaction/sip/digital/modes/enach-folios/eNACH/confirm\": {\n title: \"Enach Confrim\",\n to: NEW_TRANSACTION_URL + \"/sip/digital/modes/enach-folios/eNACH/confirm\",\n },\n \"/new-transaction/sip/digital/modes/enach-folios/transact\": {\n title: \"Transact\",\n to: NEW_TRANSACTION_URL + \"/sip/digital/modes/enach-folios/transact\",\n },\n \"/new-transaction/sip/digital/modes/enach-folios/transact/confirm\": {\n title: \"Confirm\",\n to:\n NEW_TRANSACTION_URL + \"/sip/digital/modes/enach-folios/transact/confirm\",\n },\n \"/new-transaction/sip/digital/modes/transact/confirm\": {\n title: \"Confirm\",\n to: NEW_TRANSACTION_URL + \"/sip/digital/modes/transact/confirm\",\n },\n \"/new-transaction/sip/digital/transact\": {\n title: \"Transact\",\n to: NEW_TRANSACTION_URL + \"/sip/digital/transact\",\n },\n \"/new-transaction/sip/digital/transact/confirm\": {\n title: \"Confirm\",\n to: NEW_TRANSACTION_URL + \"/sip/digital/transact/confirm\",\n },\n\n \"/new-transaction/swp\": {\n title: \"SWP\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/swp/transaction-modes\": {\n title: \"Mode of Transaction\",\n to: NEW_TRANSACTION_URL + \"/swp/transaction-modes\",\n },\n \"/new-transaction/swp/digital\": {\n title: \"Digital Mode\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/swp/digital/transact\": {\n title: \"Transact\",\n to: NEW_TRANSACTION_URL + \"/swp/digital/transact\",\n },\n \"/new-transaction/swp/digital/transact/confirm\": {\n title: \"Confirm\",\n to: NEW_TRANSACTION_URL + \"/swp/digital/transact/confirm\",\n },\n\n \"/new-transaction/stp\": {\n title: \"STP\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/stp/transaction-modes\": {\n title: \"Mode of Transaction\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/stp/digital\": {\n title: \"Digital Mode\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/stp/digital/transact\": {\n title: \"Transact\",\n to: NEW_TRANSACTION_URL + \"/stp/digital/transact\",\n },\n \"/new-transaction/stp/digital/transact/confirm\": {\n title: \"Confirm\",\n to: NEW_TRANSACTION_URL + \"/stp/digital/transact/confirm\",\n },\n\n \"/new-transaction/sip-cancellation\": {\n title: \"SIP Cancellation\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/sip-cancellation/transaction-modes\": {\n title: \"Mode of Transaction\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/sip-cancellation/digital\": {\n title: \"Digital Mode\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/sip-cancellation/digital/transact\": {\n title: \"Transact\",\n to: NEW_TRANSACTION_URL + \"/sip-cancellation/digital/transact\",\n },\n \"/new-transaction/sip-cancellation/digital/transact/confirm\": {\n title: \"Confirm\",\n to: NEW_TRANSACTION_URL + \"/sip-cancellation/digital/transact/confirm\",\n },\n \"/new-transaction/nct-type\": {\n title: \"NCT\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/nct-type/transaction-modes\": {\n title: \"Mode of Transaction\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/nct-type/digital\": {\n title: \"Digital Mode\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/nct-type/phygital\": {\n title: \"Phygital Mode\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/nct-type/digital/transact\": {\n title: \"Transact\",\n to: NEW_TRANSACTION_URL + \"/nct-type/digital/transact\",\n },\n \"/new-transaction/nct-type/digital/transact/confirm\": {\n title: \"Confirm\",\n to: NEW_TRANSACTION_URL + \"/nct-type/digital/transact/confirm\",\n },\n \"/new-transaction/nct-type/digital/change-email\": {\n title: \"Change Email\",\n to: NEW_TRANSACTION_URL + \"/nct-type/digital/transact\",\n },\n \"/new-transaction/nct-type/phygital/change-email\": {\n title: \"Change Email\",\n to: NEW_TRANSACTION_URL + \"/nct-type/digital/transact\",\n },\n \"/new-transaction/nct-type/digital/change-mobile\": {\n title: \"Change Mobile\",\n to: NEW_TRANSACTION_URL + \"/nct-type/digital/transact\",\n },\n \"/new-transaction/nct-type/phygital/change-mobile\": {\n title: \"Change Mobile\",\n to: NEW_TRANSACTION_URL + \"/nct-type/digital/transact\",\n },\n\n \"/new-transaction/nct-type/digital/change-email-list\": {\n title: \"Change Email\",\n to: NEW_TRANSACTION_URL + \"/nct-type/digital/transact\",\n },\n \n\n \"/new-transaction/eNACH\": {\n title: \"ENACH\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/eNACH/transaction-modes\": {\n title: \"Mode of Transaction\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/eNACH/digital\": {\n title: \"Digital Mode\",\n to: NEW_TRANSACTION_URL + \"/transction-types\",\n },\n \"/new-transaction/eNACH/digital/transact\": {\n title: \"Transact\",\n to: NEW_TRANSACTION_URL + \"/eNACH/digital/transact\",\n },\n \"/new-transaction/eNACH/digital/transact/confirm\": {\n title: \"Confirm\",\n to: NEW_TRANSACTION_URL + \"/eNACH/digital/transact/confirm\",\n },\n};\n\nexport default class Transactions extends Component {\n render() {\n const { location } = this.props;\n const pathnames = location.pathname.includes(\"/ekyc\")\n ? location.pathname\n .split(\"/\")\n .filter((name) => name)\n .slice(0, 2)\n : location.pathname.split(\"/\").filter((name) => name);\n return (\n
    \n \n \n
    \n );\n }\n}\n","import React, { Component } from \"react\";\nimport Paper from \"@material-ui/core/Paper\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport { connect } from \"react-redux\";\nimport CustomizedSelect from \"../transactions/customizedSelect\";\nimport DateFnsUtils from \"@date-io/date-fns\";\nimport { Input } from \"../../forms/input\";\nimport Signbutton from \"../../forms/button\";\nimport CustomizedDialogs from \"../../home/customModal\";\nimport { MBRStatusDialog } from \"../../home/customModal\";\nimport {\n MuiPickersUtilsProvider,\n KeyboardDatePicker,\n} from \"@material-ui/pickers\";\nimport {\n GET_FUNDS_LIST,\n GET_FUNDS_LIST_SUCCESS,\n GET_FUNDS_LIST_FAILED,\n ALL,\n} from \"../../../store/types\";\nimport {\n getInvestorDetails,\n getNewPurchaseFundList,\n} from \"../../../store/actions\";\nimport {\n getMailbackList,\n GetDistMailbackRequest,\n} from \"../../../store/actions/mailback\";\nimport IntegrationReactSelect from \"../../forms/autoCompleteInput\";\nimport { BajajFund } from \"../nav\";\nimport CustomLoader from \"../../forms/Loader\";\nexport const MAILBACK_URL = `/mailBackRequest`;\nclass MailBack extends Component {\n constructor(props) {\n super(props);\n const { state } = this.props.location;\n this.state = {\n fund: { value: \"\" },\n reports: [],\n display: false,\n showPassword: false,\n status: {\n value: false,\n },\n report:\n !!state && !!state.value\n ? {\n value: {\n label: state.value.KDM_Repdesc,\n value: state.value.KDM_Repcode,\n },\n }\n : { value: \"\" },\n reportType: { value: \"\" },\n fromDate: { value: null, error: false },\n toDate: { value: null, error: false },\n password: { value: \"\" },\n open: false,\n refrenceNumber: { value: \"\" },\n };\n }\n\n async componentDidMount() {\n const params = {\n customfund: \"102\",\n };\n const response = await this.props.getMailbackList(params);\n if (response) {\n this.setState({\n reports: response.DtData,\n });\n }\n window.scrollTo({\n top: 0,\n behavior: \"smooth\",\n });\n }\n handleChangeReports = (value) => {\n this.setState({\n report: { value },\n });\n };\n handleChangeReportTypes = (event) => {\n this.setState({\n reportType: { value: event.target.value },\n });\n };\n handleChangeFunds = (value) => {\n this.setState({\n fund: { value },\n });\n };\n handleChangePassword = (event) => {\n this.setState({\n password: { value: event.target.value },\n });\n };\n onDateChange = (label, event) => {\n if (label === \"toDate\" && !!this.state.fromDate.value && !!event) {\n const reformtStDt = this.state.fromDate.value.toLocaleDateString(\n \"en-US\",\n {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n }\n );\n\n const changeEndDt = event.toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n\n const d2 = new Date(reformtStDt).setHours(12, 0, 0, 0);\n const d3 = new Date(changeEndDt).setHours(12, 0, 0, 0);\n if (d2 > d3) {\n this.setState({\n [label]: {\n value: null,\n error: true,\n errorMessage: \"Start Date should be earlier than End Date\",\n },\n });\n } else {\n this.setState({\n [label]: { value: event, errorMessage: \"\", error: false },\n });\n }\n } else if (label === \"fromDate\") {\n this.setState({\n [label]: { value: event },\n toDate: { value: null, error: \"\", errorMessage: \"\" },\n });\n }\n\n // this.setState({ [label]: { value: event } });\n };\n\n submit = async () => {\n let toDateValue;\n let fromDateValue;\n\n if (this.state.fromDate.value) {\n fromDateValue = this.state.fromDate.value.toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n }\n if (this.state.toDate.value) {\n toDateValue = this.state.toDate.value.toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n }\n const {\n funds,\n reports,\n fromDate,\n status,\n toDate,\n fund,\n display,\n open,\n showPassword,\n refrenceNumber,\n ...others\n } = this.state;\n \n\n const keys = Object.keys(others);\n const d2 = new Date(this.state.fromDate.value).setHours(12, 0, 0, 0);\n const d3 = new Date(this.state.toDate.value).setHours(12, 0, 0, 0);\n \n\n const findError = keys.every((key) => !!others[key].value);\n\n if (!findError) {\n keys.forEach((key) => {\n !others[key].value &&\n this.setState({\n [key]: {\n ...others[key],\n isError: true,\n errorMessage: `${\n key === \"report\"\n ? \"Report\"\n : key === \"reportType\"\n ? \"Report Type\"\n : key === \"fromDate\"\n ? \"Start date\"\n : key === \"toDate\"\n ? \"End date\"\n : key === \"password\"\n ? \"Password\"\n : key === \"fromDate\"\n ? \"Start date\"\n : key === \"toDate\"\n ? \"End date\"\n : \"\"\n } is mandatory*`,\n },\n });\n });\n const firstErroredKey = keys.find((key) => !others[key].value);\n switch (firstErroredKey) {\n // case \"fund\": {\n // this.fundField.focus();\n // break;\n // }\n case \"report\": {\n this.reportField.focus();\n break;\n }\n case \"reportType\": {\n this.reportTypeField.focus();\n break;\n }\n // case \"fromDate\": {\n // this.fromDateField.focus();\n // break;\n // }\n // case \"toDate\": {\n // this.toDateField.focus();\n // break;\n // }\n }\n } else if (\n others.password.value === \"\" ||\n !/^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/.test(\n others.password.value\n )\n ) {\n if (\n !/^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/.test(\n others.password.value\n )\n ) {\n // this.passwordField.focus();\n this.setState({\n password: {\n ...others[\"password\"],\n isError: true,\n errorMessage: `Password should be atleast 8 characters in length and should contain at least 1 Upper Case alphabet(A-Z).1 Special Character and 1 Numeric Value (0-9)`,\n },\n });\n return;\n } else {\n this.passwordField.focus();\n this.setState({\n password: {\n ...others[\"password\"],\n isError: true,\n errorMessage: `Password is mandatory`,\n },\n });\n return;\n }\n } else if(this.state.fromDate.value===this.state.toDate.value)\n {\n this.setState({\n toDate: {\n value: null,\n error: true,\n errorMessage: \"start date and end date cannot be same\",\n },\n });\n return;\n }else if(d2===d3)\n {\n this.setState({\n toDate: {\n value: null,\n error: true,\n errorMessage: \"start date and end date cannot be same\",\n },\n });\n return;\n } else if (!this.state.fromDate.value) {\n this.setState({\n fromDate: {\n value: null,\n error: true,\n errorMessage: \"From date is mandatory\",\n },\n });\n return;\n } else if (!this.state.toDate.value) {\n this.setState({\n toDate: {\n value: null,\n error: true,\n errorMessage: \"To date is mandatory\",\n },\n });\n return;\n } else if (d2 > d3) {\n this.setState({\n toDate: {\n value: null,\n error: true,\n errorMessage: \"From date should be earlier than To date\",\n },\n });\n } else {\n this.setState({\n display: true,\n });\n const params = {\n Userid: this.props.userId,\n ReportNumber: this.state.report.value.value,\n ZipPwd: this.state.password.value,\n Fund: \"102\",\n customfund: \"102\",\n toDate: toDateValue,\n fromDate: fromDateValue,\n ReqBy: ALL,\n Agent: this.props.token,\n reportType: this.state.reportType.value === \"Excel\" ? \"Excel\" : \"DBF\",\n };\n const response = await this.props.GetDistMailbackRequest(params);\n if (response && !response.error) {\n this.setState({\n display: false,\n open: true,\n refrenceNumber: { value: response.DtData[0].Refno },\n });\n } else {\n this.setState({\n display: false,\n });\n }\n }\n };\n\n closeModal = () => {\n this.setState({\n open: false,\n fund: { value: \"\" },\n report: { value: \"\" },\n reportType: { value: \"\" },\n fromDate: { value: null, error: false },\n toDate: { value: null, error: false },\n password: { value: \"\" },\n refrenceNumber: { value: \"\" },\n });\n this.props.history.replace(`/dashboard`);\n };\n showError = (label) => (event) => {\n const {\n [label]: { value },\n } = this.state;\n\n if (label === \"\") {\n this.setState({\n [label]: {\n value,\n isError: this.state.selfPassword.value === \"\" ? true : !value,\n errorMessage:\n this.state.selfPassword.value === \"\"\n ? `Self-password is mandatory`\n : \"\",\n },\n });\n } else {\n this.setState({\n [label]: {\n value,\n isError: !value,\n },\n });\n }\n };\n close() {\n this.setState({\n status: {\n value: false,\n },\n });\n }\n\n gotoblur = () => {\n if (\n this.state.password.value === \"\" ||\n !/^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/.test(\n this.state.password.value\n )\n ) {\n if (\n !/^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/.test(\n this.state.password.value\n )\n ) {\n this.setState({\n password: {\n isError: true,\n errorMessage: `Password should be atleast 8 characters in length and should contain at least 1 Upper Case alphabet(A-Z).1 Special Character and 1 Numeric Value (0-9)`,\n },\n });\n return;\n } else {\n this.passwordField.focus();\n this.setState({\n password: {\n value: \"\",\n isError: true,\n errorMessage: `Password is mandatory`,\n },\n });\n return;\n }\n }\n };\n render() {\n const { fundsList, location } = this.props;\n const { fund, reports, report, reportType, password, display } = this.state;\n const { state } = location;\n return (\n
    \n
    Mail back Request for Self-Reports
    \n \n \n
    \n
    \n {/*
    \n
    AMC
    \n \n
    */}\n
    \n
    Select Report*
    \n ({\n label: item.KDM_Repdesc,\n value: item.KDM_Repcode,\n }))}\n value={report.value}\n placeholder=\"Select Report\"\n errorMessage={report.errorMessage}\n maxDate={new Date()}\n disabled={!!state && !!state.value}\n inputRef={(ele) => (this.reportField = ele)}\n isError={report.isError}\n isShowError={report.isError}\n handleChange={this.handleChangeReports}\n />\n
    \n\n
    \n
    Report Type*
    \n (this.reportTypeField = ele)}\n isError={reportType.isError}\n errorMessage={reportType.errorMessage}\n isShowError={reportType.isError}\n placeholder=\"Select Report Type\"\n >\n \n Excel\n \n \n DBF\n \n \n
    \n\n
    \n {\n this.setState({\n showPassword: !this.state.showPassword,\n });\n }}\n value={password.value}\n isShowError={password.isError}\n isShowPasswordError={password.isPasswordError}\n inputRef={(ele) => (this.passwordField = ele)}\n errorMessage={password.errorMessage}\n onBlur={this.gotoblur}\n />\n
    \n\n
    \n
    From Date*
    \n \n this.onDateChange(\"fromDate\", e)}\n // openTo={true}\n disableFuture={true}\n format=\"dd/MM/yyyy\"\n maxDate={new Date()}\n minDate={new Date(2000, 0, 1)}\n // animateYearScrolling={true}\n id=\"mui-pickers-date\"\n value={this.state.fromDate.value}\n />\n {!!this.state.fromDate.errorMessage ? (\n \n {this.state.fromDate.errorMessage}\n
    \n ) : (\n \"\"\n )}\n \n
    \n
    \n
    To Date*
    \n \n this.onDateChange(\"toDate\", e)}\n // openTo={true}\n disabled={!this.state.fromDate.value ? true : false}\n disableFuture={true}\n format=\"dd/MM/yyyy\"\n errorMessage={this.state.toDate.errorMessage}\n maxDate={new Date()}\n minDate={new Date(2000, 0, 1)} // animateYearScrolling={true}\n id=\"mui-pickers-date\"\n value={this.state.toDate.value}\n />\n {!!this.state.toDate.errorMessage ? (\n \n {this.state.toDate.errorMessage}\n
    \n ) : (\n \"\"\n )}\n \n
    \n \n
    \n
    \n \n
    \n \n \n \n );\n }\n}\n\nexport default connect(\n ({ authReducer, transactions }) => {\n const { investorData, userId, token } = authReducer;\n const { fundsList } = transactions;\n return { investorData, userId, token, fundsList };\n },\n {\n getNewPurchaseFundList,\n getInvestorDetails,\n getMailbackList,\n GetDistMailbackRequest,\n }\n)(MailBack);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport {\n getFundsByPan,\n getTransactionHistory,\n RemoveTransactionData,\n} from \"../../../store/actions\";\n\nimport { Paper } from \"@material-ui/core\";\n\nimport { Debtbutton } from \"../../forms/button\";\nimport { NEW_TRANSACTION_URL } from \"../transactions\";\nimport { FormatCurrency } from \"../../home/currencyFormatter\";\n\nimport CustomLoader from \"../../forms/Loader\";\nimport Image from \"../../Image\";\n\nclass HistoryDetail extends Component {\n constructor(props) {\n super(props);\n this.state = {\n transactionList: [],\n showError: false,\n display: false,\n errorText: \"\",\n };\n }\n\n componentDidMount() {\n const { state } = this.props.location;\n const { isKyc } = state;\n if (!!isKyc) {\n this.getFunds();\n } else {\n this.setState({ showError: true });\n }\n }\n\n getFunds = async () => {\n this.props.RemoveTransactionData();\n this.getTransactions(\"102\");\n };\n\n getTransactions = async (fund) => {\n this.setState({ selectedFund: \"102\", display: true });\n window.scrollTo({\n top: 0,\n behavior: \"smooth\",\n });\n const { investorData, userId } = this.props;\n const params = {\n Uid: userId,\n pan: investorData.PAN,\n InvdDistFlag: \"W\",\n Fund: fund,\n };\n const response = await this.props.getTransactionHistory(params);\n if (!response) {\n this.setState({\n errorText: \"No Data Found\",\n });\n }\n this.setState({\n display: false,\n });\n };\n\n render() {\n const { state } = this.props.location;\n const { isKyc } = state;\n const { showError, selectedFund, display } = this.state;\n const { fundsList, transactions, investorData } = this.props;\n\n return (\n <>\n \n {!isKyc && !!showError ? (\n
    \n No Investor PAN found. Please submit Investor PAN\n
    \n ) : (\n \n {!!display ? (\n \n ) : (\n \n \n
    \n List of Transactions\n
    \n {!!transactions && transactions.length > 0 ? (\n
    \n {transactions.map((transaction, index) => (\n \n \n
    \n {transaction.SchemeDesc}\n
    \n {transaction.Status === \"Rejected\" ? (\n \n this.props.history.push(\n NEW_TRANSACTION_URL + \"/transction-types\"\n )\n }\n />\n ) : (\n \n this.props.history.push(\n NEW_TRANSACTION_URL + \"/transction-types\"\n )\n }\n >\n \n New Transaction\n
    \n )}\n \n {/*
    {transaction.TrtypeDesc}
    \n \n Amount -{\" \"}\n \n */}\n
    \n
    \n
    \n Type\n
    \n
    \n {transaction.TrtypeDesc}\n
    \n
    \n
    \n
    \n Ref No\n
    \n
    \n {transaction.td_trno}\n
    \n
    \n
    \n
    \n Amount\n
    \n
    \n \n
    \n
    \n
    \n
    \n Folio\n
    \n
    \n {transaction.td_acno}\n
    \n
    \n
    \n
    \n NAV\n
    \n
    \n {/* */}\n {transaction.td_nav &&\n transaction.td_nav !== \"-\"\n ? `${transaction.td_nav} (₹)`\n : \"-\"}\n
    \n
    \n
    \n
    \n Units\n
    \n
    \n {transaction.td_units}\n
    \n
    \n
    \n
    \n Date\n
    \n
    \n {transaction.td_trdt}\n
    \n
    \n
    \n
    \n Status\n
    \n \n {transaction.Status}\n
    \n
    \n \n
    \n ))}\n {!!transactions && transactions.length > 0 && (\n
    \n Note: For Historic Transaction Report, Please download\n Transaction report from{\" \"}\n \n this.props.history.push({\n pathname: `/mailBackRequest`,\n state: {\n value: {\n KDM_Repcode: \"MFSD201\",\n KDM_Repdesc: \"MFSD201 - Transaction Report\",\n },\n },\n })\n }\n style={{\n textDecoration: \"underline\",\n cursor: \"pointer\",\n }}\n >\n Mailback section\n
    \n \n )}\n \n ) : (\n \n {this.state.errorText}\n \n )}\n \n )}\n
    \n )}\n\n
    \n \n
    \n Transactions(Last 10 Transactions)\n
    \n {transactions.length > 0 ? (\n transactions.map((transaction, index) => (\n \n ))\n ) : (\n \n {\" \"}\n No Data Found\n
    \n )}\n \n \n {!!transactions && transactions.length > 0 && (\n
    \n Note: For Historic Transaction Report, Please download Transaction\n report from{\" \"}\n \n this.props.history.push({\n pathname: `/mailBackRequest`,\n state: {\n value: {\n KDM_Repcode: \"MFSD201\",\n KDM_Repdesc: \"MFSD201 - Transaction Report\",\n },\n },\n })\n }\n style={{ textDecoration: \"underline\", cursor: \"pointer\" }}\n >\n Mailback section\n
    \n \n )}\n \n );\n }\n}\n\nexport default connect(\n ({ authReducer, transactionHistory }) => {\n const { investorData, userId } = authReducer;\n const { fundsList, transactions } = transactionHistory;\n return { investorData, userId, fundsList, transactions };\n },\n { getFundsByPan, getTransactionHistory, RemoveTransactionData }\n)(HistoryDetail);\n\nexport class SingleAmcheader extends Component {\n render() {\n const { invname, PAN } = this.props.investorData;\n return (\n
    \n
    \n
    \n \n
    \n
    \n
    {invname}
    \n
    PAN - {PAN}
    \n
    \n
    \n
    \n );\n }\n}\nexport class InvestorTableCard extends Component {\n render() {\n const {\n Type,\n Ref_No,\n Folio,\n Units,\n Date,\n Status,\n Amount,\n NAV,\n Name,\n Investordata,\n transactions,\n } = this.props;\n return (\n
    \n \n \n {Name}\n
    \n\n
    \n
    \n \n Type\n
    \n \n {!!Type ? Type : \"-\"}\n
    \n \n
    \n \n Amount\n
    \n \n ₹{!!Amount.split(\".\")[0] ? Amount.split(\".\")[0] : \"-\"}\n \n \n \n
    \n
    \n \n Ref No\n
    \n \n {!!Ref_No ? Ref_No : \"-\"}\n
    \n \n
    \n \n Folio\n
    \n \n {!!Folio ? Folio : \"-\"}\n \n \n \n
    \n
    \n \n NAV\n
    \n \n {!!NAV && NAV !== \"-\" ? `₹${NAV}` : \"-\"}\n
    \n \n
    \n \n Units\n
    \n \n {!!Units ? Units : \"-\"}\n \n \n \n
    \n
    \n \n Date\n
    \n \n {!!Date ? Date : \"-\"}\n
    \n \n
    \n \n Status\n
    \n \n {!!Status ? Status : \"-\"}\n \n \n \n
    \n {Status === \"Rejected\" ? (\n \n this.props.history.push(\n NEW_TRANSACTION_URL + \"/transction-types\"\n )\n }\n />\n ) : (\n \n this.props.history.push(\n NEW_TRANSACTION_URL + \"/transction-types\"\n )\n }\n >\n \n New Transaction\n
    \n )}\n \n \n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport { Route, Switch } from \"react-router-dom\";\nimport Investors from \"../investors/InvestorMain\";\nimport HistoryDetail from \"./historyDetail\";\n\nexport default class HistoryRouter extends Component {\n render() {\n const { history, location } = this.props;\n return (\n \n \n \n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport CommonBreadCrumb from \"../breadCrumbs\";\nimport HistoryRouter from \"./historyRouter\";\nexport const HISTORY_URL = `/transaction-history`;\n\nconst breadcrumbNameMap = {\n \"/transaction-history\": {\n title: \"Transaction History\",\n to: HISTORY_URL,\n },\n \"/transaction-history/details\": {\n title: \"Transactions List\",\n to: HISTORY_URL + \"/details\",\n },\n};\n\nexport default class TransactionHistory extends Component {\n render() {\n const { location } = this.props;\n const pathnames = location.pathname.includes(\"/details\")\n ? location.pathname\n .split(\"/\")\n .filter((name) => name)\n .slice(0, 2)\n : location.pathname.split(\"/\").filter((name) => name);\n return (\n
    \n \n \n
    \n );\n }\n}\n","import React, { Component } from \"react\";\nimport Paper from \"@material-ui/core/Paper\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport { connect } from \"react-redux\";\nimport { getInvestorDetails, checkKyc, setNewPAN,userPan,clearingFirstTimeInvestorJourney } from \"../../store/actions\";\nimport { REQ_BY } from \"../../store/types\";\nimport { INVESTOR_URL } from \"./investors\";\nimport { NEW_TRANSACTION_URL } from \"./transactions\";\nimport { MAILBACK_URL } from \"./mailBackRequest\";\nimport { HISTORY_URL } from \"./transactionHistory\";\nimport CustomLoader from \"../forms/Loader\";\nimport Image from \"../Image\";\n\nclass TableData extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isCheckingKyc: false \n };\n }\n componentDidMount() {\n this.props.setNewPAN(\"\");\n }\n goToTransaction = (PAN, name, mailBackName) => async () => {\n await this.props.userPan(PAN);\n await this.props.clearingFirstTimeInvestorJourney();\n const response = await this.getInvestorDetails(PAN);\n if (response) {\n this.props.history.push({\n pathname: NEW_TRANSACTION_URL + \"/transction-types\", state: {\n PAN\n }\n });\n } else {\n const kycResponse = await this.getKycDetails(PAN);\n if (kycResponse) {\n const {\n DtData: [info],\n } = kycResponse;\n if (info.KYCBlock === \"N\") {\n this.props.history.push({\n pathname: NEW_TRANSACTION_URL + \"/transction-types\",\n });\n }\n }\n }\n };\n\n getInvestorDetails = async (pan) => {\n const params = {\n PAN: pan,\n Uid: this.props.userId,\n ReqBy: REQ_BY,\n customfund: \"102\",\n };\n const response = await this.props.getInvestorDetails(params);\n return response;\n };\n\n getKycDetails = async (pan) => {\n this.setState({ isCheckingKyc: true });\n const params = {\n i_pan: pan,\n fund: \"102\",\n userid:this.props.userId,\n };\n const kycResponse = await this.props.checkKyc(params);\n this.setState({ isCheckingKyc: false });\n return kycResponse;\n };\n\n goToMailBack = (PAN, mailBackName, email) => async () => {\n const response = await this.getInvestorDetails(PAN);\n if (response) {\n if (mailBackName === \"mailBackSoa\") {\n this.props.history.push({\n state: {\n email: email\n },\n pathname: MAILBACK_URL + \"/investor/investor-selection/mail-back-soa\",\n });\n } else if (mailBackName === \"ELSS\") {\n this.props.history.push({\n state: {\n email: email\n },\n pathname: MAILBACK_URL + \"/investor/investor-selection/ELSS\",\n });\n } else if (mailBackName === \"CAN\") {\n this.props.history.push({\n state: {\n email: email\n },\n pathname: MAILBACK_URL + \"/investor/investor-selection/CAN\",\n });\n } else if (mailBackName === \"CGS\") {\n this.props.history.push({\n state: {\n email: email\n },\n pathname: MAILBACK_URL + \"/investor/investor-selection/CGS\",\n state: {\n email: email\n }\n });\n } else if (mailBackName === \"GAS\") {\n this.props.history.push({\n state: {\n email: email\n },\n pathname: MAILBACK_URL + \"/investor/investor-selection/GAS\",\n });\n } else if (mailBackName === \"Networth\") {\n this.props.history.push({\n state: {\n email: email\n },\n pathname: MAILBACK_URL + \"/investor/investor-selection/Networth\",\n });\n } else {\n this.props.history.push({\n state: {\n email: email\n },\n pathname:\n MAILBACK_URL +\n \"/investor/investor-selection/consolidated-account-statement\",\n });\n\n // this.props.history.push({\n // state: {\n // email: email\n // },\n // pathname: MAILBACK_URL + \"/investor/investor-selection/CGS\",\n // state: {\n // email: email\n // }\n // });\n }\n } else {\n const kycResponse = await this.getKycDetails(PAN);\n const {\n DtData: [info],\n } = kycResponse;\n if (info.KYCBlock === \"N\") {\n if (mailBackName === \"mailBackSoa\") {\n this.props.history.push({\n state: {\n email: email\n },\n pathname:\n MAILBACK_URL + \"/investor/investor-selection/mail-back-soa\",\n });\n } else if (mailBackName === \"ELSS\") {\n this.props.history.push({\n state: {\n email: email\n },\n pathname: MAILBACK_URL + \"/investor/investor-selection/ELSS\",\n });\n } else if (mailBackName === \"CAN\") {\n this.props.history.push({\n state: {\n email: email\n },\n pathname: MAILBACK_URL + \"/investor/investor-selection/CAN\",\n });\n } else {\n this.props.history.push({\n state: {\n email: email\n },\n pathname:\n MAILBACK_URL +\n \"/investor/investor-selection/consolidated-account-statement\",\n });\n // this.props.history.push({\n // state: {\n // email: email\n // },\n // pathname: MAILBACK_URL + \"/investor/investor-selection/CGS\",\n // state: {\n // email: email\n // }\n // });\n }\n }\n }\n };\n\n goToTransactionHistory = (PAN) => async () => {\n const response = await this.getInvestorDetails(PAN);\n if (response) {\n this.props.history.push({\n pathname: `${HISTORY_URL}/details/${PAN}`,\n state: { isKyc: true },\n });\n } else {\n const kycResponse = await this.getKycDetails(PAN);\n const {\n DtData: [info],\n } = kycResponse;\n if (info.KYCBlock === \"N\") {\n this.props.history.push({\n pathname: `${HISTORY_URL}/details/${PAN}`,\n state: { isKyc: false },\n });\n }\n }\n };\n\n render() {\n const pathname = this.props.location.pathname;\n const { isCheckingKyc } = this.state;\n const { investors, count } = this.props;\n return (\n
    \n \n {count > 0 ? (\n 0 ? true : false} />\n ) : !investors.length ? (\n \n No data Found\n
    \n ) : (\n ((this.props.tran_enable_flag === \"Y\" &&\n investors.length !== this.props.investorsCount) ||\n this.props.tran_enable_flag === \"N\") && (\n \n \n \n \n {investors.map((investor, index) => (\n \n \n \n {pathname.includes(\"/new-transaction\") ||\n pathname.includes(\"/mailBackRequest\") ||\n pathname.includes(\"/transaction-history\") ? (\n \n {investor.Name}\n \n ) : (\n \n this.props.history.push(\n `${INVESTOR_URL}/details/${investor.Pan}`\n )\n }\n style={{\n borderBottom: \"2px solid #80bce3\",\n paddingBottom: 3,\n fontFamily: \"HelveticaNeue-Regular\",\n }}\n >\n {investor.Name}\n \n )}\n \n \n \n \n KYC\n \n FATCA\n \n \n \n \n {investor.Mobile}\n \n \n PAN : {investor.Pan}\n \n\n \n \n {pathname.includes(\"/investors\") ||\n pathname.includes(\"/transaction-history\") ? (\n \n {pathname.includes(\"/investors\") && (\n \n )}\n {pathname.includes(\"/investors\")\n ? \"New Transaction\"\n : \"View Transactions\"}\n \n ) : (\n \n Select\n \n )}\n \n \n \n ))}\n \n
    \n \n
    \n {investors.map((investor, index) => (\n \n
    \n \n \n {pathname.includes(\"/new-transaction\") ||\n pathname.includes(\"/mailBackRequest\") ||\n pathname.includes(\"/transaction-history\") ? (\n {investor.Name}\n ) : (\n \n this.props.history.push(\n `${INVESTOR_URL}/details/${investor.Pan}`\n )\n }\n style={{\n borderBottom: \"2px solid #80bce3\",\n paddingBottom: 3,\n }}\n >\n {investor.Name}\n \n )}\n
    \n \n \n {pathname.includes(\"/investors\") ||\n pathname.includes(\"/transaction-history\") ? (\n \n {pathname.includes(\"/investors\") && (\n \n )}\n {pathname.includes(\"/investors\")\n ? \"New Transaction\"\n : \"View Transactions\"}\n \n ) : (\n \n Select\n \n )}\n
    \n \n \n \n \n \n \n KYC\n \n FATCA\n \n \n \n
    \n \n {investor.Mobile}\n
    \n \n \n PAN:\n {investor.Pan}\n \n \n \n ))}\n \n
    \n )\n )}\n \n );\n }\n}\n\nexport default connect(\n ({ investor, authReducer, loading }) => {\n const { userId, token, tran_enable_flag } = authReducer;\n const { investors, loaderDisplay, count: investorsCount } = investor;\n const { count } = loading;\n return {\n investors,\n userId,\n token,\n loaderDisplay,\n count,\n tran_enable_flag,\n investorsCount,\n };\n },\n { getInvestorDetails, checkKyc, setNewPAN,userPan,clearingFirstTimeInvestorJourney }\n)(TableData);\n","import React, { Component } from \"react\";\nimport Search from \"../searchComponent\";\nimport { ALL, FAVOURITE, RECENT } from \"../../../store/types\";\nimport TableData from \"../tableData\";\nimport { connect } from \"react-redux\";\nimport { getInvestors, storeType } from \"../../../store/actions\";\nimport TabHeader from \"../../forms/tabHeader\";\n\nclass InvestorData extends Component {\n constructor(props) {\n super(props);\n this.state = {\n activeTab: 'M',\n activeText: \"All\",\n };\n }\n\n async componentDidMount() {\n const response = await this.props.getInvestors({\n ARN: this.props.token,\n AllFavFlag: \"A\",\n customfund:\"102\",\n \n });\n }\n\n selectTab = (tabName) => async () => {\n this.props.storeType(tabName);\n console.log(tabName);\n this.setState({\n activeTab: tabName ,\n activeText:\n tabName === \"M\" ? \"All\" : tabName === RECENT ? \"Recent\" : \"Favourite\",\n });\n\n await this.props.getInvestors({\n ARN: this.props.token,\n AllFavFlag: tabName===\"M\"?\"A\":tabName,\n customfund:\"102\"\n });\n };\n\n render() {\n const { activeTab } = this.state;\n return (\n
    \n \n \n \n \n \n \n
    \n
    \n \n {this.state.activeText} : {this.props.count} Investors\n
    \n \n \n \n \n );\n }\n}\n\nexport default connect(\n ({ authReducer, investor }) => {\n const { token } = authReducer;\n const { count } = investor;\n return { token, count };\n },\n { getInvestors, storeType }\n)(InvestorData);\n","import React, { Component } from \"react\";\nimport InvestorData from \"./investorData\";\nexport default class Investor extends Component {\n render() {\n return (\n
    \n
    Transact
    \n \n
    \n );\n }\n}\n","import React, { Component } from \"react\";\nimport TabHeader from \"../../forms/tabHeader\";\nimport { INVESTMENTS, UPCOMING_SIP } from \"../../../store/types\";\n\nexport default class InvestmentTab extends Component {\n render() {\n return (\n \n \n \n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { INVESTMENTS } from \"../../../store/types\";\n\nimport { FormatCurrency } from \"../../home/currencyFormatter\";\nimport Image from \"../../Image\";\n\nclass Investments extends Component {\n render() {\n const { investments, upComingSipDetails } = this.props;\n return (\n
    \n
    \n {this.props.active === INVESTMENTS &&\n investments.length > 0 &&\n investments.slice(0, this.props.count).map((investment, index) => (\n \n
    \n {investment.SchDesc} - {investment.plndesc}\n
    \n
    \n
    \n
    Cost Value
    \n
    \n \n {!!investment.CostValue\n ? `.${investment.CostValue.split(\".\")[1]}`\n : `.00`}\n {/* */}\n
    \n
    \n
    \n
    \n Current Value\n
    \n
    \n \n {!!investment.CurrentValue\n ? `.${investment.CurrentValue.split(\".\")[1]}`\n : `.00`}\n
    \n
    \n
    \n
    \n Absolute Returns\n
    \n
    \n {investment.GainPercent}{\" \"}\n \n
    \n
    \n
    \n
    \n ))}\n
    \n {this.props.active !== INVESTMENTS && !!upComingSipDetails.length\n ? upComingSipDetails\n .slice(0, this.props.count)\n .map((sip, index) => (\n \n
    \n \n
    \n Fund Name\n
    \n
    \n {`${sip.schname}-${sip.plnname}`}\n
    \n
    \n \n
    \n Folio Number\n
    \n
    \n {sip.accno}\n
    \n
    \n\n \n
    \n Sip Date\n
    \n
    \n {sip.sipdt}\n
    \n
    \n\n \n
    \n Sip Start Date\n
    \n
    \n {sip.sipstartdt}\n
    \n
    \n\n \n
    \n Sip End Date\n
    \n
    \n {sip.sipenddt}\n
    \n \n \n
    \n Sip Amount\n
    \n
    \n {!!sip.amt ? sip.amt : 0}\n
    \n \n\n \n
    \n Status\n
    \n
    \n {sip.Status}\n
    \n \n \n \n ))\n : this.props.active !== INVESTMENTS && (\n \n No Upcoming SIPs\n \n )}\n \n
    \n {this.props.active !== INVESTMENTS &&\n !!upComingSipDetails.length ? (\n upComingSipDetails\n .slice(0, this.props.count)\n .map((sip, index) => (\n \n ))\n ) : (\n
    \n )}\n
    \n \n \n );\n }\n}\n\nexport default connect(({ investor }) => {\n const { investments, upComingSipDetails } = investor;\n return { investments, upComingSipDetails };\n})(Investments);\nexport class InvestorTableCard extends Component {\n render() {\n const {\n Fund_Name,\n Sip_Amount,\n Sip_End_Date,\n Sip_Start_Date,\n Sip_Date,\n Folio_Number,\n Sip_Status,\n } = this.props;\n return (\n \n \n {Fund_Name}\n \n\n
    \n
    \n
    Folio Number
    \n \n {Folio_Number}\n
    \n
    \n
    \n
    Sip Date
    \n \n {Sip_Date}\n
    \n \n \n
    \n
    \n
    Sip Start Date
    \n \n {Sip_Start_Date}\n
    \n
    \n
    \n
    Sip End Date
    \n \n {Sip_End_Date}\n
    \n \n \n
    \n
    \n
    Sip Amount
    \n \n {Sip_Amount}\n
    \n
    \n
    \n
    Sip Status
    \n \n {Sip_Status}\n
    \n \n \n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { connect } from \"react-redux\";\nimport { differenceInYears, format } from \"date-fns\";\nimport { FormatCurrency } from \"../../home/currencyFormatter\";\nimport CustomLoading from \"../CustomLoader\";\nimport {\n getInvestorDetails,\n favouriteInvestor,\n updateFavouriteInvestor,\n getUpComingSips,\n getInvestors,\n} from \"../../../store/actions\";\nimport { YES, TRUE, FALSE, INVESTMENTS, REQ_BY } from \"../../../store/types\";\nimport InvestmentTab from \"./investmentsTab\";\nimport Investments from \"./investments\";\nimport PieDiagram from \"../../home/dashboard/piechart\";\n\nimport CustomLoader from \"../../forms/Loader\";\nimport Image from \"../../Image\";\nclass InvestorDetails extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n isLoading: true,\n noData: false,\n count: 3,\n active: INVESTMENTS,\n };\n }\n\n async componentDidMount() {\n let { params } = this.props.match;\n const happy = await this.props.getInvestors({\n ARN: this.props.token,\n customfund: \"102\",\n AllFavFlag: \"A\",\n });\n\n params = {\n ...params,\n Uid: this.props.userId,\n ReqBy: REQ_BY,\n customfund: \"102\",\n };\n const response = await this.props.getInvestorDetails(params);\n if (response) {\n this.setState({ isLoading: false });\n } else {\n this.setState({ isLoading: false, noData: true });\n }\n\n if (this.props.investorData) {\n const Params = {\n Pan: this.props.investorData.PAN,\n YearFlag: new Date().getFullYear(),\n };\n await this.props.getUpComingSips(Params);\n }\n }\n\n favourite = async () => {\n let { fav, PAN: InvPan, invname: Name } = this.props.investorData;\n const FavFlag = fav === TRUE ? FALSE : TRUE;\n const params = { InvPan, FavFlag, Name, AgentCode: this.props.token };\n const response = await this.props.favouriteInvestor(params);\n if (response) {\n this.props.updateFavouriteInvestor({ InvPan, FavFlag });\n } else if (!response) {\n this.setState({\n errorMessage: \"Already this pan ID member is added as a Favorite\",\n });\n }\n };\n\n changeActive = (active) => () => {\n this.setState({ active });\n };\n\n render() {\n const {\n investorData,\n communicationDetails = [],\n pieData,\n investments,\n upComingSipDetails,\n } = this.props;\n const detailsEmail = communicationDetails.find(\n (detail) => detail.PAN === investorData.PAN && !!detail.email\n );\n const detailsMobile = communicationDetails.find(\n (detail) => detail.PAN === investorData.PAN && !!detail.Mobile\n );\n\n const fatca = this.props.investors.find(\n (ele) =>\n !!investorData && !!investorData.PAN && ele.Pan === investorData.PAN\n );\n\n const { isLoading, noData } = this.state;\n return (\n
    \n {!isLoading ? (\n \n {!noData ? (\n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n {investorData.invname}\n
    \n
    \n
    \n PAN : {investorData.PAN}\n
    \n
    \n
    \n
    \n \n \n KYC\n \n \n \n FATCA\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n {!!detailsEmail && detailsEmail.email\n ? detailsEmail.email\n : \"\"}\n
    \n\n \n
    \n {!!detailsMobile && !!detailsMobile.Mobile\n ? detailsMobile.Mobile\n : \"\"}\n
    \n
    \n
    \n
    \n
    \n \n \n
    \n Favourite\n
    \n
    \n
    \n\n {!!this.state.errorMessage ? (\n \n {this.state.errorMessage}\n
    \n ) : (\n \"\"\n )}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n Cost Value\n
    \n
    \n {/* */}\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n AUM\n
    \n
    \n ₹{\" \"}\n {!!this.props.investorTotal &&\n !!this.props.investorTotal.CurrentValue\n ? this.props.investorTotal.CurrentValue\n : \"--NA--\"}\n
    \n
    \n
    \n
    \n Overall Appr\n
    \n
    \n {/* */}\n \n
    \n
    \n\n
    \n
    \n Today's Appr\n
    \n
    \n
    \n {!!this.props.investorTotal &&\n !!this.props.investorTotal.todaygain\n ? this.props.investorTotal.todaygain\n : \"--NA--\"}\n
    \n
    \n
    \n
    \n
    \n
    \n \n this.props.history.push({\n pathname: \"/new-transaction/transction-types\",\n state: {\n investorData: investorData,\n },\n })\n }\n style={{\n display:\n !!investorData &&\n !!investorData.PAN &&\n investorData.PAN.charAt(3).toUpperCase() === \"P\"\n ? \"flex\"\n : \"none\",\n justifyContent: \"center\",\n }}\n >\n Initiate Investment\n \n \n this.props.history.push({\n pathname: \"/mailBackRequest/investor\",\n state: {\n investorData: investorData,\n },\n })\n }\n >\n Send Reports\n \n
    \n
    \n
    \n \n \n \n
    \n {this.state.active === INVESTMENTS ? (\n
    \n \n {investments.length > 3 && (\n \n {this.state.count === 3 ? (\n \n this.setState({\n count: investments.length,\n })\n }\n >\n See more\n \n
    \n ) : (\n this.setState({ count: 3 })}\n >\n See Less\n \n
    \n )}\n \n )}\n {/*
    Note:Regarding Absolute Returns
    */}\n \n ) : (\n
    \n \n {upComingSipDetails.length > 3 && (\n \n {this.state.count === 3 ? (\n \n this.setState({\n count: upComingSipDetails.length,\n })\n }\n >\n See more\n \n
    \n ) : (\n this.setState({ count: 3 })}\n >\n See Less\n \n \n )}\n \n )}\n \n )}\n\n {this.state.active === INVESTMENTS ? (\n
    \n
    \n
    \n FUND ALLOCATION\n
    \n\n \n
    \n
    \n ) : (\n \"\"\n )}\n \n
    \n \n \n ) : (\n
    No Investor PAN found. Please submit investor PAN.
    \n )}\n \n ) : (\n \n )}\n \n );\n }\n}\n\nexport default connect(\n ({ authReducer, investor, loading }) => {\n const { userId, token, communicationDetails, investorData } = authReducer;\n const {\n fundAllocation,\n pieData,\n investments,\n investors,\n investorTotal,\n upComingSipDetails,\n } = investor;\n const { count } = loading;\n return {\n userId,\n investorData,\n fundAllocation,\n pieData,\n communicationDetails,\n token,\n investors,\n investorTotal,\n investments,\n upComingSipDetails,\n count,\n };\n },\n {\n getInvestorDetails,\n favouriteInvestor,\n updateFavouriteInvestor,\n getUpComingSips,\n getInvestors,\n }\n)(InvestorDetails);\n","import React, { Component } from \"react\";\nimport { Route, Switch } from \"react-router-dom\";\nimport Investors from \"./InvestorMain\";\nimport InvestorDetails from \"./InvestorDetails\";\n\nexport default class InvestorRouter extends Component {\n render() {\n const { history, location } = this.props;\n return (\n \n \n \n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport CommonBreadCrumb from \"../breadCrumbs\";\nimport InvestorRouter from \"./InvestorRoutes\";\n\nexport const INVESTOR_URL = `/investors`;\n\nconst breadcrumbNameMap = {\n \"/investors\": { title: \"Investors\", to: INVESTOR_URL },\n \"/investors/details\": {\n title: \"Investor Details\",\n to: `${INVESTOR_URL}/details`,\n },\n};\n\nexport default class InvestorComponent extends Component {\n render() {\n const { location } = this.props;\n const pathnames = location.pathname\n .split(\"/\")\n .filter((name) => name)\n .slice(0, 2);\n return (\n
    \n \n \n
    \n );\n }\n}\n","import React, { Component } from \"react\";\nimport {\n EXPIRING_NEXT_MONTH,\n CLOSED_THIS_MONTH,\n SIP_INVESTMENTS,\n CWS,\n CWOS,\n} from \"../../../store/types\";\nimport { REQ_BY } from \"../../../store/types/index\";\nimport { connect } from \"react-redux\";\nimport SipSummaryMainTabs from \"./sipMainTabs\";\nimport { getSipSummary } from \"../../../store/actions/dashboard\";\nimport moment from \"moment\";\nimport { Debtbutton, DebtbuttonActive } from \"../../forms/button\";\nimport { NEW_TRANSACTION_URL } from \"../searchComponent\";\nimport { getInvestorDetails, checkKyc } from \"../../../store/actions/investors\";\nimport CustomLoading from \"../CustomLoader\";\nimport { INVESTOR_URL } from \"../investors\";\n\nclass SipSummaryTabContainer extends Component {\n constructor(props) {\n super(props);\n const { active } = this.props.location.state;\n this.state = {\n active: active || EXPIRING_NEXT_MONTH,\n tableData: [],\n Investmentsbutton: CWS,\n };\n }\n\n async componentDidMount() {\n // const sipParams = {\n // Uid: this.props.userId,\n // AgentCode: this.props.token,\n // DateVal: moment(new Date()).format(\"MM-DD-YYYY\"),\n // };\n // await this.props.getSipSummary(sipParams);\n this.setTableData(this.state.active, this.state.Investmentsbutton);\n }\n\n getKycDetails = async (pan) => {\n const params = {\n i_pan: pan,\n fund: \"102\",\n userid: this.props.userId,\n };\n const kycResponse = await this.props.checkKyc(params);\n return kycResponse;\n };\n getInvestorDetails = async (pan) => {\n const params = { PAN: pan, Uid: this.props.userId, ReqBy: REQ_BY,customfund:\"102\" };\n const response = await this.props.getInvestorDetails(params);\n return response;\n };\n\n setTableData = (active, button) => {\n if (\n active === EXPIRING_NEXT_MONTH &&\n !!this.props.sipSummaryData &&\n !!this.props.sipSummaryData.Table9 &&\n this.props.sipSummaryData.Table9.length > 0\n ) {\n this.setState({\n tableData: this.props.sipSummaryData.Table9,\n });\n } else if (\n active === CLOSED_THIS_MONTH &&\n !!this.props.sipSummaryData &&\n !!this.props.sipSummaryData.Table10 &&\n this.props.sipSummaryData.Table10.length > 0\n ) {\n this.setState({\n tableData: this.props.sipSummaryData.Table10,\n });\n } else if (\n active === SIP_INVESTMENTS &&\n !!this.props.sipSummaryData &&\n button === CWOS &&\n !!this.props.sipSummaryData.Table8 &&\n this.props.sipSummaryData.Table8.length > 0\n ) {\n this.setState({\n tableData: this.props.sipSummaryData.Table8,\n });\n } else if (\n active === SIP_INVESTMENTS &&\n !!this.props.sipSummaryData &&\n button === CWS &&\n !!this.props.sipSummaryData.Table7 &&\n this.props.sipSummaryData.Table7.length > 0\n ) {\n this.setState({\n tableData: this.props.sipSummaryData.Table7,\n });\n } else {\n this.setState({\n tableData: [],\n });\n }\n };\n\n onChangeActive = (active) => () => {\n this.setState({\n active,\n });\n this.setTableData(active, CWS);\n // this.props.getTransactionData({ transflag: active, Arn: this.props.token });\n };\n changeDateOn = (value) => () => {\n this.setState({\n Investmentsbutton: value,\n });\n this.setTableData(SIP_INVESTMENTS, value);\n };\n\n goToTransaction = (PAN, name, mailBackName) => async () => {\n const response = await this.getInvestorDetails(PAN);\n\n if (response) {\n this.props.history.push({\n pathname: NEW_TRANSACTION_URL + \"/transction-types\",\n });\n } else {\n const kycResponse = await this.getKycDetails(PAN);\n if (kycResponse) {\n const {\n DtData: [info],\n } = kycResponse;\n if (info.KYCBlock === \"N\") {\n this.props.history.push({\n pathname: NEW_TRANSACTION_URL + \"/transction-types\",\n });\n }\n }\n }\n };\n\n render() {\n const { tableData, Investmentsbutton } = this.state;\n return (\n
    \n \n {this.state.active === SIP_INVESTMENTS && (\n
    \n \n \n
    \n )}\n {!!tableData && tableData.length > 0 ? (\n tableData.map((ele, index) => (\n \n \n
    \n {ele.invname}\n
    \n \n \n \n this.props.history.push(\n `${INVESTOR_URL}/details/${ele.pan}`\n )\n }\n />\n
    \n \n \n {ele.funddesc}\n \n {this.state.active !== SIP_INVESTMENTS && (\n
    Folio - {ele.acno}
    \n )}\n
    \n
    \n
    Email
    \n
    \n {ele.email}\n
    \n
    \n {this.state.Investmentsbutton === CWS ? (\n
    \n
    Start Date
    \n
    \n {/* */}\n {ele.StartDate}\n
    \n
    \n ) : (\n
    \n
    PAN
    \n
    \n {/* */}\n {ele.pan}\n
    \n
    \n )}\n {this.state.Investmentsbutton === CWS && (\n
    \n
    EndDate
    \n
    \n {ele.EndDate}\n
    \n
    \n )}\n
    \n
    Mobile Number
    \n
    \n {ele.mobile}\n
    \n
    \n
    \n \n ))\n ) : tableData.length === 0 ? (\n \n No Data Found\n \n ) : (\n \n loading please wait...\n \n )}\n \n );\n }\n}\n\nexport default connect(\n ({ authReducer, dashboard, loading }) => {\n const { token, userId } = authReducer;\n const { count } = loading;\n const { sipSummaryData } = dashboard;\n return { token, sipSummaryData, userId };\n },\n { getSipSummary, getInvestorDetails, checkKyc }\n)(SipSummaryTabContainer);\n","import React, { Component } from \"react\";\nimport { Route, Switch } from \"react-router-dom\";\nimport Dashboard from \"./dashboardmain\";\nimport TabContainer from \"./tabs\";\nimport ListOfInvestorsTabs from \"./listofInvestorTabs\";\nimport SipSummaryTabContainer from \"./SipSummaryTabContainer\";\nimport ReinitiateConfirm from \"../transactions/ReinitiateConfirm\";\n\nexport default class DashboardRouter extends Component {\n render() {\n const { history, location } = this.props;\n return (\n \n \n \n \n \n\n \n {/* \n \n */}\n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport CommonBreadCrumb from \"../breadCrumbs\";\nimport DashboardRouter from \"./dashboardroutes\";\n\nexport const DASHBOARD_URL = `/dashboard`;\n\nconst breadcrumbNameMap = {\n \"/dashboard\": { title: \"Dashboard\", to: DASHBOARD_URL },\n \"/dashboard/transaction-summary\": {\n title: \"Transaction Summary\",\n to: `${DASHBOARD_URL}/transaction-summary`,\n },\n \"/dashboard/investorType\": {\n title: \"Investor Types\",\n to: `${DASHBOARD_URL}/investorType`,\n },\n \"/dashboard/SipSummaryTypes\": {\n title: \"SIP Summary Types\",\n to: `${DASHBOARD_URL}/SipSummaryTypes`,\n },\n // \"/dashboard/nfo-funds\": {\n // title: \"NFO Funds\",\n // to: `${DASHBOARD_URL}/nfo-funds`,\n // },\n // \"/dashboard/nfo-funds/nfo-transact\": {\n // title: \"NFO Fund Transact\",\n // to: `${DASHBOARD_URL}/nfo-funds/nfo-transact`,\n // },\n \"/dashboard/re-initiate-transaction\": {\n title: \"Reinitiate\",\n to: `${DASHBOARD_URL}/re-initiate-transaction`,\n },\n};\n\nexport default class DashboardComponent extends Component {\n render() {\n const { location } = this.props;\n const pathnames = location.pathname.split(\"/\").filter((name) => name);\n return (\n
    \n \n \n
    \n );\n }\n}\n","import React, { Component } from \"react\";\nimport Paper from \"@material-ui/core/Paper\";\nimport Image from \"../../Image\";\n\nexport default class Amc extends Component {\n render() {\n return (\n
    \n
    AMCs
    \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n
    \n \n );\n }\n}\n\nexport class AMCS extends Component {\n render() {\n return (\n \n \n
    {this.props.name}
    \n
    {this.props.aum}
    \n \n );\n }\n}\n","import React, { Component } from \"react\";\n\nexport default class Social extends Component {\n render() {\n return
    Social
    ;\n }\n}\n","import React, { Component } from \"react\";\nimport { DebtbuttonNowidth } from \"../../forms/button\";\nimport { Input } from \"../../forms/input\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { connect } from \"react-redux\";\nimport { PasswordDialog } from \"../customModal\";\nimport { getProfileData, resetPassword } from \"../../../store/actions/profile\";\nimport { lastLoginIcon } from \"../../../store/types/appEssentials\";\nimport Image from \"../../Image\";\n\nclass Settings extends Component {\n constructor(props) {\n super(props);\n this.state = {\n openPasswordModal: false,\n };\n }\n PasswordModal() {\n this.setState({\n openPasswordModal: true,\n });\n }\n closeModal() {\n this.setState({\n openPasswordModal: false,\n });\n }\n\n componentDidMount() {\n this.props.getProfileData({\n Agent: this.props.token,\n UserId: this.props.userId,\n });\n }\n render() {\n const { profileData, reviewList, token } = this.props;\n const {\n Distributor_Name = \"\",\n City = \"\",\n MobileNo = \"\",\n PAN = \"\",\n Email = \"\",\n } = profileData;\n\n return (\n
    \n \n
    Profile Settings
    \n this.PasswordModal()}\n />\n
    \n this.closeModal()}\n history={this.props.history}\n />\n \n
    \n
    \n \n
    \n\n
    \n \n
    \n\n
    \n \n
    \n\n
    \n \n
    \n\n
    \n \n
    \n\n
    \n \n
    \n
    \n
    \n
    Review
    \n
    \n \n Year\n
    \n \n Self Declaration Status\n
    \n \n {reviewList.slice(0, 9).map((item, index) => (\n \n \n {index !== reviewList.length - 1 && index < 8 && }\n \n ))}\n \n
    \n \n );\n }\n}\n\nexport class SubmitList extends Component {\n render() {\n const { fromYear, toYear, confirmation } = this.props;\n return (\n
    \n
    \n
    \n \n
    \n
    \n {fromYear} - {toYear}\n
    \n
    \n\n
    \n \n\n \n {confirmation}\n
    \n
    \n \n );\n }\n}\n\nexport class BlueLine extends Component {\n render() {\n return (\n \n );\n }\n}\n\nconst MapStatetoProps = ({ authReducer, profileReducer }) => {\n const { token, userId } = authReducer;\n const { profileData, reviewList } = profileReducer;\n return { token, userId, profileData, reviewList };\n};\n\nexport default connect(MapStatetoProps, { getProfileData, resetPassword })(\n Settings\n);\n","import React, { Component } from \"react\";\nimport Paper from \"@material-ui/core/Paper\";\n// import mailBackSoa from \"./mailBackSoa\";\nimport { MAILBACK_URL } from \".\";\n\nimport {\n MailBackSoaIcon,\n CASIcon,\n ELSSIcon,\n CGSIcon,\n GASIcon,\n networthIcon,\n mailbackRightarrow,\n} from \"../../../store/types/appEssentials\";\nimport Image from \"../../Image\";\n\nexport default class MailBackInvestor extends Component {\n async componentDidMount() {\n window.scrollTo({\n top: 0,\n behavior: \"smooth\",\n });\n }\n\n render() {\n return (\n
    \n
    Mailback Requests - Investor
    \n
    \n \n this.props.history.push({\n pathname:\n this.props.location.state &&\n this.props.location.state.investorData\n ? MAILBACK_URL +\n \"/investor/investor-selection/mail-back-soa\"\n : MAILBACK_URL + \"/investor/investor-selection\",\n\n state:\n this.props.location.state &&\n this.props.location.state.investorData\n ? {\n name: \"mailBackSoa\",\n investorData: this.props.location.state.investorData,\n }\n : { name: \"mailBackSoa\" },\n })\n }\n />\n {/* \n this.props.history.push({\n pathname:\n this.props.location.state &&\n this.props.location.state.investorData\n ? MAILBACK_URL +\n \"/investor/investor-selection/consolidated-account-statement\"\n : MAILBACK_URL + \"/investor/investor-selection\",\n state:\n this.props.location.state &&\n this.props.location.state.investorData\n ? {\n name: \"consolidated\",\n investorData: this.props.location.state.investorData,\n }\n : {\n name: \"consolidated\",\n },\n })\n }\n /> */}\n \n this.props.history.push({\n pathname:\n this.props.location.state &&\n this.props.location.state.investorData\n ? MAILBACK_URL + \"/investor/investor-selection/ELSS\"\n : MAILBACK_URL + \"/investor/investor-selection\",\n state:\n this.props.location.state &&\n this.props.location.state.investorData\n ? {\n name: \"ELSS\",\n investorData: this.props.location.state.investorData,\n }\n : {\n name: \"ELSS\",\n },\n })\n }\n />\n {/* \n this.props.history.push({\n pathname:\n this.props.location.state &&\n this.props.location.state.investorData\n ? MAILBACK_URL + \"/investor/investor-selection/CAN\"\n : MAILBACK_URL + \"/investor/investor-selection\",\n state:\n this.props.location.state &&\n this.props.location.state.investorData\n ? {\n name: \"CAN\",\n investorData: this.props.location.state.investorData,\n }\n : {\n name: \"CAN\",\n },\n })\n }\n /> */}\n \n this.props.history.push({\n pathname:\n this.props.location.state &&\n this.props.location.state.investorData\n ? MAILBACK_URL + \"/investor/investor-selection/CGS\"\n : MAILBACK_URL + \"/investor/investor-selection\",\n state:\n this.props.location.state &&\n this.props.location.state.investorData\n ? {\n name: \"CGS\",\n investorData: this.props.location.state.investorData,\n }\n : {\n name: \"CGS\",\n },\n })\n }\n />\n \n this.props.history.push({\n pathname:\n this.props.location.state &&\n this.props.location.state.investorData\n ? MAILBACK_URL + \"/investor/investor-selection/GAS\"\n : MAILBACK_URL + \"/investor/investor-selection\",\n state:\n this.props.location.state &&\n this.props.location.state.investorData\n ? {\n name: \"GAS\",\n investorData: this.props.location.state.investorData,\n }\n : {\n name: \"GAS\",\n },\n })\n }\n />\n\n {/* \n this.props.history.push({\n pathname:\n this.props.location.state &&\n this.props.location.state.investorData\n ? MAILBACK_URL + \"/investor/investor-selection/GAS\"\n : MAILBACK_URL + \"/investor/investor-selection\",\n state:\n this.props.location.state &&\n this.props.location.state.investorData\n ? {\n name: \"Networth\",\n investorData: this.props.location.state.investorData,\n }\n : {\n name: \"Networth\",\n },\n })\n }\n /> */}\n
    \n
    \n );\n }\n}\n\nexport class RequestModes extends Component {\n render() {\n return (\n \n
    \n \n
    \n
    \n
    a
    \n
    \n {this.props.name}\n
    \n \n \n
    \n \n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport TableData from \"../tableData\";\nimport Breadcrumbs from \"@material-ui/core/Breadcrumbs\";\nimport NavigateNextIcon from \"@material-ui/icons/NavigateNext\";\nimport Search from \"../searchComponent\";\nimport { ALL } from \"../../../store/types\";\nimport { connect } from \"react-redux\";\nimport { getInvestors } from \"../../../store/actions\";\nimport { MAILBACK_URL } from \".\";\nimport Image from \"../../Image\";\n\nclass InvestorSelection extends Component {\n componentDidMount() {\n this.props.getInvestors({\n ARN: this.props.token,\n customfund: \"102\",\n AllFavFlag: \"A\",\n });\n }\n\n render() {\n return (\n
    \n
    \n }\n aria-label=\"Breadcrumb\"\n >\n
    \n \n \n this.props.history.push(MAILBACK_URL + \"/investor\")\n }\n className=\"breadcrumbs-unselect-label\"\n >\n Mailback Types\n {/* {!!this.props.location &&\n this.props.location.state.name === \"consolidated\"\n ? \"Consolidated Account Statement\"\n : this.props.location.state.name === \"ELSS\"\n ? \"ELSS Account Statment\"\n : this.props.location.state.name === \"CAN\"\n ? \"CAN Based Account Statment\"\n : this.props.location.state.name === \"CGS\"\n ? \"Capital Gains Statment\"\n : this.props.location.state.name === \"GAS\"\n ? \"Grandfathering Account Statment\"\n : this.props.location.state.name === \"Networth\"\n ? \"Networth Report\"\n : \"Mail back Types\"} */}\n
    \n {/* this.props.history.push(MAILBACK_URL)}\n >\n Mail Back Request\n
    */}\n
    \n\n
    Investors Selection
    \n \n \n \n \n \n );\n }\n}\n\nexport default connect(\n ({ authReducer }) => {\n const { token } = authReducer;\n return { token };\n },\n { getInvestors }\n)(InvestorSelection);\n","import React, { Component } from \"react\";\n\nexport default class SubmitRequest extends Component {\n render() {\n return
    sumbit process
    ;\n }\n}\n","export const ASON = \"ASON\";\nexport const BETWEEN = \"BETWEEN\";\nexport const SINGLESOA = \"SINGLESSOA\";\nexport const MULTISOA = \"MULTISOA\";\nexport const SUMMARY = \"SUMMARY\";\nexport const DETAILED = \"DETAILED\";\nexport const CURRENTFINANCIALYEAR = \"CURRENTFINANCIALYEAR\";\nexport const PREVIOUSFINANCIALYEAR = \"PREVIOUSFINANCIALYEAR\";\nexport const SPECIFICPERIOD = \"SPECIFICPERIOD\";\n\n","import React, { Component } from \"react\";\nimport { List } from \"../transactions/nfoAndNewPurchase\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { connect } from \"react-redux\";\nimport Signbutton, { Debtbutton } from \"../../forms/button\";\nimport { Input } from \"../../forms/input\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport DateFnsUtils from \"@date-io/date-fns\";\nimport CustomizedDialogs from \"../../home/customModal\";\nimport IntegrationReactSelect from \"../../forms/autoCompleteInput\";\nimport {\n MuiPickersUtilsProvider,\n KeyboardDatePicker,\n} from \"@material-ui/pickers\";\nimport {\n ASON,\n BETWEEN,\n SINGLESOA,\n MULTISOA,\n} from \"../../../store/types/mailBack\";\nimport {\n GET_FUNDS_LIST,\n GET_FUNDS_LIST_SUCCESS,\n GET_FUNDS_LIST_FAILED,\n ALL,\n} from \"../../../store/types\";\nimport {\n getInvestorDetails,\n getNewPurchaseFundList,\n} from \"../../../store/actions\";\nimport {\n getDistFoliobyPan,\n getMailbackSoaStatus,\n // getNewPurchaseFundList\n} from \"../../../store/actions/mailback\";\nimport {\n Select,\n Checkbox,\n ListItemText,\n Input as MaterialInput,\n} from \"@material-ui/core\";\nimport { DASHBOARD_URL } from \"../dashboard\";\nimport { BajajFund } from \"../nav\";\nimport { MailBackBreadCrumb } from \"./mailBack\";\nimport { consolidationFolios } from \"../../../store/actions/nct\";\nclass MailBackSoa extends Component {\n constructor(props) {\n super(props);\n this.state = {\n names: [\"sai\", \"anil\", \"ravi\"],\n selectedNames: [],\n asDate: { value: null, error: false },\n DateON: ASON,\n fromDate: { value: null, error: false, errorMessage: \"\" },\n toDate: { value: null, error: false, errorMessage: \"\" },\n funds: [],\n fund: { value: \"\" },\n folios: [],\n selectednamevaluecheck: \"\",\n folio: { value: \"\" },\n soaValue: SINGLESOA,\n ConfirmSelfPassword: { value: \"\" },\n selfPassword: { value: \"\" },\n open: false,\n showPassword: false,\n confirmShowPassword: false,\n };\n }\n\n async componentDidMount() {\n const params = {\n PAN: this.props.investorData.PAN,\n Fund: \"102\",\n customfund: \"102\",\n Agent: this.props.token,\n };\n const response = await this.props.getDistFoliobyPan(params);\n if (response) {\n this.setState({\n folios: response.DtData.reduce((prev, curr) => {\n const alreadyExist = prev.find((item) => item === curr.acno);\n if (alreadyExist) {\n return prev;\n }\n return [...prev, curr.acno];\n }, []),\n });\n }\n }\n changeDateOn = (event) => () => {\n this.setState({\n DateON: event,\n selfPassword: { value: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n fund: { value: \"\" },\n selectedNames: [],\n });\n };\n changeSoaValue = (event) => () => {\n this.setState({\n soaValue: event,\n selfPassword: { value: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n });\n };\n\n handlechange = (event) => {\n const { selectedNames } = this.state;\n const { value } = event.target;\n if (selectedNames.includes(value)) {\n this.setState({\n selectedNames: selectedNames.filter((item) => item !== value),\n });\n } else {\n this.setState({\n selectedNames: [...selectedNames, value],\n });\n }\n };\n\n handleChangeFunds = async (value) => {\n if (value.value === this.state.fund.value.value) {\n return;\n } else {\n this.setState({\n fund: { value },\n selectedNames: [],\n selfPassword: { value: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n });\n if (!!value) {\n const params = {\n PAN: this.props.investorData.PAN,\n Fund: \"102\",\n Agent: this.props.token,\n };\n const response = await this.props.getDistFoliobyPan(params);\n if (response) {\n this.setState({\n folios: response.DtData.reduce((prev, curr) => {\n const alreadyExist = prev.find((item) => item === curr.acno);\n if (alreadyExist) {\n return prev;\n }\n return [...prev, curr.acno];\n }, []),\n });\n }\n }\n }\n };\n handleChangefolio = (event) => {\n const folio = event.target.value;\n if (this.state.fund.value === \"\") {\n this.setState({\n selectedNames: [],\n });\n } else {\n this.setState({\n folio: { value: folio },\n soaValue: { value: \"\" },\n selfPassword: { value: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n });\n }\n };\n handleChangeSelfextractPassWord = (event) => {\n this.setState({\n selfExtract: { value: event.target.value },\n });\n };\n handleChangeConfirmSelfextractPassWord = (event) => {\n this.setState({\n confirmSelfExtract: { value: event.target.value },\n });\n };\n\n handleChangeSelfPassword = (event) => {\n this.setState({\n selfPassword: { value: event.target.value },\n });\n };\n handleChangeConfirmSelfPassword = (event) => {\n this.setState({\n ConfirmSelfPassword: { value: event.target.value },\n });\n };\n\n submit = async () => {\n const {\n selectedNames,\n asDate,\n showPassword,\n confirmShowPassword,\n selectednamevaluecheck,\n ConfirmSelfPassword,\n selfPassword,\n DateON,\n fund,\n fromDate,\n toDate,\n funds,\n folios,\n folio,\n soaValue,\n names,\n open,\n ...others\n } = this.state;\n const keys = Object.keys(others);\n const d2 = new Date(this.state.fromDate.value).setHours(12, 0, 0, 0);\n const d3 = new Date(this.state.toDate.value).setHours(12, 0, 0, 0);\n console.log('others',others)\n const findError = keys.every((key) => !!others[key].value);\n\n if (!findError) {\n keys.forEach((key) => {\n !others[key].value &&\n this.setState({\n [key]: {\n ...others[key],\n isError: true,\n errorMessage: `${\n key === \"\"\n } is mandatory`,\n },\n });\n });\n const firstErroredKey = keys.find((key) => !others[key].value);\n return;\n } else if (this.state.selectedNames === []) {\n this.setState({\n password: {\n ...others[\"folio\"],\n isError: true,\n },\n });\n return;\n } else if (\n (d2===d3 ) &&\n this.state.DateON === \"BETWEEN\"\n ) {\n this.setState({\n toDate: { error: true, errorMessage: \"Start date and End date cannot be same\" },\n })\n} else if (!!d2 && !!d3 && d2 > d3 && this.state.DateON !== ASON) {\n this.setState({\n toDate: {\n value: null,\n error: true,\n errorMessage: \"Start date should be earlier than End date\",\n },\n });\n } else if (\n (this.state.fromDate.value === null ||\n this.state.toDate.value === null) &&\n this.state.DateON !== ASON\n ) {\n if (this.state.fromDate.value === null) {\n this.setState({\n fromDate: { error: true, errorMessage: \"Start Date is mandatory\" },\n });\n }\n if (this.state.toDate.value === null) {\n this.setState({\n toDate: { error: true, errorMessage: \"End Date is mandatory\" },\n });\n }\n } else {\n if (selectedNames.length === 0) {\n this.setState({\n selectednamevaluecheck: true\n })\n return;\n }\n else {\n this.setState({\n selectednamevaluecheck: false\n })\n }\n\n const params = {\n UserId: this.props.userId,\n Zippwd: this.props.investorData.PAN,\n RepType: \"SOA\",\n Arn: this.props.token,\n Pan: this.props.investorData.PAN,\n Acno: this.state.selectedNames.join(),\n Freq: this.state.soaValue === SINGLESOA ? \"S\" : \"M\",\n Fund: \"102\",\n customfund: \"102\",\n stdt:\n this.state.DateON === ASON\n ? \"\"\n : this.state.fromDate.value\n ? this.state.fromDate.value.toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"numeric\",\n })\n : \"\",\n EndDt:\n this.state.DateON === ASON\n ? \"\"\n : this.state.toDate.value.toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"numeric\",\n }),\n };\n\n const response = await this.props.getMailbackSoaStatus(params);\n\n if (response) {\n this.setState({\n open: true,\n });\n }\n }\n };\n\n showError = (label) => (event) => {\n const {\n [label]: { value },\n } = this.state;\n\n if (label === \"email\") {\n this.setState({\n [label]: {\n value,\n isError:\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n ) === false\n ? true\n : !value,\n errorMessage:\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n ) === false\n ? `Enter an vaild Email Id`\n : \"\",\n },\n });\n } else {\n this.setState({\n [label]: {\n value,\n isError: !value,\n },\n });\n }\n };\n\n closeModal = () => {\n this.setState({\n open: false,\n });\n this.props.history.replace(DASHBOARD_URL);\n };\n\n onDateChange = (label, event) => {\n this.setState({ [label]: { value: event } });\n };\n render() {\n const { investorData, fundsList } = this.props;\n const {\n selectedNames,\n DateON,\n fund,\n folios,\n soaValue,\n ConfirmSelfPassword,\n selfPassword,\n } = this.state;\n return (\n
    \n \n\n \n
    \n \n
    \n\n
    \n
    \n
    Mailback SOA
    \n
    \n \n \n
    \n {DateON === ASON ? (\n
    \n
    As on Date
    \n \n this.onDateChange(\"toDate\", e)}\n disableFuture={true}\n format=\"dd/MM/yyyy\"\n maxDate={new Date()}\n id=\"mui-pickers-date\"\n disabled={true}\n value={new Date()}\n />\n \n
    \n ) : (\n
    \n
    Start Date
    \n \n this.onDateChange(\"fromDate\", e)}\n style={{\n border:\n this.state.fromDate.error === true\n ? \"1px solid red\"\n : \"1px solid #a6a6a6\",\n borderTop:\n this.state.fromDate.error === true\n ? \"2px solid red\"\n : \"2px solid #a6a6a6\",\n borderRadius:\n this.state.fromDate.error === true ? 7 : 7,\n }}\n disableFuture={true}\n format=\"dd/MM/yyyy\"\n maxDate={new Date()}\n margin=\"normal\"\n id=\"mui-pickers-date\"\n value={this.state.fromDate.value}\n />\n \n {!!this.state.fromDate.errorMessage ? (\n \n {this.state.fromDate.errorMessage}\n
    \n ) : (\n \"\"\n )}\n\n\n
    \n
    End Date
    \n \n this.onDateChange(\"toDate\", e)}\n disableFuture={true}\n format=\"dd/MM/yyyy\"\n maxDate={new Date()}\n margin=\"normal\"\n id=\"mui-pickers-date\"\n value={this.state.toDate.value}\n />\n \n {!!this.state.toDate.errorMessage ? (\n \n {this.state.toDate.errorMessage}\n
    \n ) : (\n \"\"\n )}\n
    \n
    \n )}\n
    \n
    Folio
    \n }\n renderValue={(selected) => selected.join(\", \")}\n >\n {folios.map((item, index) => (\n \n -1}\n />\n \n \n ))}\n \n {this.state.selectednamevaluecheck &&\n
    \n Select atleast one folio\n
    \n }\n\n
    \n \n
    \n
    SOA Type
    \n
    \n \n \n
    \n
    \n {/*
    \n {\n this.setState({\n showPassword: !this.state.showPassword,\n });\n }}\n value={selfPassword.value}\n onBlur={this.showError(\"selfPassword\")}\n isShowError={selfPassword.isError}\n errorMessage={selfPassword.errorMessage}\n bordercolor=\"#a6a6a6\"\n inputref={(ele) => (this.selfPasswordField = ele)}\n />\n
    */}\n {/*
    \n {\n this.setState({\n confirmShowPassword: !this.state.confirmShowPassword,\n });\n }}\n height={!!this.state.confirmShowPassword ? 10 : 15}\n onChange={this.handleChangeConfirmSelfPassword}\n value={ConfirmSelfPassword.value}\n onBlur={this.showError(\"ConfirmSelfPassword\")}\n isShowError={ConfirmSelfPassword.isError}\n errorMessage={ConfirmSelfPassword.errorMessage}\n bordercolor=\"#a6a6a6\"\n inputref={(ele) => (this.ConfirmSelfPasswordField = ele)}\n />\n
    */}\n
    \n \n
    \n \n  \n
    \n \n \n \n );\n }\n}\n\nexport default connect(\n ({ authReducer, transactions }) => {\n const { investorData, userId, token } = authReducer;\n const { fundsList } = transactions;\n return { investorData, userId, token, fundsList };\n },\n {\n getInvestorDetails,\n getNewPurchaseFundList,\n getDistFoliobyPan,\n getMailbackSoaStatus,\n }\n)(MailBackSoa);\n","import React, { Component } from \"react\";\nimport { List } from \"../transactions/nfoAndNewPurchase\";\nimport Signbutton, { Debtbutton } from \"../../forms/button\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { connect } from \"react-redux\";\nimport { Input } from \"../../forms/input\";\nimport DateFnsUtils from \"@date-io/date-fns\";\n\nimport {\n MuiPickersUtilsProvider,\n KeyboardDatePicker,\n} from \"@material-ui/pickers\";\nimport { getAccountStatement } from \"../../../store/actions/mailback\";\nimport {\n SUMMARY,\n DETAILED,\n CURRENTFINANCIALYEAR,\n PREVIOUSFINANCIALYEAR,\n SPECIFICPERIOD,\n} from \"../../../store/types/mailBack\";\nimport CustomizedDialogs from \"../../home/customModal\";\nimport \"react-datepicker/dist/react-datepicker.css\";\n\nimport { MailBackBreadCrumb } from \"./mailBack\";\nimport { DASHBOARD_URL } from \"../dashboard\";\nimport moment from \"moment\";\nimport { maskEmail } from \"../../../utils/utilityFunctions\";\n\n\nclass Cas extends Component {\n constructor(props) {\n super(props);\n const reformtStDt = new Date(\n new Date().setFullYear(new Date().getFullYear(), 3, 1)\n ).toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n\n const changeStDt = new Date().toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n const d2 = new Date(reformtStDt).setHours(12, 0, 0, 0);\n const d3 = new Date(changeStDt).setHours(12, 0, 0, 0);\n this.state = {\n summaryData: SUMMARY,\n DetailedData: CURRENTFINANCIALYEAR,\n AsDate: new Date(),\n startDate: {\n value:\n d2 > d3\n ? new Date().setFullYear(new Date().getFullYear() - 1, 3, 1)\n : new Date().setFullYear(new Date().getFullYear(), 3, 1),\n error: \"\",\n },\n endDate: { value: new Date(), error: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n selfPassword: { value: \"\" },\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n open: false,\n showPassword: false,\n confirmShowPassword: false,\n };\n }\n componentDidMount() {\n const reformtStDt = new Date(\n new Date().setFullYear(new Date().getFullYear(), 3, 1)\n ).toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n\n const changeStDt = new Date().toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n const d2 = new Date(reformtStDt).setHours(12, 0, 0, 0);\n const d3 = new Date(changeStDt).setHours(12, 0, 0, 0);\n this.setState({\n summaryData: SUMMARY,\n DetailedData: CURRENTFINANCIALYEAR,\n AsDate: new Date(),\n startDate: {\n value:\n d2 > d3\n ? new Date().setFullYear(new Date().getFullYear() - 1, 3, 1)\n : new Date().setFullYear(new Date().getFullYear(), 3, 1),\n error: \"\",\n },\n endDate: { value:\n new Date(),\n error: \"\",\n },\n ConfirmSelfPassword: { value: \"\" },\n selfPassword: { value: \"\" },\n open: false,\n showPassword: false,\n confirmShowPassword: false,\n });\n }\n onDateChange = (label, event) => {\n if (label === \"endDate\" && !!this.state.startDate.value && !!event) {\n const reformtStDt = this.state.startDate.value.toLocaleDateString(\n \"en-US\",\n {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n }\n );\n\n const changeEndDt = event.toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n\n const d2 = new Date(reformtStDt).setHours(12, 0, 0, 0);\n const d3 = new Date(changeEndDt).setHours(12, 0, 0, 0);\n if (d2 > d3) {\n this.setState({\n [label]: {\n value: null,\n error: true,\n errorMessage: \"Start Date should be earlier than End Date\",\n },\n });\n return;\n } else {\n this.setState({\n [label]: { value: event, errorMessage: \"\", error: false },\n });\n }\n } else if (label === \"startDate\") {\n this.setState({\n [label]: { value: event },\n endDate: { value: null, error: \"\", errorMessage: \"\" },\n });\n }\n };\n changesummaryData = (event) => () => {\n this.setState({\n summaryData: event,\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n selfPassword: { value: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n });\n };\n\n ChangeDetailedData = (event) => () => {\n if (event === PREVIOUSFINANCIALYEAR) {\n const reformtStDt = new Date(\n new Date().setFullYear(new Date().getFullYear() - 1, 3, 1)\n ).toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n\n const changeStDt = new Date().toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n const d2 = new Date(reformtStDt).setHours(12, 0, 0, 0);\n const d3 = new Date(changeStDt).setHours(12, 0, 0, 0);\n\n const reformtEndDt = new Date(\n new Date().setFullYear(new Date().getFullYear(), 2, 31)\n ).toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n\n const changeEndDt = new Date().toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n const d4 = new Date(reformtEndDt).setHours(12, 0, 0, 0);\n const d5 = new Date(changeEndDt).setHours(12, 0, 0, 0);\n\n this.setState({\n DetailedData: event,\n startDate: {\n value:\n d2 > d3\n ? new Date(\n new Date().setFullYear(new Date().getFullYear() , 3, 1)\n )\n : new Date(\n new Date().setFullYear(new Date().getFullYear() - 1, 3, 1)\n ),\n },\n endDate: {\n value:\n d4 > d5\n ? new Date(\n new Date().setFullYear(new Date().getFullYear() - 1, 2, 31)\n )\n : new Date(\n new Date().setFullYear(new Date().getFullYear(), 2, 31)\n ),\n },\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n selfPassword: { value: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n });\n } else if (event === SPECIFICPERIOD) {\n this.setState({\n DetailedData: event,\n startDate: { value: null },\n endDate: { value: null },\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n selfPassword: { value: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n });\n } else if (event === CURRENTFINANCIALYEAR) {\n const reformtStDt = new Date(\n new Date().setFullYear(new Date().getFullYear(), 3, 1)\n ).toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n\n const changeStDt = new Date().toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n const d2 = new Date(reformtStDt).setHours(12, 0, 0, 0);\n const d3 = new Date(changeStDt).setHours(12, 0, 0, 0);\n this.setState({\n DetailedData: event,\n startDate: {\n value:\n d2 > d3\n ? new Date().setFullYear(new Date().getFullYear() - 1, 3, 1)\n : new Date().setFullYear(new Date().getFullYear(), 3, 1),\n },\n endDate: { value:\n d2 > d3\n ? new Date().setFullYear(new Date().getFullYear() , 2, 31)\n : new Date().setFullYear(new Date().getFullYear()+1, 2, 31),\n error: \"\",\n },\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n selfPassword: { value: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n });\n }\n };\n\n handleChangeSelfPassword = (event) => {\n this.setState({\n selfPassword: { value: event.target.value },\n });\n };\n handleChangeConfirmSelfPassword = (event) => {\n this.setState({\n ConfirmSelfPassword: { value: event.target.value },\n });\n };\n handleChangeEmail = (event) => {\n this.setState({\n email: { value: event.target.value },\n });\n };\n showError = (label) => (event) => {\n const {\n [label]: { value },\n } = this.state;\n\n if (label === \"email\") {\n this.setState({\n [label]: {\n value,\n isError:\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n ) === false\n ? true\n : !value,\n errorMessage:\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n ) === false\n ? `Enter an vaild Email ID`\n : \"\",\n },\n });\n } else {\n this.setState({\n [label]: {\n value,\n isError: !value,\n },\n });\n }\n };\n closeYesModal = () => {\n this.setState({\n summaryData: SUMMARY,\n DetailedData: CURRENTFINANCIALYEAR,\n AsDate: new Date(),\n startDate: {\n value: new Date(new Date().setFullYear(new Date().getFullYear(), 3, 1)),\n error: \"\",\n },\n endDate: { value: new Date(), error: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n selfPassword: { value: \"\" },\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n open: false,\n });\n this.props.history.replace(DASHBOARD_URL);\n };\n closeNoModal = () => {\n this.setState({\n open: false,\n });\n this.props.history.replace(\"/\");\n };\n submit = async () => {\n let asDateValue, startDateValue, endDateValue;\n if (!!this.state.AsDate.value) {\n asDateValue = this.state.AsDate.value.toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"numeric\",\n });\n }\n if (!!this.state.startDate.value && this.state.summaryData === DETAILED) {\n startDateValue = new Date(this.state.startDate.value).toLocaleDateString(\n \"en-US\",\n {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"numeric\",\n }\n );\n }\n if (!!this.state.endDate.value && this.state.summaryData === DETAILED) {\n endDateValue = new Date(this.state.endDate.value).toLocaleDateString(\n \"en-US\",\n {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"numeric\",\n }\n );\n }\n if (!this.state.startDate.value && this.state.DetailedData === SPECIFICPERIOD) {\n this.setState({\n startDate: {\n value: null,\n error: true,\n errorMessage: \"Start Date is mandatory\",\n },\n });\n return;\n }\n if (!this.state.endDate.value && this.state.DetailedData === SPECIFICPERIOD) {\n this.setState({\n endDate: {\n value: null,\n error: true,\n errorMessage: \"End Date is mandatory\",\n },\n });\n return;\n }\n\n\n const {\n AsDate,\n startDate,\n endDate,\n ConfirmSelfPassword,\n showPassword,\n confirmShowPassword,\n selfPassword,\n email,\n ...others\n } = this.state;\n if (\n !this.state.email.value ||\n !/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n )\n ) {\n if (!this.state.email.value) {\n this.setState({\n email: {\n ...others[\"email\"],\n isError: true,\n errorMessage: `Email Id is mandatory`,\n },\n });\n } else {\n this.setState({\n email: {\n ...others[\"email\"],\n isError: true,\n errorMessage: `Please enter a valid Email Id`,\n },\n });\n }\n } else {\n const { investorData } = this.props;\n const params = {\n Soapwd: !!investorData && !!investorData.PAN ? investorData.PAN : \"\",\n customfund: \"102\",\n ToDate:\n this.state.summaryData === SUMMARY\n ? moment(new Date()).format(\"MM/DD/YYYY\")\n : endDateValue,\n FromDate:\n this.state.summaryData === SUMMARY ? \"01/01/1970\" : startDateValue,\n Brokermail: this.state.email.value,\n Soaflag: \"C\",\n Pan: !!investorData && !!investorData.PAN ? investorData.PAN : \"\",\n Fund: \"0\",\n EmailId: this.state.email.value === this.state.maskedEmail? this.state.orignalEmail: this.state.email.value,\n userid: this.state.email.value === this.state.maskedEmail? this.state.orignalEmail: this.state.email.value,\n \n Folio: \"0\",\n ReqBy: \"a\",\n LoginFlag: \"Y\",\n StmtFlag: this.state.summaryData === SUMMARY ? \"Summary\" : \"Detailed\",\n Broker: \"\",\n };\n const response = await this.props.getAccountStatement(params);\n if (response) {\n this.setState({\n open: true,\n });\n }\n }\n };\n\n render() {\n const { investorData } = this.props;\n const {\n summaryData,\n DetailedData,\n selfPassword,\n ConfirmSelfPassword,\n email,\n } = this.state;\n return (\n
    \n \n \n
    \n \n
    \n
    \n
    \n
    Consolidated Account Statement
    \n
    Statement Type
    \n
    \n \n \n
    \n {summaryData === SUMMARY ? (\n
    \n
    As on Date
    \n \n this.onDateChange(\"AsDate\", e)}\n // openTo={true}\n disabled={true}\n disableFuture={true}\n format=\"dd/MM/yyyy\"\n // minDate={new Date(new Date().setFullYear(1980, 0, 1))}\n maxDate={new Date()}\n margin=\"normal\"\n // animateYearScrolling={true}\n id=\"mui-pickers-date\"\n value={this.state.AsDate}\n />\n \n
    \n ) : (\n
    \n
    Detailed Options
    \n
    \n \n \n \n
    \n
    \n
    Start Date
    \n \n this.onDateChange(\"startDate\", e)}\n // openTo={true}\n disableFuture={true}\n format=\"dd/MM/yyyy\"\n disabled={\n DetailedData === SPECIFICPERIOD ? false : true\n }\n minDate={\n DetailedData === CURRENTFINANCIALYEAR\n ? new Date(\n new Date().setFullYear(\n new Date().getFullYear(),\n 3,\n 1\n )\n )\n : DetailedData === SPECIFICPERIOD\n ? new Date(new Date().setFullYear(1970, 0, 1))\n : \"\"\n }\n maxDate={new Date()}\n margin=\"normal\"\n // animateYearScrolling={true}\n id=\"mui-pickers-date\"\n value={this.state.startDate.value}\n />\n \n {!!this.state.startDate.errorMessage && (\n
    \n {\" \"}\n {this.state.startDate.errorMessage}\n
    \n )}\n\n
    \n
    \n End Date\n
    \n \n this.onDateChange(\"endDate\", e)}\n // openTo={true}\n disableFuture={true}\n disabled={\n DetailedData === SPECIFICPERIOD ? false : true\n }\n format=\"dd/MM/yyyy\"\n maxDate={\n DetailedData === CURRENTFINANCIALYEAR ||\n DetailedData === SPECIFICPERIOD\n ? new Date()\n : DetailedData === PREVIOUSFINANCIALYEAR\n ? \"\"\n : \"\"\n }\n // margin=\"normal\"\n // animateYearScrolling={true}\n id=\"mui-pickers-date\"\n value={this.state.endDate.value}\n />\n \n {!!this.state.endDate.errorMessage ? (\n \n {this.state.endDate.errorMessage}\n
    \n ) : (\n \"\"\n )}\n
    \n
    \n
    \n )}\n
    \n \n
    \n {/*
    \n {\n this.setState({\n showPassword: !this.state.showPassword,\n });\n }}\n onChange={this.handleChangeSelfPassword}\n value={selfPassword.value}\n onBlur={this.showError(\"selfPassword\")}\n isShowError={selfPassword.isError}\n errorMessage={selfPassword.errorMessage}\n />\n
    */}\n {/*
    \n {\n this.setState({\n confirmShowPassword: !this.state.confirmShowPassword,\n });\n }}\n height={!!this.state.confirmShowPassword ? 10 : 15}\n onChange={this.handleChangeConfirmSelfPassword}\n value={ConfirmSelfPassword.value}\n onBlur={this.showError(\"ConfirmSelfPassword\")}\n isShowError={ConfirmSelfPassword.isError}\n errorMessage={ConfirmSelfPassword.errorMessage}\n />\n
    */}\n
    \n \n
    \n  \n \n
    \n
    \n \n \n );\n }\n}\n\nexport default connect(\n ({ authReducer }) => {\n const { investorData, userId } = authReducer;\n // const userid = authReducer.userId;\n return { investorData, userId };\n },\n { getAccountStatement }\n)(Cas);\n","import React, { Component } from \"react\";\nimport { List } from \"../transactions/nfoAndNewPurchase\";\nimport Signbutton, { Debtbutton } from \"../../forms/button\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { connect } from \"react-redux\";\nimport { Input } from \"../../forms/input\";\nimport DateFnsUtils from \"@date-io/date-fns\";\n\nimport {\n MuiPickersUtilsProvider,\n KeyboardDatePicker,\n} from \"@material-ui/pickers\";\nimport { getElssStatment } from \"../../../store/actions/mailback\";\nimport {\n SUMMARY,\n DETAILED,\n CURRENTFINANCIALYEAR,\n PREVIOUSFINANCIALYEAR,\n SPECIFICPERIOD,\n} from \"../../../store/types/mailBack\";\nimport CustomizedDialogs from \"../../home/customModal\";\nimport \"react-datepicker/dist/react-datepicker.css\";\n\nimport { MailBackBreadCrumb } from \"./mailBack\";\nimport { DASHBOARD_URL } from \"../dashboard\";\nimport moment from \"moment\";\nimport { maskEmail } from \"../../../utils/utilityFunctions\";\n\nclass ELSS extends Component {\n constructor(props) {\n super(props);\n const reformtStDt = new Date(\n new Date().setFullYear(new Date().getFullYear(), 3, 1)\n ).toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n\n const changeStDt = new Date().toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n const d2 = new Date(reformtStDt).setHours(12, 0, 0, 0);\n const d3 = new Date(changeStDt).setHours(12, 0, 0, 0);\n this.state = {\n summaryData: SUMMARY,\n DetailedData: CURRENTFINANCIALYEAR,\n AsDate: new Date(),\n startDate: {\n value:\n d2 > d3\n ? new Date().setFullYear(new Date().getFullYear() - 1, 3, 1)\n : new Date().setFullYear(new Date().getFullYear(), 3, 1),\n error: \"\",\n },\n endDate: { value: new Date(), error: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n selfPassword: { value: \"\" },\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n open: false,\n showPassword: false,\n confirmShowPassword: false,\n };\n }\n componentDidMount() {\n const reformtStDt = new Date(\n new Date().setFullYear(new Date().getFullYear(), 3, 1)\n ).toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n\n const changeStDt = new Date().toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n const d2 = new Date(reformtStDt).setHours(12, 0, 0, 0);\n const d3 = new Date(changeStDt).setHours(12, 0, 0, 0);\n this.setState({\n summaryData: SUMMARY,\n DetailedData: CURRENTFINANCIALYEAR,\n AsDate: new Date(),\n startDate: {\n value:\n d2 > d3\n ? new Date().setFullYear(new Date().getFullYear() - 1, 3, 1)\n : new Date().setFullYear(new Date().getFullYear(), 3, 1),\n error: \"\",\n },\n endDate: { value: new Date(), error: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n selfPassword: { value: \"\" },\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n open: false,\n showPassword: false,\n confirmShowPassword: false,\n });\n }\n onDateChange = (label, event) => {\n if (label === \"endDate\" && !!this.state.startDate.value && !!event) {\n const reformtStDt = this.state.startDate.value.toLocaleDateString(\n \"en-US\",\n {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n }\n );\n\n const changeEndDt = event.toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n\n const d2 = new Date(reformtStDt).setHours(12, 0, 0, 0);\n const d3 = new Date(changeEndDt).setHours(12, 0, 0, 0);\n if (d2 > d3) {\n this.setState({\n [label]: {\n value: null,\n error: true,\n errorMessage: \"Start Date should be earlier than End Date\",\n },\n });\n } else {\n this.setState({\n [label]: { value: event, errorMessage: \"\", error: false },\n });\n }\n } else if (label === \"startDate\") {\n this.setState({\n [label]: { value: event },\n endDate: { value: null, error: \"\", errorMessage: \"\" },\n });\n }\n };\n changesummaryData = (event) => () => {\n this.setState({\n summaryData: event,\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n selfPassword: { value: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n });\n };\n\n ChangeDetailedData = (event) => () => {\n if (event === PREVIOUSFINANCIALYEAR) {\n const reformtStDt = new Date(\n new Date().setFullYear(new Date().getFullYear() - 1, 3, 1)\n ).toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n\n const changeStDt = new Date().toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n const d2 = new Date(reformtStDt).setHours(12, 0, 0, 0);\n const d3 = new Date(changeStDt).setHours(12, 0, 0, 0);\n\n const reformtEndDt = new Date(\n new Date().setFullYear(new Date().getFullYear(), 2, 31)\n ).toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n\n const changeEndDt = new Date().toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n const d4 = new Date(reformtEndDt).setHours(12, 0, 0, 0);\n const d5 = new Date(changeEndDt).setHours(12, 0, 0, 0);\n this.setState({\n DetailedData: event,\n startDate: {\n value:\n d2 > d3\n ? new Date(\n new Date().setFullYear(new Date().getFullYear() - 1, 3, 1)\n )\n : new Date(\n new Date().setFullYear(new Date().getFullYear() - 2, 3, 1)\n ),\n },\n endDate: {\n value:\n d4 > d5\n ? new Date(\n new Date().setFullYear(new Date().getFullYear() - 1, 2, 31)\n )\n : new Date(\n new Date().setFullYear(new Date().getFullYear(), 2, 31)\n ),\n },\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n selfPassword: { value: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n });\n } else if (event === SPECIFICPERIOD) {\n this.setState({\n DetailedData: event,\n startDate: { value: null },\n endDate: { value: null },\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n selfPassword: { value: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n });\n } else if (event === CURRENTFINANCIALYEAR) {\n const reformtStDt = new Date(\n new Date().setFullYear(new Date().getFullYear(), 3, 1)\n ).toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n\n const changeStDt = new Date().toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n const d2 = new Date(reformtStDt).setHours(12, 0, 0, 0);\n const d3 = new Date(changeStDt).setHours(12, 0, 0, 0);\n this.setState({\n DetailedData: event,\n startDate: {\n value:\n d2 > d3\n ? new Date().setFullYear(new Date().getFullYear() - 1, 3, 1)\n : new Date().setFullYear(new Date().getFullYear(), 3, 1),\n },\n endDate: { value: new Date() },\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n selfPassword: { value: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n });\n }\n };\n\n handleChangeSelfPassword = (event) => {\n this.setState({\n selfPassword: { value: event.target.value },\n });\n };\n handleChangeConfirmSelfPassword = (event) => {\n this.setState({\n ConfirmSelfPassword: { value: event.target.value },\n });\n };\n handleChangeEmail = (event) => {\n this.setState({\n email: { value: event.target.value },\n });\n };\n showError = (label) => (event) => {\n const {\n [label]: { value },\n } = this.state;\n\n if (label === \"email\") {\n this.setState({\n [label]: {\n value,\n isError:\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n ) === false\n ? true\n : !value,\n errorMessage:\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n ) === false\n ? `Enter an vaild Email ID`\n : \"\",\n },\n });\n } else {\n this.setState({\n [label]: {\n value,\n isError: !value,\n },\n });\n }\n };\n closeYesModal = () => {\n this.setState({\n summaryData: SUMMARY,\n DetailedData: CURRENTFINANCIALYEAR,\n AsDate: new Date(),\n startDate: {\n value: new Date(new Date().setFullYear(new Date().getFullYear(), 3, 1)),\n error: \"\",\n },\n endDate: { value: new Date(), error: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n selfPassword: { value: \"\" },\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n open: false,\n });\n this.props.history.replace(DASHBOARD_URL);\n };\n closeNoModal = () => {\n this.setState({\n open: false,\n });\n this.props.history.replace(\"/\");\n };\n submit = async () => {\n let asDateValue, startDateValue, endDateValue;\n if (!!this.state.AsDate.value) {\n asDateValue = new Date(this.state.AsDate.value).toLocaleDateString(\n \"en-US\",\n {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"numeric\",\n }\n );\n }\n if (!!this.state.startDate.value && this.state.summaryData === DETAILED) {\n startDateValue = new Date(this.state.startDate.value).toLocaleDateString(\n \"en-US\",\n {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"numeric\",\n }\n );\n }\n if (!!this.state.endDate.value && this.state.summaryData === DETAILED) {\n endDateValue = new Date(this.state.endDate.value).toLocaleDateString(\n \"en-US\",\n {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"numeric\",\n }\n );\n }\n if (!this.state.startDate.value && this.state.DetailedData === SPECIFICPERIOD) {\n this.setState({\n startDate: {\n value: null,\n error: true,\n errorMessage: \"Start Date is mandatory\",\n },\n });\n return;\n }\n if (!this.state.endDate.value && this.state.DetailedData === SPECIFICPERIOD) {\n this.setState({\n endDate: {\n value: null,\n error: true,\n errorMessage: \"End Date is mandatory\",\n },\n });\n return;\n }\n if (\n !this.state.email.value ||\n !/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n )\n ) {\n if (!this.state.email.value) {\n this.setState({\n email: {\n value: \"\",\n isError: true,\n errorMessage: `Please enter an Email id`,\n },\n });\n return;\n } else {\n this.setState({\n email: {\n value: \"\",\n isError: true,\n errorMessage: `Please enter a valid Email ID`,\n },\n });\n }\n }\n\n const { investorData } = this.props;\n const params = {\n Soapwd: !!investorData && !!investorData.PAN ? investorData.PAN : \"\",\n ToDate:\n this.state.summaryData === SUMMARY\n ? moment(new Date()).format(\"MM/DD/YYYY\")\n : endDateValue,\n FromDate:\n this.state.summaryData === SUMMARY ? \"01/01/1970\" : startDateValue,\n userid: this.state.email.value === this.state.maskedEmail? this.state.orignalEmail: this.state.email.value,\n Brokermail: this.state.email.value === this.state.maskedEmail? this.state.orignalEmail: this.state.email.value,\n Soaflag: \"C\",\n Pan: !!investorData && !!investorData.PAN ? investorData.PAN : \"\",\n Fund: \"0\",\n EmailId: this.state.email.value === this.state.maskedEmail? this.state.orignalEmail: this.state.email.value,\n Folio: \"0\",\n ReqBy: \"a\",\n LoginFlag: \"Y\",\n customfund: \"102\",\n StmtFlag: this.state.summaryData === SUMMARY ? \"Summary\" : \"Detailed\",\n Broker: \"\",\n };\n const response = await this.props.getElssStatment(params);\n if (response) {\n this.setState({\n open: true,\n });\n }\n }\n\n render() {\n const { investorData } = this.props;\n const {\n summaryData,\n DetailedData,\n selfPassword,\n ConfirmSelfPassword,\n email,\n } = this.state;\n return (\n
    \n \n \n
    \n \n
    \n
    \n
    \n
    ELSS Account Statement
    \n
    Statement Type
    \n
    \n \n \n
    \n {summaryData === SUMMARY ? (\n
    \n
    As on Date
    \n \n this.onDateChange(\"AsDate\", e)}\n // openTo={true}\n disabled={true}\n disableFuture={true}\n format=\"dd/MM/yyyy\"\n // minDate={new Date(new Date().setFullYear(1980, 0, 1))}\n maxDate={new Date()}\n margin=\"normal\"\n // animateYearScrolling={true}\n id=\"mui-pickers-date\"\n value={this.state.AsDate}\n />\n \n
    \n ) : (\n
    \n
    Detailed Options
    \n
    \n \n \n \n
    \n
    \n
    Start Date
    \n \n this.onDateChange(\"startDate\", e)}\n // openTo={true}\n disableFuture={true}\n format=\"dd/MM/yyyy\"\n disabled={\n DetailedData === SPECIFICPERIOD ? false : true\n }\n minDate={\n DetailedData === CURRENTFINANCIALYEAR\n ? new Date(\n new Date().setFullYear(\n new Date().getFullYear(),\n 3,\n 1\n )\n )\n : DetailedData === SPECIFICPERIOD\n ? new Date(new Date().setFullYear(1970, 0, 1))\n : \"\"\n }\n maxDate={new Date()}\n margin=\"normal\"\n // animateYearScrolling={true}\n id=\"mui-pickers-date\"\n value={this.state.startDate.value}\n />\n \n {!!this.state.startDate.errorMessage && (\n
    \n {\" \"}\n {this.state.startDate.errorMessage}\n
    \n )}\n\n
    \n
    \n End Date\n
    \n \n this.onDateChange(\"endDate\", e)}\n // openTo={true}\n disableFuture={true}\n disabled={\n DetailedData === SPECIFICPERIOD ? false : true\n }\n format=\"dd/MM/yyyy\"\n maxDate={\n DetailedData === CURRENTFINANCIALYEAR ||\n DetailedData === SPECIFICPERIOD\n ? new Date()\n : DetailedData === PREVIOUSFINANCIALYEAR\n ? \"\"\n : \"\"\n }\n // margin=\"normal\"\n // animateYearScrolling={true}\n id=\"mui-pickers-date\"\n value={this.state.endDate.value}\n />\n \n {!!this.state.endDate.errorMessage ? (\n \n {this.state.endDate.errorMessage}\n
    \n ) : (\n \"\"\n )}\n
    \n
    \n
    \n )}\n
    \n \n
    \n {/*
    \n {\n this.setState({\n showPassword: !this.state.showPassword,\n });\n }}\n onChange={this.handleChangeSelfPassword}\n value={selfPassword.value}\n onBlur={this.showError(\"selfPassword\")}\n isShowError={selfPassword.isError}\n errorMessage={selfPassword.errorMessage}\n />\n
    */}\n {/*
    \n {\n this.setState({\n confirmShowPassword: !this.state.confirmShowPassword,\n });\n }}\n height={!!this.state.confirmShowPassword ? 10 : 15}\n onChange={this.handleChangeConfirmSelfPassword}\n value={ConfirmSelfPassword.value}\n onBlur={this.showError(\"ConfirmSelfPassword\")}\n isShowError={ConfirmSelfPassword.isError}\n errorMessage={ConfirmSelfPassword.errorMessage}\n />\n
    */}\n
    \n \n
    \n\n \n
    \n
    \n \n \n );\n }\n}\n\nexport default connect(\n ({ authReducer }) => {\n const { investorData, userId } = authReducer;\n // const userid = authReducer.userId;\n return { investorData, userId };\n },\n { getElssStatment }\n)(ELSS);\n","import React, { Component } from \"react\";\nimport { List } from \"../transactions/nfoAndNewPurchase\";\nimport Signbutton, { Debtbutton } from \"../../forms/button\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { connect } from \"react-redux\";\nimport { Input } from \"../../forms/input\";\nimport DateFnsUtils from \"@date-io/date-fns\";\n\nimport {\n MuiPickersUtilsProvider,\n KeyboardDatePicker,\n} from \"@material-ui/pickers\";\nimport { getcaptialgainStatment } from \"../../../store/actions/mailback\";\nimport {\n SUMMARY,\n DETAILED,\n CURRENTFINANCIALYEAR,\n PREVIOUSFINANCIALYEAR,\n SPECIFICPERIOD,\n} from \"../../../store/types/mailBack\";\nimport CustomizedDialogs from \"../../home/customModal\";\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport { formatDate } from \"../../forms/captalize\";\nimport { MAILBACK_URL } from \".\";\nimport { MailBackBreadCrumb } from \"./mailBack\";\nimport { DASHBOARD_URL } from \"../dashboard\";\nimport { maskEmail } from \"../../../utils/utilityFunctions\";\n\nclass CAN extends Component {\n constructor(props) {\n super(props);\n const reformtStDt = new Date(\n new Date().setFullYear(new Date().getFullYear(), 3, 1)\n ).toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n\n const changeStDt = new Date().toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n const d2 = new Date(reformtStDt).setHours(12, 0, 0, 0);\n const d3 = new Date(changeStDt).setHours(12, 0, 0, 0);\n this.state = {\n summaryData: SUMMARY,\n DetailedData: CURRENTFINANCIALYEAR,\n AsDate: new Date(),\n startDate: {\n value:\n d2 > d3\n ? new Date().setFullYear(new Date().getFullYear() - 1, 3, 1)\n : new Date().setFullYear(new Date().getFullYear(), 3, 1),\n error: \"\",\n isError: \"\",\n errorMessage: \"\",\n },\n endDate: { value: new Date(), error: \"\", isError: \"\", errorMessage: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n selfPassword: { value: \"\" },\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email), open: false,\n showPassword: false,\n confirmShowPassword: false,\n };\n }\n componentDidMount() {\n const reformtStDt = new Date(\n new Date().setFullYear(new Date().getFullYear(), 3, 1)\n ).toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n\n const changeStDt = new Date().toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n const d2 = new Date(reformtStDt).setHours(12, 0, 0, 0);\n const d3 = new Date(changeStDt).setHours(12, 0, 0, 0);\n this.setState({\n summaryData: SUMMARY,\n DetailedData: CURRENTFINANCIALYEAR,\n AsDate: new Date(),\n startDate: {\n value:\n d2 > d3\n ? new Date().setFullYear(new Date().getFullYear() - 1, 3, 1)\n : new Date().setFullYear(new Date().getFullYear(), 3, 1),\n error: \"\",\n },\n endDate: { value: new Date(), error: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n selfPassword: { value: \"\" },\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n open: false,\n showPassword: false,\n confirmShowPassword: false,\n });\n }\n onDateChange = (label, event) => {\n console.log(\"hello babaii\");\n if (label === \"endDate\" && !!this.state.startDate.value && !!event) {\n const reformtStDt = this.state.startDate.value.toLocaleDateString(\n \"en-US\",\n {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n }\n );\n\n const changeEndDt = event.toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n const d2 = new Date(reformtStDt).setHours(12, 0, 0, 0);\n const d3 = new Date(changeEndDt).setHours(12, 0, 0, 0);\n if (d2 > d3) {\n this.setState({\n [label]: {\n value: null,\n error: true,\n errorMessage: \"Start Date should be earlier than End Date\",\n },\n });\n } else {\n this.setState({\n [label]: { value: event, errorMessage: \"\", error: false },\n });\n }\n } else if (label === \"startDate\") {\n this.setState({\n [label]: { value: event },\n endDate: { value: null, error: \"\", errorMessage: \"\" },\n });\n }\n };\n changesummaryData = (event) => () => {\n this.setState({\n summaryData: event,\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n selfPassword: { value: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n });\n };\n\n ChangeDetailedData = (event) => () => {\n if (event === PREVIOUSFINANCIALYEAR) {\n const reformtStDt = new Date(\n new Date().setFullYear(new Date().getFullYear() - 1, 3, 1)\n ).toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n\n const changeStDt = new Date().toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n const d2 = new Date(reformtStDt).setHours(12, 0, 0, 0);\n const d3 = new Date(changeStDt).setHours(12, 0, 0, 0);\n\n const reformtEndDt = new Date(\n new Date().setFullYear(new Date().getFullYear(), 2, 31)\n ).toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n\n const changeEndDt = new Date().toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n const d4 = new Date(reformtEndDt).setHours(12, 0, 0, 0);\n const d5 = new Date(changeEndDt).setHours(12, 0, 0, 0);\n this.setState({\n DetailedData: event,\n startDate: {\n value:\n d2 > d3\n ? new Date(\n new Date().setFullYear(new Date().getFullYear() - 1, 3, 1)\n )\n : new Date(\n new Date().setFullYear(new Date().getFullYear() - 2, 3, 1)\n ),\n },\n endDate: {\n value:\n d4 > d5\n ? new Date(\n new Date().setFullYear(new Date().getFullYear() - 1, 2, 31)\n )\n : new Date(\n new Date().setFullYear(new Date().getFullYear(), 2, 31)\n ),\n },\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n selfPassword: { value: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n });\n } else if (event === SPECIFICPERIOD) {\n this.setState({\n DetailedData: event,\n startDate: { value: null },\n endDate: { value: null },\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n selfPassword: { value: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n });\n } else if (event === CURRENTFINANCIALYEAR) {\n const reformtStDt = new Date(\n new Date().setFullYear(new Date().getFullYear(), 3, 1)\n ).toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n\n const changeStDt = new Date().toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n const d2 = new Date(reformtStDt).setHours(12, 0, 0, 0);\n const d3 = new Date(changeStDt).setHours(12, 0, 0, 0);\n this.setState({\n DetailedData: event,\n startDate: {\n value:\n d2 > d3\n ? new Date().setFullYear(new Date().getFullYear() - 1, 3, 1)\n : new Date().setFullYear(new Date().getFullYear(), 3, 1),\n },\n endDate: { value: new Date() },\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n selfPassword: { value: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n });\n }\n };\n\n handleChangeSelfPassword = (event) => {\n this.setState({\n selfPassword: { value: event.target.value },\n });\n };\n handleChangeConfirmSelfPassword = (event) => {\n this.setState({\n ConfirmSelfPassword: { value: event.target.value },\n });\n };\n handleChangeEmail = (event) => {\n this.setState({\n email: { value: event.target.value },\n });\n };\n showError = (label) => (event) => {\n const {\n [label]: { value },\n } = this.state;\n\n if (label === \"selfPassword\") {\n if (\n this.state.selfPassword.value === \"\" ||\n !/^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/.test(\n this.state.selfPassword.value\n )\n ) {\n if (\n !/^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/.test(\n this.state.selfPassword.value\n )\n ) {\n this.setState({\n selfPassword: {\n isError: true,\n errorMessage: `Password should be atleast 8 characters in length and should contain at least 1 Upper Case alphabet(A-Z).1 Special Character and 1 Numeric Value (0-9)`,\n },\n });\n return;\n }\n } else if (this.state.selfPassword.value === \"\") {\n this.setState({\n selfPassword: {\n value: \"\",\n isError: true,\n errorMessage: `Password is mandatory`,\n },\n });\n return;\n }\n } else if (label === \"ConfirmSelfPassword\") {\n this.setState({\n [label]: {\n value,\n isError:\n this.state.selfPassword.value !==\n this.state.ConfirmSelfPassword.value ||\n this.state.ConfirmSelfPassword.value === \"\"\n ? true\n : !value,\n errorMessage:\n this.state.selfPassword.value !==\n this.state.ConfirmSelfPassword.value ||\n this.state.ConfirmSelfPassword.value === \"\"\n ? `The Password and Confirm Password do not match`\n : \"\",\n },\n });\n } else {\n this.setState({\n [label]: {\n value,\n isError: !value,\n },\n });\n }\n };\n onDateChange = (label, event) => {\n this.setState({ [label]: { value: event } });\n };\n closeYesModal = () => {\n this.setState({\n summaryData: SUMMARY,\n DetailedData: CURRENTFINANCIALYEAR,\n AsDate: new Date(),\n startDate: {\n value: new Date(new Date().setFullYear(new Date().getFullYear(), 3, 1)),\n error: \"\",\n },\n endDate: { value: new Date(), error: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n selfPassword: { value: \"\" },\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n open: false,\n });\n this.props.history.replace(DASHBOARD_URL);\n };\n closeNoModal = () => {\n this.setState({\n open: false,\n });\n this.props.history.replace(\"/\");\n };\n submit = async () => {\n let asDateValue, startDateValue, endDateValue;\n if (this.state.AsDate.value) {\n asDateValue = this.state.AsDate.value.toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"numeric\",\n });\n }\n if (this.state.startDate.value) {\n startDateValue = this.state.startDate.value.toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"numeric\",\n });\n }\n if (this.state.endDate.value) {\n endDateValue = this.state.endDate.value.toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"numeric\",\n });\n }\n const d2 = !!this.state.startDate.value\n ? new Date(this.state.startDate.value).setHours(12, 0, 0, 0)\n : \"\";\n const d3 = !!this.state.endDate.value\n ? new Date(this.state.endDate.value).setHours(12, 0, 0, 0)\n : \"\";\n\n const {\n AsDate,\n startDate,\n endDate,\n ConfirmSelfPassword,\n selfPassword,\n email,\n showPassword,\n confirmShowPassword,\n ...others\n } = this.state;\n\n if (\n !this.state.selfPassword.value ||\n !this.state.ConfirmSelfPassword.value ||\n !this.state.email.value ||\n !/^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/.test(\n this.state.selfPassword.value\n ) ||\n !/^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/.test(\n this.state.ConfirmSelfPassword.value\n ) ||\n this.state.selfPassword.value !== this.state.ConfirmSelfPassword.value\n ) {\n if (\n !/^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/.test(\n this.state.selfPassword.value\n )\n ) {\n this.setState({\n selfPassword: {\n value: \"\",\n isShowPasswordError: true,\n },\n });\n }\n if (\n !/^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/.test(\n this.state.ConfirmSelfPassword.value\n )\n ) {\n this.setState({\n ConfirmSelfPassword: {\n value: \"\",\n isShowPasswordError: true,\n },\n });\n }\n if (!this.state.selfPassword.value) {\n this.setState({\n selfPassword: {\n ...others[\"selfPassword\"],\n isError: true,\n errorMessage: `Self-password is mandatory`,\n },\n });\n }\n if (!this.state.ConfirmSelfPassword.value) {\n this.setState({\n ConfirmSelfPassword: {\n ...others[\"ConfirmSelfPassword\"],\n isError: true,\n errorMessage: `Confirm Self-password is mandatory`,\n },\n });\n }\n if (!this.state.email.value) {\n if (!this.state.email.value) {\n this.setState({\n email: {\n ...others[\"email\"],\n isError: true,\n errorMessage: `CAN is mandatory`,\n },\n });\n }\n }\n if (\n !!this.state.ConfirmSelfPassword &&\n !!this.state.selfPassword &&\n this.state.selfPassword.value !== this.state.ConfirmSelfPassword.value\n ) {\n this.setState({\n ConfirmSelfPassword: {\n value: \"\",\n isError: true,\n errorMessage: `Password does not match`,\n },\n });\n }\n } else if (!this.state.startDate.value || !this.state.endDate.value) {\n if (!this.state.startDate.value) {\n this.setState({\n startDate: {\n value: null,\n isError: true,\n errorMessage: \"Start date is mandatory\",\n },\n });\n }\n if (!this.state.endDate.value) {\n this.setState({\n endDate: {\n value: null,\n isError: true,\n errorMessage: \"End date is mandatory\",\n },\n });\n }\n } else if (!!d2 && !!d3 && d2 > d3) {\n this.setState({\n endDate: {\n value: null,\n isError: true,\n errorMessage: \"Start date Should be earlier than End date)\",\n },\n });\n } else {\n const { investorData } = this.props;\n\n const params = {\n fromdt: formatDate(this.state.startDate.value),\n todate: formatDate(this.state.endDate.value),\n trtype: \"CAN\",\n customfund: \"102\",\n PAN: !!investorData && !!investorData.PAN ? investorData.PAN : \"\",\n Email: this.state.email.value === this.state.maskedEmail? this.state.orignalEmail: this.state.email.value,\n\n distCode: this.props.token,\n Password: this.state.selfPassword.value,\n distUid: this.props.userId,\n StmtFlag: this.state.summaryData === SUMMARY ? \"Summary\" : \"Detailed\",\n };\n const response = await this.props.getcaptialgainStatment(params);\n\n if (response) {\n this.setState({\n open: true,\n });\n } else {\n this.setState({\n email: {\n value: \"\",\n errorMessage: \"No Email Id for this CAN\",\n isError: true,\n },\n });\n }\n }\n };\n\n render() {\n const { investorData } = this.props;\n const {\n summaryData,\n DetailedData,\n selfPassword,\n ConfirmSelfPassword,\n email,\n } = this.state;\n return (\n
    \n \n \n
    \n \n
    \n
    \n
    \n
    CAN Based Account Statement
    \n
    Statement Type
    \n
    \n \n \n
    \n {summaryData === SUMMARY ? (\n
    \n
    As on Date
    \n \n this.onDateChange(\"AsDate\", e)}\n disabled={true}\n disableFuture={true}\n format=\"dd/MM/yyyy\"\n maxDate={new Date()}\n margin=\"normal\"\n id=\"mui-pickers-date\"\n value={this.state.AsDate}\n />\n \n
    \n ) : (\n
    \n
    Detailed Options
    \n
    \n \n \n \n
    \n
    \n
    Start Date
    \n \n this.onDateChange(\"startDate\", e)}\n disableFuture={true}\n format=\"dd/MM/yyyy\"\n disabled={\n DetailedData === SPECIFICPERIOD ? false : true\n }\n minDate={\n DetailedData === CURRENTFINANCIALYEAR\n ? new Date(\n new Date().setFullYear(\n new Date().getFullYear(),\n 3,\n 1\n )\n )\n : DetailedData === SPECIFICPERIOD\n ? new Date(new Date().setFullYear(1970, 0, 1))\n : \"\"\n }\n maxDate={new Date()}\n margin=\"normal\"\n id=\"mui-pickers-date\"\n value={this.state.startDate.value}\n />\n \n {!!this.state.startDate &&\n this.state.startDate.isError === true &&\n !!this.state.startDate.errorMessage ? (\n \n {this.state.startDate.errorMessage}\n
    \n ) : (\n \"\"\n )}\n\n
    \n
    \n End Date\n
    \n \n this.onDateChange(\"endDate\", e)}\n // openTo={true}\n disableFuture={true}\n disabled={\n DetailedData === SPECIFICPERIOD ? false : true\n }\n format=\"dd/MM/yyyy\"\n maxDate={\n DetailedData === CURRENTFINANCIALYEAR ||\n DetailedData === SPECIFICPERIOD\n ? new Date()\n : DetailedData === PREVIOUSFINANCIALYEAR\n ? \"\"\n : \"\"\n }\n id=\"mui-pickers-date\"\n value={this.state.endDate.value}\n />\n \n {!!this.state.endDate.errorMessage ? (\n \n {this.state.endDate.errorMessage}\n
    \n ) : (\n \"\"\n )}\n
    \n
    \n
    \n )}\n
    \n \n
    \n
    \n {\n this.setState({\n showPassword: !this.state.showPassword,\n });\n }}\n onChange={this.handleChangeSelfPassword}\n value={selfPassword.value}\n onBlur={this.showError(\"selfPassword\")}\n isShowError={selfPassword.isError}\n errorMessage={selfPassword.errorMessage}\n />\n
    \n
    \n {\n this.setState({\n confirmShowPassword: !this.state.confirmShowPassword,\n });\n }}\n height={!!this.state.confirmShowPassword ? 10 : 15}\n onChange={this.handleChangeConfirmSelfPassword}\n value={ConfirmSelfPassword.value}\n onBlur={this.showError(\"ConfirmSelfPassword\")}\n isShowError={ConfirmSelfPassword.isError}\n errorMessage={ConfirmSelfPassword.errorMessage}\n />\n
    \n
    \n \n
    \n  \n \n
    \n \n \n \n );\n }\n}\n\nexport default connect(\n ({ authReducer }) => {\n const { investorData, userId } = authReducer;\n // const userid = authReducer.userId;\n return { investorData, userId };\n },\n { getcaptialgainStatment }\n)(CAN);\n","import React, { Component } from \"react\";\nimport { List } from \"../transactions/nfoAndNewPurchase\";\nimport Signbutton from \"../../forms/button\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { connect } from \"react-redux\";\nimport { Input } from \"../../forms/input\";\nimport DateFnsUtils from \"@date-io/date-fns\";\n\nimport {\n MuiPickersUtilsProvider,\n KeyboardDatePicker,\n} from \"@material-ui/pickers\";\nimport { getcaptialgainStatment } from \"../../../store/actions/mailback\";\n\nimport CustomizedDialogs from \"../../home/customModal\";\nimport \"react-datepicker/dist/react-datepicker.css\";\n\nimport { formatDate } from \"../../forms/captalize\";\nimport { MailBackBreadCrumb } from \"./mailBack\";\nimport { DASHBOARD_URL } from \"../dashboard\";\nimport { maskEmail } from \"../../../utils/utilityFunctions\";\n\nclass CGS extends Component {\n constructor(props) {\n super(props);\n this.state = {\n startDate: {\n value: null,\n error: \"\",\n },\n endDate: { value: null, error: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n selfPassword: { value: \"\" },\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n\n open: false,\n showPassword: false,\n confirmShowPassword: false,\n };\n }\n\n handleChangeSelfPassword = (event) => {\n this.setState({\n selfPassword: { value: event.target.value },\n });\n };\n handleChangeConfirmSelfPassword = (event) => {\n this.setState({\n ConfirmSelfPassword: { value: event.target.value },\n });\n };\n handleChangeEmail = (event) => {\n this.setState({\n email: { value: event.target.value },\n });\n };\n\n showError = (label) => (event) => {\n const {\n [label]: { value },\n } = this.state;\n\n if (label === \"email\") {\n this.setState({\n [label]: {\n value,\n isError:\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n ) === false\n ? true\n : !value,\n errorMessage:\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n ) === false\n ? `Enter an vaild Email ID`\n : \"\",\n },\n });\n } else {\n this.setState({\n [label]: {\n value,\n isError: !value,\n },\n });\n }\n };\n closeYesModal = () => {\n this.setState({\n startDate: {\n value: new Date(),\n error: \"\",\n },\n endDate: { value: new Date(), error: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n selfPassword: { value: \"\" },\n email: { value: \"\" },\n open: false,\n });\n this.props.history.replace(DASHBOARD_URL);\n };\n closeNoModal = () => {\n this.setState({\n open: false,\n });\n this.props.history.replace(\"/\");\n };\n\n onDateChange = (label, event) => {\n if (label === \"endDate\" && !!this.state.startDate.value && !!event) {\n const reformtStDt = this.state.startDate.value.toLocaleDateString(\n \"en-US\",\n {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n }\n );\n\n const changeEndDt = event.toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n\n const d2 = new Date(reformtStDt).setHours(12, 0, 0, 0);\n const d3 = new Date(changeEndDt).setHours(12, 0, 0, 0);\n if (d2 > d3) {\n this.setState({\n [label]: {\n value: null,\n error: true,\n errorMessage: \"Start date should be earlier than End date\",\n },\n });\n } else {\n this.setState({\n [label]: { value: event, errorMessage: \"\", error: false },\n });\n }\n } else if (label === \"startDate\") {\n this.setState({\n [label]: { value: event },\n endDate: { value: null, error: \"\", errorMessage: \"\" },\n });\n }\n };\n\n submit = async () => {\n let startDateValue, endDateValue;\n\n if (this.state.startDate.value) {\n startDateValue = this.state.startDate.value.toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n }\n if (this.state.endDate.value) {\n endDateValue = this.state.endDate.value.toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"2-digit\",\n });\n }\n\n const d2 = new Date(this.state.startDate.value).setHours(12, 0, 0, 0);\n const d3 = new Date(this.state.endDate.value).setHours(12, 0, 0, 0);\n\n const {\n orignalEmail,\n } = this.state;\n\n \n \n \n if (\n !this.state.email.value ||\n !/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n )\n ) {\n if (!this.state.email.value) {\n this.setState({\n email: {\n value: \"\",\n isError: true,\n errorMessage:`Please enter an Email id`,\n },\n });\n } else {\n this.setState({\n email: {\n value: \"\",\n isError: true,\n errorMessage: `Please enter a valid Email ID`,\n },\n });\n }\n } else if (!this.state.startDate.value) {\n this.setState({\n startDate: {\n value: null,\n error: true,\n errorMessage: \"Start date is mandatory\",\n },\n });\n return;\n } else if (!this.state.endDate.value) {\n this.setState({\n endDate: {\n value: null,\n error: true,\n errorMessage: \"End date is mandatory\",\n },\n });\n return;\n } else if (d2 > d3) {\n this.setState({\n startDate: {\n value: null,\n error: true,\n errorMessage: \"Start date should be earlier than End date)\",\n },\n });\n } else {\n const { investorData } = this.props;\n const params = {\n fromdt: formatDate(this.state.startDate.value),\n todate: formatDate(this.state.endDate.value),\n customfund: \"102\",\n trtype: \"WBCAP\",\n PAN: !!investorData && !!investorData.PAN ? investorData.PAN : \"\",\n Email: this.state.email.value === this.state.maskedEmail? orignalEmail: this.state.email.value,\n distCode: this.props.token,\n Password: !!investorData && !!investorData.PAN ? investorData.PAN : \"\",\n distUid: this.props.userId,\n };\n\n const response = await this.props.getcaptialgainStatment(params);\n\n if (response) {\n this.setState({\n open: true,\n });\n }\n }\n };\n\n render() {\n const { investorData } = this.props;\n const { selfPassword, ConfirmSelfPassword, email } = this.state;\n return (\n
    \n \n \n
    \n \n
    \n
    \n
    \n
    Capital Gains Account Statement
    \n
    \n \n
    \n
    \n \n Start Date\n
    \n \n this.onDateChange(\"startDate\", e)}\n // openTo={true}\n disableFuture={true}\n format=\"dd/MM/yyyy\"\n maxDate={new Date()}\n id=\"mui-pickers-date\"\n value={this.state.startDate.value}\n />\n {!!this.state.startDate.errorMessage ? (\n \n {this.state.startDate.errorMessage}\n
    \n ) : (\n \"\"\n )}\n \n
    \n
    \n \n End Date\n
    \n \n this.onDateChange(\"endDate\", e)}\n disabled={!this.state.startDate.value ? true : false}\n disableFuture={true}\n format=\"dd/MM/yyyy\"\n errorMessage={this.state.endDate.errorMessage}\n maxDate={new Date()}\n id=\"mui-pickers-date\"\n value={this.state.endDate.value}\n />\n {!!this.state.endDate.errorMessage ? (\n \n {this.state.endDate.errorMessage}\n
    \n ) : (\n \"\"\n )}\n \n \n {/*
    \n {\n this.setState({\n showPassword: !this.state.showPassword,\n });\n }}\n onChange={this.handleChangeSelfPassword}\n value={selfPassword.value}\n onBlur={this.showError(\"selfPassword\")}\n isShowError={selfPassword.isError}\n errorMessage={selfPassword.errorMessage}\n />\n
    \n
    \n {\n this.setState({\n confirmShowPassword: !this.state.confirmShowPassword,\n });\n }}\n height={!!this.state.confirmShowPassword ? 10 : 15}\n onChange={this.handleChangeConfirmSelfPassword}\n value={ConfirmSelfPassword.value}\n onBlur={this.showError(\"ConfirmSelfPassword\")}\n isShowError={ConfirmSelfPassword.isError}\n errorMessage={ConfirmSelfPassword.errorMessage}\n />\n
    */}\n
    \n \n
    \n  \n \n \n \n \n \n );\n }\n}\n\nexport default connect(\n ({ authReducer }) => {\n const { investorData, userId, token } = authReducer;\n return { investorData, userId, token };\n },\n { getcaptialgainStatment }\n)(CGS);\n","import React, { Component } from \"react\";\nimport { List } from \"../transactions/nfoAndNewPurchase\";\nimport Signbutton from \"../../forms/button\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { connect } from \"react-redux\";\nimport { Input } from \"../../forms/input\";\n\nimport { getcaptialgainStatment } from \"../../../store/actions/mailback\";\nimport CustomizedDialogs from \"../../home/customModal\";\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport { MAILBACK_URL } from \".\";\nimport { MailBackBreadCrumb } from \"./mailBack\";\nimport moment from \"moment\";\nimport investorData from \"../investors/investorData\";\nimport { maskEmail } from \"../../../utils/utilityFunctions\";\n\nclass GAS extends Component {\n constructor(props) {\n super(props);\n this.state = {\n startDate: {\n value: new Date(),\n error: \"\",\n },\n pan: {\n value: props.investorData.PAN,\n isError: false,\n },\n endDate: { value: new Date(), error: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n selfPassword: { value: \"\" },\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n open: false,\n showPassword: false,\n confirmShowPassword: false,\n };\n }\n\n handleChangeSelfPassword = (event) => {\n this.setState({\n selfPassword: { value: event.target.value },\n });\n };\n handleChangeConfirmSelfPassword = (event) => {\n this.setState({\n ConfirmSelfPassword: { value: event.target.value },\n });\n };\n handleChangeEmail = (event) => {\n this.setState({\n email: { value: event.target.value },\n });\n };\n\n handleChangePan = (event) => {\n if (event.target.value.length <= 10) {\n this.setState({\n pan: {\n value: event.target.value.toUpperCase(),\n },\n });\n }\n };\n\n panvadilation = (event) => {\n if (/[A-Za-z]{5}\\d{4}[A-Za-z]{1}/.test(event.target.value) === false) {\n this.setState({\n pan: {\n value: \"\",\n isError: true,\n errorMessage: \"Enter a vaild PAN\",\n },\n });\n }\n };\n\n showError = (label) => (event) => {\n const {\n [label]: { value },\n } = this.state;\n\n if (label === \"email\") {\n this.setState({\n [label]: {\n value,\n isError:\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n ) === false\n ? true\n : !value,\n errorMessage:\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n ) === false\n ? `Enter an vaild Email ID`\n : \"\",\n },\n });\n } else {\n this.setState({\n [label]: {\n value,\n isError: !value,\n },\n });\n }\n };\n\n closeYesModal = () => {\n this.setState({\n ConfirmSelfPassword: { value: \"\" },\n selfPassword: { value: \"\" },\n email: { value: maskEmail(this.props.location.state.email) },\n orignalEmail: this.props.location.state.email,\n maskedEmail: maskEmail(this.props.location.state.email),\n open: false,\n });\n this.props.history.replace(\n MAILBACK_URL + \"/investor/investor-selection/GAS\"\n );\n };\n closeNoModal = () => {\n this.setState({\n open: false,\n });\n this.props.history.replace(\"/\");\n };\n\n onDateChange = (label, event) => {\n this.setState({ [label]: { value: event } });\n };\n\n submit = async () => {\n const {\n ConfirmSelfPassword,\n selfPassword,\n email,\n showPassword,\n confirmShowPassword,\n ...others\n } = this.state;\n\n \n if (!this.state.pan.value) {\n this.setState({\n pan: {\n value: \"\",\n isError: true,\n errorMessage: \"Please enter a PAN\",\n },\n });\n return;\n }\n\n if (!/[A-Za-z]{5}\\d{4}[A-Za-z]{1}/.test(this.state.pan.value)) {\n this.setState({\n pan: {\n value: \"\",\n isError: true,\n errorMessage: \"Enter a vaild PAN\",\n },\n });\n return;\n }\n if (\n !this.state.email.value ||\n !/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n )\n ) {\n if (!this.state.email.value) {\n this.setState({\n email: {\n value: \"\",\n isError: true,\n errorMessage: `Please enter an Email id`,\n },\n });\n return;\n } else {\n this.setState({\n email: {\n value: \"\",\n isError: true,\n errorMessage: `Please enter a valid Email ID`,\n },\n });\n }\n return;\n }\n \n const params = {\n fromdt: \"01/01/1970\",\n todate: moment(new Date()).format(\"DD/MM/YYYY\"),\n trtype: \"GF\",\n PAN: this.state.pan.value,\n Email: this.state.email.value === this.state.maskedEmail? this.state.orignalEmail: this.state.email.value,\n customfund: \"102\",\n distCode: this.props.token,\n Password: this.state.pan.value,\n distUid: this.props.userId,\n };\n const response = await this.props.getcaptialgainStatment(params);\n\n if (response) {\n this.setState({\n open: true,\n error: \"Success\",\n });\n } else {\n this.setState({\n open: true,\n error: \"No Records found\",\n });\n }\n };\n\n render() {\n const { investorData } = this.props;\n const { selfPassword, ConfirmSelfPassword, pan, email } = this.state;\n const PAN = investorData.PAN\n return (\n
    \n \n \n
    \n \n
    \n
    \n
    \n
    Grandfathering Account Statement
    \n
    \n \n
    \n
    \n \n
    \n {/*
    \n {\n this.setState({\n showPassword: !this.state.showPassword,\n });\n }}\n />\n
    */}\n {/*
    \n {\n this.setState({\n confirmShowPassword: !this.state.confirmShowPassword,\n });\n }}\n height={!!this.state.confirmShowPassword ? 10 : 15}\n />\n
    */}\n
    \n \n
    \n  \n \n
    \n
    \n \n
    \n );\n }\n}\n\nexport default connect(\n ({ authReducer }) => {\n const { investorData, userId, token } = authReducer;\n return { investorData, userId, token };\n },\n { getcaptialgainStatment }\n)(GAS);\n","import React, { Component } from \"react\";\nimport { List } from \"../transactions/nfoAndNewPurchase\";\nimport Signbutton, { Debtbutton } from \"../../forms/button\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { connect } from \"react-redux\";\nimport { Input } from \"../../forms/input\";\nimport { DASHBOARD_URL } from \"../dashboard\";\nimport { getNetworthPortfolio } from \"../../../store/actions/mailback\";\nimport CustomizedDialogs from \"../../home/customModal\";\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport { MAILBACK_URL } from \".\";\nimport { formatDate } from \"../../forms/captalize\";\nimport { MailBackBreadCrumb } from \"./mailBack\";\nimport moment from \"moment\";\n\nclass Networth extends Component {\n constructor(props) {\n super(props);\n this.state = {\n startDate: {\n value: new Date(),\n error: \"\",\n },\n pan: {\n value: props.investorData.PAN,\n isError: false,\n },\n endDate: { value: new Date(), error: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n selfPassword: { value: \"\" },\n email: { value: \"\" },\n open: false,\n Mode: \"Email\",\n showPassword: false,\n confirmShowPassword: false,\n };\n }\n\n handleChangeSelfPassword = (event) => {\n this.setState({\n selfPassword: { value: event.target.value },\n });\n };\n handleChangeConfirmSelfPassword = (event) => {\n this.setState({\n ConfirmSelfPassword: { value: event.target.value },\n });\n };\n handleChangeEmail = (event) => {\n this.setState({\n email: { value: event.target.value },\n });\n };\n\n handleChangePan = (event) => {\n if (event.target.value.length <= 10) {\n this.setState({\n pan: {\n value: event.target.value.toUpperCase(),\n },\n });\n }\n };\n\n panvadilation = (event) => {\n if(this.state.pan.value[3] !== \"P\"){\n this.setState({\n pan: {\n value: \"\",\n isError: true,\n errorMessage:\"Entered PAN Number is not related to Individual PAN Number, So please Enter Individual PAN Number\",\n },\n });\n }\n\n if (/[A-Za-z]{5}\\d{4}[A-Za-z]{1}/.test(event.target.value) === false) {\n this.setState({\n pan: {\n value: \"\",\n isError: true,\n errorMessage: \"Enter a vaild PAN\",\n },\n });\n }\n };\n\n showError = (label) => (event) => {\n const {\n [label]: { value },\n } = this.state;\n\n if (label === \"selfPassword\") {\n if (\n this.state.selfPassword.value === \"\" ||\n !/^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/.test(\n this.state.selfPassword.value\n )\n ) {\n if (\n !/^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/.test(\n this.state.selfPassword.value\n )\n ) {\n this.setState({\n selfPassword: {\n isError: true,\n errorMessage: `Password should be atleast 8 characters in length and should contain at least 1 Upper Case alphabet(A-Z).1 Special Character and 1 Numeric Value (0-9)`,\n },\n });\n return;\n }\n } else if (this.state.selfPassword.value === \"\") {\n this.setState({\n selfPassword: {\n value: \"\",\n isError: true,\n errorMessage: `Password is mandatory`,\n },\n });\n return;\n }\n } else if (label === \"email\") {\n this.setState({\n [label]: {\n value,\n isError:\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n ) === false\n ? true\n : !value,\n errorMessage:\n /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n ) === false\n ? `Enter an vaild Email ID`\n : \"\",\n },\n });\n } else if (label === \"ConfirmSelfPassword\") {\n this.setState({\n [label]: {\n value,\n isError:\n this.state.selfPassword.value !==\n this.state.ConfirmSelfPassword.value ||\n this.state.ConfirmSelfPassword.value === \"\"\n ? true\n : !value,\n errorMessage:\n this.state.selfPassword.value !==\n this.state.ConfirmSelfPassword.value ||\n this.state.ConfirmSelfPassword.value === \"\"\n ? `The Password and Confirm Password do not match`\n : \"\",\n },\n });\n } else {\n this.setState({\n [label]: {\n value,\n isError: !value,\n },\n });\n }\n };\n\n changeDateOn = (event) => () => {\n this.setState({\n Mode: event,\n selfPassword: { value: \"\" },\n ConfirmSelfPassword: { value: \"\" },\n email: { value: \"\" },\n });\n };\n\n closeYesModal = () => {\n this.setState({\n ConfirmSelfPassword: { value: \"\" },\n selfPassword: { value: \"\" },\n email: { value: \"\" },\n open: false,\n });\n this.props.history.replace(DASHBOARD_URL);\n };\n closeNoModal = () => {\n this.setState({\n open: false,\n });\n this.props.history.replace(\"/\");\n };\n\n onDateChange = (label, event) => {\n this.setState({ [label]: { value: event } });\n };\n\n submit = async () => {\n const {\n ConfirmSelfPassword,\n selfPassword,\n email,\n showPassword,\n confirmShowPassword,\n ...others\n } = this.state;\n if (this.state.Mode === \"Email\") {\n if (\n !this.state.selfPassword.value ||\n !this.state.ConfirmSelfPassword.value ||\n !this.state.email.value ||\n !/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n ) ||\n !/^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/.test(\n this.state.selfPassword.value\n ) ||\n !/^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/.test(\n this.state.ConfirmSelfPassword.value\n ) ||\n this.state.selfPassword.value !== this.state.ConfirmSelfPassword.value\n ) {\n if (\n !/^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/.test(\n this.state.selfPassword.value\n )\n ) {\n this.setState({\n selfPassword: {\n value: \"\",\n isShowPasswordError: true,\n },\n });\n }\n if (\n !/^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/.test(\n this.state.ConfirmSelfPassword.value\n )\n ) {\n this.setState({\n ConfirmSelfPassword: {\n value: \"\",\n isShowPasswordError: true,\n },\n });\n }\n if (!this.state.selfPassword.value) {\n this.setState({\n selfPassword: {\n value: \"\",\n isError: true,\n errorMessage: `Self-password is mandatory`,\n },\n });\n }\n if (!this.state.ConfirmSelfPassword.value) {\n this.setState({\n ConfirmSelfPassword: {\n value: \"\",\n isError: true,\n errorMessage: `Confirm Self-password is mandatory`,\n },\n });\n }\n if (\n !this.state.email.value ||\n !/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(\n this.state.email.value\n )\n ) {\n if (!this.state.email.value) {\n this.setState({\n email: {\n value: \"\",\n isError: true,\n errorMessage: `Email ID is mandatory`,\n },\n });\n } else {\n this.setState({\n email: {\n value: \"\",\n isError: true,\n errorMessage: `Please enter a valid Email Id`,\n },\n });\n }\n }\n if (\n !!this.state.ConfirmSelfPassword &&\n !!this.state.selfPassword &&\n this.state.selfPassword.value !== this.state.ConfirmSelfPassword.value\n ) {\n this.setState({\n ConfirmSelfPassword: {\n value: \"\",\n isError: true,\n errorMessage: `The Password and Confirm Password do not match`,\n },\n });\n }\n } else {\n let startDateValue;\n startDateValue = new Date().toLocaleDateString(\"en-US\", {\n month: \"2-digit\",\n year: \"numeric\",\n day: \"numeric\",\n });\n\n const params = {\n fromdate: \"01/01/1970\",\n todate: moment(new Date()).format(\"DD/MM/YYYY\"),\n mylp: \"\",\n emailid: this.state.email.value,\n distCode: this.props.token,\n pswd: this.state.selfPassword.value,\n funds: \"\",\n pagetype: \"Email\",\n distUid: this.props.userId,\n };\n\n const response = await this.props.getNetworthPortfolio(params);\n\n if (response) {\n this.setState({\n open: true,\n });\n }\n }\n } else if (this.state.Mode === \"PAN\") {\n if (\n !this.state.pan.value ||\n !/[A-Za-z]{5}\\d{4}[A-Za-z]{1}/.test(this.state.pan.value)\n ) {\n if (!this.state.pan.value) {\n this.setState({\n pan: {\n value: \"\",\n isError: true,\n errorMessage: \"Please enter a PAN\",\n },\n });\n return;\n }\n\n if (!/[A-Za-z]{5}\\d{4}[A-Za-z]{1}/.test(this.state.pan.value)) {\n this.setState({\n pan: {\n value: \"\",\n isError: true,\n errorMessage: \"Enter a vaild PAN\",\n },\n });\n }\n } else {\n let startDateValue;\n const params = {\n fromdate: \"01/01/1970\",\n todate: moment(new Date()).format(\"DD/MM/YYYY\"),\n mylp: \"\",\n emailid: \"\",\n pan: this.state.pan.value,\n distCode: this.props.token,\n pswd: this.state.pan.value,\n customfund: \"102\",\n funds: \"\",\n pagetype: \"PAN\",\n distUid: this.props.userId,\n };\n\n const response = await this.props.getNetworthPortfolio(params);\n\n if (response) {\n this.setState({\n open: true,\n error: \"Data inserted Successfully\",\n });\n }\n }\n }\n };\n\n render() {\n const { investorData } = this.props;\n const { selfPassword, ConfirmSelfPassword, email,pan, Mode } = this.state;\n return (\n
    \n \n \n
    \n \n
    \n
    \n
    \n
    Networth Report
    \n
    \n \n \n
    \n {Mode === \"PAN\" ? (\n
    \n \n
    \n \n
    \n
    \n ) : (\n
    \n
    \n \n
    \n
    \n {\n this.setState({\n showPassword: !this.state.showPassword,\n });\n }}\n />\n
    \n
    \n {\n this.setState({\n confirmShowPassword: !this.state.confirmShowPassword,\n });\n }}\n height={!!this.state.confirmShowPassword ? 10 : 15}\n />\n
    \n
    \n \n
    \n  \n
    \n )}\n \n
    \n
    \n \n
    \n );\n }\n}\n\nexport default connect(\n ({ authReducer }) => {\n const { investorData, userId, token } = authReducer;\n return { investorData, userId, token };\n },\n { getNetworthPortfolio }\n)(Networth);\n","import React, { Component } from \"react\";\nimport { Route, Switch } from \"react-router-dom\";\nimport MailBackInvestor from \"./investor\";\nimport InvestorSelection from \"./InvestorSelection\";\nimport SubmitRequest from \"./submitRequest\";\nimport MailBackSoa from \"./mailBackSoa\";\nimport Cas from \"./consolidatedAccountStatement\";\nimport ELSS from \"./ELSS\";\nimport CAN from \"./CAN\";\nimport CGS from \"./CGS\";\nimport GAS from \"./GAS\";\nimport Networth from \"./networth\";\n\nexport default class MailbackRouter extends Component {\n render() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport MailbackRouter from \"./mailBackRoutes\";\nimport Breadcrumbs from \"@material-ui/core/Breadcrumbs\";\nimport NavigateNextIcon from \"@material-ui/icons/NavigateNext\";\nimport Image from \"../../Image\";\n\nconst MAILBACK_URL = `/mailBackRequest`;\n\nexport default class MailBackComponent extends Component {\n render() {\n return (\n
    \n \n
    \n );\n }\n}\n\nexport class MailBackBreadCrumb extends Component {\n render() {\n const { name } = this.props;\n return (\n
    \n }\n aria-label=\"Breadcrumb\"\n >\n
    \n \n \n this.props.history.push(MAILBACK_URL + \"/investor\")\n }\n className=\"breadcrumbs-unselect-label\"\n >\n Mailback Types\n
    \n
    \n\n \n this.props.history.push({\n pathname: MAILBACK_URL + \"/investor/investor-selection\",\n state: !!this.props.investorData\n ? {\n name:\n !!name && name === \"Mail Back SOA\"\n ? \"mailBackSoa\"\n : name === \"Consolidated Account Statment\"\n ? \"consolidated\"\n : name === \"ELSS Account Statement\"\n ? \"ELSS\"\n : name === \"CAN Based Account Statement\"\n ? \"CAN\"\n : name === \"Capital Gains Account Statement\"\n ? \"CGS\"\n : name === \"Grandfathering Account Statement\"\n ? \"GAS\"\n : name === \"Networth Report\"\n ? \"Networth\"\n : \"Networth\",\n investorData: this.props.investorData,\n }\n : {\n name:\n !!name && name === \"Mail Back SOA\"\n ? \"mailBackSoa\"\n : name === \"Consolidated Account Statment\"\n ? \"consolidated\"\n : name === \"ELSS Account Statement\"\n ? \"ELSS\"\n : name === \"CAN Based Account Statement\"\n ? \"CAN\"\n : name === \"Capital Gains Account Statement\"\n ? \"CGS\"\n : name === \"Grandfathering Account Statement\"\n ? \"GAS\"\n : name === \"Networth Report\"\n ? \"Networth\"\n : \"Networth\",\n },\n })\n }\n >\n Investors Selection\n \n
    {this.props.name}
    \n \n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport { Paper } from \"@material-ui/core\";\nimport { connect } from \"react-redux\";\nimport {\n getNewPurchaseFundList,\n getFundWiseEarnings,\n} from \"../../../store/actions\";\nimport CustomLoading from \"../CustomLoader\";\nimport { FormatCurrency } from \"../currencyFormatter\";\nimport CustomLoader from \"../../forms/Loader\";\n\nexport const MyEarnings_URL = `/my-earnings`;\n\nclass MyEarnings extends Component {\n constructor(props) {\n super(props);\n this.state = {\n selectedFund: 0,\n };\n }\n async componentDidMount() {\n this.getEarnings(\"102\");\n }\n\n getEarnings = () => {\n window.scrollTo({\n top: 0,\n behavior: \"smooth\",\n });\n const params = {\n ReqBy: \"M\",\n Agent: this.props.token,\n Fund: \"102\",\n customfund: \"102\",\n };\n this.props.getFundWiseEarnings(params);\n };\n\n get total() {\n const { earnings = [] } = this.props;\n return earnings.reduce((prev, curr) => prev + curr.Amount, 0);\n }\n\n render() {\n const { fundsList = [], earnings = [], count } = this.props;\n const { selectedFund } = this.state;\n return (\n
    \n
    My Earnings
    \n {count > 0 && !fundsList.length ? (\n 0 && !fundsList.length ? true : false}\n />\n ) : (\n \n {/*
    \n {fundsList.map((fund, index) => (\n this.getEarnings(fund.amc_code, index)}\n >\n \n {fund.amc_name}\n
    \n
    \n ))}\n */}\n
    \n
    \n \n Brokerage Details{\" \"}\n \n (last 6 months)\n \n
    \n
    \n Total: \n
    \n
    \n\n {count > 0 ? (\n \n ) : earnings.length ? (\n earnings.map((earning, index) => (\n
    \n
    {earning.BankName}
    \n \n
    \n \n Period:\n
    \n \n {earning.Fromdate} to {earning.ToDate}\n
    \n \n
    \n \n Amount\n
    \n \n \n \n \n \n\n \n \n ))\n ) : (\n \n No Data Found\n \n )}\n \n \n )}\n {/* \n FOR ADDITIONAL BROKERAGE DETAILS, KINDLY EMAIL AT:{\" \"}\n \n \n brokerage@miraeasset.com\n \n \n */}\n \n );\n }\n}\n\nexport default connect(\n ({ transactions, authReducer, loading }) => {\n const { fundsList, earnings } = transactions;\n const { token } = authReducer;\n const { count } = loading;\n return { fundsList, token, earnings, count };\n },\n { getNewPurchaseFundList, getFundWiseEarnings }\n)(MyEarnings);\n","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { getNfoSchemes } from \"../../../store/actions/dashboard\";\nimport Signbutton from \"../../forms/button\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport copy from \"copy-to-clipboard\";\nimport {\n EmailShareButton,\n WhatsappIcon,\n EmailIcon,\n WhatsappShareButton,\n} from \"react-share\";\nimport Image from \"../../Image\";\n\nclass NfoFunds extends Component {\n async componentDidMount() {\n const params = {\n customfund: \"102\",\n };\n await this.props.getNfoSchemes(params);\n }\n gotoTransact = (fund) => () => {\n this.props.history.push({\n pathname: `/nfo-funds/nfo-transact`,\n fund: fund,\n });\n };\n render() {\n const { location } = this.props;\n\n const checkParam = !!location && !!location.fund;\n\n return (\n
    \n {!!this.props.nfoSchemes &&\n !!this.props.nfoSchemes.DtData &&\n this.props.nfoSchemes.DtData.length > 0 ? (\n this.props.nfoSchemes.DtData.map((ele, index) => (\n <>\n {ele.fund === \"102\" && (\n
    \n \n
    \n )}\n
    \n Generate Your ARN hardcoded NFO link, copy and share with your\n investors.\n
    \n \n ))\n ) : (\n \n Currently there are no active NFO's available.\n
    \n )}\n \n );\n }\n}\n\nexport default connect(\n ({ dashboard }) => {\n const { nfoSchemes } = dashboard;\n return {\n nfoSchemes,\n };\n },\n { getNfoSchemes }\n)(NfoFunds);\n\nexport class NfoFundCard extends Component {\n constructor(props) {\n super(props);\n this.state = {\n openShare: false,\n };\n }\n\n copyCodeToClipboard = () => {\n this.setState({\n openShare: false,\n });\n copy(this.props.link);\n alert(\"Link copied successfully\");\n };\n OpenShareOptions = () => {\n this.setState({\n openShare: !this.state.openShare,\n });\n };\n\n closeShare = () => {\n this.setState({\n openShare: false,\n });\n };\n\n render() {\n const { fund, OpeningDate, closingDate, scheme, link, LocationScheme } =\n this.props;\n\n return (\n \n \n \n {fund}\n \n\n \n \n
    \n \n Scheme\n
    \n \n {scheme}\n \n \n
    \n
    \n \n Opening Date\n
    \n \n {OpeningDate}\n
    \n \n
    \n \n Closing Date\n
    \n \n {closingDate}\n \n \n \n\n {!!this.props.LocationScheme && (\n \n \n {this.props.LocationScheme} - NFO Prefilled Link\n \n \n \n \n\n
    \n \n \n \n {/* */}\n\n \n
    \n \n \n \n
    \n
    \n \n \n \n
    \n
    \n \n \n )}\n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { Input } from \"../../forms/input\";\nimport Radio from \"@material-ui/core/Radio\";\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport IntegrationReactSelect from \"../../forms/autoCompleteInput\";\nimport { connect } from \"react-redux\";\nimport Signbutton from \"../../forms/button\";\nimport {\n validateSubBroker,\n NfoSchemesSubmission,\n getNfoSchemes,\n} from \"../../../store/actions\";\nimport { NO, YES } from \"../../../store/types\";\nimport CustomizedDialogs from \"../customModal\";\n\nclass NfoTransact extends Component {\n constructor(props) {\n super(props);\n this.state = {\n subArnCode: { value: \"\" },\n subBrokerCode: { value: \"\" },\n radioValue: { value: \"no\" },\n euinNo: { value: \"\" },\n open: false,\n FundSchemes: [],\n scheme: { value: \"\" },\n nfoLink: \"\",\n refno: \"\",\n schemeName: \"\",\n };\n }\n async componentDidMount() {\n const { location, nfoSchemes } = this.props;\n if (!!location && !!location.fund) {\n const params = {\n Fund: \"102\",\n customfund: \"102\",\n SubAgentCd: \"\",\n AgentCd: this.props.token,\n };\n const Euinresponse = await this.props.validateSubBroker(params);\n if (!!nfoSchemes && !!nfoSchemes.Table2 && nfoSchemes.Table2.length > 0) {\n const filteredSchemes = nfoSchemes.Table2.filter(\n (ele) => ele.fund === \"102\"\n );\n this.setState({\n FundSchemes: filteredSchemes,\n });\n } else {\n const params = { fund: \"102\" };\n const response = await this.props.getNfoSchemes(params);\n\n if (!!response && !!response.Table2 && response.Table2.length > 0) {\n const filteredSchemes = response.Table2.filter(\n (ele) => ele.fund === \"102\"\n );\n this.setState({\n FundSchemes: filteredSchemes,\n });\n }\n }\n } else {\n this.props.history.push(`/nfo-funds`);\n }\n }\n changeValue = (label) => (event) => {\n if (label === \"radioValue\" && event.target.value === \"no\") {\n if (!this.state.euinNo.value) {\n this.setState({\n radioValue: { value: event.target.value },\n });\n } else {\n this.setState({\n [label]: { value: event.target.value },\n euinNo: { value: \"\" },\n });\n }\n return;\n } else if (label === \"radioValue\" && event.target.value === \"yes\") {\n this.setState({\n radioValue: { value: event.target.value },\n });\n return;\n } else if (\n (label === \"subArnCode\" || label === \"subBrokerCode\") &&\n event.target.value.length <= 20\n ) {\n this.setState({\n [label]: { value: event.target.value },\n });\n return;\n }\n };\n\n changeEuin = (value) => {\n this.setState({\n euinNo: { value },\n });\n };\n\n submit = async () => {\n const {\n subArnCode,\n radioValue,\n euinNo,\n subBrokerCode,\n nfoLink,\n refno,\n open,\n FundSchemes,\n schemeName,\n ...others\n } = this.state;\n const keys = Object.keys(others);\n if (this.state.euinNo.value === \"\" && radioValue.value === \"no\") {\n this.setState({\n euinNo: {\n value: \"\",\n isError: true,\n errorMessage: \"Euin Declartion is mandatory*\",\n },\n });\n }\n\n const findError = keys.every((key) => !!others[key].value);\n if (!findError) {\n keys.forEach((key) => {\n !others[key].value &&\n this.setState({\n [key]: {\n ...others[key],\n isError: true,\n errorMessage: `${key} is mandatory*`,\n },\n });\n });\n const firstErroredKey = keys.find((key) => !others[key].value);\n switch (firstErroredKey) {\n case \"scheme\": {\n this.schemeField.focus();\n break;\n }\n }\n } else if (this.state.euinNo.value === \"\" && radioValue.value === \"no\") {\n this.setState({\n euinNo: {\n value: \"\",\n isError: true,\n errorMessage: \"Euin Declartion is mandatory*\",\n },\n });\n } else {\n const params = {\n euincode: this.state.euinNo.value.value,\n euinflag: this.state.radioValue.value === \"no\" ? NO : YES,\n fund: \"102\",\n customfund: \"102\",\n scheme: this.state.scheme.value.value,\n userid: this.props.userId,\n invdistflag: \"W\",\n arncode: this.props.token,\n subarn: this.state.subArnCode.value,\n subbroker: this.state.subBrokerCode.value,\n };\n const response = await this.props.NfoSchemesSubmission(params);\n if (\n !!response &&\n !!response.DtData &&\n !!response.DtData[0] &&\n !!response.DtData[0].refno\n ) {\n this.setState({\n open: true,\n refno: response.DtData[0].refno,\n nfoLink: response.DtData[0].nfo_link,\n schemeName: response.DtData[0].Scheme,\n });\n }\n }\n };\n\n closeModal = () => {\n const { location } = this.props;\n\n this.setState({\n open: false,\n });\n this.props.history.push({\n pathname: `/nfo-funds`,\n link: this.state.nfoLink,\n fund: \"102\",\n scheme: this.state.scheme.value.label,\n schemeName: this.state.schemeName,\n });\n };\n\n handleSchemeChange = (value) => {\n if (!value) {\n this.setState({\n scheme: { value: \"\" },\n });\n return;\n } else if (\n !!value.value &&\n !!this.state.scheme.value.value &&\n value.value.scheme_desc === this.state.scheme.value.value.scheme_desc\n ) {\n return;\n } else {\n const scheme = value.value;\n\n this.setState({\n scheme: { value },\n });\n }\n };\n\n render() {\n const { radioValue, scheme, subBrokerCode, subArnCode, euinNo } =\n this.state;\n const { euinList } = this.props;\n return (\n
    \n \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n (evt.key === \"e\" ||\n evt.key === \".\" ||\n evt.key === \"-\") &&\n evt.preventDefault()\n }\n bordercolor=\"#a6a6a6\"\n type=\"number\"\n onBlur={this.validateBrokerCode}\n onChange={this.changeValue(\"subArnCode\")}\n inputref={(ele) => (this.subArnField = ele)}\n />\n
    \n
    \n
    \n\n
    \n \n
    \n Scheme\n
    \n 0\n ? this.state.FundSchemes.map((item) => ({\n label: item.scheme_desc,\n value: item.scheme,\n }))\n : []\n }\n label=\"Fund\"\n handleChange={this.handleSchemeChange}\n value={scheme.value}\n placeholder=\"Select Scheme\"\n inputRef={(ele) => (this.schemeField = ele)}\n isError={scheme.isError}\n errorMessage={scheme.errorMessage}\n />\n
    \n
    \n
    \n \n (evt.key === \"e\" ||\n evt.key === \".\" ||\n evt.key === \"-\") &&\n evt.preventDefault()\n }\n type=\"number\"\n bordercolor=\"#a6a6a6\"\n value={subBrokerCode.value}\n onChange={this.changeValue(\"subBrokerCode\")}\n inputref={(ele) => (this.subBrokerField = ele)}\n />\n
    \n
    \n
    \n\n
    \n
    \n {/*
    \n
    EUIN Declaration
    \n \n \n
    \n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
    YES
    \n
    \n
    \n \n }\n className=\"investor-formcontrol-label\"\n style={{ margin: 0 }}\n />\n
    NO
    \n
    \n \n
    \n
    */}\n {radioValue.value === \"no\" ? (\n
    \n
    EUIN Selection*
    \n\n ({\n label: item.abm_agent,\n value: item.abm_agent,\n }))}\n label=\"Euin\"\n handleChange={this.changeEuin}\n value={euinNo.value}\n disabled={!euinList.length}\n placeholder=\"Select EUIN\"\n inputRef={(ele) => (this.euinField = ele)}\n isError={euinNo.isError}\n errorMessage={euinNo.errorMessage}\n />\n
    \n ) : (\n
    \n I/We hereby confirm that the EUIN box has been\n intentionally left the blank by me/us as this is an\n 'execution-only' transaction without any interaction or\n advice by any personnel of the above distributor or\n notwithstanding the advice of in-appropriateness,if any\n provided by any personnel of the distributor and the\n distributor has not charged any advisory fees on this\n transaction\n
    \n )}{\" \"}\n
    \n\n
    \n
    \n
    \n \n
    \n \n
    \n \n \n \n );\n }\n}\n\nexport default connect(\n ({ authReducer, dashboard, transactions }) => {\n const { token, userId } = authReducer;\n const { nfoSchemes } = dashboard;\n const { euinList } = transactions;\n return {\n token,\n euinList,\n userId,\n nfoSchemes,\n };\n },\n { validateSubBroker, NfoSchemesSubmission, getNfoSchemes }\n)(NfoTransact);\n","import React, { Component } from \"react\";\nimport { Route, Switch } from \"react-router-dom\";\nimport NfoFunds from \"./nfoFunds\";\nimport NfoTransact from \"./NfoTransaction\";\n\nexport default class NfoRouter extends Component {\n render() {\n const { history, location } = this.props;\n return (\n \n \n \n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport CommonBreadCrumb from \"../breadCrumbs\";\nimport NfoRouter from \"./nfoRoutes\";\n\nexport const NFO_URL = `/nfo`;\n\n// const breadcrumbNameMap = {\n// \"/nfo\":{\n// title: \"NFO Funds\",\n// to: NFO_URL + `/nfo-funds`,\n// },\n// \"/nfo-funds\": {\n// title: \"NFO Funds\",\n// to: NFO_URL + `/nfo-funds`,\n// },\n// \"/nfo-funds/nfo-transact\": {\n// title: \"NFO Fund Transact\",\n// to: NFO_URL + `/nfo-funds/nfo-transact`,\n// },\n\n// };\n\nexport default class NFOComponent extends Component {\n render() {\n const { location } = this.props;\n // const pathnames =\n // location.pathname.includes(\"/details\")\n // ? location.pathname\n // .split(\"/\")\n // .filter(name => name)\n // .slice(0, 2)\n // : location.pathname.split(\"/\").filter(name => name);\n return (\n
    \n {/* */}\n \n
    \n );\n }\n}\n","import React, { Component } from \"react\";\nimport { Route, Switch, Redirect } from \"react-router-dom\";\nimport Amc from \"./amc\";\nimport Nav from \"./nav\";\nimport MailBack from \"./mailBackRequest\";\nimport TransactionHistory from \"./transactionHistory\";\nimport Social from \"./social\";\n// import Support from \"./support\";\nimport Settings from \"./settings\";\nimport DashboardComponent from \"./dashboard/index\";\nimport InvestorComponent from \"./investors/index\";\nimport TransactionComponent from \"./transactions/index\";\nimport MailBackComponent from \"./mailBackRequest/mailBack\";\nimport MyEarnings from \"./myEarnings/index\";\nimport EKYC from \"../home/transactions/ekycForm\";\nimport { connect } from \"react-redux\";\nimport NFOComponent from \"./NFO\";\nimport NewInvestorRegistration from \"./transactions/newInvestor/NewInvestorRegistration\";\nclass AppRouter extends Component {\n render() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {/* */}\n {/* */}\n \n \n {!!this.props.tran_enable_flag &&\n this.props.tran_enable_flag === \"N\" ? (\n \n ) : (\n \n )}\n \n \n );\n }\n}\n\nexport default connect(({ authReducer }) => {\n const { tran_enable_flag } = authReducer;\n return {\n tran_enable_flag,\n };\n}, null)(AppRouter);\n","import React, { Component } from \"react\";\n\nexport default class Footer extends Component {\n render() {\n return (\n \n\n
    \n Mutual Fund investments are subject to market risks, read all scheme\n related documents carefully.\n
    {\" \"}\n
    © 2024, LIC Asset Management All rights reserved.
    \n \n );\n }\n}\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport Drawer from \"@material-ui/core/Drawer\";\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport Divider from \"@material-ui/core/Divider\";\nimport AppRouter from \"./appRoutes\";\nimport { drawerStyles } from \"./appCss\";\nimport List from \"@material-ui/core/List\";\nimport Tooltip from \"@material-ui/core/Tooltip\";\nimport ListItem from \"@material-ui/core/ListItem\";\nimport ListItemText from \"@material-ui/core/ListItemText\";\nimport Collapse from \"@material-ui/core/Collapse\";\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\nimport { connect } from \"react-redux\";\nimport { userLogout } from \"../../store/actions\";\nimport { getProfileData } from \"../../store/actions/profile\";\nimport { INVESTOR_URL } from \"./investors\";\nimport { NEW_TRANSACTION_URL } from \"./transactions\";\nimport { MAILBACK_URL } from \"./mailBackRequest\";\nimport { NAV_URL } from \"./nav\";\nimport { HISTORY_URL } from \"./transactionHistory\";\nimport CustomLoading from \"../home/CustomLoader\";\nimport { MyEarnings_URL } from \"./myEarnings\";\nimport CustomLoader from \"../forms/Loader\";\n\nimport {\n lastLoginIcon,\n nfoInActive,\n nfoActive,\n logoutIcon,\n HeaderLogo,\n dashboardActive,\n investorsActive,\n newTransactionActive,\n navActive,\n mailBackActive,\n transactionHistoryActive,\n ekycActive,\n earningsActive,\n dashboardInActive,\n investorsInActive,\n newTransactionInActive,\n navInActive,\n mailBackInActive,\n transactionHistoryInActive,\n ekycInActive,\n earningsInActive,\n settingsActive,\n settingsInactive,\n SwitchToOldDIT\n} from \"../../store/types/appEssentials\";\nimport Footer from \"../auth/footer\";\nimport Image from \"../Image\";\n\nexport const EKYC_URL = `/e-KYC`;\nconst NFO_URL = `/nfo-funds`;\n\nclass PermanentDrawerLeft extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n open: false,\n openDownloads: false,\n isDownloadsActive: false,\n isToolsandCalculatorsActive: false,\n isProductActive:false,\n isContactActive:false,\n pathname: \"\",\n responsiveDrawer: false,\n };\n }\n // componentDidMount() {\n // this.props.getProfileData({\n // Agent: this.props.token,\n // UserId: this.props.userId,\n // });\n // }\n handleClick = () => {\n this.setState({\n open: !this.state.open,\n });\n this.props.history.push(MAILBACK_URL);\n };\n handleToolsandCalculatorsClick = () => {\n this.setState({\n isToolsandCalculatorsActive: !this.state.isToolsandCalculatorsActive,\n isProductActive:false,\n isContactActive:false,\n openDownloads:false,\n isDownloadsActive:false,\n open:false,\n });\n window.open(\"https://www.licmf.com/tools-calculator\", \"_blank\");\n };\n handleProductClick = () => {\n this.setState({\n isProductActive: !this.state.isProductActive,\n isContactActive:false,\n openDownloads:false,\n isDownloadsActive:false,\n isToolsandCalculatorsActive:false,\n open:false,\n\n });\n window.open(\"https://www.licmf.com/current-nav\", \"_blank\");\n };\n handleContactClick = () => {\n this.setState({\n isContactActive: !this.state.isContactActive,\n isProductActive:false,\n openDownloads:false,\n isDownloadsActive:false,\n isToolsandCalculatorsActive:false,\n open:false,\n\n });\n window.open(\"https://www.licmf.com/contact-us\", \"_blank\");\n };\n handleDownloads = () => {\n this.setState({\n openDownloads: !this.state.openDownloads,\n isDownloadsActive: !this.state.isDownloadsActive,\n isProductActive:false,\n isContactActive: false,\n isToolsandCalculatorsActive:false,\n open:false,\n\n });\n };\n\n goToRoute = (path) => () => {\n this.props.history.push(path);\n this.setState({\n responsiveDrawer: false,\n openDownloads: false,\n isDownloadsActive:false,\n isProductActive:false,\n isContactActive: false, \n isToolsandCalculatorsActive:false,\n });\n\n if (!path.includes(MAILBACK_URL)) {\n this.setState({\n open: false,\n });\n }\n };\n\n logOut = () => {\n this.props.userLogout();\n this.props.history.replace(\"/\");\n };\n openResponsiveDrawer = () => {\n this.setState({\n responsiveDrawer: !this.state.responsiveDrawer,\n });\n };\n\n render() {\n const { classes, location, tran_enable_flag } = this.props;\n const { responsiveDrawer, isDownloadsActive, isToolsandCalculatorsActive,isProductActive,isContactActive } = this.state;\n const { pathname } = location;\n return (\n
    \n {/* */}\n \n \n \n \n \n \"logo\"\n\n
    \n \n window.open('https://online.licmf.com/DIT/', '_blank')}\n style={{ cursor: \"pointer\", paddingRight: 20, height: 32 }}\n src={SwitchToOldDIT}\n alt=\"Switch to Old Portal\"\n />\n {/* */}\n
    \n {/* Last login time : \n {!!this.props.lastLogin ? (\n this.props.lastLogin\n ) : (\n \n )} */}\n \n Logged as\n \n {this.props.userId}\n \n \n
    \n
    \n
    \n \n LOGOUT\n \n
    \n
    \n \n \n\n \n \n \n \"logo\"\n\n \n \n
    \n
    \n
    \n
    \n {!!this.props.userId\n ? this.props.userId\n .split(\" \")\n .reduce(\n (p, c) => p.concat(c.charAt(0).toUpperCase()),\n \"\"\n )\n : \"\"}\n
    \n
    \n \n
    \n
    \n
    \n {this.props.profileData.Distributor_Name}\n
    \n
    \n {/*
    \n
    ARN Code :
    \n
    */}\n\n
    \n
    \n {\" \"}\n {this.props.token}\n
    \n
    \n
    \n
    \n \n {tran_enable_flag === \"N\" ? (\n
    \n \n \n \n Dashboard\n
    \n \n\n \n \n \n Investors\n \n \n \n \n \n New Transaction\n \n \n\n \n \n \n Create NFO Link\n \n \n\n \n \n \n NAV\n \n \n \n \n \n Mailback Request\n \n \n {this.state.open ? : }\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Transaction History\n \n \n \n \n \n e-KYC\n \n \n\n \n \n \n View My Earnings\n \n \n \n \n \n Product wise NAV\n \n \n \n \n \n Tools & Calculators\n \n \n \n \n
    \n Downloads\n
    \n
    \n {this.state.openDownloads ? : }\n
    \n \n \n \n {[\n { text: \"Forms\", url: \"https://www.licmf.com/application-form\" },\n { text: \"Monthly Fact Sheet\", url: \"https://www.licmf.com/downloads/factsheet\" },\n { text: \"Addendum Notice\", url: \"https://www.licmf.com/addendum-notice\" },\n { text: \"SID/KIM/SAI\", url: \"https://www.licmf.com/sid-kim-sai\" },\n ].map(({ text, url }, index) => (\n window.open(url, \"_blank\")}\n style={{ backgroundColor: \"#FFF\" }}\n >\n \n \n ))}\n \n \n \n \n \n Contact Us\n \n \n \n ) : (\n
    \n \n \n \n New Transaction\n
    \n \n \n )}\n {/* */}\n \n \n \n \n
    \n \"logo\"\n
    \n
    \n
    \n
    \n
    \n
    \n {!!this.props.userId\n ? this.props.userId\n .split(\" \")\n .reduce((p, c) => p.concat(c.charAt(0).toUpperCase()), \"\")\n : \"\"}\n
    \n
    \n \n
    \n
    \n
    \n {this.props.profileData.Distributor_Name}\n
    \n
    \n {/*
    \n
    ARN Code :
    \n
    */}\n\n
    \n
    \n {\" \"}\n {this.props.token}\n
    \n
    \n
    \n
    \n \n {tran_enable_flag === \"N\" ? (\n
    \n \n \n \n Dashboard\n
    \n \n\n \n \n \n Investors\n \n \n \n \n \n New Transaction\n \n \n\n \n \n \n Create NFO Link\n \n \n\n \n \n \n NAV\n \n \n \n \n \n Mailback Request\n \n \n {this.state.open ? : }\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Transaction History\n \n \n \n \n \n e-KYC\n \n \n\n \n \n \n View My Earnings\n \n \n \n \n \n Product wise NAV\n \n \n \n \n \n Tools & Calculators\n \n \n \n \n
    \n Downloads\n
    \n
    \n {this.state.openDownloads ? : }\n
    \n \n \n \n {[\n { text: \"Forms\", url: \"https://www.licmf.com/application-form\" },\n { text: \"Monthly Fact Sheet\", url: \"https://www.licmf.com/downloads/factsheet\" },\n { text: \"Addendum Notice\", url: \"https://www.licmf.com/addendum-notice\" },\n { text: \"SID/KIM/SAI\", url: \"https://www.licmf.com/sid-kim-sai\" },\n ].map(({ text, url }, index) => (\n window.open(url, \"_blank\")}\n style={{ backgroundColor: \"#FFF\" }}\n >\n \n \n ))}\n \n \n {/* \n \n \n Support\n \n */}\n\n {/* \n \n \n FAQ's\n \n */}\n \n \n \n Contact Us\n \n \n \n ) : (\n
    \n \n \n \n New Transaction\n
    \n \n \n )}\n \n
    \n \n
    \n