{"version":3,"sources":["assets/images/logo-dashboard.png","assets/images/outline_checklist_white_24dp.png","../node_modules/typescript/lib sync","assets/images/1.jpg","assets/images/bar_chart.png","assets/images/round_chart.png","authConfig.js","components/SideBar.js","components/AzureButton.jsx","helpers/utils.js","constant.js","actions/homeAction.js","components/AamsHeader.js","views/Index.js","components/AamsFooter.js","views/dashboard.js","components/Loader.js","components/Toaster.js","helpers/data.js","components/MyBreadcrumb/MyBreadcrumb.js","views/deal-listing.js","views/add-deals.js","views/engage-list.js","components/PeriodSummaryReport/PeriodSummaryReport.js","views/EngagementDetails/ConventReviewForm.js","config/api.js","views/EngagementDetails/index.js","components/ItemTypes.js","components/box.jsx","components/dustbin.jsx","components/container.jsx","components/AmssPeriod.js","components/Convenant/ConvenantItem.js","components/Convenant/AmssCovenant.js","components/AssetVerification/AssetVerificationGroupItem.js","components/AssetVerification/AssetVerificationView.js","components/AssetVerification/AmssVerification.js","components/aamsEngagement_Setup.js","views/DealEngagement/DealParameters.js","views/DealEngagement/DealInfoEditForm.js","views/DealEngagement/index.js","views/blankPage.js","components/dnd.js","views/login.js","PrivateRoute.js","PublicRoute.js","services/CSVParser.js","assets/img/asset_icn.png","assets/img/currency_icn.png","views/PortfolioHistory/FileUploadModal.js","components/MyTooltrip/MyTooltrip.js","components/LoaderProgressBar/LoaderProgressBar.js","views/PortfolioHistory/FieldMappingModal.js","views/PortfolioHistory/TapListModal.js","views/PortfolioHistory/List.js","services/Network.js","services/API.js","views/PortfolioHistory/ErrorModal.js","views/PortfolioHistory/index.js","views/ErrorPage/ErrorPage.js","Router.js","App.js","reducers/homeReducer.js","reducers/index.js","index.js"],"names":["webpackEmptyContext","req","e","Error","code","keys","resolve","module","exports","id","configData","window","b2cPolicies","names","signUpSignIn","forgotPassword","editProfile","authorities","authority","REACT_APP_AZURE_AUTH_URL","authorityDomain","REACT_APP_AUTHORITY_URL","msalConfig","auth","clientId","REACT_APP_CLIENT_ID","knownAuthorities","redirectUri","postLogoutRedirectUri","navigateToLoginRequestUrl","cache","cacheLocation","storeAuthStateInCookie","system","loggerOptions","loggerCallback","level","message","containsPii","LogLevel","console","error","Info","info","Verbose","debug","Warning","warn","loginRequest","scopes","AMSS_API","endpoint","REACT_APP_API_URL","REACT_APP_AZURE_SCOPE_URL","REACT_APP_GRAPH_ME_URL","SideBar","_homeState$clients","homeState","useSelector","state","home","_jsx","_Fragment","children","className","_jsxs","Link","to","alt","src","require","default","clients","name","SignInButton","instance","useMsal","Button","variant","onClick","loginPopup","catch","handleLogin","handleAzureLogout","async","logoutPopup","isLogin","sessionStorage","getItem","setRestrictAccount","status","arguments","length","undefined","setItem","getErrorMessage","setErrorMessage","msg","setLoginData","r","accessToken","account","username","setClientStorage","Promise","axiosAuthHeaderSet","axios","defaults","headers","common","dateFormat","d","f","moment","format","config","url","API_URL","UPDATE_CLIENT_ACTION","STORE_CLIENT_ACTION","updateClient","type","payload","storeClients","AamsHeader","show","setShow","useState","setName","setClints","selectedClient","setSelectedClient","appContext","useDispatch","useContext","AppContext","useEffect","loadName","loadClients","log","client","client_id","Offcanvas","onHide","handleClose","Header","closeButton","Title","Body","href","handleShow","color","width","UncontrolledDropdown","DropdownToggle","caret","DropdownMenu","DropdownItem","preventDefault","handleLogout","Index","Aamsfooter","Container","Dashboard","Loader","props","isLoading","Modal","centered","size","class","Spinner","animation","Toaster","showA","setShowA","toggleShowA","setTimeout","Toast","onClose","style","position","top","right","autohide","bg","camelToTitle","text","result","replace","charAt","toUpperCase","slice","sortByDate","a","b","Date","createdDate","strlimit","count","lowercaseKeys","obj","Object","reduce","accumulator","key","toLowerCase","isValidDate","s","test","parts","split","map","p","parseInt","getMonth","getDate","getFullYear","sortedByProperty","property","order","sort","aa","localeCompare","searchKeyword","data","search","results","i","hasOwnProperty","toString","indexOf","push","MyBreadcrumb","items","Breadcrumb","k","Item","active","op","link","getDealUrl","DealList","deals","setDeals","dealsCopy","setDealsCopy","isActive","setActive","setLoading","searchText","setSearchText","homeData","showAlert","setShowAlert","alertMessage","setAlertMessage","alertType","setAlertType","sortType","setSortType","history","useHistory","getDealsWithAxios","resp","get","responseData","filterData","filter","response","tableSort","t","tempData","Card","CardBody","CardTitle","tag","padding","margin","paddingLeft","marginLeft","marginRight","paddingRight","marginBottom","onChange","target","value","selected","placeholder","RegExp","tempDeal","match","deal","originator","dealTypeName","isDefaultedFinancial","isDefaultedOther","closingDate","toLocaleDateString","year","day","month","initialSize","NumberFormat","displayType","thousandSeparator","prefix","AamsFooter","postDealUrl","getDealTypeUrl","getPaymentPeriodUrl","AddDeals","errorMessage","successMessage","setSuccessMessage","includeInactive","setIncludeInactive","dealTypes","setDealTypes","addDealFormValidationSchema","yup","shape","deal_name","required","deal_description","deal_type","initial_deal_size","min","deal_closing_date","end_date","estimated_closing_date","payment_date","payment_date_period","initial_payment_date","determination_date","paymentPeriods","setPaymentPeriods","_error$response","_error$response$data","Message","getDealTypes","getPaymentPeriods","Formik","initialValues","onSubmit","values","_ref","resetForm","dataArr","description","dealTypeID","endDate","paymentDateDescription","paymentPeriodID","initialPaymentDate","determinationDateDescription","estimatedClosingDate","IncludeInactive","post","then","dealId","timer","clearTimeout","errorVar","Status","add_deal","validationSchema","_ref2","handleChange","touched","handleSubmit","errors","setFieldValue","Form","role","Row","Col","sm","FormGroup","row","Label","for","Field","as","dealType","CurrencyInput","defaultValue","decimalsLimit","onValueChange","toISOString","paymentPeriod","i2","add","Input","title","confirm","goBack","getEngagementUrl","Engagelist","engagements","setEngagements","engagementsCopy","setEngagementsCopy","getEngagementsWithAxios","statusCode","setStatusCode","engagementName","display","period","j","engagementID","dealName","servicesRequired","join","startDate","deliveryDate","closedDate","PeriodSummaryReport","generateReport","summaryReports","saveNotes","periodDetails","showstat","setShowsStat","attributes","isEdit","enableReinitialize","FieldArray","render","arrayHelpers","attr","_attr$assetVerificati","_attr$assetVerificati2","assetVerificationAttribute","assetVerificationAttributeGroupName","testedTotal","testedPassed","testedFailed","rows","ConventReviewForm","covenantReviews","completeCovReview","setCovenantReviews","submit","setEdit","isAttrEdit","setAttrEdit","DragDropContext","onDragEnd","sourceIndex","source","index","destIndex","destination","tempGroups","splice","_ref3","Droppable","droppableId","provided","snapshot","ref","innerRef","droppableProps","Draggable","draggableId","_attr$covenant","draggableProps","dragHandleProps","covenant","covenantCategoryName","isComplete","comparisonValue","note","resultName","res1","r1","assetVerificationGroupReorder","assetVerificationAttributesReorder","conventReviewReorder","assetTapeDetails","getEngagementDetailsUrl","getPeriodDetailsUrl","getDealDetailsUrl","getResultUrl","getCovenantReviewUrl","postCovenantReviewUrl","getAssetVerificationUrl","documentManageUrl","decumentDownloadUrl","assetVerificationReviewUrl","assetVerificationAssetAttributeReviewsUrl","getSummaryReportUrl","covRevValues","resultID","EngagementDetails","dealDetails","setDealDetails","engagementDetails","setEngagementDetails","assetVerification","setAssetVerification","avsReviews","setAvsReview","avsReviewsNew","setAvsReviewNew","selectedAvsItem","setSelectedAvsItem","isOpenAvsItem","setOpenAvsItem","selectedReviewItem","setSelectedReviewItem","isModalOpen","setModalOpen","setValues","attributeValues","setAttributeValues","avsDocuments","setAvsDocuments","setSummaryReports","covValues","setCovValues","isAvsReviewError","setAvsReviewError","params","setParams","editAttrbutesReview","setEditAttributesReview","initialAvsReview","periodID","assetVerificationID","assetIdentifier","assetName","getSummaryReportWithAxios","respsumrep","periodid","rep","err","handleInputChange","getCovenantReviewWithAxios","covresp","covrev","covrev_tem","c","setPeriodDetails","setResults","failResult","setFailResult","formStat","setFormStat","isDisabled","setIsDisabled","getAssetReviewVerification","getDecuments","recodeId","modalHideHandler","res","dealID","getEngagementDetailsWithAxios","getPeriodDetailsWithAxios","ress","notNaResult","getResultssWithAxios","av","getAssetVerification","parseParamsFromUrl","paramsTemp","queryString","parse","location","statusName","isWaterfallGenerationEnabled","isCovenantTrackingEnabled","revid","put","cresp","updateConvenantReviews","g","covenantID","api","orderedCovenantIDs","isVerificationServicesEnabled","addAvsReview","assetTypeName","cancelAvsReview","submitAvsReview","ar","selectionNumber","openModal","v","documentCount","delete","deleteAvsReview","colSpan","fontSize","cursor","onclick","assetVerificationAssetAttributeReviews","arr","exceptionDescription","reset","submitAvsReviewAttributes","_attr$assetVerificati3","_values$attributes$","verificationSource","disabled","boxShadow","file","formData","FormData","append","documentUploadHandler","files","ad","fileName","filename","responseType","URL","createObjectURL","Blob","document","createElement","setAttribute","body","appendChild","click","downloadDocument","periodId","_data$attributes","notes","mitigationPlan","ItemTypes","backgroundColor","textAlign","borderRadius","Box","isDragging","drag","useDrag","item","end","monitor","getDropResult","collect","opacity","Dustbin","boards","setBoard","setIsActive","canDrop","isOver","drop","useDrop","accept","addServiceToDustbin","background","height","placeItems","temp","removeServiceToDustbin","memo","board","gap","flexWrap","overflow","clear","event","getPeriodUrl","postPeriodUrl","periodValidationSchema","AmssPeriod","periodCnt","setPeriodCnt","periods","showAdd","setShowAdd","periodRows","setPeriodRows","periodRowsDB","setPeriodRowsDB","setPeriodId","esd","setEsd","eed","setEed","edd","setEdd","isNewPeriod","setNewPeriod","periodStatus","setPeriodStatus","errorResponse","setError","getPeriodsWithAxios","engagement","closePeriod","determinationDate","paymentDate","periodresp","addNewPeriodRow","data2","deletePeriod","ConvenantItem","covenants","setCovenants","onEdit","isOrderEdit","setOrderEdit","cov","getCovenantTypeUrl","getCovenantCategoryUrl","getVerificationSrcUrl","getValueTypeUrl","postCovenantUrl","getCovenantUrl","covenantTypeID","covenantCategoryID","verificationSourceID","dataValueTypeID","AmssCovenant","covenantTypes","setCovenantTypes","covenantCategories","setCovenantCategories","verificationSrc","setVerificationSrc","valueTypes","setValueTypes","selectedId","setSeletedId","isError","setMessage","assetVerificationValidationSchema","getCovenantsWithAxios","respCovenants","covs","getCovenantTypesWithAxios","types","getCovenantCategoriesWithAxios","categories","getVerificationSrcWithAxios","verification","getValueTypesWithAxios","valuet","addNewAttribute","saveCovenantAttribute","covenantresp","_error$response2","_error$response2$data","alert","_error$response3","_error$response3$data","JSON","stringify","htmlFor","covenantCategory","cc","AssetVerificationGroupItem","editAVSAttribute","delAVSAttribute","reorderAssetVerificationAttributes","setAttributeOrderFlag","isAttributeOrderFlag","groups","setGroups","onAttributesFlagOpen","orderAttributes","setOrderAttributes","assetVerificationAttributes","tempAllGroups","attribute","index1","AssetVerificationView","setSelectedGroup","setGroupEdit","setGroupActive","setGroupEditModalShow","isGroupOrderFlag","getSampleMethodUrl","getAssetTypeUrl","postAVSUrl","postAssetVerificationAttrUrl","getAssetVerificationAttrUrl","assetVerificationAttributeGroup","initialSetupValues","assetTypeID","sampleMethodID","sampleValue","AmssVerification","assetVer","setAssetVer","setupValues","setSetupValues","setAttributes","avs","setAvs","assetTypes","setAssetTypes","sampleMethods","setSampleMethods","selectedAttributes","setSelectedAttributes","errorAttribures","setErrorArrributes","isGroupActive","isGroupEdit","selectedGroup","isGroupEditModalShow","setGroupOrderFlag","useRef","assetVerificationAttributeGroupID","assetVerificationGroupAddValidationSchema","handleCloseGroupModal","assetverifcation","handleSetupInputChange","isNaN","getAttributesWithAxios","getAVSSetupWithAxios","avss","getAssetVerificationAttributesGroup","_assetGroupData$data","assetGroupData","setAssetVerificationAttributesGroup","getAssetTypesWithAxios","methods","getSampleMethodsWithAxios","assetType","at","sampleMethod","saveAVSSetup","avsresp","editAVSSetup","avseresp","dataAttrArr","attrresp","saveAVSAttribute","_ref4","marginTop","_groups$","updateGroups","orderedAssetVerificationAttributeGroupIDs","reorderAssetVerification","_data$","updateAttributes","orderedAssetVerificationAttributeIDs","backdrop","validateOnChange","validateOnBlur","_ref5","Group","controlId","postEngagementUrl","selectedEng","setSelectedEng","toggle","setToggle","setText","textCopy","setTextCopy","text1","setText1","toggle1","setToggle1","errorText","setErrorText","setErrorResponse","isEngEdit","setEngEdit","boardErr","setBoardErr","editEng","setEditEng","selectedIndex","setSelectedIndex","_engagements$selected","engagementContent","setEngagementContent","toggleInput","tog","deleteEngagement","handleDblChange2","updateEngagement","isReportGenerationEnabled","isCashAdministrationEnabled","engresp","handleChange2","newboard","eng","onBlur","onKeyPress","onDoubleClick","toggleInput1","editEngagement","deleteNewEngagement","assetVerifications","DndProvider","backend","HTML5Backend","saveEngagement","DealParameters","setDealDetailsWithAxios","dealParameterFormValidationSchema","isDealParameterEdit","setDealParameterEdit","DealTypeID","Description","pp","paymentPeriodName","DealInfoEditForm","_config$url","_config$url2","getDealFlagUrl","_config$url3","postDealFlagUrl","_config$url4","DealEngagement","isEditDealInfo","setEditDealInfoStatus","dealRoles","setDealRoles","setDealId","dealPartyMembers","setPartyMember","dealFlags","setDealFlags","dealFlagToggle","setDealFlagToggle","checked","setChecked","setHours","nullable","dealPartyMemberAddFormValidationSchema","roleID","primaryContact","getDealDetailsWithAxios","_config$url5","getDealPartyMember","_config$url8","handleFlagChange","flagsPromise","flagID","isSet","all","_config$url6","_config$url7","getDealRoles","element","getDealFlagWithAxios","ds","onDelete","_config$url9","setDealPartyMember","dr","roleName","_config$url10","delDealPartyMember","AamssEngagementSetup","flagName","UncontrolledCollapse","toggler","defaultOpen","Blankpage","_dealDataByDealName$v","_dealDataByDealName$k","_Object$keys","originatorData","setOriginatorData","dealDataByDealName","setDealDataByDealName","dealData","setDealData","dealSum","setDealSum","defaultDeal","setDeafultDeal","openEngagementPeriod","setOpenEngagementPeriod","lateReport","setLateReport","convenantReviewSummery","setConvenantReviewSummery","convenantReviewSummeryTrand","setConvenantReviewSummeryTrand","assetReviewSummery","setAssetReviewSummery","assetReviewSummeryTrand","setAssetReviewSummeryTrand","dealSummeryByMonth","setDealSummeryByMonth","selectedDealId","setSelectedDeal","selectedOriginatorId","setSelectedOriginator","selectedAssetTypeId","setSelectedAssetType","getAssetTapeSummary","getCovenantReviewSummary","getAssetVerificationReviewSummary","getDealDetails","getConvenantReviewTrand","getAssetTapeSummaryByMonth","getAssetVerificationReviewSummaryTrand","getPeriodData","getAssetTypeData","camelize","_resp$data","_resp$data2","_resp$data3","_resp$data3$responseD","tempLateData","total","dfDeal","IsDefaultedFinancial","IsDefaultedOther","_a$originator","_a$originator2","_a$originator3","trim","oriData","val","totalBalance","groupbyOriginator","_a$dealTypeName","_a$dealTypeName2","_a$dealTypeName3","groupbyDealName","subtract","x","y","tapeMonth","totalAmountPaid","_error$response4","_error$response4$data","_a$periodEndDate","_a$periodEndDate2","_a$periodEndDate3","periodEndDate","data1","failed","passed","tested","covenantsFailed","covenantsNotApplicable","covenantsPassed","covenantsTested","groupbyEndMonth","_error$response5","_error$response5$data","orientation","marker","_error$response6","_error$response6$data","assetsTested","attributesTested","assetVerificationsPassed","assetVerificationsNotApplicable","assetVerificationsFailed","_error$response7","_error$response7$data","_a$periodEndDate4","_a$periodEndDate5","_a$periodEndDate6","groupbyEndMonthForAssets","_error$response8","_error$response8$data","Plot","labels","layout","plot_bgcolor","paper_bgcolor","font","displayModeBar","yaxis","fixedrange","automargin","itemsizing","xaxis","tickwidth","barmode","Dragpage","Example","clientUrl","LoginPage","accounts","inProgress","setAccessToken","dispatch","setLogin","saveToken","token","reject","Authorization","_resp$data4","_resp$data4$responseD","_resp$data5","UnauthenticatedTemplate","AuthenticatedTemplate","request","acquireTokenSilent","_err$response","_err$response$data","_err$response2","_err$response2$data","RequestAccessToken","PrivateRoute","component","Component","rest","Route","isRestrict","Redirect","PublicRoute","restricted","CSVParser","Papa","header","skipEmptyLines","complete","array","csv","unparse","csvData","csvURL","navigator","msSaveBlob","tempLink","downloadCSVFile","download","stepOneValidation","selectedDate","selectedDeal","stepThreeValidation","FileUploadModal","isUploadStepOneDone","isUploadStepTwoDone","isUploadStepThreeDone","getMothlyPeriod","monthEndDateList","getTapeAsset","onOverwriteFileSelect","parseFile","uploadFile","success","downloadSample","back","uploadType","setUploadType","fileTypes","paddingTop","paddingBottom","asset_img","collection_img","m","tapeMonthEndDate","Math","random","FileUploader","multiple","MyTooltrip","popover","Popover","OverlayTrigger","placement","overlay","LoaderProgressBar","now","ProgressBar","label","FieldMappingModal","showb","handleCloseb","fileParseHeaderData","mappingFieldData","mappingData","submitTape","isDetailsError","handleShowc","setMappingData","machingData","setMachingData","uploadPercent","copyMappingData","setCopyMappingData","copyMachingData","setCopyMachingData","copyMachingData1","copyMappingData1","errorField","setErrorField","border","maxHeight","Table","responsive","fieldDisplayName","fieldName","mappingField","tempMappingData","tempMachingData","selectedValue","oldSelectedValue","h","includes","TapListModal","copydata","setData","selectedType","mapping","collectionTapeDetails","assetTapeCopyDetails","toLocaleLowerCase","List","docDownload","getTapeAssetDetails","tapePreviewHandler","isOpen","setOpen","tapeData","setTapData","tapeCopyData","setTapCopyData","numberOfAssets","numberOfRecords","createdBy","fileID","baseUrl","Network","API","ErrorModal","showc","handleClosec","errorsDownload","errorDetails","PortfolioList","setShowb","setSuccess","setUploadPercent","setShowc","setMonthEndDateList","assetTapeList","setAssetTapList","assetTapeListCopy","setAssetTapListCopy","selectedTapeAsset","setSelectedTapeAsset","setUploadStepOneDone","setUploadStepTwoDone","setUploadStepThreeDone","isFileOverwrite","setFileOverwrite","uploadedFile","setUploadedFile","fileParseData","setFileParseData","setMappingFieldData","setDetailsError","errorRespose","setSelectedType","isTapePreviewOpen","setTapePreviewOpen","previewTapeOpenType","setPreviewTapeOpenType","getPortfolioHistoryList","_res4","_res4$data","_res5","_res5$data","temp1","_res","_res$data","getTapAssetDetailsFromList","_res2","_res2$data","getTapCollectionDetailsFromList","_res3","_res3$data","getTapDetailsFromList","_data$index","_res$data2","_res$data2$responseDa","_res$data3","_res$data3$responseDa","getTapeCollectionDetails","_data$index2","_res$data4","_res$data4$responseDa","_res$data5","_res$data5$responseDa","getMappingData","initialData","mapData","tempMatch","_res$data6","getDeals","_res6","_res6$data","date","_res7","_res7$data","isTapeUploaded","duplicateElementa","toFindDuplicates","dup","find","columnName","PropertyName","frmData","onUploadProgress","progressEvent","loaded","percent","floor","_res8","_res8$data","batchDetails","_res9","_res9$data","_err$response5","_err$response5$data","_err$response3","_err$response3$data","_err$response3$data$r","_err$response4","_err$response4$data","_err$response4$data$r","_err$response6","_err$response6$data","uploadErrors","_e$target","tempAssetTapeList","tapePreviewCloseHandler","ErrorPage","Router","BrowserRouter","Switch","path","exact","createContext","App","msalInstance","Provider","mode","logout","CacheBuster","currentVersion","version","isEnabled","isVerboseMode","metaFileDirectory","MsalProvider","initialState","homeReducer","action","appReducer","combineReducers","rootReducer","storage","removeItem","PublicClientApplication","persistConfig","persistedReducer","persistReducer","store","createStore","applyMiddleware","thunk","persistor","persistStore","ReactDOM","React","StrictMode","PersistGate","loading","getElementById"],"mappings":"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","file":"static/js/main.4ad909fb.chunk.js","sourcesContent":["export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGcAAAAnCAYAAAASGVaVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDZEMzkwNkY2MjVBMTFFQ0IzNkJCODUyQjBBMjNCMDMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDZEMzkwNzA2MjVBMTFFQ0IzNkJCODUyQjBBMjNCMDMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowNkQzOTA2RDYyNUExMUVDQjM2QkI4NTJCMEEyM0IwMyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowNkQzOTA2RTYyNUExMUVDQjM2QkI4NTJCMEEyM0IwMyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqKiwx4AABWKSURBVHja7Ft5eFTl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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAAAW0lEQVQ4y2NgGIbgP/f/ff+jSFF+8P////f/c+BXpvp/w38BuPJH/5UJmbsfqOzUf2lU5f8xAEKD9P9bQP4PIH78XwUuilsDXAuScsLelQY6TGU0HkZOPAxBAABLn8ElZOUdIwAAAABJRU5ErkJggg==\"","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 345;","export default __webpack_public_path__ + \"static/media/1.b3a5b17d.jpg\";","export default __webpack_public_path__ + \"static/media/bar_chart.24fe96ae.png\";","export default __webpack_public_path__ + \"static/media/round_chart.1cdabb92.png\";","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\nimport { LogLevel } from \"@azure/msal-browser\";\r\n\r\n/**\r\n * Enter here the user flows and custom policies for your B2C application\r\n * To learn more about user flows, visit: https://docs.microsoft.com/en-us/azure/active-directory-b2c/user-flow-overview\r\n * To learn more about custom policies, visit: https://docs.microsoft.com/en-us/azure/active-directory-b2c/custom-policy-overview\r\n */\r\n\r\nconst { configData } = window;\r\nexport const b2cPolicies = {\r\n names: {\r\n signUpSignIn: \"b2c_1_SignUpSignIn\",\r\n forgotPassword: \"b2c_1_PasswordReset\",\r\n editProfile: \"b2c_1_EditProfile\",\r\n },\r\n authorities: {\r\n signUpSignIn: {\r\n authority: configData.REACT_APP_AZURE_AUTH_URL + \"/b2c_1_SignUpSignIn\",\r\n },\r\n forgotPassword: {\r\n authority: configData.REACT_APP_AZURE_AUTH_URL + \"/b2c_1_PasswordReset\",\r\n },\r\n editProfile: {\r\n authority: configData.REACT_APP_AZURE_AUTH_URL + \"/b2c_1_EditProfile\",\r\n },\r\n },\r\n authorityDomain: configData.REACT_APP_AUTHORITY_URL,\r\n};\r\n\r\n/**\r\n * Configuration object to be passed to MSAL instance on creation.\r\n * For a full list of MSAL.js configuration parameters, visit:\r\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/configuration.md\r\n */\r\nexport const msalConfig = {\r\n auth: {\r\n clientId: configData.REACT_APP_CLIENT_ID, // This is the ONLY mandatory field that you need to supply.\r\n authority: b2cPolicies.authorities.signUpSignIn.authority, // Choose SUSI as your default authority.\r\n knownAuthorities: [b2cPolicies.authorityDomain], // Mark your B2C tenant's domain as trusted.\r\n redirectUri: \"/\", // You must register this URI on Azure Portal/App Registration. Defaults to window.location.origin\r\n postLogoutRedirectUri: \"/\", // Indicates the page to navigate after logout.\r\n navigateToLoginRequestUrl: false, // If \"true\", will navigate back to the original request location before processing the auth code response.\r\n },\r\n cache: {\r\n cacheLocation: \"sessionStorage\", // Configures cache location. \"sessionStorage\" is more secure, but \"localStorage\" gives you SSO between tabs.\r\n storeAuthStateInCookie: false, // Set this to \"true\" if you are having issues on IE11 or Edge\r\n },\r\n system: {\r\n loggerOptions: {\r\n loggerCallback: (level, message, containsPii) => {\r\n if (containsPii) {\r\n return;\r\n }\r\n switch (level) {\r\n case LogLevel.Error:\r\n console.error(message);\r\n return;\r\n case LogLevel.Info:\r\n console.info(message);\r\n return;\r\n case LogLevel.Verbose:\r\n console.debug(message);\r\n return;\r\n case LogLevel.Warning:\r\n console.warn(message);\r\n return;\r\n }\r\n },\r\n },\r\n },\r\n};\r\n\r\n/**\r\n * Add here the endpoints and scopes when obtaining an access token for protected web APIs. For more information, see:\r\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/resources-and-scopes.md\r\n */\r\nexport const protectedResources = {\r\n AMSS_API: {\r\n endpoint: configData.REACT_APP_API_URL + \"deal\",\r\n scopes: [configData.REACT_APP_AZURE_SCOPE_URL + \"/API_Access\"], // e.g. api://xxxxxx/access_as_user\r\n },\r\n};\r\n\r\n/**\r\n * Scopes you add here will be prompted for user consent during sign-in.\r\n * By default, MSAL.js will add OIDC scopes (openid, profile, email) to any login request.\r\n * For more information about OIDC scopes, visit:\r\n * https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent#openid-connect-scopes\r\n */\r\nexport const loginRequest = {\r\n scopes: [...protectedResources.AMSS_API.scopes],\r\n};\r\n\r\n// Add the endpoints here for Microsoft Graph API services you'd like to use.\r\nexport const graphConfig = {\r\n graphMeEndpoint: configData.REACT_APP_GRAPH_ME_URL,\r\n};\r\n","import React from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nfunction SideBar() {\r\n\tconst homeState = useSelector((state) => state.home);\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{/* new code */}\r\n\r\n\t\t\t\r\n\r\n\t\t\t{/* new code end */}\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default SideBar;\r\n","import React from \"react\";\nimport { useMsal } from \"@azure/msal-react\";\nimport { loginRequest } from \"../authConfig\";\nimport Button from \"react-bootstrap/Button\";\n\nfunction handleLogin(instance) {\n // instance.loginRedirect(loginRequest).catch((e) => {\n instance.loginPopup(loginRequest).catch((e) => {\n console.error(e);\n });\n}\n\n/**\n * Renders a button which, when selected, will open a popup for login\n */\nexport const SignInButton = () => {\n const { instance } = useMsal();\n\n return (\n handleLogin(instance)}\n >\n Sign In\n \n );\n};\n\nexport const handleAzureLogout = async (instance) => {\n // instance.logoutRedirect({ postLogoutRedirectUri: \"/\" }).catch((e) => {\n await instance.logoutPopup({ postLogoutRedirectUri: \"/\" }).catch((e) => {\n console.error(e);\n });\n};\n\n/**\n * Renders a button which, when selected, will open a popup for logout\n */\nexport const SignOutButton = () => {\n const { instance } = useMsal();\n\n return (\n handleAzureLogout(instance)}\n >\n Sign Out\n \n );\n};\n","import axios from \"axios\";\nimport moment from \"moment\";\nexport const isLogin = () => {\n const token = sessionStorage.getItem(\"token\");\n if (token) return true;\n else return false;\n};\nexport const isRestrict = () => {\n const isRestrict = sessionStorage.getItem(\"isRestrict\");\n console.log(\"100 isRestrict\", isRestrict);\n if (isRestrict && isRestrict == \"true\") return true;\n else return false;\n};\nexport const setRestrictAccount = async (status = true) => {\n sessionStorage.setItem(\"isRestrict\", status);\n};\nexport const getErrorMessage = () => {\n return sessionStorage.getItem(\"errorMessage\");\n};\nexport const setErrorMessage = async (msg = null) => {\n sessionStorage.setItem(\"errorMessage\", msg);\n};\nexport const setLoginData = async (r) => {\n sessionStorage.setItem(\"token\", r.accessToken);\n sessionStorage.setItem(\"name\", r.account.name);\n sessionStorage.setItem(\"email\", r.account.username);\n // window.location.href = \"/dashboard\";\n};\nexport const logout = async () => {\n return new Promise((resolve) => {\n sessionStorage.clear();\n window.location.href = \"/\";\n return resolve(true);\n });\n};\nexport const setClientStorage = (id) => {\n return new Promise((resolve) => {\n sessionStorage.setItem(\"client_id\", id);\n return resolve(true);\n });\n};\n\nexport const getName = () => {\n return sessionStorage.getItem(\"name\");\n};\nexport const getToken = () => {\n return sessionStorage.getItem(\"token\");\n};\nexport const getClientStorage = () => {\n return sessionStorage.getItem(\"client_id\");\n};\nexport const axiosAuthHeaderSet = () => {\n axios.defaults.headers.common[\n \"Authorization\"\n ] = `Bearer ${sessionStorage.getItem(\"token\")}`;\n // axios.defaults.headers.common[\"Client-ID\"] = `${sessionStorage.getItem(\n // \t\"client_id\"\n // )}`;\n};\n\nexport const dateFormat = (d, f) => {\n // console.log(\"dateFormat\", moment(d));\n return moment(d).format(f);\n};\n","// Constants.js\nconst {configData} =window;\nconst prod = {\n\turl: {\n\t\tAPI_URL: configData.REACT_APP_API_URL,\n\t\t// API_URL: 'https://app-mtag-devtest-amssapi.azurewebsites.net/api/'\n\t},\n};\n\n\nexport const config = prod;\n","export const UPDATE_CLIENT_ACTION = \"UPDATE_CLIENT_ACTION\";\nexport const STORE_CLIENT_ACTION = \"STORE_CLIENT_ACTION\";\n\nexport const updateClient = (clientId) => ({\n\ttype: UPDATE_CLIENT_ACTION,\n\tpayload: { clientId },\n});\n\nexport const storeClients = (clients) => ({\n\ttype: STORE_CLIENT_ACTION,\n\tpayload: { clients },\n});\n","/*eslint-disable*/\r\nimport React, { useContext, useEffect } from \"react\";\r\nimport Offcanvas from \"react-bootstrap/Offcanvas\";\r\nimport { useState } from \"react\";\r\n\r\n// reactstrap components\r\nimport {\r\n Input,\r\n FormGroup,\r\n Button,\r\n Form,\r\n // Button,\r\n DropdownToggle,\r\n DropdownMenu,\r\n DropdownItem,\r\n UncontrolledDropdown,\r\n} from \"reactstrap\";\r\nimport { handleAzureLogout, SignInButton } from \"./AzureButton\";\r\nimport { logout } from \"helpers/utils\";\r\nimport { getName } from \"helpers/utils\";\r\nimport { useMsal } from \"@azure/msal-react\";\r\nimport { b2cPolicies } from \"authConfig\";\r\nimport axios from \"axios\";\r\nimport { config } from \"../constant\";\r\nimport { axiosAuthHeaderSet } from \"helpers/utils\";\r\nimport { setClientStorage } from \"helpers/utils\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { updateClient } from \"actions/homeAction\";\r\nimport { getClientStorage } from \"helpers/utils\";\r\nimport { AppContext } from \"App\";\r\nconst clientUrl = config.url.API_URL + \"client\";\r\n\r\n// core components\r\n\r\nfunction AamsHeader() {\r\n const [show, setShow] = useState(false);\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n const [name, setName] = useState(\"\");\r\n const [clients, setClints] = useState([]);\r\n const [selectedClient, setSelectedClient] = useState(null);\r\n const { instance } = useMsal();\r\n const homeState = useSelector((state) => state.home);\r\n const dispatch = useDispatch();\r\n const appContext = useContext(AppContext);\r\n const handleLogout = () => {\r\n appContext.handleLogout(\"logout\");\r\n };\r\n useEffect(() => {\r\n axiosAuthHeaderSet();\r\n loadName();\r\n loadClients();\r\n // e.preventDefault();\r\n // setSelectedClient(e.target.value);\r\n // dispatch(updateClient(e.target.value));\r\n // setClientStorage(e.target.value).then(() => {\r\n }, []);\r\n useEffect(() => {\r\n axiosAuthHeaderSet();\r\n // setSelectedClient();\r\n }, [homeState]);\r\n const loadName = async () => {\r\n const name = await getName();\r\n setName(name);\r\n };\r\n\r\n const handleEditProfile = () => {\r\n instance.loginPopup(b2cPolicies.authorities.editProfile);\r\n };\r\n const loadClients = async () => {\r\n console.log(\"homeState\", homeState);\r\n const clients = homeState.clients;\r\n // const resp = await axios.get(clientUrl);\r\n setClints(() => clients);\r\n // if (!resp?.data?.isError && resp?.data?.responseData.length > 0) {\r\n // \t// setSelectedClient(resp?.data?.responseData[0]?.id);\r\n const client = homeState.client_id;\r\n // if (client) {\r\n // setClientStorage(client);\r\n setSelectedClient(client);\r\n // } else setClientStorage(resp?.data?.responseData[0]?.id);\r\n // }\r\n\r\n // console.log(\"resp>>\", resp);\r\n };\r\n const clientHandler = async (e) => {\r\n e.preventDefault();\r\n // setSelectedClient(e.target.value);\r\n // dispatch(updateClient(e.target.value));\r\n // setClientStorage(e.target.value).then(() => {\r\n // \t// window.location.reload();\r\n // });\r\n setClientStorage(selectedClient);\r\n await dispatch(updateClient(selectedClient));\r\n setTimeout(() => {\r\n window.location.href = \"/dashboard\";\r\n }, 2000);\r\n };\r\n return (\r\n <>\r\n \r\n \r\n Offcanvas\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n {/* \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t setSelectedClient(e.target.value)}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{clients && (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{clients.name}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t console.log(\"\")}\r\n\t\t\t\t\t\t\t\t// onClick={(e) => clientHandler(e)}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\tView Client\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t */}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {/*
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
*/}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {name}\r\n \r\n \r\n {\r\n e.preventDefault();\r\n handleEditProfile();\r\n }}\r\n >\r\n Edit Profile\r\n \r\n {\r\n e.preventDefault();\r\n handleLogout();\r\n }}\r\n >\r\n Logout\r\n \r\n {/* e.preventDefault()}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\tAnother action\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t e.preventDefault()}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\tSomething else here\r\n\t\t\t\t\t\t\t\t\t\t\t */}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default AamsHeader;\r\n","import React from \"react\";\n\n// reactstrap components\nimport {\n\n} from \"reactstrap\";\n\n// core components\nimport SideBar from \"components/SideBar.js\";\nimport AamsHeader from \"components/AamsHeader.js\";\n// import AamsFooter from \"components/AamsFooter.js\";\n\nfunction Index() {\n\n return (\n <>\n\n \n
\n \n\n {/**/}\n\n
\n\n\n \n );\n}\n\nexport default Index;\n","/*eslint-disable*/\nimport React from \"react\";\n\n// reactstrap components\nimport { Container } from \"reactstrap\";\n\n// core components\n\nfunction Aamsfooter() {\n return (\n <>\n
\n \n \n
\n {/* © {new Date().getFullYear()}, Designed & {\" \"}\n \n Coded by{\" \"}\n \n Noi Software\n \n . */}\n
\n
\n
\n \n );\n}\n\nexport default Aamsfooter;\n","import React from \"react\";\n\n// reactstrap components\nimport {\n // Button,\n Card,\n CardBody,\n CardTitle,\n} from \"reactstrap\";\n\n// core components\nimport SideBar from \"components/SideBar.js\";\nimport AamsHeader from \"components/AamsHeader.js\";\nimport AamsFooter from \"components/AamsFooter.js\";\n\nfunction Dashboard() {\n return (\n <>\n \n
\n \n \n\n
\n\n
\n\n
\n \n \n Deal Overview\n
\n \n
\n
\n
\n
\n
\n\n \n Deals\n
\n \n
\n
\n
\n
\n
\n\n \n Deals Update \n \n\n
\n
\n
20158
\n

Total Deals

\n
\n
\n \n 20% Higher\n
\n
\n\n\n\n\n
\n
\n
2015
\n

Running Deals

\n
\n
\n\n20% Higher\n
\n
\n\n
\n
\n
20158
\n

Closed Deals

\n
\n
\n\n20% Higher\n
\n
\n\n\n\n
\n
\n
20158
\n

Defaulted Deals

\n
\n
\n\n20% Higher\n
\n
\n\n\n\n \n
\n
\n
\n
\n\n \n Recent Activities \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Borrower NameDeal Name ManagerLenderAgentServicesDeal Size
Angelina VitaleTest Test Test Test Test $ 946
Angelina VitaleTest Test Test Test Test $ 946
Angelina VitaleTest Test Test Test Test $ 946
Angelina VitaleTest Test Test Test Test $ 946
Angelina VitaleTest Test Test Test Test $ 946
\n
\n
\n
\n
\n\n
\n\n
\n\n\n\n\n \n
\n \n );\n}\n\nexport default Dashboard;\n","import React from \"react\";\nimport { Modal, Spinner } from \"react-bootstrap\";\n\nexport default function Loader(props) {\n\treturn (\n\t\t<>\n\t\t\t{props.isLoading && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tLoading....\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t)}\n\t\t\n\t);\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Toast } from \"react-bootstrap\";\n\nexport default function Toaster(props) {\n\tconst [showA, setShowA] = useState(props.show);\n\tconst toggleShowA = () => setShowA(!showA);\n\tuseEffect(() => {\n\t\tif (showA) {\n\t\t\tsetTimeout(() => {\n\t\t\t\ttoggleShowA();\n\t\t\t}, 3000);\n\t\t}\n\t}, [showA]);\n\treturn (\n\t\t\n\t\t\t{props.message}\n\t\t\n\t);\n}\n","export const camelToTitle = (text) => {\n const result = text.replace(/([A-Z])/g, \" $1\");\n const finalResult = result.charAt(0).toUpperCase() + result.slice(1);\n return finalResult;\n};\nexport const titleToCamel = (text) => {\n const result = text.replaceAll(\" \", \"\");\n return result;\n};\nexport const sortByDate = (a, b) => {\n return new Date(a.createdDate) > new Date(b.createdDate);\n};\nexport const strlimit = (text, count) => {\n return text.slice(0, count) + (text.length > count ? \"...\" : \"\");\n};\nexport const lowercaseKeys = (obj) => {\n return Object.keys(obj).reduce((accumulator, key) => {\n accumulator[key.toLowerCase()] = obj[key];\n return accumulator;\n }, {});\n};\nexport const isValidDate = (s) => {\n if (!/^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2})$/.test(s)) {\n return false;\n }\n const parts = s.split(\"-\").map((p) => parseInt(p, 10));\n parts[0] -= 1;\n const d = new Date(parts[0], parts[1], parts[2]);\n return (\n d.getMonth() === parts[1] &&\n d.getDate() === parts[2] &&\n d.getFullYear() === parts[0]\n );\n};\nexport const sortedByProperty = (a, property, order = \"asc\") => {\n return a.sort((aa, b) => {\n console.log(typeof aa[property]);\n\n if (typeof aa[property] == \"number\") {\n if (order == \"asc\") {\n return aa[property] - b[property];\n } else {\n return b[property] - aa[property];\n }\n } else if (typeof aa[property] === \"boolean\") {\n if (order == \"asc\") {\n return aa[property] - b[property];\n } else {\n return b[property] - aa[property];\n }\n } else {\n if (aa[property] === null) {\n return 1;\n }\n if (b[property] === null) {\n return -1;\n }\n if (aa[property] && b[property])\n if (order == \"asc\") {\n return aa[property].localeCompare(b[property]);\n } else {\n return b[property].localeCompare(aa[property]);\n }\n }\n });\n};\n\nexport const searchKeyword = (data, search) => {\n var results = [];\n\n for (var i = 0; i < data.length; i++) {\n console.log(data[i], typeof data[i], Object.keys(data[i]).length);\n Object.keys(data[i]).map((key) => {\n if (data[i].hasOwnProperty(key) && data[i][key]) {\n if (\n data[i][key].toString().toLowerCase().indexOf(search.toLowerCase()) !=\n -1\n ) {\n results.push(data[i]);\n }\n }\n return true;\n });\n }\n console.log(results);\n return results;\n};\n\nexport const toFindDuplicates = (arr, property) => {\n const dup = [];\n\n for (const item of arr) {\n const isDuplicate = dup.find((obj) => {\n // if (Object.prototype.hasOwnProperty.call(property, item)) {\n // console.log(\"data>>\", arr, obj[property], item[property]);\n\n // return obj[property] === item[property];\n // }\n return item[property] && obj[property] === item[property];\n });\n if (!isDuplicate) {\n dup.push(item);\n }\n }\n let difference = arr.filter((x) => !dup.includes(x));\n return difference;\n};\n","import React from \"react\";\nimport \"./MyBreadcrumb.scss\";\nimport Breadcrumb from \"react-bootstrap/Breadcrumb\";\nexport default function MyBreadcrumb(props) {\n const items = props.items;\n return (\n
\n \n {items &&\n items?.length > 0 &&\n items.map((i, k) => {\n if (k == items.length - 1) {\n return {i.op};\n } else {\n return {i.op};\n }\n })}\n \n
\n );\n}\n","import React, { useState, useEffect, useContext } from \"react\";\r\nimport axios from \"axios\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { config } from \"../constant\";\r\n// reactstrap components\r\nimport { Button, Card, CardBody, CardTitle } from \"reactstrap\";\r\n\r\n// core components\r\nimport SideBar from \"components/SideBar.js\";\r\nimport AamsHeader from \"components/AamsHeader.js\";\r\nimport AamsFooter from \"components/AamsFooter.js\";\r\nimport NumberFormat from \"react-number-format\";\r\nimport Loader from \"components/Loader\";\r\nimport { axiosAuthHeaderSet } from \"helpers/utils\";\r\nimport { useSelector } from \"react-redux\";\r\nimport Toaster from \"components/Toaster\";\r\nimport { AppContext } from \"App\";\r\nimport { sortedByProperty } from \"helpers/data\";\r\nimport MyBreadcrumb from \"components/MyBreadcrumb/MyBreadcrumb\";\r\n\r\nconst getDealUrl = config.url.API_URL + \"deal\";\r\n\r\nfunction DealList() {\r\n const [deals, setDeals] = useState([]);\r\n const [dealsCopy, setDealsCopy] = useState([]);\r\n const [isActive, setActive] = useState(true);\r\n const [isLoading, setLoading] = useState(false);\r\n const [searchText, setSearchText] = useState(\"\");\r\n const homeData = useSelector((state) => state.home);\r\n const [showAlert, setShowAlert] = useState(false);\r\n const [alertMessage, setAlertMessage] = useState(null);\r\n const [alertType, setAlertType] = useState(\"info\");\r\n const appContext = useContext(AppContext);\r\n const [sortType, setSortType] = useState(null);\r\n const breadcrumbs = [\r\n {\r\n op: \"Home\",\r\n link: \"/\",\r\n },\r\n {\r\n op: \"Deals\",\r\n link: \"/deal-Listing\",\r\n },\r\n ];\r\n const history = useHistory();\r\n const getDealsWithAxios = async (isActive) => {\r\n try {\r\n setLoading(true);\r\n const resp = await axios.get(getDealUrl + \"?IncludeInactive=true\");\r\n console.log(\"getDealsWithAxios\", resp, isActive);\r\n setActive(isActive);\r\n const deals = resp.data.responseData;\r\n const filterData = deals.filter((d) => {\r\n return d.isActive.toString() == isActive.toString();\r\n });\r\n console.log(\"filterData>>\", filterData, isActive);\r\n setDeals(filterData);\r\n // setDeals(deals);\r\n setDealsCopy(deals);\r\n setLoading(false);\r\n } catch (error) {\r\n // setAlertType(\"danger\");\r\n // console.log(\"error>>\", error);\r\n // setShowAlert(true);\r\n // setAlertMessage(error.response?.data?.Message);\r\n if (error.response.status == 401) {\r\n appContext.handleLogout();\r\n }\r\n }\r\n //console.log(posts);\r\n };\r\n const searchDeal = (e) => {\r\n setSearchText(e.target.value);\r\n var search = new RegExp(e.target.value, \"gi\");\r\n const tempDeal =\r\n dealsCopy.length &&\r\n dealsCopy.filter((d) => {\r\n if (\r\n d.name.match(search) &&\r\n d.isActive.toString() == isActive.toString()\r\n )\r\n return d;\r\n });\r\n setDeals(tempDeal);\r\n };\r\n const handleSelection = (e) => {\r\n console.log(\"handle>>\", typeof e.target.value, e.target.value, isActive);\r\n if (e.target.value == \"true\") {\r\n setActive(true);\r\n } else {\r\n setActive(false);\r\n }\r\n // if(isActive ===e.target.value){\r\n\r\n // }else{\r\n\r\n // setActive((p)=>!p)\r\n // }\r\n console.log(\"handle>>\", typeof e.target.value, e.target.value, isActive);\r\n setTimeout(() => {\r\n getDealsWithAxios(true);\r\n }, 1000);\r\n };\r\n const onDelete = async (id) => {\r\n if (window.confirm(\"Are you sure! You want to delete this deal?\")) {\r\n const resp = await axios.delete(getDealUrl + \"/\" + id);\r\n console.log(resp);\r\n // alert(\"Deal has been deleted successfully\");\r\n getDealsWithAxios(isActive);\r\n }\r\n };\r\n\r\n const tableSort = (property) => {\r\n console.log(property);\r\n setSortType((t) => {\r\n if (t == \"asc\") return \"desc\";\r\n else return \"asc\";\r\n });\r\n const tempData = sortedByProperty(deals, property, sortType);\r\n setDeals(tempData);\r\n };\r\n useEffect(() => {\r\n axiosAuthHeaderSet();\r\n getDealsWithAxios(true);\r\n }, [homeData]);\r\n\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n
\r\n {/*
\r\n
\r\n
\r\n Client's name:\r\n
\r\n
\r\n
\r\n
\r\n Metropoliton\r\n
\r\n
\r\n
*/}\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n {\" \"}\r\n
\r\n {\r\n setActive(e.target.value);\r\n getDealsWithAxios(e.target.value);\r\n setSearchText(\"\");\r\n }}\r\n class=\"form-select bg-transparent text-light\"\r\n >\r\n \r\n \r\n \r\n
{\" \"}\r\n
\r\n
Deal Listing
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n\r\n \r\n {/* */}\r\n \r\n \r\n \r\n tableSort(\"initialSize\")}\r\n >\r\n Original Amount\r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n {deals.map((deal, i) => (\r\n \r\n \r\n \r\n \r\n {/* */}\r\n\r\n \r\n {/* */}\r\n \r\n \r\n \r\n {/* */}\r\n \r\n ))}\r\n \r\n
\r\n tableSort(\"name\")}>\r\n Deal\r\n \r\n \r\n tableSort(\"originator\")}\r\n >\r\n Originator\r\n \r\n \r\n tableSort(\"dealTypeName\")}\r\n >\r\n Asset Type\r\n \r\n State\r\n tableSort(\"isDefaultedFinancial\")}\r\n >\r\n Defaulted\r\n \r\n \r\n tableSort(\"isDefaultedOther\")}\r\n >\r\n Defaulted (Other)\r\n \r\n \r\n tableSort(\"closingDate\")}\r\n >\r\n Close date\r\n \r\n Is ActiveAction
\r\n \r\n history.replace(\"/deal-engagement?id=\" + deal.id)\r\n }\r\n >\r\n {deal.name}\r\n \r\n {deal.originator}\r\n {deal.dealTypeName}\r\n {deal.regionAbbreviation}\r\n {!deal.isDefaultedFinancial && !deal.isDefaultedOther\r\n ? \"Performing\"\r\n : deal.isDefaultedFinancial &&\r\n !deal.isDefaultedOther\r\n ? \"Non-performing (Financial) \"\r\n : \"Non-performing (Other) \"}\r\n {deal.isDefaultedOther ? \"TRUE\" : \"FALSE\"}\r\n {deal.closingDate &&\r\n new Date(deal.closingDate).toLocaleDateString(\r\n \"en-US\",\r\n {\r\n year: \"numeric\",\r\n day: \"numeric\",\r\n month: \"numeric\",\r\n }\r\n )}\r\n {deal.isActive ? \"Active\" : \"Inactive\"} \r\n {deal.initialSize && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n history.replace(\r\n \"/deal-engagement?id=\" + deal.id\r\n )\r\n }\r\n >\r\n \r\n \r\n onDelete(deal.id)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n {showAlert && (\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default DealList;\r\n","import React, { useState, useEffect, useContext } from \"react\";\r\nimport useForm from \"../useForm\";\r\nimport validate from \"../FormValidationRules\";\r\nimport axios from \"axios\";\r\nimport { config } from \"../constant\";\r\nimport { Link } from \"react-router-dom\";\r\nimport CurrencyInput from \"react-currency-input-field\";\r\n// reactstrap components\r\nimport {\r\n Button,\r\n Input,\r\n Label,\r\n FormGroup,\r\n Card,\r\n CardBody,\r\n CardTitle,\r\n Row,\r\n Col,\r\n Form,\r\n Spinner,\r\n} from \"reactstrap\";\r\nimport moment from \"moment\";\r\n\r\n// core components\r\nimport SideBar from \"components/SideBar.js\";\r\nimport AamsHeader from \"components/AamsHeader.js\";\r\nimport AamsFooter from \"components/AamsFooter.js\";\r\nimport Loader from \"components/Loader\";\r\nimport { Field, Formik } from \"formik\";\r\nimport * as yup from \"yup\";\r\nimport { axiosAuthHeaderSet } from \"helpers/utils\";\r\nimport Toaster from \"components/Toaster\";\r\nimport { AppContext } from \"App\";\r\n\r\nconst postDealUrl = config.url.API_URL + \"deal\";\r\nconst getDealTypeUrl = config.url.API_URL + \"deal-type\";\r\nconst getPaymentPeriodUrl = config.url.API_URL + \"payment-period\";\r\n\r\nfunction AddDeals(props) {\r\n //const [active, setActive] = useState(1);\r\n // const { values, errors, handleChange, setValue, handleSubmit } = useForm(\r\n // \tadd_deal,\r\n // \tvalidate,\r\n // \t\"add_deal\"\r\n // );\r\n console.log(\"props>>\", props);\r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n const [successMessage, setSuccessMessage] = useState(\"\");\r\n const [isActive, setActive] = useState(true);\r\n const [includeInactive, setIncludeInactive] = useState(true);\r\n const [isLoading, setLoading] = useState(false);\r\n const [showAlert, setShowAlert] = useState(false);\r\n const [alertMessage, setAlertMessage] = useState(null);\r\n const [alertType, setAlertType] = useState(\"info\");\r\n\r\n const [dealTypes, setDealTypes] = useState();\r\n const appContext = useContext(AppContext);\r\n const addDealFormValidationSchema = yup.object().shape({\r\n deal_name: yup.string().required(\"Deal Name is a required field\"),\r\n\r\n deal_description: yup.string().required(\"Description is a required field\"),\r\n deal_type: yup.string().required(\"Deal Type is a required field\"),\r\n originator: yup.string().required(\"Originator is a required field\"),\r\n initial_deal_size: yup\r\n .number()\r\n .required(\"Initial Deal Size is a required field\")\r\n .min(1, \"Initial Deal Size must be greater than or equal to 1\"),\r\n deal_closing_date: yup\r\n\r\n .date(\"Invalid date\")\r\n .required(\"Deal Closing Date is a required field\"),\r\n end_date: yup.date(\"Invalid date\").required(\"End Date is a required field\"),\r\n estimated_closing_date: yup\r\n .date(\"Invalid date\")\r\n .required(\"Estimated Closing Date is a required field\"),\r\n payment_date: yup.string(),\r\n payment_date_period: yup\r\n .string()\r\n .required(\"Payment Period is a required field\"),\r\n initial_payment_date: yup\r\n .date(\"Invalid date\")\r\n .required(\"Initial Payment Date is a required field\"),\r\n determination_date: yup.string(),\r\n });\r\n\r\n const getDealTypes = async () => {\r\n try {\r\n setLoading(true);\r\n const res = await axios.get(getDealTypeUrl);\r\n //console.log(res.data.responseData);\r\n const dealTypes = res.data.responseData;\r\n setDealTypes(dealTypes);\r\n setLoading(false);\r\n } catch (error) {\r\n setLoading(false);\r\n setAlertType(\"danger\");\r\n console.log(\"error>>\", error);\r\n setShowAlert(true);\r\n setAlertMessage(error.response?.data?.Message);\r\n if (error.response.status == 401) {\r\n appContext.handleLogout();\r\n }\r\n }\r\n };\r\n\r\n const [paymentPeriods, setPaymentPeriods] = useState();\r\n const getPaymentPeriods = async () => {\r\n const res = await axios.get(getPaymentPeriodUrl);\r\n //console.log(res.data.responseData);\r\n const paymentPeriods = res.data.responseData;\r\n setPaymentPeriods(paymentPeriods);\r\n };\r\n\r\n function add_deal(values) {\r\n const dataArr = {\r\n name: values.deal_name,\r\n description: values.deal_description,\r\n dealTypeID: values.deal_type,\r\n originator: values.originator,\r\n initialSize: values.initial_deal_size,\r\n closingDate: values.deal_closing_date,\r\n endDate: values.end_date,\r\n paymentDateDescription: values.payment_date,\r\n paymentPeriodID: values.payment_date_period,\r\n initialPaymentDate: values.initial_payment_date,\r\n determinationDateDescription: values.determination_date,\r\n isActive: isActive,\r\n estimatedClosingDate: values.estimated_closing_date,\r\n IncludeInactive: includeInactive,\r\n };\r\n setLoading(true);\r\n const headers = {\r\n \"content-type\": \"application/json\",\r\n };\r\n axios\r\n .post(postDealUrl, dataArr, { headers })\r\n .then((response) => {\r\n setLoading(false);\r\n console.log(\"res=>\", response);\r\n let dealId = response.data.responseData.id;\r\n const timer = setTimeout(() => {\r\n props.history.push(\"/deal-engagement/\" + dealId);\r\n }, 2000);\r\n return () => clearTimeout(timer);\r\n })\r\n .catch((error) => {\r\n setLoading(false);\r\n if (error.response && error.response.status === 400) {\r\n let errorVar = error.response.data;\r\n if (errorVar.Status === 2) {\r\n setErrorMessage(errorVar.Message);\r\n }\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n axiosAuthHeaderSet();\r\n getDealTypes();\r\n getPaymentPeriods();\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n {/*

Add Deal

*/}\r\n {/* card */}\r\n {\r\n console.log(values);\r\n add_deal(values);\r\n // resetForm();\r\n }}\r\n validationSchema={addDealFormValidationSchema}\r\n >\r\n {({\r\n handleChange,\r\n touched,\r\n values,\r\n handleSubmit,\r\n errors,\r\n setFieldValue,\r\n }) => (\r\n
\r\n \r\n {errorMessage && (\r\n
\r\n {errorMessage}\r\n
\r\n // \r\n )}\r\n {successMessage && (\r\n {successMessage} \r\n )}\r\n \r\n Deals\r\n
\r\n \r\n {/* \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t */}\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {errors.deal_name && touched.deal_name ? (\r\n
\r\n {errors.deal_name}\r\n
\r\n ) : null}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {/* */}\r\n \r\n {errors.deal_description &&\r\n touched.deal_description ? (\r\n
\r\n {errors.deal_description}\r\n
\r\n ) : null}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {dealTypes &&\r\n dealTypes.map((dealType, i) => (\r\n \r\n ))}\r\n \r\n {errors.deal_type && touched.deal_type ? (\r\n
\r\n {errors.deal_type}\r\n
\r\n ) : null}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {errors.originator && touched.originator ? (\r\n
\r\n {errors.originator}\r\n
\r\n ) : null}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n setFieldValue(\"initial_deal_size\", value)\r\n }\r\n />\r\n {errors.initial_deal_size &&\r\n touched.initial_deal_size ? (\r\n
\r\n {errors.initial_deal_size}\r\n
\r\n ) : null}\r\n {/* */}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {errors.estimated_closing_date &&\r\n touched.estimated_closing_date ? (\r\n
\r\n {errors.estimated_closing_date}\r\n
\r\n ) : null}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {errors.deal_closing_date &&\r\n touched.deal_closing_date ? (\r\n
\r\n {errors.deal_closing_date}\r\n
\r\n ) : null}\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {errors.end_date && touched.end_date ? (\r\n
{errors.end_date}
\r\n ) : null}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {/* card */}\r\n \r\n \r\n Deal Parameters\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {errors.payment_date && touched.payment_date ? (\r\n
\r\n {errors.payment_date}\r\n
\r\n ) : null}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{paymentPeriods &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpaymentPeriods.map((paymentPeriod, i2) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t */}\r\n \r\n \r\n {paymentPeriods &&\r\n paymentPeriods.map((paymentPeriod, i2) => (\r\n \r\n ))}\r\n \r\n {errors.payment_date_period &&\r\n touched.payment_date_period ? (\r\n
\r\n {errors.payment_date_period}\r\n
\r\n ) : null}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {/* values.estimated_closing_date? values.deal_closing_date: values.estimated_closing_date}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalues.deal_closing_date &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmoment(values.deal_closing_date)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.add(1, \"d\")\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.format(\"YYYY-MM-DD\")\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/> */}\r\n \r\n {errors.initial_payment_date &&\r\n touched.initial_payment_date ? (\r\n
\r\n {errors.initial_payment_date}\r\n
\r\n ) : null}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {errors.determination_date &&\r\n touched.determination_date ? (\r\n
\r\n {errors.determination_date}\r\n
\r\n ) : null}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {\r\n // handleSubmit();\r\n if (window.confirm(\"Are you sure?\")) {\r\n props.history.goBack();\r\n }\r\n }}\r\n >\r\n Cancel\r\n {\" \"}\r\n {\r\n setActive(true);\r\n setIncludeInactive(true);\r\n // handleSubmit();\r\n }}\r\n >\r\n Submit\r\n {\" \"}\r\n {\r\n setActive(false);\r\n setIncludeInactive(true);\r\n // handleSubmit();\r\n }}\r\n >\r\n Save\r\n {\" \"}\r\n {/* Cancel */}\r\n {/* \r\n Loading...\r\n */}\r\n \r\n \r\n
\r\n )}\r\n \r\n
\r\n \r\n \r\n {showAlert && (\r\n \r\n )}\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default AddDeals;\r\n","import React, { useState, useEffect, useContext } from \"react\";\nimport axios from \"axios\";\nimport { config } from \"../constant\";\n// reactstrap components\nimport { Button, Card, CardBody, CardTitle, Input } from \"reactstrap\";\n\n// core components\nimport SideBar from \"components/SideBar.js\";\nimport AamsHeader from \"components/AamsHeader.js\";\nimport AamsFooter from \"components/AamsFooter.js\";\nimport moment from \"moment\";\nimport { axiosAuthHeaderSet } from \"helpers/utils\";\nimport { useSelector } from \"react-redux\";\nimport Toaster from \"components/Toaster\";\nimport Loader from \"components/Loader\";\nimport { AppContext } from \"App\";\nimport { useHistory } from \"react-router\";\nimport { sortedByProperty } from \"helpers/data\";\nimport MyBreadcrumb from \"components/MyBreadcrumb/MyBreadcrumb\";\n\nconst getEngagementUrl = config.url.API_URL + \"period\";\n\nfunction Engagelist() {\n const [engagements, setEngagements] = useState([]);\n const [engagementsCopy, setEngagementsCopy] = useState([]);\n const homeData = useSelector((state) => state.home);\n const [showAlert, setShowAlert] = useState(false);\n const [alertMessage, setAlertMessage] = useState(null);\n const [alertType, setAlertType] = useState(\"info\");\n const [isLoading, setLoading] = useState(false);\n const [sortType, setSortType] = useState(null);\n const appContext = useContext(AppContext);\n const history = useHistory();\n const breadcrumbs = [\n {\n op: \"Home\",\n link: \"/\",\n },\n {\n op: \"Engagements\",\n link: \"/engage-list\",\n },\n ];\n const getEngagementsWithAxios = async () => {\n try {\n setLoading(true);\n const resp = await axios.get(getEngagementUrl);\n console.log(resp.data.responseData);\n const engagements = resp.data.responseData;\n setEngagements(engagements);\n setEngagementsCopy(engagements);\n setLoading(false);\n } catch (error) {\n setAlertType(\"danger\");\n console.log(\"error>>\", error);\n setShowAlert(true);\n setAlertMessage(error.response?.data?.Message);\n if (error.response.status == 401) {\n appContext.handleLogout();\n }\n }\n //console.log(posts);\n };\n const [statusCode, setStatusCode] = useState(\"OPEN\");\n const handleInputChange = (e) => {\n setStatusCode(e.target.value);\n getEngagementsWithAxios();\n };\n const searchHandler = (e) => {\n var search = new RegExp(e.target.value, \"gi\");\n const tempDeal =\n engagementsCopy.length &&\n engagementsCopy.filter((d) => {\n if (d.engagementName.match(search)) return d;\n });\n setEngagements(tempDeal);\n };\n const tableSort = (property) => {\n console.log(property);\n setSortType((t) => {\n if (t == \"asc\") return \"desc\";\n else return \"asc\";\n });\n const tempData = sortedByProperty(engagements, property, sortType);\n setEngagements(tempData);\n };\n useEffect(() => {\n axiosAuthHeaderSet();\n getEngagementsWithAxios();\n }, [homeData]);\n\n return (\n <>\n \n
\n \n\n
\n \n
\n
\n
\n \n \n
\n
\n {/*
\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\t\n\t\t\t\t\t\t\t\t\t\n\t\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
\n\t\t\t\t\t\t
\n\t\t\t\t\t
*/}\n
\n\n
\n\n \n \n \n \n Engagement Listing\n \n\n \n \n \n \n \n \n \n \n\n
\n \n \n \n \n \n \n \n \n \n {/* */}\n \n \n {/* */}\n \n \n \n {engagements.map((period, j) =>\n period.statusCode === statusCode ? (\n \n \n \n \n \n \n \n \n \n \n ) : (\n \"\"\n )\n )}\n \n
\n tableSort(\"dealName\")}>\n Deal\n \n \n tableSort(\"engagementName\")}\n >\n Engagement\n \n \n {/* tableSort(\"servicesRequired\")}\n > */}\n Services\n {/* */}\n \n tableSort(\"startDate\")}>\n Period Start\n \n \n tableSort(\"endDate\")}>\n Period End\n \n \n tableSort(\"deliveryDate\")}\n >\n Est. Delivery Date\n \n Services\n tableSort(\"statusCode\")}\n >\n Status\n \n \n tableSort(\"closedDate\")}\n >\n Closed Date\n \n Action
\n \n history.replace(\n \"engagement-details?id=\" +\n period.engagementID +\n \"&periodid=\" +\n period.id\n )\n }\n >\n {period.dealName}\n \n {period.engagementName}\n {period.servicesRequired &&\n period.servicesRequired.join(\", \")}\n \n {new moment(period.startDate).format(\"MM/DD/YYYY\")}\n \n {new moment(period.endDate).format(\"MM/DD/YYYY\")}\n \n {new moment(period.deliveryDate).format(\n \"MM/DD/YYYY\"\n )}\n {period.statusCode}\n {period.statusCode !== \"OPEN\" && period.closedDate\n ? new moment(period.closedDate).format(\n \"MM/DD/YYYY\"\n )\n : \"\"}\n
\n
\n
\n
\n
\n \n {showAlert && (\n \n )}\n \n
\n \n );\n}\n\nexport default Engagelist;\n","import { useState, useEffect } from \"react\";\nimport { config } from \"../../constant\";\nimport axios from \"axios\";\nimport { Field, FieldArray, Formik } from \"formik\";\nimport Loader from \"../Loader\";\nimport { sortByDate } from \"helpers/data\";\nimport \"./PeriodSummaryReport.scss\";\nconst getSummaryReportUrl =\n config.url.API_URL + \"asset-verification-attribute-review\";\n\nfunction PeriodSummaryReport({\n generateReport,\n summaryReports,\n saveNotes,\n periodDetails,\n}) {\n let [showstat, setShowsStat] = useState(0);\n\n const openNotes = () => {\n setShowsStat(1);\n };\n return (\n <>\n

\n Period Summary Report{\" \"}\n \n

\n {\n return { ...s, isEdit: false };\n }),\n }}\n onSubmit={(values) => saveNotes(values)}\n enableReinitialize={true}\n >\n {({\n values,\n errors,\n touched,\n handleChange,\n handleSubmit,\n setFieldValue,\n }) => (\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n (\n <>\n {values.attributes &&\n values.attributes.length > 0 &&\n values.attributes.map((attr, i) => (\n <>\n {/* {summaryReports &&\n\t\t\t\t\t\t\t\tsummaryReports.map((summaryReport, sr) => {\n\t\t\t\t\t\t\t\t\treturn ( */}\n \n \n \n \n \n \n \n \n \n\n {/* })} */}\n \n ))}\n \n )}\n />\n \n
GroupAttribute NameTotal Tested# Passed# FailedException Description Remediation Notes
\n {\n attr?.assetVerificationAttribute\n ?.assetVerificationAttributeGroupName\n }\n \n {attr?.assetVerificationAttribute?.name}\n {attr.testedTotal}{attr.testedPassed}{attr.testedFailed}\n {/* {!attr.isEdit ? (\n <>\n
\n {attr?.mitigationPlan}\n
\n \n ) : (\n <> */}\n
\n \n
\n {/* \n )} */}\n
\n {/* {!attr.isEdit ? (\n <> */}\n {/* {\n setFieldValue(\n `attributes[${i}].isEdit`,\n !attr.isEdit\n );\n }}\n >\n {\" \"}\n {\" \"}\n */}\n {/*
{attr?.notes}
*/}\n {/* \n ) : (\n <> */}\n {/* {\n setFieldValue(\n `attributes[${i}].isEdit`,\n !attr.isEdit\n );\n saveNotes(values.attributes[i]);\n }}\n >\n {\" \"}\n {\" \"}\n */}\n
\n \n
\n {/* \n )} */}\n
\n {periodDetails?.statusCode !== \"CLOSED\" && (\n
\n \n
\n )}\n
\n
\n )}\n \n {/* {isLoading && } */}\n \n );\n}\nexport default PeriodSummaryReport;\n","import { Field, FieldArray, Formik } from \"formik\";\nimport React, { useState } from \"react\";\nimport { DragDropContext, Draggable, Droppable } from \"react-beautiful-dnd\";\nimport \"./ConventReview.scss\";\n\nexport default function ConventReviewForm({\n covenantReviews,\n results,\n completeCovReview,\n setCovenantReviews,\n submit,\n periodDetails,\n}) {\n const [isEdit, setEdit] = useState(false);\n const [isAttrEdit, setAttrEdit] = useState(false);\n console.log(\"101 cov::\", covenantReviews);\n const onDragEnd = (e) => {\n console.log(e);\n const sourceIndex = e.source.index;\n const destIndex = e.destination.index;\n const tempGroups = [...covenantReviews];\n tempGroups.splice(destIndex, 0, tempGroups.splice(sourceIndex, 1)[0]);\n console.log(\"101 tempGroups>>\", tempGroups);\n setCovenantReviews(tempGroups);\n };\n return (\n \n {}}\n enableReinitialize={true}\n >\n {({\n values,\n errors,\n touched,\n handleChange,\n handleSubmit,\n setFieldValue,\n }) => (\n
\n {/* {JSON.stringify(covenantReviews)} */}\n
\n \n \n \n \n \n \n \n \n {/* */}\n \n \n \n \n \n \n \n {(provided, snapshot) => (\n \n (\n <>\n {values.attributes &&\n values.attributes.length > 0 &&\n values.attributes.map((attr, i) => (\n <>\n \n {(provided, snapshot) => (\n \n \n \n \n \n \n {/* */}\n \n \n \n \n \n )}\n \n \n ))}\n \n )}\n />\n \n )}\n \n
CategoryNameComparison ValueCurrent Period ValueValue to CompareTest DescriptionResultsStatusAction
\n \n {isEdit && (\n groupOrder(g)}\n >\n \n \n )}\n \n \n {attr.covenant.covenantCategoryName}\n {attr.covenant.name}\n {!attr.isEdit && attr.isComplete ? (\n attr.comparisonValue\n ) : (\n
\n \n
\n )}\n
\n {!attr.isEdit && attr.isComplete ? (\n attr.note\n ) : (\n
\n \n
\n )}\n
{attr?.covenant?.value}{attr?.covenant?.description}\n {!attr.isEdit && attr.isComplete ? (\n \n
\n {attr.resultName}\n
\n \n ) : (\n \n {/* \n Results{\" \"}\n \n *\n {\" \"}\n */}\n
\n \n \n {results &&\n results.map((res1, r1) => {\n return (\n \n {res1.name}\n \n );\n })}\n \n
\n \n )}\n
\n {attr.isComplete\n ? \"Completed\"\n : \"In progress\"}\n \n {periodDetails?.statusCode !==\n \"CLOSED\" && (\n <>\n {attr.isComplete ? (\n
\n {attr.isEdit ? (\n {\n setFieldValue(\n `attributes[${i}].isEdit`,\n false\n );\n // completeCovReview(attr.id)\n completeCovReview(attr);\n setAttrEdit(false);\n }}\n >\n \n \n ) : (\n {\n setFieldValue(\n `attributes[${i}].isEdit`,\n true\n );\n setAttrEdit(true);\n }\n // completeCovReview(attr.id)\n }\n >\n \n \n )}\n
\n ) : (\n
\n \n completeCovReview(attr)\n // completeCovReview(attr.id)\n }\n >\n \n \n {\n e.preventDefault();\n setFieldValue(\n `attributes[${i}].resultID`,\n \"\"\n );\n setFieldValue(\n `attributes[${i}].note`,\n \"\"\n );\n }}\n >\n \n \n
\n )}\n \n )}\n
\n {periodDetails?.statusCode !== \"CLOSED\" && (\n <>\n {values.attributes.length > 1 && !isAttrEdit && (\n
\n {isEdit ? (\n {\n setEdit(false);\n submit();\n }}\n title=\"Save order\"\n >\n \n \n ) : (\n setEdit(true)}\n title=\"Edit order\"\n >\n \n \n )}\n
\n )}\n \n )}\n
\n
\n )}\n \n
\n );\n}\n","import { config } from \"./../constant\";\nexport default {\n assetVerificationGroupReorder:\n config.url.API_URL + \"asset-verification-attribute-group/reorder\",\n assetVerificationAttributesReorder:\n config.url.API_URL + \"asset-verification-attribute/reorder\",\n conventReviewReorder: config.url.API_URL + \"covenant/reorder\",\n assetTapeDetails: \"asset-tape\",\n};\n","import React, { useState, useEffect, useContext } from \"react\";\nimport { config } from \"../../constant\";\nimport axios from \"axios\";\nimport { Formik, Field, FieldArray } from \"formik\";\nimport queryString from \"query-string\";\n\n// reactstrap components\nimport { Button } from \"reactstrap\";\n\n// core components\nimport SideBar from \"components/SideBar.js\";\nimport AamsHeader from \"components/AamsHeader.js\";\nimport AamsFooter from \"components/AamsFooter.js\";\nimport PeriodSummaryReport from \"components/PeriodSummaryReport/PeriodSummaryReport.js\";\nimport { Modal, Spinner } from \"react-bootstrap\";\nimport { attributes } from \"plotly.js/lib/bar\";\nimport Loader from \"components/Loader\";\nimport { axiosAuthHeaderSet } from \"helpers/utils\";\nimport Toaster from \"components/Toaster\";\nimport ConventReviewForm from \"./ConventReviewForm\";\nimport { sortByDate } from \"helpers/data\";\nimport api from \"config/api\";\nimport { AppContext } from \"./../../App\";\nimport MyBreadcrumb from \"components/MyBreadcrumb/MyBreadcrumb\";\n\nconst getEngagementDetailsUrl = config.url.API_URL + \"engagement/\";\nconst getPeriodDetailsUrl = config.url.API_URL + \"period/\";\nconst getDealDetailsUrl = config.url.API_URL + \"deal/\";\nconst getResultUrl = config.url.API_URL + \"result\";\nconst getCovenantReviewUrl = config.url.API_URL + \"covenant-review\";\nconst postCovenantReviewUrl = config.url.API_URL + \"covenant-review\";\nconst getAssetVerificationUrl = config.url.API_URL + \"asset-verification\";\nconst documentManageUrl = config.url.API_URL + \"document\";\nconst decumentDownloadUrl = config.url.API_URL + \"document-download\";\nconst assetVerificationReviewUrl =\n config.url.API_URL + \"asset-verification-review\";\nconst assetVerificationAssetAttributeReviewsUrl =\n config.url.API_URL + \"asset-verification-asset-attribute-reviews\";\nconst getSummaryReportUrl =\n config.url.API_URL + \"asset-verification-attribute-review\";\n\nconst covRevValues = {\n resultID: \"\",\n note: \"\",\n};\n\nfunction EngagementDetails(props) {\n const [dealDetails, setDealDetails] = useState([]);\n const [engagementDetails, setEngagementDetails] = useState([]);\n const [assetVerification, setAssetVerification] = useState([]);\n const [avsReviews, setAvsReview] = useState([]);\n const [avsReviewsNew, setAvsReviewNew] = useState(null);\n const [selectedAvsItem, setSelectedAvsItem] = useState(null);\n const [isOpenAvsItem, setOpenAvsItem] = useState(false);\n const [selectedReviewItem, setSelectedReviewItem] = useState(null);\n const [isModalOpen, setModalOpen] = useState(false);\n const [values, setValues] = useState(null);\n const [attributeValues, setAttributeValues] = useState(null);\n const [avsDocuments, setAvsDocuments] = useState([]);\n const [summaryReports, setSummaryReports] = useState([]);\n\n const [covenantReviews, setCovenantReviews] = useState([]);\n const [covValues, setCovValues] = useState(covRevValues);\n const [isLoading, setLoading] = useState(false);\n const [showAlert, setShowAlert] = useState(false);\n const [alertMessage, setAlertMessage] = useState(null);\n const [alertType, setAlertType] = useState(\"info\");\n const [isAvsReviewError, setAvsReviewError] = useState(null);\n const [params, setParams] = useState(null);\n const breadcrumbs = [\n {\n op: \"Home\",\n link: \"/\",\n },\n {\n op: \"Engagements\",\n link: \"/engage-list\",\n },\n {\n op: \"Engagement details\",\n link: \"\",\n },\n ];\n\n const appContext = useContext(AppContext);\n const [editAttrbutesReview, setEditAttributesReview] = useState(false);\n const getCovenantReviewsWithAxios = async () => {\n try {\n const covresp = await axios.get(\n getCovenantReviewUrl + \"?PeriodID=\" + params.periodid\n );\n //console.log(resp.data.responseData);\n const covrev = covresp.data.responseData;\n setCovenantReviews(covrev);\n console.log(covrev);\n } catch (error) {\n // setAlertType(\"danger\");\n // console.log(\"error>>\", error);\n // setShowAlert(true);\n // setAlertMessage(error.response?.data?.Message);\n }\n };\n const initialAvsReview = {\n periodID: \"\",\n assetVerificationID: \"\",\n assetIdentifier: \"\",\n assetName: \"\",\n };\n const getSummaryReportWithAxios = async () => {\n try {\n const respsumrep = await axios.get(\n getSummaryReportUrl + \"?PeriodID=\" + params.periodid\n );\n console.log(\n \"101 getSummaryReportWithAxios>>\",\n respsumrep.data.responseData\n );\n const rep = respsumrep.data.responseData.sort(sortByDate);\n setSummaryReports(rep);\n //console.log(posts);\n } catch (err) {\n console.log(\"error in getSummary report\");\n }\n };\n const saveNotes = (data) => {\n // setShowsStat(0);\n console.log(\"put>>\", data);\n // return;\n const dataArr = data?.attributes?.map((a) => ({\n id: a.id,\n notes: a.notes,\n mitigationPlan: a.mitigationPlan,\n }));\n const headers = {\n \"content-type\": \"application/json\",\n };\n setLoading(true);\n axios\n .put(getSummaryReportUrl + \"s\", dataArr, { headers })\n .then((cresp) => {\n setLoading(false);\n getSummaryReportWithAxios();\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n const generateReport = async () => {\n setLoading(true);\n await getSummaryReportWithAxios();\n setLoading(false);\n };\n const handleInputChange = (e) => {\n const { name, value } = e.target;\n setValues({\n ...values,\n [name]: value,\n });\n console.log(values);\n };\n const handleAttributeInputChange = (e) => {\n const { name, value } = e.target;\n setAttributeValues({\n ...attributeValues,\n [name]: value,\n });\n console.log(attributeValues);\n };\n const getEngagementDetailsWithAxios = async () => {\n setLoading(true);\n try {\n const response = await axios.get(getEngagementDetailsUrl + params?.id);\n console.log(response.data.responseData);\n const engagementDetails = response.data.responseData;\n setEngagementDetails(engagementDetails);\n const res = await axios.get(getDealDetailsUrl + engagementDetails.dealID);\n console.log(\"getEngagementDetailsWithAxios\", res.data.responseData);\n const dealDetails = res.data.responseData;\n setDealDetails(dealDetails);\n } catch (err) {\n if (err.response.status == 401) {\n appContext.handleLogout();\n }\n }\n setLoading(false);\n };\n const getCovenantReviewWithAxios = async () => {\n try {\n const covresp = await axios.get(\n getCovenantReviewUrl + \"?PeriodID=\" + params.periodid\n );\n console.log(covresp.data.responseData);\n const covrev = covresp.data.responseData;\n const covrev_tem =\n covrev &&\n covrev.map((c) => {\n return { ...c, isEdit: false };\n });\n setCovenantReviews(covrev_tem);\n } catch (err) {\n if (err.response.status == 401) {\n // AppContext.handleLogout();\n }\n }\n };\n const [periodDetails, setPeriodDetails] = useState([]);\n const getPeriodDetailsWithAxios = async () => {\n try {\n const resp = await axios.get(getPeriodDetailsUrl + params.periodid);\n console.log(\"periods\", resp.data.responseData);\n const periodDetails = resp.data.responseData;\n setPeriodDetails(periodDetails);\n } catch (error) {}\n };\n\n const [results, setResults] = useState([]);\n const [failResult, setFailResult] = useState(null);\n\n const getResultssWithAxios = async () => {\n try {\n const respres = await axios.get(getResultUrl);\n // console.log(\"getResultssWithAxios\", respres);\n const ress = respres.data.responseData;\n const notNaResult = ress && ress.filter((r) => r.code !== \"NA\");\n setResults(notNaResult);\n // setResults(ress);\n // const fail = ress && ress.filter((r) => r.code == \"NA\");\n // if (fail.length > 0) {\n // console.log(\"101 fail>>>\", fail);\n // setFailResult(fail[0]?.id);\n // }\n //getCovenantReviewsWithAxios();\n } catch (error) {}\n };\n\n const [formStat, setFormStat] = useState(0);\n const [isDisabled, setIsDisabled] = useState(\"\");\n const openForm = () => {\n setFormStat(1);\n };\n\n const closeForm = () => {\n setFormStat(0);\n };\n const saveCovReview = (revid) => {\n setIsDisabled(revid);\n const dataArr = {\n id: revid,\n resultID: covValues.resultID,\n note: covValues.note,\n isComplete: false,\n };\n const headers = {\n \"content-type\": \"application/json\",\n };\n setLoading(true);\n axios\n .put(postCovenantReviewUrl, dataArr, { headers })\n .then((cresp) => {\n setLoading(false);\n // alert(\"Covenant Review has been saved successfully\");\n getCovenantReviewWithAxios();\n setFormStat(0);\n })\n .catch((error) => {\n setLoading(false);\n });\n };\n\n const completeCovReview = (revid) => {\n // console.log(\"data>>>\",revid); return ;\n const dataArr = {\n id: revid.id,\n resultID: revid.resultID,\n note: revid.note,\n comparisonValue: revid.comparisonValue,\n isComplete: true,\n };\n const headers = {\n \"content-type\": \"application/json\",\n };\n setLoading(true);\n axios\n .put(postCovenantReviewUrl, dataArr, { headers })\n .then((cresp) => {\n setLoading(false);\n // alert(\"Covenant Review has been completed successfully\");\n getCovenantReviewWithAxios();\n setFormStat(0);\n })\n .catch((error) => {\n // error response\n setLoading(false);\n });\n };\n\n const handleCovInputChange = (e) => {\n const { name, value } = e.target;\n setCovValues({\n ...covValues,\n [name]: value,\n });\n console.log(covValues);\n };\n\n const getAssetVerification = async () => {\n try {\n const resp = await axios.get(\n getAssetVerificationUrl + \"?EngagementID=\" + params?.id\n );\n console.log(\"getAssetVerificationUrl\", resp);\n const av = resp.data.responseData;\n setAssetVerification((p) => [...av]);\n } catch (err) {\n if (err.response.status == 401) {\n appContext.handleLogout();\n }\n }\n };\n const getAssetReviewVerification = async () => {\n try {\n const response = await axios.get(\n assetVerificationReviewUrl + \"?PeriodID=\" + params.periodid\n );\n console.log(\"getAssetReviewVerification>>\", response);\n setAvsReview(() => response.data.responseData);\n } catch (error) {}\n };\n const addAvsReview = () => {\n if (!avsReviewsNew) {\n initialAvsReview.periodID = params.periodid;\n // setAvsReview((p) => [...p, initialAvsReview]);\n setAvsReviewNew(() => initialAvsReview);\n } else {\n //alert(\"Submit the previous one please. \");\n }\n };\n const cancelAvsReview = () => {\n setAvsReviewNew(null);\n setValues(null);\n };\n const submitAvsReview = () => {\n if (\n !values?.assetVerificationID ||\n !values?.assetIdentifier ||\n !values?.assetName\n ) {\n //alert(\"All field is required\");\n setAvsReviewError(\"All fields are required\");\n } else {\n setAvsReviewError(null);\n setLoading(true);\n const dataArr = {\n ...values,\n periodID: params.periodid,\n };\n const headers = {\n \"content-type\": \"application/json\",\n };\n axios\n .post(assetVerificationReviewUrl, dataArr, { headers })\n .then((cresp) => {\n // alert(\"Asset verification has been completed successfully\");\n // setFormStat(1);\n setLoading(false);\n getAssetReviewVerification();\n setAvsReviewNew(null);\n setValues(null);\n })\n .catch((error) => {\n // setLoading(false);\n // setAlertType(\"danger\");\n // console.log(\"error>>\", error);\n // setShowAlert(true);\n // setAlertMessage(error.response?.data?.Message);\n // error response\n });\n }\n };\n\n //delete\n const deleteAvsReview = (id) => {\n if (\n window.confirm(\n \"Are you sure, you want to delete this asset verification review ?\"\n )\n ) {\n const headers = {\n \"content-type\": \"application/json\",\n };\n setLoading(true);\n axios\n .delete(assetVerificationReviewUrl + \"/\" + id, { headers })\n .then((cresp) => {\n setLoading(false);\n // alert(\"Asset verification has been completed successfully\");\n // setFormStat(1);\n getAssetReviewVerification();\n setAvsReviewNew(null);\n })\n .catch((error) => {\n // error response\n setLoading(false);\n // setAlertType(\"danger\");\n // console.log(\"error>>\", error);\n // setShowAlert(true);\n // setAlertMessage(error.response?.data?.Message);\n });\n }\n };\n // };\n const submitAvsReviewAttributes = async (values, reset) => {\n // if (\n // !values?.assetVerificationID ||\n // !values?.assetIdentifier ||\n // !values?.assetName\n // ) {\n // alert(\"All field is required\");\n // } else {\n\n setLoading(true);\n try {\n const headers = {\n \"content-type\": \"application/json\",\n };\n const dataArr = values.attributes.map((v) => ({\n id: v.id,\n resultID: v.resultID,\n note: v.note,\n exceptionDescription: v.exceptionDescription,\n }));\n const res = await axios.put(\n assetVerificationAssetAttributeReviewsUrl,\n dataArr,\n {\n headers,\n }\n );\n console.log(\"resss>>\", res);\n getAssetReviewVerification();\n getSummaryReportWithAxios();\n setTimeout(() => reset(), 1000);\n } catch (err) {\n getSummaryReportWithAxios();\n }\n setLoading(false);\n // const tprom = values.attributes.map((v) => {\n // const dataArr = {\n // id: v.id,\n // // id: avsReviews[selectedAvsItem].id,\n // resultID: v.resultID,\n // note: v.note,\n // exceptionDescription: v.exceptionDescription,\n // };\n // const headers = {\n // \"content-type\": \"application/json\",\n // };\n // return axios.put(assetVerificationAssetAttributeReviewsUrl, dataArr, {\n // headers,\n // });\n\n // // }\n // });\n // Promise.all(tprom).then(\n // (data) => {\n // setLoading(false);\n // // alert(\"Asset verification has been completed successfully\");\n // // setFormStat(1);\n // getAssetReviewVerification();\n // getSummaryReportWithAxios();\n // setTimeout(() => reset(), 1000);\n // },\n // (error) => {\n // setLoading(false);\n // console.log(\"error>>\", error);\n // getSummaryReportWithAxios();\n // // setAlertType(\"danger\");\n // // console.log(\"error>>\", error);\n // // setShowAlert(true);\n // // setAlertMessage(error.response?.data?.Message);\n // }\n // );\n };\n\n const getDecuments = async (recodeId) => {\n try {\n const response = await axios.get(\n documentManageUrl + \"?RecordID=\" + recodeId\n );\n setAvsDocuments(() => response.data.responseData);\n } catch (error) {\n console.log(\"getDecuments error\", error);\n // setAlertType(\"danger\");\n // console.log(\"error>>\", error);\n // setShowAlert(true);\n // setAlertMessage(error.response?.data?.Message);\n }\n };\n const downloadDocument = async (id, filename) => {\n try {\n setLoading(true);\n const response = await axios.get(decumentDownloadUrl + \"/\" + id, {\n responseType: \"blob\",\n });\n setLoading(false);\n const url = window.URL.createObjectURL(new Blob([response.data]));\n const link = document.createElement(\"a\");\n link.href = url;\n link.setAttribute(\"download\", filename); //or any other extension\n document.body.appendChild(link);\n link.click();\n // setAvsDocuments(() => response.data.responseData);\n } catch (error) {\n setLoading(false);\n console.log(\"getDecuments error\", error);\n // setAlertType(\"danger\");\n // console.log(\"error>>\", error);\n // setShowAlert(true);\n // setAlertMessage(error.response?.data?.Message);\n }\n };\n const documentUploadHandler = async (values) => {\n // const dataArr = {\n // File: values.file,\n // RecordID: selectedReviewItem,\n // // BaseRecordID: covValues.note,\n // };\n setLoading(true);\n const formData = new FormData();\n formData.append(\"File\", values.file);\n formData.append(\"RecordID\", selectedReviewItem);\n formData.append(\"BaseRecordID\", params?.id);\n const headers = {\n \"content-type\": \"multipart/form-data\",\n };\n axios\n .post(documentManageUrl, formData, { headers })\n .then((cresp) => {\n setLoading(false);\n // getCovenantReviewWithAxios();\n getDecuments(selectedReviewItem);\n // setFormStat(0);\n })\n .catch((error) => {\n setLoading(false);\n });\n };\n const openModal = (v) => {\n setSelectedReviewItem(() => v);\n getDecuments(v);\n setModalOpen((p) => true);\n };\n const modalHideHandler = () => {\n setModalOpen((p) => false);\n };\n const parseParamsFromUrl = () => {\n let paramsTemp = queryString.parse(props.location.search);\n setParams(paramsTemp);\n };\n\n const reorderAssetVerification = async () => {\n let updateConvenantReviews = [];\n const engagementID = params.id;\n updateConvenantReviews = covenantReviews.map((g) => g?.covenantID);\n // .filter((gg) => gg);\n const headers = {\n \"content-type\": \"application/json\",\n };\n setLoading(true);\n axios\n .put(\n api.conventReviewReorder,\n {\n engagementID: engagementID,\n orderedCovenantIDs: updateConvenantReviews,\n },\n {\n headers,\n }\n )\n .then((resp) => {\n setLoading(false);\n // props.getEngagementsWithAxios();\n // setAssetVer(()=>avsresp.data.responseData?.id);\n // console.log(\"resp>>\", avsresp, avsresp.data.responseData?.id, assetVer);\n // getCovenantReviewWithAxios();\n //alert('Successfully created AVS Setup');\n })\n .catch((error) => {\n setLoading(false);\n // error response\n });\n };\n useEffect(() => {\n axiosAuthHeaderSet();\n getEngagementDetailsWithAxios();\n getPeriodDetailsWithAxios();\n getCovenantReviewWithAxios();\n getResultssWithAxios();\n getAssetReviewVerification();\n getAssetVerification();\n getSummaryReportWithAxios();\n }, [params]);\n useEffect(() => {\n parseParamsFromUrl();\n }, []);\n\n return (\n <>\n \n
\n \n\n
\n \n
\n
\n
\n
Deal name:
\n
\n
\n
\n {dealDetails.name}\n {/* */}\n
\n
\n
\n
\n
\n
Engagement :
\n
\n
\n
\n {engagementDetails.name}\n
\n
\n
\n
\n
\n
Period :
\n
\n
\n
\n {periodDetails.startDate &&\n new Date(periodDetails.startDate).toLocaleDateString(\n \"en-US\",\n {\n year: \"numeric\",\n day: \"numeric\",\n month: \"numeric\",\n }\n )}{\" \"}\n -{\" \"}\n {periodDetails.endDate &&\n new Date(periodDetails.endDate).toLocaleDateString(\n \"en-US\",\n {\n year: \"numeric\",\n day: \"numeric\",\n month: \"numeric\",\n }\n )}\n
\n
\n
\n
\n
\n
Status :
\n
\n
\n
\n {periodDetails.statusName}\n
\n
\n
\n
\n {/* start */}\n\n \n {engagementDetails.isWaterfallGenerationEnabled ? (\n
\n

\n \n Generate Waterfall\n \n

\n \n
\n This is the third item's accordion body. It is hidden by\n default, until the collapse plugin adds the appropriate\n classes that we use to style each element. These classes\n control the overall appearance, as well as the showing and\n hiding via CSS transitions. You can modify any of this with\n custom CSS or overriding our default variables. It's also\n worth noting that just about any HTML can go within the\n .accordion-body, though the transition does limit overflow.\n Placeholder content for this accordion, which is intended to\n demonstrate the .accordion-flush className.\n This is the first item's accordion body.\n
\n
\n
\n ) : (\n \"\"\n )}\n {engagementDetails.isCovenantTrackingEnabled ? (\n
\n

\n \n Covenant Review\n \n

\n \n
\n \n
\n
\n
\n ) : (\n \"\"\n )}\n {engagementDetails.isVerificationServicesEnabled ? (\n
\n

\n \n AVS Review\n \n

\n \n
\n

\n AVS Review Selection\n {periodDetails?.statusCode !== \"CLOSED\" && (\n \n )}\n
\n

\n {isAvsReviewError && (\n
{isAvsReviewError}
\n )}\n
\n \n \n \n Selection #\n Asset ID\n Asset Name \n {/* Asset Verification Id */}\n \n Action\n \n \n \n {avsReviewsNew && (\n \n {avsReviews.length + 1}\n \n \n \n\n \n \n \n \n \n \n {assetVerification.length &&\n assetVerification.map((av) => {\n return (\n \n );\n })}\n \n \n {/* */}\n \n
\n {periodDetails?.statusCode !== \"CLOSED\" && (\n <>\n
\n \n \n \n
\n
\n \n \n \n
\n \n )}\n
\n \n \n )}\n {avsReviews.length > 0 &&\n avsReviews.map((ar, i) => {\n return (\n <>\n \n \n \n \n \n \n \n {ar.assetName}\n {/* \n {assetVerification.length &&\n assetVerification.filter(\n (av) =>\n av.id === ar.assetVerificationID\n )[0]?.assetTypeName}\n */}\n \n openModal(ar.id)}\n >\n Documents ({ar.documentCount})\n \n \n \n {!isOpenAvsItem && (\n {\n setSelectedAvsItem(i);\n setOpenAvsItem((p) => true);\n }}\n >\n \n \n )}\n {isOpenAvsItem && (\n {\n setSelectedAvsItem(i);\n setOpenAvsItem((p) => false);\n }}\n >\n \n \n )}\n {periodDetails?.statusCode !=\n \"CLOSED\" && (\n deleteAvsReview(ar.id)}\n >\n \n \n )}\n \n \n {selectedAvsItem == i && isOpenAvsItem && (\n \n \n \n \n
\n \n
\n Verification Checklist\n
\n
\n \n
\n {\" \"}\n
\n {periodDetails?.statusCode !=\n \"CLOSED\" && (\n \n
\n \n )}\n
\n
\n
\n {\n return {\n assetVerificationAttribute:\n arr.assetVerificationAttribute,\n id: arr.id,\n note: arr.note,\n resultID: arr.resultID,\n isEdit: false,\n exceptionDescription:\n arr.exceptionDescription,\n };\n }\n ),\n }}\n onSubmit={(\n values,\n { resetForm }\n ) => {\n submitAvsReviewAttributes(\n values,\n resetForm\n );\n }}\n enableReinitialize={true}\n >\n {({\n values,\n errors,\n touched,\n handleChange,\n handleSubmit,\n setFieldValue,\n }) => (\n
\n \n \n \n \n \n\n {/* */}\n \n \n \n \n {/* */}\n \n \n \n (\n <>\n {values.attributes &&\n values.attributes\n .length > 0 &&\n values.attributes.map(\n (attr, i) => (\n \n \n \n\n {/* */}\n \n \n \n \n \n )\n )}\n \n )}\n // )}\n />\n \n
Group Name \n Attribute Test Name\n Value to Compare Source NameResult\n \n Notes\n \n \n Exception Description\n
\n {\n attr\n .assetVerificationAttribute\n ?.assetVerificationAttributeGroupName\n }\n \n {\n attr\n .assetVerificationAttribute\n ?.name\n }\n \n {\n attr\n .assetVerificationAttribute\n ?.value\n }\n \n {\n attr\n ?.assetVerificationAttribute\n ?.verificationSource\n }\n \n \n \n {results.length >\n 0 &&\n results?.map(\n (\n r\n ) => {\n return (\n \n {\n r.name\n }\n \n );\n }\n )}\n \n \n \n \n {values\n .attributes[0]\n ?.resultID !==\n failResult && (\n \n )}\n
\n {periodDetails?.statusCode !=\n \"CLOSED\" && (\n
\n \n \n \n
\n )}\n
\n )}\n \n \n \n \n )}\n \n \n \n
\n \n documentUploadHandler(values)\n }\n >\n {({\n values,\n errors,\n touched,\n setFieldValue,\n handleChange,\n handleSubmit,\n }) => (\n
\n
\n \n Upload file:\n \n \n setFieldValue(\n \"file\",\n e.target.files[0]\n )\n }\n />\n
\n
\n
\n \n \n
\n
\n\n \n \n \n \n\n \n {\" \"}\n \n \n \n )}\n \n
\n
\n
\n Download document from list below\n
\n
    \n {avsDocuments.length > 0 &&\n avsDocuments.map((ad) => (\n
  • \n
    \n {ad?.fileName}\n \n downloadDocument(\n ad.id,\n ad.fileName\n )\n }\n >\n \n \n
    \n
  • \n ))}\n
\n
\n \n
\n \n \n );\n })}\n \n \n \n \n \n \n \n ) : (\n \"\"\n )}\n \n {/* end */}\n \n \n \n {showAlert && (\n \n )}\n \n \n );\n}\n\nexport default EngagementDetails;\n","export const ItemTypes = {\n BOX: 'box',\n}","import { useDrag } from \"react-dnd\";\nimport { ItemTypes } from \"./ItemTypes\";\nconst style = {\n\tbackgroundColor: \"white\",\n\tpadding: \"15px\",\n\tcursor: \"move\",\n\ttextAlign: \"center\",\n\tborderRadius: \"4px\",\n};\nexport const Box = function Box({ name, id }) {\n\tconst [{ isDragging }, drag] = useDrag(() => ({\n\t\ttype: ItemTypes.BOX,\n\t\titem: { name, id },\n\t\tend: (item, monitor) => {\n\t\t\tconst dropResult = monitor.getDropResult();\n\t\t\tif (item && dropResult) {\n\t\t\t\t//alert(`You dropped ${item.name} into ${dropResult.name}!`);\n\t\t\t}\n\t\t},\n\t\tcollect: (monitor) => ({\n\t\t\tisDragging: monitor.isDragging(),\n\t\t\t// handlerId: monitor.getHandlerId(),\n\t\t}),\n\t}));\n\tconst opacity = isDragging ? 0.4 : 1;\n\treturn (\n\t\t\n\t\t\t{name}\n\t\t\n\t);\n};\n","import { useState } from \"react\";\nimport { useDrop } from \"react-dnd\";\nimport { ItemTypes } from \"./ItemTypes\";\nimport { Box } from \"./box\";\nconst style = {\n height: \"12rem\",\n width: \"12rem\",\n marginRight: \"1.5rem\",\n marginBottom: \"1.5rem\",\n color: \"white\",\n padding: \"1rem\",\n textAlign: \"center\",\n fontSize: \"1rem\",\n lineHeight: \"normal\",\n float: \"left\",\n};\nconst arr = [];\nexport const Dustbin = (props) => {\n\n const { boards, setBoard } = props;\n let services = [];\n const [isActive, setIsActive] = useState(boards.length ? true : false);\n\n const [{ canDrop, isOver }, drop] = useDrop(() => ({\n accept: ItemTypes.BOX,\n drop: (item) => addServiceToDustbin(item.name, item.id),\n collect: (monitor) => ({\n isOver: monitor.isOver(),\n canDrop: monitor.canDrop(),\n }),\n }))\n\n const addServiceToDustbin = (name, id) => {\n // setIsActive(true);\n // if(props.boards.filter(x => x.id === id).length === 0)\n props.setBoard((p) => [...p, { key: id, value: name }])\n props.onChange()\n }\n\n const removeServiceToDustbin = (i) => {\n let temp = [...boards];\n temp.splice(i, 1);\n setBoard((p) => [...temp]);\n // console.log(\"splice>>\", temp, i, boards);\n }\n\n return (\n <>\n\n \n {boards.length\n ? \"\"\n : \"Select or drag Amss Servies to use Engagement Windows\"}\n {boards?.map((b, i) => {\n return (\n
\n {\n removeServiceToDustbin(i);\n }}\n >\n X\n
\n {b?.value}\n \n );\n })}\n \n \n );\n};\n","import { memo, useEffect, useState } from \"react\";\nimport { Dustbin } from \"./dustbin\";\nimport { Box } from \"./box\";\nexport const Container = memo(function Container(props) {\n const [boards, setBoard] = useState([...props.board]);\n function handleChange(event) {\n // Here, we invoke the callback with the new value\n props.onChange(boards)\n // props.onChange(event.target.value);\n }\n // useEffect(()=>{\n // props.onChange(boards)\n // },[boards])\n useEffect(() => {\n setBoard([...props.board])\n }, [props.board])\n return (\n <>\n
\n
\n \n AMSS Services\n \n
\n \n
\n Select or Drag AMSS Services to use on Engagement Windows\n
\n \n \n \n \n \n \n\n
\n \n \n
\n \n
\n \n );\n});\n","import { useState, useEffect } from \"react\";\nimport { config } from \"../constant\";\nimport axios from \"axios\";\nimport moment from \"moment\";\nimport { Formik, Field } from \"formik\";\nimport * as yup from \"yup\";\nimport Loader from \"./Loader\";\nimport { sortByDate } from \"helpers/data\";\nconst getPeriodUrl = config.url.API_URL + \"period\";\nconst postPeriodUrl = config.url.API_URL + \"period\";\nconst getPeriodStatus = config.url.API_URL + \"period-status\";\n\nconst initialValues = {\n startDate: \"\",\n endDate: \"\",\n deliveryDate: \"\",\n};\nconst periodValidationSchema = yup.object().shape({\n startDate: yup.string().required(\"Start date is a required field\"),\n endDate: yup.string().required(\"End date is a required field\"),\n deliveryDate: yup.string().required(\"Delivery date is a required field\"),\n});\nfunction AmssPeriod(props) {\n let [periodCnt, setPeriodCnt] = useState(props.periods.length + 1);\n let [showAdd, setShowAdd] = useState(1);\n const [periodRows, setPeriodRows] = useState(initialValues);\n const [periodRowsDB, setPeriodRowsDB] = useState(props.periods);\n const [periodId, setPeriodId] = useState(\"\");\n const [esd, setEsd] = useState(\"\");\n const [eed, setEed] = useState(\"\");\n const [edd, setEdd] = useState(\"\");\n const [isNewPeriod, setNewPeriod] = useState(false);\n const [periodStatus, setPeriodStatus] = useState([]);\n const [isLoading, setLoading] = useState(false);\n const [errorResponse, setError] = useState(null);\n //console.log(periodRowsDB);\n // const getPeriodsStatus = async () => {\n // const resp = await axios.get(getPeriodStatus );\n // //console.log(resp.data.responseData);\n // const periods = resp.data.responseData;\n // setPeriodStatus(periods);\n // // console.log(\"engagements>>\", engagements);\n // };\n const getPeriodsWithAxios = async () => {\n const resp = await axios.get(\n getPeriodUrl + \"?EngagementID=\" + props.engagement\n );\n //console.log(resp.data.responseData);\n const periods = resp.data.responseData.sort(sortByDate);\n setPeriodRowsDB(periods);\n // console.log(\"engagements>>\", engagements);\n };\n const addNewPeriodRow = () => {\n setNewPeriod(true);\n console.log(\"new \");\n };\n const addPeriodRow = () => {\n setPeriodCnt(periodCnt + 1);\n setShowAdd(0);\n\n let curdate = new Date().toISOString();\n const dataArr = {\n engagementID: props.engagement,\n startDate: curdate,\n endDate: curdate,\n deliveryDate: curdate,\n };\n setLoading(true);\n const headers = {\n \"content-type\": \"application/json\",\n };\n axios\n .post(postPeriodUrl, dataArr, { headers })\n .then((periodresp) => {\n //console.log(periodresp);\n setLoading(false);\n setPeriodCnt(periodCnt + 1);\n if (periodresp.data.status) {\n getPeriodsWithAxios();\n setPeriodId(periodresp.data.responseData.id);\n }\n })\n .catch((error) => {\n // error response\n setLoading(false);\n });\n //console.log(periodRows);\n //console.log(periodCnt);\n };\n\n const cancelPeriodRow = (periodid) => {\n setPeriodCnt(periodCnt - 1);\n setShowAdd(1);\n\n const headers = {\n \"content-type\": \"application/json\",\n };\n axios\n .delete(postPeriodUrl + \"/\" + periodid)\n .then((periodresp) => {\n //console.log(periodresp);\n setPeriodCnt(periodCnt + 1);\n if (periodresp.data.status) {\n //console.log(\"period added\");\n // window.location.reload();\n // alert('Successfully deleted a period');\n getPeriodsWithAxios();\n //setPeriodRows([]);\n }\n })\n .catch((error) => {\n // error response\n });\n //console.log(periodRows);\n //console.log(periodCnt);\n };\n\n const saveNewPeriod = (values) => {\n //console.log(props);\n //console.log(periodRows[0].startDate);\n setError(null);\n setLoading(true);\n const dataArr = {\n engagementID: props.engagement,\n startDate: values.startDate,\n endDate: values.endDate,\n deliveryDate: values.deliveryDate,\n // statusCode: \"OPEN\"\n statusCode: \"NOT_STARTED\",\n };\n const headers = {\n \"content-type\": \"application/json\",\n };\n axios\n .post(postPeriodUrl, dataArr, { headers })\n .then((periodresp) => {\n setLoading(false);\n //console.log(periodresp);\n //setPeriodCnt(periodCnt + 1);\n if (periodresp.data.status) {\n //console.log(\"period added\");\n // window.location.reload();\n getPeriodsWithAxios();\n // setPeriodRows([]);\n setNewPeriod(false);\n setShowAdd(1);\n // setEsd('');\n // setEed('');\n // setEdd('');\n }\n })\n .catch((error) => {\n console.log(error.response);\n setError(error.response?.data?.Message);\n setLoading(false);\n // error response\n });\n };\n\n // };\n // const saveNewPeriod = (periodId) => {\n // //console.log(props);\n // //console.log(periodRows[0].startDate);\n // if(periodRows.startDate===''){\n // \tsetEsd('Please enter start date');\n // }else if(periodRows.endDate===''){\n // \tsetEed('Please enter end date');\n // }else if(periodRows.deliveryDate===''){\n // \tsetEdd('Please enter delivery date');\n // }else{\n // \tconst dataArr = {\n // \t id: periodId,\n // \t startDate: periodRows.startDate,\n // \t endDate: periodRows.endDate,\n // \t deliveryDate: periodRows.deliveryDate,\n // \t // statusCode: \"OPEN\"\n // \t statusCode: \"NOT_STARTED\"\n // \t};\n // \tconst headers = {\n // \t \"content-type\": \"application/json\",\n // \t};\n // \taxios\n // \t .put(postPeriodUrl, dataArr, { headers })\n // \t .then((periodresp) => {\n // \t\t//console.log(periodresp);\n // \t\t//setPeriodCnt(periodCnt + 1);\n // \t\tif (periodresp.data.status) {\n // \t\t //console.log(\"period added\");\n // \t\t // window.location.reload();\n // \t\t getPeriodsWithAxios()\n // \t\t setPeriodRows([]);\n // \t\t\tsetShowAdd(1);\n // \t\t\tsetEsd('');\n // \t\t\tsetEed('');\n // \t\t\tsetEdd('');\n // \t\t}\n // \t })\n // \t .catch((error) => {\n // \t\t// error response\n // \t });\n // }\n\n // };\n\n const closePeriod = (period, status) => {\n //console.log(props);\n //console.log(periodRows[0].startDate);\n // const statusClose = periodStatus.filter(p=>p.code==status)[0]\n // console.log(\"closePeriod>>\", statusClose,periodStatus,period)\n const dataArr = {\n id: period.id,\n startDate: period.startDate,\n endDate: period.endDate,\n deliveryDate: period.deliveryDate,\n determinationDate: period.determinationDate,\n statusCode: status,\n // statusID : statusClose?.id,\n paymentDate: period.paymentDate,\n };\n const headers = {\n \"content-type\": \"application/json\",\n };\n setLoading(true);\n axios\n .put(postPeriodUrl, dataArr, { headers })\n .then((periodresp) => {\n //console.log(periodresp);\n //setPeriodCnt(periodCnt + 1);\n setLoading(false);\n if (periodresp.data.status) {\n //console.log(\"period added\");\n // window.location.reload();\n getPeriodsWithAxios();\n setPeriodRows([]);\n setShowAdd(1);\n }\n })\n .catch((error) => {\n setLoading(false);\n // error response\n });\n };\n\n const deletePeriod = (period) => {\n //console.log(props);\n //console.log(periodRows[0].startDate);\n // const statusClose = periodStatus.filter(p=>p.code==status)[0]\n // console.log(\"closePeriod>>\", statusClose,periodStatus,period)\n if (window.confirm(\"Are you sure you want to delete this period?\")) {\n const headers = {\n \"content-type\": \"application/json\",\n };\n setLoading(true);\n axios\n .delete(postPeriodUrl + \"/\" + period?.id, { headers })\n .then((periodresp) => {\n //console.log(periodresp);\n //setPeriodCnt(periodCnt + 1);\n setLoading(false);\n if (periodresp.data.status) {\n //console.log(\"period added\");\n // window.location.reload();\n getPeriodsWithAxios();\n setPeriodRows([]);\n setShowAdd(1);\n }\n })\n .catch((error) => {\n setLoading(false);\n // error response\n });\n }\n };\n\n const handleChange = (evnt) => {\n const { name, value } = evnt.target;\n //const list = [...periodRows];\n //list[index][name] = value;\n if (evnt.target.name === \"startDate\") {\n setEsd(\"\");\n }\n if (evnt.target.name === \"endDate\") {\n setEed(\"\");\n }\n if (evnt.target.name === \"deliveryDate\") {\n setEdd(\"\");\n }\n setPeriodRows({\n ...periodRows,\n [name]: value,\n });\n };\n\n useEffect(() => {\n //console.log(props);\n // getPeriodsStatus();\n if (props.engagement) {\n getPeriodsWithAxios();\n //console.log(periodRowsDB);\n }\n }, [props]);\n\n return (\n <>\n
\n Periods\n
\n {showAdd === 1 ? (\n \n \n \n ) : (\n \"\"\n )}\n
\n
\n
\n
\n {isNewPeriod && (\n \n {({ handleChange, handleSubmit, touched, values, errors }) => {\n return (\n
\n {errorResponse && (\n
{errorResponse}
\n )}\n
\n
\n \n handleChange(evnt)}\n // // value={periodRows.startDate}\n // min={moment().format('YYYY-MM-DD')}\n className=\"form-control bg-transparent text-light\"\n placeholder=\"08/15/22\"\n />\n {errors.startDate && touched.startDate ? (\n
{errors.startDate}
\n ) : null}\n
\n
\n \n handleChange(evnt)}\n // value={periodRows.endDate}\n min={\n values.startDate &&\n moment(values.startDate)\n .add(1, \"day\")\n .format(\"YYYY-MM-DD\")\n }\n className=\"form-control bg-transparent text-light\"\n placeholder=\"08/15/22\"\n />\n {errors.endDate && touched.endDate ? (\n
{errors.endDate}
\n ) : null}\n
\n
\n \n handleChange(evnt)}\n // value={periodRows.deliveryDate}\n min={\n values.endDate &&\n moment(values.endDate)\n .add(1, \"day\")\n .format(\"YYYY-MM-DD\")\n }\n className=\"form-control bg-transparent text-light\"\n placeholder=\"08/15/22\"\n />\n {errors.deliveryDate && touched.deliveryDate ? (\n
{errors.deliveryDate}
\n ) : null}\n
\n
\n saveNewPeriod(data2.id)}\n type=\"submit\"\n className=\"btn btn-primary align-item-end\"\n >\n \n \n {/* cancelPeriodRow(data2.id)}\n className='btn btn-danger'\n >\n \n */}\n
\n
\n
\n );\n }}\n \n )}\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n {periodRowsDB &&\n periodRowsDB.map((data2, i) => {\n // if(data2.statusCode!==\"NOT_STARTED\"){\n return (\n \n \n \n \n \n \n \n \n );\n\n // }else{\n // \treturn (\n // \n // \n // \n // \n // \n // \n // \n // \n // );\n // }\n })}\n \n
PeriodStart DateEnd DateDelivery Date
{i + 1}{moment(data2.startDate).format(\"MM-DD-YYYY\")}{moment(data2.endDate).format(\"MM-DD-YYYY\")}{moment(data2.deliveryDate).format(\"MM-DD-YYYY\")}{data2.statusCode} \n {data2.statusCode === \"OPEN\" && (\n closePeriod(data2, \"CLOSED\")}\n className=\"btn btn-primary\"\n type=\"button\"\n title=\"Close Period\"\n >\n \n \n )}\n {data2.statusCode === \"CLOSED\" && (\n {\n if (\n window.confirm(\n \"Are you sure you want to reopen this period?\"\n )\n ) {\n closePeriod(data2, \"OPEN\");\n }\n }}\n className=\"btn btn-primary\"\n type=\"button\"\n title=\"Reopen Period\"\n >\n \n \n )}\n {data2.statusCode === \"NOT_STARTED\" && (\n <>\n closePeriod(data2, \"OPEN\")}\n className=\"btn btn-primary mr-2\"\n type=\"button\"\n title=\"Open Period\"\n >\n \n \n deletePeriod(data2)}\n className=\"btn btn-danger\"\n type=\"button\"\n title=\"Delete Period\"\n >\n \n \n \n )}\n
\n // {/* {data.periodNo} */}\n // \n // handleChange(evnt)}\n // value={periodRows.startDate}\n // min={moment().format('YYYY-MM-DD')}\n // className='form-control bg-transparent text-light'\n // placeholder='08/15/22'\n // />\n // {esd}\n // \n // handleChange(evnt)}\n // value={periodRows.endDate}\n // min={periodRows.startDate && moment(periodRows.startDate).add(1,'day').format('YYYY-MM-DD')}\n // className='form-control bg-transparent text-light'\n // placeholder='08/15/22'\n // />\n // {eed}\n // \n // handleChange(evnt)}\n // value={periodRows.deliveryDate}\n // min={periodRows.endDate && moment(periodRows.endDate).add(1,'day').format('YYYY-MM-DD')}\n // className='form-control bg-transparent text-light'\n // placeholder='08/15/22'\n // />\n // {edd}\n // \n // saveNewPeriod(data2.id)}\n // className='btn btn-primary'\n // >\n // \n // \n // cancelPeriodRow(data2.id)}\n // className='btn btn-danger'\n // >\n // \n // \n //
\n
\n \n
\n \n );\n}\nexport default AmssPeriod;\n","import React, { useState } from \"react\";\nimport { DragDropContext, Draggable, Droppable } from \"react-beautiful-dnd\";\n\nexport default function ConvenantItem({\n covenants,\n setCovenants,\n onEdit,\n submit,\n}) {\n const [isOrderEdit, setOrderEdit] = useState(false);\n const onDragEnd = (e) => {\n const sourceIndex = e.source.index;\n const destIndex = e.destination.index;\n const tempGroups = [...covenants];\n tempGroups.splice(destIndex, 0, tempGroups.splice(sourceIndex, 1)[0]);\n // setGroups(tempGroups);\n // const tempAllGroups = [...groups];\n // const selectedIndex = tempAllGroups.findIndex((t) => t.id == g.id);\n // tempAllGroups[index].assetVerificationAttributes = tempGroups;\n setCovenants([...tempGroups]);\n };\n return (\n \n
\n \n \n \n \n \n \n \n {/* */}\n {/* */}\n \n \n \n \n \n {(provided, snapshot) => (\n \n {covenants &&\n covenants.map((cov, c) => {\n return (\n \n {(provided, snapshot) => (\n \n \n {/* */}\n \n \n \n {/* */}\n {/* */}\n \n\n \n \n )}\n \n );\n })}\n \n )}\n \n
Covenant CatagoryCovenant NameSource NameValue TypeValue To CompareDescriptionAction
\n {isOrderEdit && (\n \n \n \n )}\n {cov.covenantTypeName}{cov.covenantCategoryName}{cov.name}{cov.verificationSource}{cov.dataValueTypeName}{cov.value}{cov.description}\n
\n onEdit(cov)}\n >\n \n
\n \n
\n
\n {isOrderEdit ? (\n {\n setOrderEdit(false);\n submit();\n }}\n title=\"Save order\"\n >\n \n \n ) : (\n setOrderEdit(true)}\n title=\"Edit order\"\n >\n \n \n )}\n
\n
\n
\n );\n}\n","import { useState, useEffect } from \"react\";\r\nimport { config } from \"../../constant\";\r\nimport axios from \"axios\";\r\nimport { Field, Formik } from \"formik\";\r\nimport * as yup from \"yup\";\r\nimport Loader from \"../Loader\";\r\nimport { sortByDate } from \"helpers/data\";\r\nimport { DragDropContext, Draggable, Droppable } from \"react-beautiful-dnd\";\r\nimport ConvenantItem from \"./ConvenantItem\";\r\nimport api from \"config/api\";\r\nimport Toaster from \"components/Toaster\";\r\n\r\nconst getCovenantTypeUrl = config.url.API_URL + \"covenant-type\";\r\nconst getCovenantCategoryUrl = config.url.API_URL + \"covenant-category\";\r\nconst getVerificationSrcUrl = config.url.API_URL + \"verification-source\";\r\nconst getValueTypeUrl = config.url.API_URL + \"value-type\";\r\nconst postCovenantUrl = config.url.API_URL + \"covenant\";\r\nconst getCovenantUrl = config.url.API_URL + \"covenant\";\r\n\r\nconst initialValues = {\r\n name: \"\",\r\n description: \"\",\r\n covenantTypeID: \"\",\r\n covenantCategoryID: \"\",\r\n verificationSourceID: \"\",\r\n dataValueTypeID: \"\",\r\n value: \"\",\r\n};\r\n\r\nfunction AmssCovenant(props) {\r\n let [showstat, setShowsStat] = useState(0);\r\n const [covenants, setCovenants] = useState([]);\r\n const [covenantTypes, setCovenantTypes] = useState([]);\r\n const [covenantCategories, setCovenantCategories] = useState([]);\r\n const [verificationSrc, setVerificationSrc] = useState([]);\r\n const [valueTypes, setValueTypes] = useState([]);\r\n const [values, setValues] = useState(initialValues);\r\n const [isEdit, setEdit] = useState(false);\r\n const [selectedId, setSeletedId] = useState(null);\r\n const [isLoading, setLoading] = useState(false);\r\n const [isError, setError] = useState(false);\r\n const [message, setMessage] = useState(\"\");\r\n const assetVerificationValidationSchema = yup.object().shape({\r\n covenantCategoryID: yup\r\n .string()\r\n .required(\"Convenant category is a required field\"),\r\n name: yup.string().required(\"Name is a required field\"),\r\n value: yup.string(),\r\n // dataValueTypeID: yup.string().required(\"Value type is a required field\"),\r\n verificationSource: yup\r\n .string()\r\n .required(\"Verification source is a required field\"),\r\n description: yup.string().required(\"Description is a required field\"),\r\n });\r\n const handleInputChange = (e) => {\r\n const { name, value } = e.target;\r\n setValues({\r\n ...values,\r\n [name]: value,\r\n });\r\n // console.log(values);\r\n };\r\n\r\n const getCovenantsWithAxios = async () => {\r\n // setLoading(true);\r\n const respCovenants = await axios.get(\r\n getCovenantUrl + \"?EngagementID=\" + props.engagement\r\n );\r\n // setLoading(false);\r\n console.log(\"101 respCovenants>>\", respCovenants);\r\n const covs = respCovenants.data.responseData.sort(sortByDate);\r\n setCovenants(covs);\r\n //console.log(posts);\r\n };\r\n\r\n const getCovenantTypesWithAxios = async () => {\r\n const covenantTypesData = await axios.get(getCovenantTypeUrl);\r\n // console.log(covenantTypesData.data.responseData);\r\n let types = covenantTypesData.data.responseData;\r\n setCovenantTypes(types);\r\n };\r\n\r\n const getCovenantCategoriesWithAxios = async () => {\r\n const covenantCategoriesData = await axios.get(getCovenantCategoryUrl);\r\n // console.log(covenantCategoriesData.data.responseData);\r\n let categories = covenantCategoriesData.data.responseData;\r\n setCovenantCategories(categories);\r\n };\r\n\r\n const getVerificationSrcWithAxios = async () => {\r\n const verificationSrcData = await axios.get(getVerificationSrcUrl);\r\n // console.log(verificationSrcData.data.responseData);\r\n let verification = verificationSrcData.data.responseData;\r\n setVerificationSrc(verification);\r\n };\r\n\r\n const getValueTypesWithAxios = async () => {\r\n const valueTypesData = await axios.get(getValueTypeUrl);\r\n // console.log(valueTypesData.data.responseData);\r\n let valuet = valueTypesData.data.responseData;\r\n setValueTypes(valuet);\r\n };\r\n\r\n const addNewAttribute = () => {\r\n setShowsStat(1);\r\n getCovenantTypesWithAxios();\r\n getCovenantCategoriesWithAxios();\r\n getVerificationSrcWithAxios();\r\n getValueTypesWithAxios();\r\n };\r\n const backCovenantList = () => {\r\n setShowsStat(0);\r\n };\r\n const saveCovenantAttribute = (values, resetForm) => {\r\n // e.preventDefault();\r\n setShowsStat(0);\r\n setLoading(true);\r\n //engagementID: props.engagement, name: values.name, description: values.description, covenantTypeID: values.covenantTypeID, covenantCategoryID: values.covenantCategoryID, verificationSourceID: values.verificationSourceID, dataValueTypeID: values.dataValueTypeID, value: values.value\r\n let dataArr = {\r\n engagementID: props.engagement,\r\n name: values.name,\r\n description: values.description,\r\n covenantTypeID: values.covenantTypeID,\r\n covenantCategoryID: values.covenantCategoryID,\r\n verificationSource: values.verificationSource,\r\n dataValueTypeID: values.dataValueTypeID,\r\n value: values.value,\r\n };\r\n // console.log(\"balues>>>\", dataArr); return;\r\n setError(false);\r\n setMessage(\"\");\r\n const headers = {\r\n \"content-type\": \"application/json\",\r\n };\r\n if (isEdit) {\r\n dataArr.id = selectedId.id;\r\n axios\r\n .put(postCovenantUrl, dataArr, { headers })\r\n .then((covenantresp) => {\r\n // console.log(covenantresp);\r\n setLoading(false);\r\n if (covenantresp.data.status) {\r\n setValues({ ...initialValues });\r\n getCovenantTypesWithAxios();\r\n getCovenantCategoriesWithAxios();\r\n getVerificationSrcWithAxios();\r\n getValueTypesWithAxios();\r\n getCovenantsWithAxios();\r\n setShowsStat(0);\r\n setEdit(false);\r\n }\r\n })\r\n .catch((error) => {\r\n setLoading(false);\r\n setError(true);\r\n setMessage(error?.response?.Message);\r\n alert(error?.response?.data?.Message);\r\n // error response\r\n console.log(\"error>>\", error?.response);\r\n });\r\n } else {\r\n setLoading(true);\r\n axios\r\n .post(postCovenantUrl, dataArr, { headers })\r\n .then((covenantresp) => {\r\n setLoading(false);\r\n // console.log(covenantresp);\r\n if (covenantresp.data.status) {\r\n setValues({ ...initialValues });\r\n getCovenantTypesWithAxios();\r\n getCovenantCategoriesWithAxios();\r\n getVerificationSrcWithAxios();\r\n getValueTypesWithAxios();\r\n getCovenantsWithAxios();\r\n setShowsStat(0);\r\n setEdit(false);\r\n }\r\n })\r\n .catch((error) => {\r\n // setError(true);\r\n // setMessage(error?.response?.message);\r\n setLoading(false);\r\n // // error response\r\n alert(error?.response?.data?.Message);\r\n console.log(\"error>>\", error?.response);\r\n });\r\n }\r\n };\r\n\r\n const reorderCovenantTracking = async () => {\r\n let updateConvenantReviews = [];\r\n const engagementID = props.engagement;\r\n updateConvenantReviews = covenants.map((g) => g?.id);\r\n // .filter((gg) => gg);\r\n const headers = {\r\n \"content-type\": \"application/json\",\r\n };\r\n setLoading(true);\r\n axios\r\n .put(\r\n api.conventReviewReorder,\r\n {\r\n engagementID: engagementID,\r\n orderedCovenantIDs: updateConvenantReviews,\r\n },\r\n {\r\n headers,\r\n }\r\n )\r\n .then((resp) => {\r\n setLoading(false);\r\n // props.getEngagementsWithAxios();\r\n // setAssetVer(()=>avsresp.data.responseData?.id);\r\n // console.log(\"resp>>\", avsresp, avsresp.data.responseData?.id, assetVer);\r\n // getCovenantReviewWithAxios();\r\n //alert('Successfully created AVS Setup');\r\n })\r\n .catch((error) => {\r\n setLoading(false);\r\n // error response\r\n });\r\n };\r\n useEffect(() => {\r\n getCovenantTypesWithAxios();\r\n getCovenantCategoriesWithAxios();\r\n getVerificationSrcWithAxios();\r\n getValueTypesWithAxios();\r\n getCovenantsWithAxios();\r\n }, [props]);\r\n\r\n const onEdit = (data) => {\r\n setShowsStat(1);\r\n setEdit(true);\r\n setSeletedId(data);\r\n // const initialValues = {\r\n // name: data.name,\r\n // description: data.description,\r\n // covenantTypeID: data.covenantTypeID,\r\n // covenantCategoryID: data.covenantCategoryID,\r\n // verificationSource: data.verificationSource,\r\n // dataValueTypeID: data.dataValueTypeID,\r\n // value: data.value,\r\n // };\r\n // setValues(() => initialValues);\r\n };\r\n return (\r\n <>\r\n \r\n Covenant Tracking checklists\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n {\r\n saveCovenantAttribute(values, resetForm);\r\n // resetForm();\r\n }}\r\n initialValues={{\r\n covenantCategoryID: isEdit ? selectedId.covenantCategoryID : \"\",\r\n name: isEdit ? selectedId.name : \"\",\r\n verificationSource: isEdit ? selectedId.verificationSource : \"\",\r\n // dataValueTypeID: isEdit ? selectedId.dataValueTypeID : \"\",\r\n value: isEdit ? selectedId.value : \"\",\r\n description: isEdit ? selectedId.description : \"\",\r\n }}\r\n enableReinitialize={true}\r\n validationSchema={assetVerificationValidationSchema}\r\n >\r\n {({\r\n handleChange,\r\n handleSubmit,\r\n touched,\r\n values,\r\n errors,\r\n resetForm,\r\n }) => (\r\n \r\n {JSON.stringify(errors)}\r\n
\r\n {\" \"}\r\n Attributes\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {covenantCategories &&\r\n covenantCategories.map((covenantCategory, cc) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n {errors.covenantCategoryID &&\r\n touched.covenantCategoryID ? (\r\n
\r\n {errors.covenantCategoryID}\r\n
\r\n ) : null}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {errors.name && touched.name ? (\r\n
{errors.name}
\r\n ) : null}\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n {errors.verificationSource &&\r\n touched.verificationSource ? (\r\n
\r\n {errors.verificationSource}\r\n
\r\n ) : null}\r\n
\r\n
\r\n\r\n {/*
\r\n
\r\n \r\n \r\n {errors.value && touched.value ? (\r\n
{errors.value}
\r\n ) : null}\r\n
\r\n
*/}\r\n
\r\n \r\n \r\n {errors.description && touched.description ? (\r\n
{errors.description}
\r\n ) : null}\r\n
\r\n {/*
\r\n
\r\n \r\n \r\n \r\n {valueTypes &&\r\n valueTypes.map((valueType, vt) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n {errors.dataValueTypeID && touched.dataValueTypeID ? (\r\n
{errors.dataValueTypeID}
\r\n ) : null}\r\n
\r\n
*/}\r\n
\r\n
\r\n
\r\n\r\n
\r\n {\r\n backCovenantList();\r\n resetForm();\r\n }}\r\n title=\"Back\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\nexport default AmssCovenant;\r\n","import React, { useState } from \"react\";\nimport { DragDropContext, Draggable, Droppable } from \"react-beautiful-dnd\";\n\n// import { ItemTypes } from \"./ItemTypes.js\";\nconst style = {\n border: \"1px dashed gray\",\n padding: \"0.5rem 1rem\",\n marginBottom: \".5rem\",\n backgroundColor: \"white\",\n cursor: \"move\",\n};\n\nexport default function AssetVerificationGroupItem({\n g,\n editAVSAttribute,\n delAVSAttribute,\n index,\n reorderAssetVerificationAttributes,\n setAttributeOrderFlag,\n isAttributeOrderFlag,\n groups,\n setGroups,\n onAttributesFlagOpen,\n}) {\n const [orderAttributes, setOrderAttributes] = useState([\n ...g.assetVerificationAttributes,\n ]);\n const reset = () => {\n setOrderAttributes([...g.assetVerificationAttributes]);\n const tempAllGroups = [...groups];\n tempAllGroups[index].assetVerificationAttributes = orderAttributes;\n setGroups([...tempAllGroups]);\n setAttributeOrderFlag(false);\n };\n const onDragEnd = (e) => {\n const sourceIndex = e.source.index;\n const destIndex = e.destination.index;\n const tempGroups = [...g.assetVerificationAttributes];\n tempGroups.splice(destIndex, 0, tempGroups.splice(sourceIndex, 1)[0]);\n // setGroups(tempGroups);\n console.log(\"tempGroups\", { tempGroups, g, groups });\n const tempAllGroups = [...groups];\n // const selectedIndex = tempAllGroups.findIndex((t) => t.id == g.id);\n tempAllGroups[index].assetVerificationAttributes = tempGroups;\n setGroups([...tempAllGroups]);\n };\n return (\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n {(provided, snapshot) => (\n \n {g.assetVerificationAttributes &&\n g.assetVerificationAttributes.map((attribute, index1) => {\n return (\n \n {(provided, snapshot) => (\n \n \n \n\n \n \n\n \n \n )}\n \n );\n })}\n \n )}\n \n
Attribute Test NameTest Description Source NameAction
\n {isAttributeOrderFlag && (\n \n \n \n )}\n \n {attribute.name}\n {attribute.description}{attribute.verificationSource}\n
\n editAVSAttribute(attribute)}\n >\n \n \n \n delAVSAttribute(attribute.id)\n }\n >\n \n \n
\n
\n
\n {isAttributeOrderFlag ? (\n <>\n {/* \n Reset\n */}\n {g.assetVerificationAttributes.length > 1 && (\n \n reorderAssetVerificationAttributes([\n ...g.assetVerificationAttributes,\n ])\n }\n title=\"Save order\"\n >\n \n \n )}\n \n ) : (\n <>\n {g.assetVerificationAttributes.length > 1 && (\n onAttributesFlagOpen()}\n title=\"Edit order\"\n >\n \n \n )}\n \n )}\n
\n
\n );\n}\n","import React, { useCallback } from \"react\";\nimport { DragDropContext, Draggable, Droppable } from \"react-beautiful-dnd\";\nimport AssetVerificationGroupItem from \"./AssetVerificationGroupItem\";\nimport \"./AssetVerification.scss\";\n\nexport default function AssetVerificationView({\n groups,\n setSelectedGroup,\n setGroupEdit,\n setGroupActive,\n setGroupEditModalShow,\n editAVSAttribute,\n delAVSAttribute,\n showstat,\n setGroups,\n reorderAssetVerificationAttributes,\n isGroupOrderFlag,\n setAttributeOrderFlag,\n isAttributeOrderFlag,\n onAttributesFlagOpen,\n}) {\n const onDragEnd = (e) => {\n console.log(e);\n const sourceIndex = e.source.index;\n const destIndex = e.destination.index;\n const tempGroups = [...groups];\n tempGroups.splice(destIndex, 0, tempGroups.splice(sourceIndex, 1)[0]);\n setGroups(tempGroups);\n };\n return (\n \n \n {(provided, snapshot) => (\n
\n {groups &&\n groups.map((g, index) => (\n \n {(provided, snapshot) => (\n \n {isGroupOrderFlag && (\n \n groupOrder(g)}\n >\n \n \n \n )}\n \n {g?.name}{\" \"}\n \n {\n setSelectedGroup(g);\n setGroupEdit(true);\n setGroupActive(true);\n setGroupEditModalShow(true);\n }}\n >\n \n \n \n \n \n\n {provided.placeholder}\n \n )}\n \n ))}\n {provided.placeholder}\n
\n )}\n
\n
\n );\n}\n","import { useState, useEffect, useRef } from \"react\";\nimport { config } from \"../../constant\";\nimport axios from \"axios\";\nimport { Field, Formik } from \"formik\";\nimport * as yup from \"yup\";\nimport Loader from \"../Loader\";\nimport { sortByDate } from \"helpers/data\";\nimport { Button, Form, Modal } from \"react-bootstrap\";\n\nimport AssetVerificationView from \"./AssetVerificationView\";\nimport api from \"config/api\";\nimport \"./AssetVerification.scss\";\nconst getVerificationSrcUrl = config.url.API_URL + \"verification-source\";\nconst getValueTypeUrl = config.url.API_URL + \"value-type\";\nconst getSampleMethodUrl = config.url.API_URL + \"sample-method\";\nconst getAssetTypeUrl = config.url.API_URL + \"asset-type\";\nconst postAVSUrl = config.url.API_URL + \"asset-verification\";\nconst postAssetVerificationAttrUrl =\n config.url.API_URL + \"asset-verification-attribute\";\nconst getAssetVerificationAttrUrl =\n config.url.API_URL + \"asset-verification-attribute\";\nconst assetVerificationAttributeGroup =\n config.url.API_URL + \"asset-verification-attribute-group\";\n\nconst initialValues = {\n name: \"\",\n description: \"\",\n verificationSourceID: \"\",\n dataValueTypeID: \"\",\n value: \"\",\n};\n\nconst initialSetupValues = {\n assetTypeID: \"\",\n sampleMethodID: \"\",\n sampleValue: \"\",\n};\n\nfunction AmssVerification(props) {\n // console.log(\"assetVerification id>>>\",props)\n let [showstat, setShowsStat] = useState(0);\n const [assetVer, setAssetVer] = useState();\n const [values, setValues] = useState(initialValues);\n const [setupValues, setSetupValues] = useState(initialSetupValues);\n const [attributes, setAttributes] = useState([]);\n const [avs, setAvs] = useState([]);\n const [assetTypes, setAssetTypes] = useState([]);\n const [sampleMethods, setSampleMethods] = useState([]);\n const [verificationSrc, setVerificationSrc] = useState([]);\n const [valueTypes, setValueTypes] = useState([]);\n const [isEdit, setEdit] = useState(false);\n const [selectedAttributes, setSelectedAttributes] = useState(null);\n const [isLoading, setLoading] = useState(false);\n const [errorAttribures, setErrorArrributes] = useState(null);\n const [isGroupActive, setGroupActive] = useState(false);\n const [isGroupEdit, setGroupEdit] = useState(false);\n const [groups, setGroups] = useState([]);\n const [selectedGroup, setSelectedGroup] = useState(null);\n const [isGroupEditModalShow, setGroupEditModalShow] = useState(false);\n const [isGroupOrderFlag, setGroupOrderFlag] = useState(false);\n const [isAttributeOrderFlag, setAttributeOrderFlag] = useState(false);\n\n const dragItem = useRef();\n const dragOverItem = useRef();\n\n const assetVerificationValidationSchema = yup.object().shape({\n name: yup.string().required(\"Name is a required field\"),\n // value: yup.string().required(\"Value is a required field\"),\n // dataValueTypeID: yup.string().required(\"Value type is a required field\"),\n verificationSource: yup\n .string()\n .required(\"Verification source is a required field\"),\n description: yup.string().required(\"Description is a required field\"),\n assetVerificationAttributeGroupID: yup\n .string()\n .required(\"Asset verification attributes group is a required field\"),\n });\n const assetVerificationGroupAddValidationSchema = yup.object().shape({\n name: yup.string().required(\"Group name is a required field\"),\n });\n const handleCloseGroupModal = () => {\n setGroupEditModalShow(false);\n };\n useEffect(() => {\n setAssetVer(() => props.assetverifcation);\n }, [props]);\n const handleInputChange = (e) => {\n // if(e.target.name === 'value'){\n // if(isNaN(e.target.value)) return false\n // }\n const { name, value } = e.target;\n setValues({\n ...values,\n [name]: value,\n });\n // console.log(values);\n };\n const handleSetupInputChange = (e) => {\n if (e.target.name === \"sampleValue\") {\n if (isNaN(e.target.value)) return false;\n }\n const { name, value } = e.target;\n setSetupValues({\n ...setupValues,\n [name]: value,\n });\n // console.log(setupValues);\n };\n\n const getAttributesWithAxios = async () => {\n if (props.assetverifcation !== \"\") {\n // setLoading(true);\n const respAttributes = await axios.get(\n getAssetVerificationAttrUrl +\n \"?AssetVerificationID=\" +\n props.assetverifcation\n );\n const attr = respAttributes.data.responseData.sort(sortByDate);\n console.log(\"101 attr>\", attr);\n setAttributes(attr);\n // setLoading(false);\n }\n };\n\n const getAVSSetupWithAxios = async () => {\n if (props.assetverifcation !== \"\") {\n const respAvs = await axios.get(\n postAVSUrl + \"?EngagementID=\" + props.engagement\n );\n // console.log(respAvs.data.responseData);\n const avss = respAvs.data.responseData[0];\n setAvs(avss);\n setSetupValues({\n ...setupValues,\n [\"assetTypeID\"]: avss.assetTypeID,\n [\"sampleMethodID\"]: avss.sampleMethodID,\n [\"sampleValue\"]: avss.sampleValue,\n });\n //setSetupValues({ ...setupValues, ['sampleMethodID']: avss.sampleMethodID });\n //setSetupValues({ ...setupValues, ['sampleValue']: avss.sampleValue\t});\n // console.log(setupValues);\n }\n };\n\n const getAssetTypesWithAxios = async () => {\n const assetTypesData = await axios.get(getAssetTypeUrl);\n //console.log(assetTypesData.data.responseData);\n let types = assetTypesData.data.responseData;\n setAssetTypes(types);\n };\n\n const getSampleMethodsWithAxios = async () => {\n const sampleMethodsData = await axios.get(getSampleMethodUrl);\n //console.log(sampleMethodsData.data.responseData);\n let methods = sampleMethodsData.data.responseData;\n setSampleMethods(methods);\n };\n\n const getAssetVerificationAttributesGroup = async () => {\n try {\n // setLoading(true);\n const assetGroupData = await axios.get(\n assetVerificationAttributeGroup +\n \"?assetVerificationID=\" +\n props?.assetverifcation\n );\n console.log(\"101 assetVerificationAttributeGroup\", assetGroupData);\n let groups = assetGroupData.data?.responseData;\n setGroups(groups);\n // setLoading(false);\n } catch (error) {\n console.log(\"err>>>>\", error.response);\n // setLoading(false);\n }\n };\n const setAssetVerificationAttributesGroup = async (values) => {\n try {\n const dataArr = {\n ...values,\n };\n const headers = {\n \"content-type\": \"application/json\",\n };\n if (values.hasOwnProperty(\"id\")) {\n const assetGroupData = await axios.put(\n assetVerificationAttributeGroup,\n dataArr,\n headers\n );\n handleCloseGroupModal();\n } else {\n const assetGroupData = await axios.post(\n assetVerificationAttributeGroup,\n dataArr,\n headers\n );\n }\n // console.log(\"assetVerificationAttributeGroup\", assetGroupData);\n getAssetVerificationAttributesGroup();\n } catch (error) {\n console.log(\"err>>>>\", error.response);\n }\n };\n const saveAVSSetup = () => {\n //engagementID: props.engagement, name: values.name, description: values.description, covenantTypeID: values.covenantTypeID, covenantCategoryID: values.covenantCategoryID, verificationSourceID: values.verificationSourceID, dataValueTypeID: values.dataValueTypeID, value: values.value\n const dataArr = {\n engagementID: props.engagement,\n assetTypeID: setupValues.assetTypeID,\n sampleMethodID: setupValues.sampleMethodID,\n sampleValue: setupValues.sampleValue,\n };\n const headers = {\n \"content-type\": \"application/json\",\n };\n setLoading(true);\n axios\n .post(postAVSUrl, dataArr, { headers })\n .then((avsresp) => {\n setLoading(false);\n props.getEngagementsWithAxios();\n // setAssetVer(()=>avsresp.data.responseData?.id);\n // console.log(\"resp>>\", avsresp, avsresp.data.responseData?.id, assetVer);\n getAVSSetupWithAxios();\n //alert('Successfully created AVS Setup');\n })\n .catch((error) => {\n setLoading(false);\n // error response\n });\n };\n\n const editAVSSetup = () => {\n //engagementID: props.engagement, name: values.name, description: values.description, covenantTypeID: values.covenantTypeID, covenantCategoryID: values.covenantCategoryID, verificationSourceID: values.verificationSourceID, dataValueTypeID: values.dataValueTypeID, value: values.value\n const dataArr = {\n id: avs.id,\n assetTypeID: setupValues.assetTypeID,\n sampleMethodID: setupValues.sampleMethodID,\n sampleValue: setupValues.sampleValue,\n };\n setLoading(true);\n const headers = {\n \"content-type\": \"application/json\",\n };\n axios\n .put(postAVSUrl, dataArr, { headers })\n .then((avseresp) => {\n setLoading(false);\n getAVSSetupWithAxios();\n // alert(\"Setup Updated successfully\");\n })\n .catch((error) => {\n // error response\n setLoading(false);\n });\n };\n // asset verification group reordering using drag and drop and api\n const reorderAssetVerification = async () => {\n let updateGroups = [];\n const assetVerificationID = groups[0]?.assetVerificationID;\n updateGroups = groups.map((g) => g?.id);\n // .filter((gg) => gg);\n console.log(\"Groups>>\", groups, assetVerificationID, updateGroups);\n const headers = {\n \"content-type\": \"application/json\",\n };\n setLoading(true);\n axios\n .put(\n api.assetVerificationGroupReorder,\n {\n assetVerificationID: assetVerificationID,\n orderedAssetVerificationAttributeGroupIDs: updateGroups,\n },\n {\n headers,\n }\n )\n .then((resp) => {\n setLoading(false);\n // props.getEngagementsWithAxios();\n // setAssetVer(()=>avsresp.data.responseData?.id);\n // console.log(\"resp>>\", avsresp, avsresp.data.responseData?.id, assetVer);\n getAssetVerificationAttributesGroup();\n setGroupOrderFlag(false);\n\n //alert('Successfully created AVS Setup');\n })\n .catch((error) => {\n setLoading(false);\n // error response\n });\n };\n const reorderAssetVerificationAttributes = async (data) => {\n let updateAttributes = [];\n const assetVerificationID = data[0]?.assetVerificationID;\n const assetVerificationAttributeGroupID =\n data[0].assetVerificationAttributeGroupID;\n updateAttributes = data.map((d) => d?.id);\n // .filter((gg) => gg);\n // console.log(\"Groups>>\", groups, assetVerificationID, updateGroups);\n const headers = {\n \"content-type\": \"application/json\",\n };\n setLoading(true);\n axios\n .put(\n api.assetVerificationAttributesReorder,\n {\n assetVerificationID: assetVerificationID,\n assetVerificationAttributeGroupID: assetVerificationAttributeGroupID,\n orderedAssetVerificationAttributeIDs: updateAttributes,\n },\n {\n headers,\n }\n )\n .then((resp) => {\n setLoading(false);\n // props.getEngagementsWithAxios();\n // setAssetVer(()=>avsresp.data.responseData?.id);\n // console.log(\"resp>>\", avsresp, avsresp.data.responseData?.id, assetVer);\n getAssetVerificationAttributesGroup();\n setAttributeOrderFlag(false);\n //alert('Successfully created AVS Setup');\n })\n .catch((error) => {\n setLoading(false);\n // error response\n });\n };\n const addNewAttribute = () => {\n setShowsStat(1);\n getVerificationSrcWithAxios();\n getValueTypesWithAxios();\n };\n\n const getVerificationSrcWithAxios = async () => {\n const verificationSrcData = await axios.get(getVerificationSrcUrl);\n //console.log(verificationSrcData.data.responseData);\n let verification = verificationSrcData.data.responseData;\n setVerificationSrc(verification);\n };\n\n const getValueTypesWithAxios = async () => {\n const valueTypesData = await axios.get(getValueTypeUrl);\n //console.log(valueTypesData.data.responseData);\n let valuet = valueTypesData.data.responseData;\n setValueTypes(valuet);\n };\n\n const backAVSList = () => {\n setShowsStat(0);\n };\n const saveAVSAttribute = (values) => {\n // e.preventDefault()\n setLoading(true);\n setErrorArrributes(null);\n //engagementID: props.engagement, name: values.name, description: values.description, covenantTypeID: values.covenantTypeID, covenantCategoryID: values.covenantCategoryID, verificationSourceID: values.verificationSourceID, dataValueTypeID: values.dataValueTypeID, value: values.value\n let dataAttrArr = {\n name: values.name,\n description: values.description,\n verificationSource: values.verificationSource,\n dataValueTypeID: values.dataValueTypeID,\n value: values.value,\n // assetVerificationID: assetVer,\n };\n if (values.hasOwnProperty(\"assetVerificationAttributeGroupID\")) {\n dataAttrArr[\"assetVerificationAttributeGroupID\"] =\n values.assetVerificationAttributeGroupID;\n }\n const headers = {\n \"content-type\": \"application/json\",\n };\n if (isEdit) {\n dataAttrArr.id = selectedAttributes.id;\n axios\n .put(postAssetVerificationAttrUrl, dataAttrArr, { headers })\n .then((attrresp) => {\n setLoading(false);\n setErrorArrributes(null);\n console.log(attrresp);\n if (attrresp.data.status) {\n setShowsStat(0);\n getAttributesWithAxios();\n getAssetVerificationAttributesGroup();\n\n setEdit(false);\n }\n })\n .catch((error) => {\n setLoading(false);\n console.log(\"error>>\", error.response);\n setErrorArrributes(error?.response?.data?.Message);\n // error response\n });\n } else {\n dataAttrArr.assetVerificationID = props.assetverifcation;\n setLoading(true);\n axios\n .post(postAssetVerificationAttrUrl, dataAttrArr, { headers })\n .then((attrresp) => {\n console.log(attrresp);\n setErrorArrributes(null);\n setLoading(false);\n if (attrresp.data.status) {\n setShowsStat(0);\n getAttributesWithAxios();\n getAssetVerificationAttributesGroup();\n setEdit(false);\n }\n })\n .catch((error) => {\n setLoading(false);\n setErrorArrributes(error?.response?.data?.Message);\n // error response\n });\n }\n };\n\n const editAVSAttribute = (item) => {\n setShowsStat(1);\n console.log(\"item>>>\", item);\n setEdit(true);\n setSelectedAttributes(item);\n // const initialValues = {\n // name: item.name,\n // description: item.description,\n // verificationSource: item.verificationSource,\n // dataValueTypeID: item.dataValueTypeID,\n // value: item.value,\n // };\n // setValues(() => initialValues);\n };\n const delAVSAttribute = async (id) => {\n if (window.confirm(\"Are you sure you wish to delete the Attribute Test?\")) {\n try {\n setLoading(true);\n const verificationSrcData = await axios.delete(\n postAssetVerificationAttrUrl + \"/\" + id\n );\n setLoading(false);\n getAttributesWithAxios();\n } catch (err) {\n setLoading(false);\n console.log(\"err\");\n }\n }\n };\n const onGroupOrderFlagOpen = () => {\n if (isAttributeOrderFlag) {\n // setAttributeOrderFlag(false);\n alert(\"Save attributes changes first\");\n return;\n }\n setGroupOrderFlag(true);\n };\n const onAttributesFlagOpen = () => {\n if (isGroupOrderFlag) {\n alert(\"Save group changes first\");\n return;\n }\n setAttributeOrderFlag(true);\n };\n useEffect(() => {\n if (props.engagement) {\n //getPeriodsWithAxios();\n getAttributesWithAxios();\n getAVSSetupWithAxios();\n }\n\n getAssetTypesWithAxios();\n getSampleMethodsWithAxios();\n getVerificationSrcWithAxios();\n getValueTypesWithAxios();\n getAssetVerificationAttributesGroup();\n }, [props]);\n\n return (\n <>\n
\n AVS Setup\n
\n
\n
\n
\n
\n
\n
\n \n \n \n {assetTypes &&\n assetTypes.map((assetType, at) => {\n return (\n \n );\n })}\n \n
\n
\n
\n
\n \n {\n handleSetupInputChange(e);\n setSetupValues((p) => ({ ...p, sampleValue: 0 }));\n }}\n >\n \n {sampleMethods &&\n sampleMethods.map((sampleMethod, sm) => {\n return (\n \n );\n })}\n \n
\n
\n
\n
\n {sampleMethods &&\n sampleMethods\n .filter((sm) => sm.id == setupValues.sampleMethodID)\n .map((s) => {\n if (s.code == \"Fixed Count\")\n return (\n \n );\n else if (s.code == \"Percentage\")\n return (\n \n );\n else\n return (\n \n );\n })}\n {!setupValues.sampleMethodID && (\n \n )}\n {/* */}\n \n
\n
\n
\n
\n
\n\n
\n {assetVer === \"\" ? (\n \n \n \n ) : (\n \n \n {/* */}\n \n )}\n
\n
\n\n \n
\n {assetVer !== \"\" ? (\n \n \n \n ) : (\n \"\"\n )}\n
\n
\n {\n saveAVSAttribute(values);\n resetForm();\n }}\n validationSchema={assetVerificationValidationSchema}\n >\n {({\n handleChange,\n handleSubmit,\n touched,\n values,\n errors,\n resetForm,\n }) => (\n \n {errorAttribures && (\n
{errorAttribures}
\n )}\n
\n {\" \"}\n Attributes\n
\n\n
\n
\n
\n
\n
\n \n \n {errors.name && touched.name ? (\n
{errors.name}
\n ) : null}\n
\n
\n {/*
\n
\n \n \n {errors.value && touched.value ? (\n
{errors.value}
\n ) : null}\n
\n
*/}\n {/*
\n
\n \n \n \n {valueTypes &&\n valueTypes.map((valueType, vt) => {\n return (\n \n );\n })}\n \n {errors.dataValueTypeID && touched.dataValueTypeID ? (\n
\n {errors.dataValueTypeID}\n
\n ) : null}\n
\n
*/}\n
\n
\n \n \n {errors.verificationSource &&\n touched.verificationSource ? (\n
\n {errors.verificationSource}\n
\n ) : null}\n {/* \n \n {verificationSrc &&\n verificationSrc.map((source, vs) => {\n return (\n \n );\n })}\n */}\n
\n
\n
\n
\n \n {/*
*/}\n \n \n {groups &&\n groups.map((g) => (\n \n ))}\n \n {/*
*/}\n {errors.assetVerificationAttributeGroupID &&\n touched.assetVerificationAttributeGroupID ? (\n
\n {errors.assetVerificationAttributeGroupID}\n
\n ) : null}\n
\n
\n
\n
\n \n {/*
*/}\n \n {errors.description && touched.description ? (\n
{errors.description}
\n ) : null}\n
\n
\n
\n
\n
\n\n
\n
\n
\n {\" \"}\n {\n backAVSList();\n resetForm();\n }}\n type=\"button\"\n title=\"Back\"\n >\n \n \n
\n
\n
\n {\" \"}\n \n \n \n
\n
\n
\n \n )}\n \n {!isAttributeOrderFlag && (\n <>\n {!isGroupActive ? (\n <>\n
\n
\n {\n setGroupActive(true);\n setSelectedGroup(null);\n setGroupEdit(false);\n }}\n >\n Create Group\n \n
\n
\n {isGroupOrderFlag ? (\n {\n reorderAssetVerification();\n }}\n title=\"Save group\n order\"\n >\n \n \n ) : (\n {\n onGroupOrderFlagOpen();\n }}\n title=\"Edit group order\"\n >\n \n \n )}\n
\n
\n \n ) : (\n {\n // console.log(values);\n setAssetVerificationAttributesGroup(values);\n resetForm();\n }}\n validationSchema={assetVerificationGroupAddValidationSchema}\n >\n {({\n handleChange,\n handleSubmit,\n touched,\n values,\n errors,\n resetForm,\n }) => (\n
\n
\n
\n
Group Name:
\n
\n
\n
\n \n {errors.name && touched.name ? (\n
{errors.name}
\n ) : null}\n
\n
\n \n \n \n {\n setGroupActive(false);\n resetForm();\n }}\n >\n \n \n
\n
\n )}\n \n )}\n \n )}\n {attributes &&\n attributes.filter((a) =>\n a?.assetVerificationAttributeGroupID ? false : true\n ).length > 0 && (\n
\n \n Default{\" \"}\n {/* \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t */}\n \n\n \n
\n \n \n \n \n \n \n \n \n \n \n {attributes &&\n attributes\n .filter((a) =>\n a?.assetVerificationAttributeGroupID ? false : true\n )\n .map((attribute, attr) => {\n return (\n \n \n \n \n\n \n \n );\n })}\n \n
Attribute Test NameTest Description Source NameAction
\n {attribute.name}\n {attribute.description}{attribute.verificationSource}\n
\n \n editAVSAttribute(attribute)\n }\n >\n \n \n \n delAVSAttribute(attribute.id)\n }\n >\n \n \n
\n
\n
\n \n
\n )}\n\n {/* {groups &&\n groups.map((g, index) => (\n
\n \n {g?.name}{\" \"}\n \n {\n setSelectedGroup(g);\n setGroupEdit(true);\n setGroupActive(true);\n setGroupEditModalShow(true);\n }}\n >\n \n \n \n \n\n \n
\n \n \n \n \n \n \n \n \n \n \n {g?.assetVerificationAttributes &&\n g?.assetVerificationAttributes.map(\n (attribute, attr) => {\n return (\n \n \n \n \n\n \n \n );\n }\n )}\n \n
Attribute Test NameValue to Compare Source NameAction
\n {attribute.name}\n {attribute.value}{attribute.verificationSource}\n
\n \n editAVSAttribute(attribute)\n }\n >\n \n \n \n delAVSAttribute(attribute.id)\n }\n >\n \n \n
\n
\n
\n \n
\n ))} */}\n\n \n \n \n \n
\n {\n setAssetVerificationAttributesGroup(values);\n // getTapeAsset(values.selectedDeal, values.selectedDate);\n }}\n validationSchema={assetVerificationGroupAddValidationSchema}\n validateOnChange={false}\n validateOnBlur={false}\n >\n {({\n handleChange,\n touched,\n values,\n handleSubmit,\n errors,\n setFieldValue,\n }) => (\n
\n \n Group\n \n {errors.name && touched.name ? (\n
{errors.name}
\n ) : null}\n
\n\n \n \n \n \n \n \n \n )}\n \n
\n
\n {/* \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t */}\n \n \n {/* */}\n \n );\n}\nexport default AmssVerification;\n","import React, { useState, useEffect } from \"react\";\nimport { config } from \"../constant\";\nimport axios from \"axios\";\nimport { DndProvider } from \"react-dnd\";\nimport { HTML5Backend } from \"react-dnd-html5-backend\";\nimport Example from \"./example\";\nimport { Container } from \"./container\";\nimport AmssPeriod from \"./AmssPeriod\";\nimport AmssCovenant from \"./Convenant/AmssCovenant\";\nimport AmssVerification from \"./AssetVerification/AmssVerification\";\n\n// reactstrap components\nimport // Input,\n\"reactstrap\";\nimport Loader from \"./Loader\";\n// core components\nconst getEngagementUrl = config.url.API_URL + \"engagement\";\nconst postEngagementUrl = config.url.API_URL + \"engagement\";\n\nfunction AamsHeader(props) {\n //find engagements in a deal\n const [engagements, setEngagements] = useState([]);\n const [selectedEng, setSelectedEng] = useState(0);\n const [toggle, setToggle] = useState(1);\n const [text, setText] = useState(\"New Engagement\");\n const [textCopy, setTextCopy] = useState(\"New Engagement\");\n const [text1, setText1] = useState(\"\");\n const [toggle1, setToggle1] = useState(\"\");\n const [errorText, setErrorText] = useState(false);\n const [errorResponse, setErrorResponse] = useState(null);\n const [isEngEdit, setEngEdit] = useState(false);\n const [board, setBoard] = useState([]);\n const [boardErr, setBoardErr] = useState(\"\");\n const [editEng, setEditEng] = useState(null);\n const [isLoading, setLoading] = useState(false);\n const [selectedIndex, setSelectedIndex] = useState(0);\n\n const getEngagementsWithAxios = async () => {\n // setLoading(true);\n const resp = await axios.get(getEngagementUrl + \"?DealID=\" + props.deal);\n // console.log(resp.data.responseData);\n const engagements = resp.data.responseData;\n setEngagements(engagements);\n setSelectedEng(engagements[selectedIndex]?.id);\n // setLoading(false);\n };\n //*****************************************end find engagement********************************************\n //*****************************************Add Engagement************************************************\n const [engagementContent, setEngagementContent] = useState(0);\n const editEngagement = async (eng) => {\n setEngagementContent(1);\n setEngEdit(true);\n // const resp = await axios.get(getEngagementUrl + \"/\" + id);\n // // console.log(resp.data.responseData);\n // const engagements = resp.data.responseData;\n setEditEng((p) => eng);\n let temp = [];\n if (eng.isWaterfallGenerationEnabled)\n temp.push({\n key: \"isWaterfallGenerationEnabled\",\n value: \"Waterfall Generation\",\n });\n if (eng.isCovenantTrackingEnabled)\n temp.push({\n key: \"isCovenantTrackingEnabled\",\n value: \"Covenant Tracking\",\n });\n if (eng.isReportGenerationEnabled)\n temp.push({\n key: \"isReportGenerationEnabled\",\n value: \"Report Generation\",\n });\n if (eng.isVerificationServicesEnabled)\n temp.push({\n key: \"isVerificationServicesEnabled\",\n value: \"Verificaion Services\",\n });\n if (eng.isCashAdministrationEnabled)\n temp.push({\n key: \"isCashAdministrationEnabled\",\n value: \"Cash Administration\",\n });\n\n setBoard((p) => [...temp]);\n };\n const updateEngagementDetails = async () => {\n // console.log(\"update>>\",editEng); return;\n let data = { ...editEng };\n for (let i = 0; i < board.length; i++) {\n data[board[i].key] = true;\n }\n const headers = {\n \"content-type\": \"application/json\",\n };\n axios\n .put(postEngagementUrl, data, { headers })\n .then((engresp) => {\n if (engresp.data.status) {\n setEngagementContent(0);\n setEngEdit(false);\n // alert(\"Successfully created an engagement\")\n getEngagementsWithAxios();\n }\n })\n .catch((error) => {\n // error response\n });\n };\n const addEngagement = (e) => {\n e.preventDefault();\n setBoard([]);\n setText(\"New Engagement\");\n const tempSelectIndex = parseInt(engagements.length);\n // setTimeout(()=>{\n setSelectedEng((p) => engagements.length);\n // },1000)\n setEngagementContent(1);\n\n // console.log(\"addEngagement\",engagements.length,selectedEng,tempSelectIndex);\n };\n\n const deleteNewEngagement = () => {\n //engagementContent = 0;\n setEngagementContent(0);\n };\n\n const saveEngagement = () => {\n if (board.length <= 0)\n return setBoardErr(\"Atleast One Engagement required\");\n\n if (text == \"New Engagement\")\n return setBoardErr(\"Please rename the engagement name first\");\n if (text == \" \")\n return setBoardErr(\"Please enter the engagement name first\");\n\n setErrorText(false);\n const dataArr = {\n dealID: props.deal,\n name: text,\n isWaterfallGenerationEnabled: false,\n isCovenantTrackingEnabled: false,\n isReportGenerationEnabled: false,\n isVerificationServicesEnabled: false,\n isCashAdministrationEnabled: false,\n };\n for (let i = 0; i < board.length; i++) {\n dataArr[board[i].key] = true;\n }\n setLoading(true);\n\n const headers = {\n \"content-type\": \"application/json\",\n };\n axios\n .post(postEngagementUrl, dataArr, { headers })\n .then((engresp) => {\n // console.log(engresp);\n setLoading(false);\n setEngagementContent(0);\n if (engresp.data.status) {\n // setSelectedIndex((p) => p + 1);\n // alert(\"Successfully created an engagement\")\n setErrorResponse(null);\n getEngagementsWithAxios();\n }\n })\n .catch((error) => {\n setLoading(false);\n // error response\n console.log(\"err>>\", error.response);\n setErrorResponse(error.response.data.Message);\n });\n };\n function toggleInput() {\n setTextCopy(text);\n let tog = toggle === 1 ? 0 : 1;\n setToggle(tog);\n tog === 0 && setText(\"\");\n tog === 1 && text === \"\" && setText(textCopy);\n }\n function handleDblChange(event) {\n setText(event.target.value);\n }\n async function deleteEngagement(event) {\n // console.log(event.target.id);\n // alert(\"Successfully Deleted\")\n if (window.confirm(\"Are you sure you wish to delete the Engagement?\")) {\n setLoading(true);\n const headers = {\n \"content-type\": \"application/json\",\n };\n await axios.delete(getEngagementUrl + \"/\" + event.target.id, { headers });\n setLoading(false);\n getEngagementsWithAxios();\n }\n }\n\n function toggleInput1(id) {\n setToggle1(id);\n }\n\n function handleDblChange2(event) {\n setText1(event.target.value);\n }\n\n const updateEngagement = async (id) => {\n //console.log(periodRows);\n if (text1 == \"\") {\n return setErrorText(\"Please enter the engagement name first\");\n }\n setErrorText(false);\n const resp = await axios.get(getEngagementUrl + \"/\" + id);\n // console.log(resp.data.responseData);\n const engagements = resp.data.responseData;\n const dataArr = {\n id: id,\n name: text1,\n isWaterfallGenerationEnabled: engagements.isWaterfallGenerationEnabled,\n isCovenantTrackingEnabled: engagements.isCovenantTrackingEnabled,\n isReportGenerationEnabled: engagements.isReportGenerationEnabled,\n isVerificationServicesEnabled: engagements.isVerificationServicesEnabled,\n isCashAdministrationEnabled: engagements.isCashAdministrationEnabled,\n };\n const headers = {\n \"content-type\": \"application/json\",\n };\n setLoading(true);\n axios\n .put(postEngagementUrl, dataArr, { headers })\n .then((engresp) => {\n setLoading(false);\n if (engresp.data.status) {\n setToggle1(\"\");\n setText1(\"\");\n getEngagementsWithAxios();\n setErrorText(false);\n }\n })\n .catch((error) => {\n setLoading(false);\n // error response\n });\n };\n\n const updateEngagementCancel = () => {\n setToggle1(\"\");\n setText1(\"\");\n getEngagementsWithAxios();\n setErrorText(false);\n };\n //******************************************end add engagement************************************************\n //******************************************start period section**********************************************\n let [periodRows, setPeriodRows] = useState(\"\");\n const [periodCnt, setPeriodCnt] = useState(1);\n\n // Receive data from TableRow\n const handleChange = (data) => {\n periodRows[data.index] = data;\n };\n\n const saveNewPeriod = (e) => {\n console.log(\"saveperiod:\" + e);\n /*const dataArr = { dealID: props.deal, name:'Engagement1', isWaterfallGenerationEnabled:true, isCovenantTrackingEnabled:true, isReportGenerationEnabled:false, isVerificationServicesEnabled:true, isCashAdministrationEnabled:false };\n\t\tconst headers = { \n\t\t\t'content-type': 'application/json'\n\t\t};\n\t\taxios.post(postEngagementUrl, dataArr, {headers})\n\t\t.then((engresp) => {\n\t\t\tconsole.log(engresp);\n\t\t\tengagementContent = 0;\n\t\t\tsetEngagementContent(engagementContent);\n\t\t\tif(engresp.data.status){\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t})\n\t\t.catch((error) => {\n\t\t// error response\n\t\t});*/\n };\n\n // Add New Table Row\n const addNewPeriod = (engid) => {\n setPeriodCnt(periodCnt + 1);\n periodRows +=\n \"\" +\n periodCnt +\n '';\n setPeriodRows(periodRows);\n setPeriodCnt(periodCnt + 1);\n };\n\n function handleChange2(newboard) {\n console.log(\"handleChange2>>>>\", newboard);\n // setBoard((p)=>[...newboard])\n }\n\n //****************************************period section end*****************************************\n useEffect(() => {\n //console.log(props.deal);\n if (props.deal) {\n getEngagementsWithAxios();\n }\n }, [props]);\n\n return (\n <>\n
    \n {engagements.map((eng, i) => (\n
  • \n {toggle1 !== \"\" && toggle1 === eng.id ? (\n <>\n {/* {\n // setErrorText(false);\n updateEngagement(eng.id);\n }}\n onKeyPress={(event) => {\n if (event.key === \"Enter\") {\n // setErrorText(false);\n updateEngagement(eng.id);\n }\n }}\n />\n */}\n
    \n {\n // setErrorText(false);\n updateEngagement(eng.id);\n }}\n onKeyPress={(event) => {\n if (event.key === \"Enter\") {\n // setErrorText(false);\n updateEngagement(eng.id);\n }\n }}\n aria-describedby=\"basic-addon2\"\n />\n
    \n updateEngagementCancel()}\n >\n \n \n
    \n
    \n \n ) : (\n {\n e.preventDefault();\n setSelectedEng(eng.id);\n console.log(\"select>>\", i, eng.id);\n }}\n >\n toggleInput1(eng.id)}>\n {eng.name}\n \n \n editEngagement(eng)}\n >
    \n {!isEngEdit && (\n \n )}\n \n \n )}\n
  • \n ))}\n {engagementContent === 1 && !isEngEdit ? (\n
  • \n {toggle === 1 ? (\n \n {text}\n \n \n ) : (\n <>\n {/* {\n if (event.key === \"Enter\") {\n toggleInput();\n }\n }}\n />\n */}\n
    \n {\n if (event.key === \"Enter\") {\n toggleInput();\n }\n }}\n aria-describedby=\"basic-addon2\"\n />\n
    \n toggleInput()}\n >\n \n \n
    \n
    \n \n )}\n
  • \n ) : (\n \"\"\n )}\n
  • \n {!isEngEdit && (\n \n \n \n )}\n
  • \n
\n
\n {!isEngEdit &&\n engagements.map((engagement, j) => (\n \n
\n {errorText && (\n
\n {\" \"}\n Please rename the engagement name first\n
\n )}\n {errorResponse && (\n
{errorResponse}
\n )}\n \n\n
\n \n {/* */}\n {engagement.isWaterfallGenerationEnabled ? (\n
\n \n \n Waterfall Generation\n \n \n \n
\n {\" \"}\n Waterfall Generation\n
\n
\n Placeholder content for this accordion, which is\n intended to demonstrate the{\" \"}\n .accordion-flush className. This is the\n first item's accordion body.\n
\n
\n
\n ) : (\n \"\"\n )}\n {/* */}\n {engagement.isReportGenerationEnabled ? (\n
\n \n \n Report Generation\n \n \n \n
\n {\" \"}\n Report Generation\n
\n
\n Placeholder content for this accordion, which is\n intended to demonstrate the{\" \"}\n .accordion-flush className. This is the\n first item's accordion body.\n
\n
\n
\n ) : (\n \"\"\n )}\n {/* */}\n {engagement.isCovenantTrackingEnabled ? (\n
\n \n \n Covenant Tracking\n \n \n \n
\n \n
\n
\n
\n ) : (\n \"\"\n )}\n {/* */}\n {engagement.isVerificationServicesEnabled ? (\n
\n \n \n Asset Verification\n \n \n \n
\n 0\n ? engagement.assetVerifications[0].id\n : \"\"\n }\n />\n
\n
\n \n ) : (\n \"\"\n )}\n {/* */}\n {engagement.isCashAdministrationEnabled ? (\n
\n \n \n Cash Administration\n \n \n \n
\n {\" \"}\n Cash Administration\n
\n
\n Placeholder content for this accordion, which is\n intended to demonstrate the{\" \"}\n .accordion-flush className. This is the\n first item's accordion body.\n
\n
\n \n ) : (\n \"\"\n )}\n \n \n \n \n ))}\n {/* */}\n {!isEngEdit ? (\n \n
\n {boardErr &&
{boardErr}
}\n {errorResponse && (\n
{errorResponse}
\n )}\n\n \n \n \n
\n \n
\n
\n \n ) : (\n \n
\n {errorText && (\n
\n {\" \"}\n Please rename the engagement name first\n
\n )}\n {errorResponse && (\n
{errorResponse}
\n )}\n\n \n \n \n
\n \n Save Engagement\n \n
\n
\n \n )}\n \n \n \n );\n}\n\nexport default AamsHeader;\n","import { Field, Formik } from \"formik\";\nimport moment from \"moment\";\nimport React from \"react\";\n\nexport default function DealParameters({\n\tdealDetails,\n\tsetDealDetailsWithAxios,\n\tdealParameterFormValidationSchema,\n\tisDealParameterEdit,\n\tsetDealParameterEdit,\n\tpaymentPeriods,\n}) {\n\treturn (\n\t\t<>\n\t\t\t {\n\t\t\t\t\tconsole.log(\"vules>>\", values);\n\t\t\t\t\tsetDealDetailsWithAxios(values);\n\t\t\t\t}}\n\t\t\t\tenableReinitialize={true}\n\t\t\t\tvalidationSchema={dealParameterFormValidationSchema}\n\t\t\t>\n\t\t\t\t{({\n\t\t\t\t\tvalues,\n\t\t\t\t\terrors,\n\t\t\t\t\ttouched,\n\t\t\t\t\thandleChange,\n\t\t\t\t\thandleSubmit,\n\t\t\t\t\t/* and other goodies */\n\t\t\t\t}) => (\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\tDeal Payment Terms\n\t\t\t\t\t\t\t\t{!isDealParameterEdit ? (\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tsetDealParameterEdit(() => true);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\n\t\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\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{isDealParameterEdit ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t\t\tPayment Start Date:\n\t\t\t\t\t\t\t\t\t\t\t*\n\t\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{errors.initialPaymentDate && touched.initialPaymentDate ? (\n\t\t\t\t\t\t\t\t\t\t\t
{errors.initialPaymentDate}
\n\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t

Determination Date:

\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{/* {errors.determinationDateDescription &&\n touched.determinationDateDescription ? (\n
\n Determination date is required\n\n
\n ) : null} */}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t

Payment Date:

\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{/* {errors.paymentDateDescription &&\n touched.paymentDateDescription ? (\n
\n Payment date is required\n
\n ) : null} */}\n\t\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t\t\tPayment Frequency:\n\t\t\t\t\t\t\t\t\t\t\t*\n\t\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{paymentPeriods.length > 0 &&\n\t\t\t\t\t\t\t\t\t\t\t\tpaymentPeriods.map((pp) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{pp.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{errors.paymentPeriodID && touched.paymentPeriodID ? (\n\t\t\t\t\t\t\t\t\t\t\t
{errors.paymentPeriodID}
\n\t\t\t\t\t\t\t\t\t\t) : null}\n\t\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) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t

Payment Start Date:

\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{dealDetails.initialPaymentDate &&\n\t\t\t\t\t\t\t\t\t\t\t\tnew Date(\n\t\t\t\t\t\t\t\t\t\t\t\t\tdealDetails.initialPaymentDate\n\t\t\t\t\t\t\t\t\t\t\t\t).toLocaleDateString(\"en-US\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\tyear: \"numeric\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tday: \"numeric\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tmonth: \"numeric\",\n\t\t\t\t\t\t\t\t\t\t\t\t})}{\" \"}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t

Determination Date:

\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{dealDetails.determinationDateDescription}{\" \"}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t

Payment Date:

\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{dealDetails.paymentDateDescription}{\" \"}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t

Payment Frequency:

\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{dealDetails.paymentPeriodName}\n\t\t\t\t\t\t\t\t\t\t\n\t\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)}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n}\n","import { Field, Formik } from \"formik\";\nimport { camelToTitle } from \"helpers/data\";\nimport moment from \"moment\";\nimport React from \"react\";\nimport { Button } from \"reactstrap\";\nimport CurrencyInput from \"react-currency-input-field\";\nimport * as yup from \"yup\";\n\nexport default function DealInfoEditForm({\n dealDetails,\n setDealDetailsWithAxios,\n dealTypes,\n}) {\n return (\n <>\n \n {({\n values,\n errors,\n touched,\n handleChange,\n handleSubmit,\n setFieldValue,\n /* and other goodies */\n }) => (\n
\n
\n {\n setFieldValue(\"isActive\", true);\n handleSubmit();\n }}\n >\n \n \n {\n setFieldValue(\"isActive\", false);\n handleSubmit();\n }}\n >\n \n \n
\n
\n
\n
\n Deal Name\n *:\n
\n
\n
\n
\n \n {errors.name && touched.name ? (\n
{errors.name}
\n ) : null}\n
\n
\n
\n
\n
\n
\n Deal Type\n *:\n
\n
\n
\n
\n \n {dealTypes?.map((d) => {\n return ;\n })}\n \n {errors.dealTypeID && touched.dealTypeID ? (\n
{errors.dealTypeID}
\n ) : null}\n
\n
\n
\n
\n
\n
\n Deal Description\n *:\n
\n
\n
\n
\n \n\n {errors.description && touched.description ? (\n
{errors.description}
\n ) : null}\n
\n
\n
\n
\n
\n
\n Originator\n *:\n
\n
\n
\n
\n \n {errors.originator && touched.originator ? (\n
{errors.originator}
\n ) : null}\n
\n
\n
\n\n
\n
\n
\n Deal Closing Date\n *:
{\" \"}\n If already Closed\n
\n
\n
\n
\n {console.log(\n \"close>>>\",\n // values.closingDate,\n moment(values.closingDate).format(\"YYYY-MM-DD\")\n )}\n \n {errors.closingDate && touched.closingDate ? (\n
{errors.closingDate}
\n ) : null}\n
\n
\n
\n
\n
\n
\n Initial Deal Size\n *:\n
\n
\n
\n
\n {/* */}\n \n setFieldValue(\"initialSize\", value)\n }\n />\n {errors.initialSize && touched.initialSize ? (\n
\n {camelToTitle(errors.initialSize)}\n
\n ) : null}\n
\n
\n
\n
\n )}\n \n \n );\n}\n","import React, { useState, useEffect, useContext } from \"react\";\nimport { config } from \"./../../constant\";\nimport axios from \"axios\";\nimport { Formik, Field } from \"formik\";\nimport queryString from \"query-string\";\n\n// reactstrap components\nimport {\n Button,\n Row,\n Col,\n Card,\n CardBody,\n CardTitle,\n Input,\n UncontrolledCollapse,\n} from \"reactstrap\";\nimport * as yup from \"yup\";\nimport \"./DealEngagement.scss\";\n\n// core components\nimport SideBar from \"components/SideBar.js\";\nimport AamsHeader from \"components/AamsHeader.js\";\nimport AamsFooter from \"components/AamsFooter.js\";\nimport AamssEngagementSetup from \"components/aamsEngagement_Setup.js\";\nimport moment from \"moment\";\nimport NumberFormat from \"react-number-format\";\nimport { camelToTitle } from \"helpers/data\";\nimport Loader from \"components/Loader\";\nimport CurrencyInput from \"react-currency-input-field\";\nimport { axiosAuthHeaderSet } from \"helpers/utils\";\nimport { useSelector } from \"react-redux\";\nimport Toaster from \"components/Toaster\";\nimport { AppContext } from \"App\";\nimport DealParameters from \"./DealParameters\";\nimport DealInfoEditForm from \"./DealInfoEditForm\";\nimport MyBreadcrumb from \"components/MyBreadcrumb/MyBreadcrumb\";\n\nconst getDealDetailsUrl = config?.url?.API_URL + \"deal/\";\nconst getPaymentPeriodUrl = config?.url?.API_URL + \"payment-period\";\nconst getDealFlagUrl = config?.url?.API_URL + \"deal-flag?DealID=\";\nconst postDealFlagUrl = config?.url?.API_URL + \"deal-flag\";\nconst getDealUrl = config.url.API_URL + \"deal\";\n\nfunction DealEngagement(props) {\n const [dealDetails, setDealDetails] = useState([]);\n const [isEditDealInfo, setEditDealInfoStatus] = useState(false);\n const [dealTypes, setDealTypes] = useState([]);\n const [dealRoles, setDealRoles] = useState([]);\n const [dealId, setDealId] = useState(null);\n const [dealPartyMembers, setPartyMember] = useState([]);\n const [isDealParameterEdit, setDealParameterEdit] = useState(false);\n const [paymentPeriods, setPaymentPeriods] = useState([]);\n const [dealFlags, setDealFlags] = useState([]);\n const [dealFlagToggle, setDealFlagToggle] = useState(null);\n const [isLoading, setLoading] = useState(false);\n const homeData = useSelector((state) => state.home);\n const [showAlert, setShowAlert] = useState(false);\n const [alertMessage, setAlertMessage] = useState(null);\n const [alertType, setAlertType] = useState(\"info\");\n const appContext = useContext(AppContext);\n const [checked, setChecked] = useState(false);\n const [params, setParams] = useState(null);\n const today = new Date();\n const breadcrumbs = [\n {\n op: \"Home\",\n link: \"/\",\n },\n {\n op: \"Deals\",\n link: \"/deal-Listing\",\n },\n {\n op: \"Deal-Engagement\",\n link: \"\",\n },\n ];\n today.setHours(0, 0, 0, 0);\n\n const dealParameterFormValidationSchema = yup.object().shape({\n id: yup.string(),\n initialPaymentDate: yup\n // .string()\n .date()\n .required(\"Initial Payment Date is a required field\"),\n determinationDateDescription: yup.string().nullable(),\n paymentDateDescription: yup.string().nullable(),\n paymentPeriodID: yup\n .string()\n .required(\"Payment period is a required field\"),\n });\n const dealPartyMemberAddFormValidationSchema = yup.object().shape({\n name: yup.string().required(\"Party is a required field\"),\n roleID: yup.string().required(\"Role ID is a required field\"),\n dealID: yup.string(),\n primaryContact: yup\n .string()\n .required(\"Primary Contact is a required field\"),\n });\n const getDealFlagWithAxios = async () => {\n try {\n const response = await axios.get(getDealFlagUrl + params?.id);\n const dealDetails = response.data.responseData;\n dealDetails.map((element) => {\n if (element.isSet === true) {\n // if (element.flagCode == \"DEFAULTED_FINANCIAL\") setChecked(true);\n // else setChecked(false);\n // console.log(\"element.flagCode>>\", element.flagCode, checked);\n setDealFlagToggle(element);\n }\n });\n setDealFlags(dealDetails);\n } catch (error) {\n // setAlertType(\"danger\");\n // console.log(\"error>>\", error);\n // setShowAlert(true);\n // setAlertMessage(error.response?.data?.Message);\n if (error.response.status == 401) {\n appContext.handleLogout();\n }\n }\n };\n const getDealDetailsWithAxios = async () => {\n setLoading(true);\n try {\n const response = await axios.get(getDealDetailsUrl + params?.id);\n // console.log(\"102 deal>>>>\", response);\n const dealDetails = response.data.responseData;\n setDealDetails(dealDetails);\n setLoading(false);\n\n ////console.log(posts);\n } catch (error) {\n // setAlertType(\"danger\");\n // setLoading(false);\n console.log(\"error>>\", error);\n // setShowAlert(true);\n // setAlertMessage(error.response?.data?.Message);\n }\n };\n const getPaymentPeriods = async () => {\n try {\n // setLoading(true);\n const res = await axios.get(getPaymentPeriodUrl);\n ////console.log(res.data.responseData);\n const paymentPeriods = res.data.responseData;\n setPaymentPeriods(paymentPeriods);\n // setLoading(false);\n } catch (error) {\n // setLoading(false);\n // setAlertType(\"danger\");\n // console.log(\"error>>\", error);\n // setShowAlert(true);\n // setAlertMessage(error.response?.data?.Message);\n }\n };\n const setDealDetailsWithAxios = async (values) => {\n setLoading(true);\n try {\n const response = await axios.put(config?.url?.API_URL + \"deal\", {\n ...values,\n isActive: true,\n });\n // console.log(\"101 response\", response);\n const dealDetails = response.data.responseData;\n\n getDealDetailsWithAxios();\n setEditDealInfoStatus(false);\n setDealParameterEdit(false);\n setLoading(false);\n\n ////console.log(posts);\n } catch (error) {\n setLoading(false);\n // setAlertType(\"danger\");\n // console.log(\"error>>\", error);\n // setShowAlert(true);\n // setAlertMessage(error.response?.data?.Message);\n\n //console.log(\"error update>>>\", err);\n }\n };\n const getDealTypes = async () => {\n try {\n // setLoading(true);\n\n const response = await axios.get(config?.url?.API_URL + \"deal-type\");\n //console.log(\"dealTypes:\", response);\n const data = response.data.responseData;\n setDealTypes([...data]);\n // setLoading(false);\n\n ////console.log(posts);\n } catch (error) {\n // setLoading(false);\n // setAlertType(\"danger\");\n // console.log(\"error>>\", error);\n // setShowAlert(true);\n // setAlertMessage(error.response?.data?.Message);\n }\n };\n const getDealRoles = async () => {\n try {\n const response = await axios.get(config?.url?.API_URL + \"deal-role\");\n //console.log(\"dealTypes:\", response);\n const data = response.data.responseData;\n setDealRoles([...data]);\n ////console.log(posts);\n } catch (error) {\n // setAlertType(\"danger\");\n // console.log(\"error>>\", error);\n // setShowAlert(true);\n // setAlertMessage(error.response?.data?.Message);\n }\n };\n const getDealPartyMember = async () => {\n try {\n const response = await axios.get(\n config?.url?.API_URL + \"deal-party-member?DealID=\" + params?.id\n );\n //console.log(\"getDealPartyMember:\", response);\n const data = response.data.responseData;\n setPartyMember([...data]);\n } catch (error) {\n // setAlertType(\"danger\");\n // console.log(\"error>>\", error);\n // setShowAlert(true);\n // setAlertMessage(error.response?.data?.Message);\n }\n };\n const setDealPartyMember = async (values) => {\n try {\n setLoading(true);\n const response = await axios.post(\n config?.url?.API_URL + \"deal-party-member\",\n values\n );\n setLoading(false);\n ////console.log(response);\n const dealDetails = response.data.responseData;\n // alert(\"Deal party member has been updated successfully\");\n getDealPartyMember();\n ////console.log(posts);\n } catch (error) {\n setLoading(false);\n // setAlertType(\"danger\");\n // console.log(\"error>>\", error);\n // setShowAlert(true);\n // setAlertMessage(error.response?.data?.Message);\n //console.log(\"error update>>>\", err);\n }\n };\n const delDealPartyMember = async (id) => {\n try {\n if (\n window.confirm(\"Are you sure you wish to delete the deal party member?\")\n ) {\n setLoading(true);\n const response = await axios.delete(\n config?.url?.API_URL + \"deal-party-member/\" + id\n );\n setLoading(false);\n // alert(\"Party member has been deleted successfully\");\n getDealPartyMember();\n }\n } catch (err) {\n setLoading(false);\n alert(\"Server error. Please try after sometime.\");\n }\n };\n\n const handleFlagChange = async (e) => {\n // const flags = e.target.value.split(\",\");\n setLoading(true);\n let values2 = {};\n // const selectedFlag =\n // \tdealFlags &&\n // \tdealFlags.filter((df) => {\n // \t\treturn df.flagCode == \"DEFAULTED_FINANCIAL\";\n // \t\t// if (checked) return df.flagCode == \"DEFAULTED_FINANCIAL\";\n // \t\t// else return df.flagCode == \"DEFAULTED_OTHER\";\n // \t});\n // if (checked) {\n // }\n // const values = {\n // \tdealID: params?.id,\n // \tflagID: selectedFlag[0]?.flagID,\n // \tisSet: checked,\n // };\n const flagsPromise = dealFlags.map((item, index) => {\n if (e)\n if (item.flagID == e)\n return axios.post(postDealFlagUrl, {\n dealID: params?.id,\n flagID: item.flagID,\n isSet: true,\n });\n else {\n return axios.post(postDealFlagUrl, {\n dealID: params?.id,\n flagID: item.flagID,\n isSet: false,\n });\n }\n else {\n // if (item.flagCode == \"DEFAULTED_FINANCIAL\")\n // \treturn axios.post(postDealFlagUrl, {\n // \t\tdealID: params?.id,\n // \t\tflagID: item.flagID,\n // \t\tisSet: false,\n // \t});\n // else {\n return axios.post(postDealFlagUrl, {\n dealID: params?.id,\n flagID: item.flagID,\n isSet: false,\n });\n // }\n }\n });\n // console.log(\"101 value2\", values2);\n\n // setDealFlagToggle(flags[1]);\n try {\n Promise.all(flagsPromise).then((data) => {\n setChecked(!checked);\n setLoading(false);\n });\n } catch (error) {\n setLoading(false);\n }\n\n // console.log(\"flagres =>\", response);\n // const response2 = await axios.post(postDealFlagUrl, values2);\n // console.log(\"flagres =>\", response2);\n };\n const parseParamsFromUrl = () => {\n try {\n let paramsTemp = queryString.parse(props.location.search);\n setParams(paramsTemp);\n setDealId(() => paramsTemp.id);\n } catch (error) {}\n };\n const onDelete = async (id) => {\n try {\n if (window.confirm(\"Are you sure! You want to delete this deal?\")) {\n const resp = await axios.delete(getDealUrl + \"/\" + id);\n\n props.history.replace(\"/deal-Listing\");\n // alert(\"Deal has been deleted successfully\");\n // getDealsWithAxios(isActive);\n // parseParamsFromUrl();\n }\n } catch (err) {\n console.log(\"error in remove>>\", err);\n }\n };\n useEffect(() => {\n axiosAuthHeaderSet();\n getDealDetailsWithAxios();\n getDealTypes();\n getDealRoles();\n\n getDealPartyMember();\n getPaymentPeriods();\n getDealFlagWithAxios();\n }, [homeData, dealId]);\n useEffect(() => {\n parseParamsFromUrl();\n //console.log(\"props>>>\", props, dealId);\n }, []);\n return (\n <>\n \n
\n \n
\n
\n {/*
\n
\n
\n Client's name:\n
\n
\n
\n
\n Metropolitan\n
\n
\n
*/}\n \n
\n
\n
Deal name:
\n
\n
\n
\n {dealDetails.name}\n {/**/}\n
\n
\n
\n
\n\n \n \n {/* start */}\n \n
\n

\n \n Deal Information\n \n

\n \n
\n {isEditDealInfo ? (\n <>\n \n \n ) : (\n <>\n setEditDealInfoStatus((ds) => !ds)}\n >\n \n \n onDelete(params?.id)}\n >\n \n \n
\n
\n
Deal Name:
\n
\n
\n
\n {dealDetails.name}{\" \"}\n
\n
\n
\n
\n
\n
Deal Type:
\n
\n
\n
\n {dealDetails.dealTypeName}{\" \"}\n
\n
\n
\n
\n
\n
\n Deal Description:\n
\n
\n
\n
\n {dealDetails.description}\n
\n
\n
\n
\n
\n
Originator:
\n
\n
\n
\n {dealDetails.originator}\n
\n
\n
\n\n
\n
\n
\n Deal Closing Date:
{\" \"}\n If already Closed\n
\n
\n
\n
\n {dealDetails.closingDate &&\n new Date(\n dealDetails.closingDate\n ).toLocaleDateString(\"en-US\", {\n year: \"numeric\",\n day: \"numeric\",\n month: \"numeric\",\n })}{\" \"}\n
\n
\n
\n
\n
\n
\n Initial Deal Size\n
\n
\n
\n
\n {/* {dealDetails.initialSize} */}\n \n
\n
\n
\n \n )}\n
\n
\n
\n
\n

\n \n Deal Parties\n \n

\n \n
\n {/* */}\n\n
\n {\n // console.log(\"values>>\", values, params?.id);\n setDealPartyMember(values);\n resetForm();\n getDealPartyMember();\n }}\n enableReinitialize={true}\n >\n {({\n values,\n errors,\n touched,\n handleChange,\n handleSubmit,\n /* and other goodies */\n }) => (\n
\n
\n
\n \n \n {dealRoles?.map((dr) => (\n \n ))}\n \n {errors.roleID && touched.roleID ? (\n
\n {errors.roleID}\n
\n ) : null}\n
\n
\n \n {errors.name && touched.name ? (\n
{errors.name}
\n ) : null}\n \n
\n
\n \n {errors.primaryContact &&\n touched.primaryContact ? (\n
\n {errors.primaryContact}\n
\n ) : null}\n
\n
\n {/* \n
\n
\n
\n )}\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n {dealPartyMembers?.map((d) => {\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
Deal/RolePartyPrimary ContactAction
{d?.roleName} {d?.name} {d?.primaryContact}\n delDealPartyMember(d?.id)}\n >\n \n \n
Angelina Vitale Test Test
Angelina Vitale Test Test
Angelina Vitale Test Test
\n
\n
\n
\n
\n
\n

\n \n AMSS Engagement Setup\n \n

\n \n
\n \n
\n
\n \n \n {/* end */}\n \n \n \n \n Deal Flags\n
\n
\n \n {\" \"}\n Defaulted ?{\" \"}\n \n\n {/* {\n\t\t\t\t\t\t\t\t\t\t\t\t\t// setChecked(!checked);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// setTimeout(() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t// handleFlagChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t// }, 1000);\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t/> */}\n\n {dealFlagToggle == null ? (\n setDealFlagToggle(true)}\n />\n ) : (\n {\n setDealFlagToggle(null);\n handleFlagChange(null);\n }}\n />\n )}\n {dealFlagToggle ? (\n handleFlagChange(e.target.value)}\n style={{ marginLeft: \"15px\" }}\n value={dealFlagToggle.flagID}\n >\n \n {dealFlags?.map((dr) => (\n \n ))}\n \n ) : // \n null}\n\n {/* {dealFlags?.map((dr, i) => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (dr.isSet) {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
{dr.flagCode.replace(\"DEFAULTED_\", \"\")}
\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t})} */}\n
\n
\n
\n
\n\n \n \n \n Deal Parameters{\" \"}\n \n \n \n \n \n \n\n \n \n \n \n \n
\n \n \n \n \n \n {showAlert && (\n \n )}\n \n \n );\n}\n\nexport default DealEngagement;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport axios from \"axios\";\nimport { config } from \"../constant\";\nimport moment from \"moment\";\n\n// reactstrap components\nimport // Button,\n// Input,\n// InputGroupAddon,\n// InputGroupText,\n// InputGroup,\n// Container,\n// Row,\n// Col,\n\"reactstrap\";\n\n// core components\nimport SideBar from \"components/SideBar.js\";\nimport AamsHeader from \"components/AamsHeader.js\";\nimport AamsFooter from \"components/AamsFooter.js\";\nimport Plot from \"react-plotly.js\";\nimport NumberFormat from \"react-number-format\";\nimport { axiosAuthHeaderSet } from \"helpers/utils\";\nimport { useSelector } from \"react-redux\";\nimport Toaster from \"components/Toaster\";\nimport { AppContext } from \"App\";\n\nconst getEngagementUrl = config.url.API_URL + \"asset-tape-summary\";\n\nfunction Blankpage() {\n\tconst [originatorData, setOriginatorData] = useState([]);\n\tconst [dealDataByDealName, setDealDataByDealName] = useState([]);\n\tconst [dealData, setDealData] = useState([]);\n\tconst [dealSum, setDealSum] = useState(0);\n\tconst [defaultDeal, setDeafultDeal] = useState(0);\n\tconst [openEngagementPeriod, setOpenEngagementPeriod] = useState(0);\n\tconst [lateReport, setLateReport] = useState(0);\n\tconst [convenantReviewSummery, setConvenantReviewSummery] = useState([]);\n\tconst [convenantReviewSummeryTrand, setConvenantReviewSummeryTrand] =\n\t\tuseState({ key: [], value: [] });\n\tconst [assetReviewSummery, setAssetReviewSummery] = useState([]);\n\tconst [assetReviewSummeryTrand, setAssetReviewSummeryTrand] = useState({\n\t\tkey: [],\n\t\tvalue: [],\n\t});\n\tconst [dealSummeryByMonth, setDealSummeryByMonth] = useState({});\n\tconst [selectedDealId, setSelectedDeal] = useState(null);\n\tconst [selectedOriginatorId, setSelectedOriginator] = useState(null);\n\tconst [selectedAssetTypeId, setSelectedAssetType] = useState(null);\n\tconst [assetTypes, setAssetTypes] = useState([]);\n\tconst homeData = useSelector((state) => state.home);\n\tconst [showAlert, setShowAlert] = useState(false);\n\tconst [alertMessage, setAlertMessage] = useState(null);\n\tconst [alertType, setAlertType] = useState(\"info\");\n\tconst appContext = useContext(AppContext);\n\tuseEffect(() => {\n\t\taxiosAuthHeaderSet();\n\t\tgetAssetTapeSummary();\n\t\tgetCovenantReviewSummary();\n\t\tgetAssetVerificationReviewSummary();\n\t\tgetDealDetails();\n\t\tgetConvenantReviewTrand();\n\t\tgetAssetTapeSummaryByMonth();\n\t\tgetAssetVerificationReviewSummaryTrand();\n\t\tgetPeriodData();\n\t\tgetAssetTypeData();\n\t}, [homeData.client_id]);\n\n\tconst camelize = (s) => {\n\t\treturn s[0].toUpperCase() + s.slice(1);\n\t};\n\tconst getAssetTypeData = async () => {\n\t\ttry {\n\t\t\tconst resp = await axios.get(config.url.API_URL + \"asset-type\");\n\t\t\tsetAssetTypes(resp?.data?.responseData);\n\t\t} catch (error) {\n\t\t\tconsole.log(\"error>>\", error);\n\t\t\tsetAlertType(\"danger\");\n\t\t\tconsole.log(\"error>>\", error);\n\t\t\tsetShowAlert(true);\n\t\t\tsetAlertMessage(error.response?.data?.Message);\n\t\t}\n\t};\n\tconst getPeriodData = async () => {\n\t\ttry {\n\t\t\tconst resp = await axios.get(\n\t\t\t\tconfig.url.API_URL + \"period?PeriodStatusCode=OPEN\"\n\t\t\t);\n\t\t\tsetOpenEngagementPeriod(resp?.data?.responseData.length);\n\t\t\tconst tempLateData = resp?.data?.responseData?.filter((r) => {\n\t\t\t\tif (moment(r.deliveryDate) < moment()) {\n\t\t\t\t\treturn r;\n\t\t\t\t}\n\t\t\t});\n\t\t\tsetLateReport(tempLateData.length);\n\t\t\tconsole.log(\"getPeriodData>>>\", resp, tempLateData);\n\t\t} catch (error) {\n\t\t\tconsole.log(\"error>>\", error);\n\t\t\tsetAlertType(\"danger\");\n\t\t\tconsole.log(\"error>>\", error);\n\t\t\tsetShowAlert(true);\n\t\t\tsetAlertMessage(error.response?.data?.Message);\n\t\t}\n\t};\n\tconst groupbyOriginator = (data) => {\n\t\tconst temp = data.reduce((r, a) => {\n\t\t\tr[a.originator?.trim()] = r[a.originator?.trim()] || [];\n\t\t\tr[a.originator?.trim()].push(a);\n\t\t\treturn r;\n\t\t}, {});\n\t\tlet oriData = {\n\t\t\tkey: Object.keys(temp),\n\t\t\t// value: Object.values(temp).reduce((v, p) => {\n\t\t\t// v += p.totalBalance;\n\t\t\t// return v;\n\t\t\t// }, 0),\n\t\t};\n\t\tconst val = Object.keys(temp).map((key) => {\n\t\t\treturn temp[key].reduce((p, a) => {\n\t\t\t\tp += a.totalBalance;\n\t\t\t\treturn p;\n\t\t\t}, 0);\n\t\t});\n\n\t\toriData[\"value\"] = val;\n\t\tsetOriginatorData(oriData);\n\t};\n\tconst groupbyEndMonth = (data) => {\n\t\tconst temp = data.reduce((r, a) => {\n\t\t\tr[moment(a.periodEndDate?.trim()).format(\"MMM\")] =\n\t\t\t\tr[moment(a.periodEndDate?.trim()).format(\"MMM\")] || [];\n\t\t\tr[moment(a.periodEndDate?.trim()).format(\"MMM\")].push(a);\n\t\t\treturn r;\n\t\t}, {});\n\t\tlet oriData = {\n\t\t\tkey: Object.keys(temp),\n\t\t};\n\t\tlet data1 = { failed: [], passed: [], \"not Applicable\": [], tested: [] };\n\t\tconst val = Object.keys(temp)\n\t\t\t.map((key) => {\n\t\t\t\treturn temp[key].reduce(\n\t\t\t\t\t(p, a) => {\n\t\t\t\t\t\t// p += a.totalBalance;\n\t\t\t\t\t\tp.covenantsFailed += a.covenantsFailed;\n\t\t\t\t\t\tp.covenantsNotApplicable += a.covenantsNotApplicable;\n\t\t\t\t\t\tp.covenantsPassed += a.covenantsPassed;\n\t\t\t\t\t\tp.covenantsTested += a.covenantsTested;\n\t\t\t\t\t\treturn p;\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcovenantsFailed: 0,\n\t\t\t\t\t\tcovenantsNotApplicable: 0,\n\t\t\t\t\t\tcovenantsPassed: 0,\n\t\t\t\t\t\tcovenantsTested: 0,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t})\n\t\t\t.map((v) => {\n\t\t\t\tdata1.failed.push(v.covenantsFailed);\n\t\t\t\tdata1.passed.push(v.covenantsPassed);\n\t\t\t\tdata1[\"not Applicable\"].push(v.covenantsNotApplicable);\n\t\t\t\tdata1.tested.push(v.covenantsTested);\n\t\t\t});\n\n\t\toriData[\"value\"] = data1;\n\t\tconsole.log(\"temp>>\", oriData, data1);\n\t\tsetConvenantReviewSummeryTrand(oriData);\n\t};\n\tconst groupbyEndMonthForAssets = (data) => {\n\t\tconst temp = data.reduce((r, a) => {\n\t\t\tr[moment(a.periodEndDate?.trim()).format(\"MMM\")] =\n\t\t\t\tr[moment(a.periodEndDate?.trim()).format(\"MMM\")] || [];\n\t\t\tr[moment(a.periodEndDate?.trim()).format(\"MMM\")].push(a);\n\t\t\treturn r;\n\t\t}, {});\n\t\tlet oriData = {\n\t\t\tkey: Object.keys(temp),\n\t\t};\n\t\tlet data1 = { failed: [], passed: [], \"not Applicable\": [], tested: [] };\n\t\tconst val = Object.keys(temp)\n\t\t\t.map((key) => {\n\t\t\t\treturn temp[key].reduce(\n\t\t\t\t\t(p, a) => {\n\t\t\t\t\t\t// p += a.totalBalance;\n\t\t\t\t\t\tp.covenantsFailed += a.assetVerificationsFailed;\n\t\t\t\t\t\tp.covenantsNotApplicable += a.assetVerificationsNotApplicable;\n\t\t\t\t\t\tp.covenantsPassed += a.assetVerificationsPassed;\n\t\t\t\t\t\tp.covenantsTested += a.assetsTested;\n\t\t\t\t\t\treturn p;\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcovenantsFailed: 0,\n\t\t\t\t\t\tcovenantsNotApplicable: 0,\n\t\t\t\t\t\tcovenantsPassed: 0,\n\t\t\t\t\t\tcovenantsTested: 0,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t})\n\t\t\t.map((v) => {\n\t\t\t\tdata1.failed.push(v.covenantsFailed);\n\t\t\t\tdata1.passed.push(v.covenantsPassed);\n\t\t\t\tdata1[\"not Applicable\"].push(v.covenantsNotApplicable);\n\t\t\t\tdata1.tested.push(v.covenantsTested);\n\t\t\t});\n\n\t\toriData[\"value\"] = data1;\n\t\tconsole.log(\"temp>>\", oriData, data1);\n\t\tsetAssetReviewSummeryTrand(oriData);\n\t};\n\tconst getDealDetails = async () => {\n\t\tsetShowAlert(false);\n\t\ttry {\n\t\t\tconst resp = await axios.get(config.url.API_URL + \"deal\");\n\t\t\tconsole.log(\"deal>>>\", resp);\n\t\t\tconst result = resp.data.responseData;\n\t\t\tsetDealData(result);\n\n\t\t\tconst total = result.reduce((t, a) => {\n\t\t\t\treturn t + a.initialSize;\n\t\t\t}, 0);\n\t\t\tsetDealSum(total);\n\t\t\tconst dfDeal = result.filter(\n\t\t\t\t(r) => r.IsDefaultedFinancial || r.IsDefaultedOther\n\t\t\t);\n\t\t\tsetDeafultDeal(dfDeal.length);\n\n\t\t\tconsole.log(\"sum:\", total, dfDeal.length);\n\t\t} catch (error) {\n\t\t\tconsole.log(\"getDealDetails error>>\", error);\n\t\t\tsetAlertType(\"danger\");\n\t\t\tconsole.log(\"error>>\", error);\n\t\t\tsetShowAlert(true);\n\t\t\tsetAlertMessage(error.response?.data?.Message);\n\t\t}\n\t};\n\n\tconst groupbyDealName = (data) => {\n\t\tconst temp = data.reduce((r, a) => {\n\t\t\tr[a.dealTypeName?.trim()] = r[a.dealTypeName?.trim()] || [];\n\t\t\tr[a.dealTypeName?.trim()].push(a);\n\t\t\treturn r;\n\t\t}, {});\n\n\t\tlet oriData = {\n\t\t\tkey: Object.keys(temp),\n\t\t};\n\t\tconst val = Object.keys(temp).map((key) => {\n\t\t\treturn temp[key].reduce((p, a) => {\n\t\t\t\tp += a.totalBalance;\n\t\t\t\treturn p;\n\t\t\t}, 0);\n\t\t});\n\t\toriData[\"value\"] = val;\n\t\tsetDealDataByDealName((p) => oriData);\n\t\tconsole.log(\"dealTypeName>>\", oriData, dealData);\n\t};\n\tconst getAssetTapeSummary = async () => {\n\t\tlet url = getEngagementUrl + \"?IncludeOnlyMostRecentUpload=true\";\n\t\tif (selectedDealId) {\n\t\t\turl += \"&dealId=\" + selectedDealId;\n\t\t}\n\t\tif (selectedAssetTypeId) {\n\t\t\turl += \"&assetTypeId=\" + selectedAssetTypeId;\n\t\t}\n\t\ttry {\n\t\t\tconst resp = await axios.get(url);\n\t\t\tconsole.log(resp.data.responseData);\n\t\t\tgroupbyOriginator(resp.data.responseData);\n\t\t\tgroupbyDealName(resp.data.responseData);\n\t\t} catch (error) {\n\t\t\tsetAlertType(\"danger\");\n\t\t\tconsole.log(\"error>>\", error);\n\t\t\t// setShowAlert(true);\n\t\t\t// setAlertMessage(error.response?.data?.Message);\n\t\t}\n\t};\n\tconst getAssetTapeSummaryByMonth = async () => {\n\t\tconst startDate = moment().subtract(6, \"months\").format(\"YYYY-MM-DD\");\n\t\tlet url = getEngagementUrl + \"?startDate=\" + startDate;\n\t\tif (selectedDealId != null) {\n\t\t\turl += \"&dealId=\" + selectedDealId;\n\t\t}\n\t\tif (selectedAssetTypeId != null) {\n\t\t\turl += \"&assetTypeId=\" + selectedAssetTypeId;\n\t\t}\n\t\ttry {\n\t\t\tconst resp = await axios.get(url);\n\t\t\t// const resp = await axios.get(\n\t\t\t// \tgetEngagementUrl +\n\t\t\t// \t\t\"?startDate=\" +\n\t\t\t// \t\tstartDate +\n\t\t\t// \t\t\"&dealId=\" +\n\t\t\t// \t\tselectedDealId +\n\t\t\t// \t\t\"&assetTypeId=\" +\n\t\t\t// \t\tselectedAssetTypeId\n\t\t\t// );\n\t\t\tconsole.log(\"getAssetTapeSummaryByMonth\", resp);\n\t\t\tlet temp = {\n\t\t\t\tx: [],\n\t\t\t\ty: [],\n\t\t\t};\n\t\t\tresp.data.responseData.map((r) => {\n\t\t\t\ttemp.x.push(r.tapeMonth);\n\t\t\t\ttemp.y.push(r.totalAmountPaid);\n\t\t\t});\n\t\t\tsetDealSummeryByMonth(temp);\n\t\t} catch (error) {\n\t\t\tsetAlertType(\"danger\");\n\n\t\t\tsetShowAlert(true);\n\t\t\tsetAlertMessage(error.response?.data?.Message);\n\t\t}\n\t};\n\tconst getConvenantReviewTrand = async () => {\n\t\tlet startDate = moment()\n\t\t\t.subtract(6, \"months\")\n\t\t\t// .endOf(\"month\")\n\t\t\t.format(\"YYYY-MM-DD\");\n\t\tlet url =\n\t\t\tconfig.url.API_URL + \"covenant-review-summary?startDate=\" + startDate;\n\t\tif (selectedDealId != null) {\n\t\t\turl += \"&dealId=\" + selectedDealId;\n\t\t}\n\t\tif (selectedAssetTypeId != null) {\n\t\t\turl += \"&assetTypeId=\" + selectedAssetTypeId;\n\t\t}\n\t\ttry {\n\t\t\tconst resp = await axios.get(url);\n\t\t\t// const resp = await axios.get(\n\t\t\t// \tconfig.url.API_URL +\n\t\t\t// \t\t\"covenant-review-summary?startDate=\" +\n\t\t\t// \t\tstartDate +\n\t\t\t// \t\t\"&dealId=\" +\n\t\t\t// \t\tselectedDealId\n\t\t\t// );\n\t\t\tgroupbyEndMonth(resp.data.responseData);\n\t\t} catch (error) {\n\t\t\tsetAlertType(\"danger\");\n\t\t\tconsole.log(\"error 1>>\", error.errorResponse);\n\t\t\tsetShowAlert(true);\n\t\t\tsetAlertMessage(error.response?.data?.Message);\n\t\t}\n\t};\n\tconst getCovenantReviewSummary = async () => {\n\t\tlet url =\n\t\t\tconfig.url.API_URL +\n\t\t\t\"covenant-review-summary?IncludeOnlyMostRecentPeriod=true\";\n\t\tif (selectedDealId != null) {\n\t\t\turl += \"&dealId=\" + selectedDealId;\n\t\t}\n\t\tif (selectedAssetTypeId != null) {\n\t\t\turl += \"&assetTypeId=\" + selectedAssetTypeId;\n\t\t}\n\t\ttry {\n\t\t\tconst resp = await axios.get(url);\n\t\t\t// const resp = await axios.get(\n\t\t\t// \tconfig.url.API_URL +\n\t\t\t// \t\t\"covenant-review-summary?IncludeOnlyMostRecentPeriod=true&dealId=\" +\n\t\t\t// \t\tselectedDealId\n\t\t\t// );\n\t\t\tconsole.log(\"getCovenantReviewSummary\", resp.data.responseData);\n\t\t\tlet temp = [\n\t\t\t\t{\n\t\t\t\t\tx: [],\n\t\t\t\t\ty: [],\n\t\t\t\t\tname: \"Tested\",\n\t\t\t\t\torientation: \"h\",\n\t\t\t\t\tmarker: {\n\t\t\t\t\t\tcolor: \"rgba(150,175,5,0.6)\",\n\t\t\t\t\t\twidth: 1,\n\t\t\t\t\t},\n\t\t\t\t\ttype: \"bar\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tx: [],\n\t\t\t\t\ty: [],\n\t\t\t\t\tname: \"Passed\",\n\t\t\t\t\torientation: \"h\",\n\t\t\t\t\tmarker: {\n\t\t\t\t\t\tcolor: \"rgba(45,128,11,0.6)\",\n\t\t\t\t\t\twidth: 1,\n\t\t\t\t\t},\n\t\t\t\t\ttype: \"bar\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tx: [],\n\t\t\t\t\ty: [],\n\t\t\t\t\tname: \"Not Applicable\",\n\t\t\t\t\torientation: \"h\",\n\t\t\t\t\tmarker: {\n\t\t\t\t\t\tcolor: \"rgba(55,128,191,0.6)\",\n\t\t\t\t\t\twidth: 1,\n\t\t\t\t\t},\n\t\t\t\t\ttype: \"bar\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tx: [],\n\t\t\t\t\ty: [],\n\t\t\t\t\tname: \"Failed\",\n\t\t\t\t\torientation: \"h\",\n\t\t\t\t\tmarker: {\n\t\t\t\t\t\tcolor: \"rgba(150,12,12,0.6)\",\n\t\t\t\t\t\twidth: 1,\n\t\t\t\t\t},\n\t\t\t\t\ttype: \"bar\",\n\t\t\t\t},\n\t\t\t];\n\n\t\t\tresp.data.responseData.map((r) => {\n\t\t\t\ttemp[0][\"x\"].push(r.covenantsTested);\n\t\t\t\ttemp[1][\"x\"].push(r.covenantsPassed);\n\t\t\t\ttemp[2][\"x\"].push(r.covenantsNotApplicable);\n\t\t\t\ttemp[3][\"x\"].push(r.covenantsFailed);\n\t\t\t\ttemp[0][\"y\"].push(r.dealName);\n\t\t\t\ttemp[1][\"y\"].push(r.dealName);\n\t\t\t\ttemp[2][\"y\"].push(r.dealName);\n\t\t\t\ttemp[3][\"y\"].push(r.dealName);\n\t\t\t});\n\t\t\tsetConvenantReviewSummery(temp);\n\t\t} catch (error) {\n\t\t\tsetAlertType(\"danger\");\n\t\t\tsetShowAlert(true);\n\t\t\tsetAlertMessage(error.response?.data?.Message);\n\t\t\tif (error.response.status == 401) {\n\t\t\t\tappContext.handleLogout();\n\t\t\t}\n\t\t}\n\t};\n\tconst getAssetVerificationReviewSummary = async () => {\n\t\tlet url = config.url.API_URL + \"asset-verification-review-summary\";\n\t\tif (selectedDealId != null) {\n\t\t\turl += \"?dealId=\" + selectedDealId;\n\t\t}\n\t\t// if (selectedAssetTypeId) {\n\t\t// \turl += \"&assetTypeId=\" + selectedAssetTypeId;\n\t\t// }\n\t\ttry {\n\t\t\tconst resp = await axios.get(url);\n\t\t\t// const resp = await axios.get(\n\t\t\t// \tconfig.url.API_URL +\n\t\t\t// \t\t\"asset-verification-review-summary?dealId=\" +\n\t\t\t// \t\tselectedDealId\n\t\t\t// );\n\t\t\tconsole.log(\"getAssetVerificationReviewSummary\", resp.data.responseData);\n\t\t\tlet temp = [\n\t\t\t\t{\n\t\t\t\t\tx: [],\n\t\t\t\t\ty: [],\n\t\t\t\t\tname: \"Asset Tested\",\n\t\t\t\t\torientation: \"h\",\n\t\t\t\t\tmarker: {\n\t\t\t\t\t\tcolor: \"rgba(150,175,5,0.6)\",\n\t\t\t\t\t\twidth: 1,\n\t\t\t\t\t},\n\t\t\t\t\ttype: \"bar\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tx: [],\n\t\t\t\t\ty: [],\n\t\t\t\t\tname: \"Attribute Tested\",\n\t\t\t\t\torientation: \"h\",\n\t\t\t\t\tmarker: {\n\t\t\t\t\t\tcolor: \"rgba(1,175,5,0.6)\",\n\t\t\t\t\t\twidth: 1,\n\t\t\t\t\t},\n\t\t\t\t\ttype: \"bar\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tx: [],\n\t\t\t\t\ty: [],\n\t\t\t\t\tname: \"Passed\",\n\t\t\t\t\torientation: \"h\",\n\t\t\t\t\tmarker: {\n\t\t\t\t\t\tcolor: \"rgba(45,128,11,0.6)\",\n\t\t\t\t\t\twidth: 1,\n\t\t\t\t\t},\n\t\t\t\t\ttype: \"bar\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tx: [],\n\t\t\t\t\ty: [],\n\t\t\t\t\tname: \"Not Applicable\",\n\t\t\t\t\torientation: \"h\",\n\t\t\t\t\tmarker: {\n\t\t\t\t\t\tcolor: \"rgba(55,128,191,0.6)\",\n\t\t\t\t\t\twidth: 1,\n\t\t\t\t\t},\n\t\t\t\t\ttype: \"bar\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tx: [],\n\t\t\t\t\ty: [],\n\t\t\t\t\tname: \"Failed\",\n\t\t\t\t\torientation: \"h\",\n\t\t\t\t\tmarker: {\n\t\t\t\t\t\tcolor: \"rgba(150,12,12,0.6)\",\n\t\t\t\t\t\twidth: 1,\n\t\t\t\t\t},\n\t\t\t\t\ttype: \"bar\",\n\t\t\t\t},\n\t\t\t];\n\n\t\t\tresp.data.responseData.map((r) => {\n\t\t\t\ttemp[0][\"x\"].push(r.assetsTested);\n\t\t\t\ttemp[1][\"x\"].push(r.attributesTested);\n\t\t\t\ttemp[2][\"x\"].push(r.assetVerificationsPassed);\n\t\t\t\ttemp[3][\"x\"].push(r.assetVerificationsNotApplicable);\n\t\t\t\ttemp[4][\"x\"].push(r.assetVerificationsFailed);\n\t\t\t\ttemp[0][\"y\"].push(r.dealName);\n\t\t\t\ttemp[1][\"y\"].push(r.dealName);\n\t\t\t\ttemp[2][\"y\"].push(r.dealName);\n\t\t\t\ttemp[3][\"y\"].push(r.dealName);\n\t\t\t\ttemp[4][\"y\"].push(r.dealName);\n\t\t\t});\n\t\t\tsetAssetReviewSummery(temp);\n\t\t} catch (error) {\n\t\t\tsetAlertType(\"danger\");\n\t\t\tconsole.log(\"error>>\", error, error.error, error.errorResponse);\n\n\t\t\tsetShowAlert(true);\n\t\t\tsetAlertMessage(error.response?.data?.Message);\n\t\t}\n\t};\n\tconst getAssetVerificationReviewSummaryTrand = async () => {\n\t\tlet startDate = moment()\n\t\t\t.subtract(6, \"months\")\n\t\t\t// .endOf(\"month\")\n\t\t\t.format(\"YYYY-MM-DD\");\n\t\ttry {\n\t\t\tlet url =\n\t\t\t\tconfig.url.API_URL +\n\t\t\t\t\"asset-verification-review-summary?startDate=\" +\n\t\t\t\tstartDate;\n\t\t\tconsole.log(\"KKKKKKKKKKKKKKKKKKKK>>>\", selectedDealId);\n\t\t\tif (selectedDealId) {\n\t\t\t\turl += \"&dealId=\" + selectedDealId;\n\t\t\t}\n\t\t\tif (selectedAssetTypeId) {\n\t\t\t\turl += \"&assetTypeId=\" + selectedAssetTypeId;\n\t\t\t}\n\n\t\t\tconst resp = await axios.get(url);\n\t\t\t// const resp = await axios.get(\n\t\t\t// \tconfig.url.API_URL +\n\t\t\t// \t\t\"asset-verification-review-summary?startDate=\" +\n\t\t\t// \t\tstartDate +\n\t\t\t// \t\t\"&dealId=\" +\n\t\t\t// \t\tselectedDealId\n\t\t\t// );\n\t\t\tconsole.log(\n\t\t\t\t\"getAssetVerificationReviewSummaryTrand\",\n\t\t\t\tresp.data.responseData\n\t\t\t);\n\t\t\tgroupbyEndMonthForAssets(resp.data.responseData);\n\t\t} catch (error) {\n\t\t\tsetAlertType(\"danger\");\n\t\t\tconsole.log(\"error>>\", error);\n\t\t\tsetShowAlert(true);\n\t\t\tsetAlertMessage(error.response?.data?.Message);\n\t\t}\n\t};\n\tconst handleDealChange = (e) => {\n\t\t// setTimeout(() => {\n\t\t// \tgetAssetVerificationReviewSummaryTrand();\n\t\t// \tgetAssetVerificationReviewSummary();\n\t\t// \tgetCovenantReviewSummary();\n\t\t// \tgetConvenantReviewTrand();\n\t\t// \tgetAssetTapeSummaryByMonth();\n\t\t// \tgetAssetTapeSummary();\n\t\t// }, 1000);\n\t};\n\tconst handleAssetTypeChange = (e) => {\n\t\t// setTimeout(() => {\n\t\t// \tsetSelectedAssetType(e.target.value);\n\t\t// \tgetAssetTapeSummaryByMonth();\n\t\t// \tgetAssetTapeSummary();\n\t\t// }, 1000);\n\t};\n\tuseEffect(() => {\n\t\t// setSelectedAssetType(e.target.value);\n\t\tgetAssetTapeSummaryByMonth();\n\t\tgetAssetTapeSummary();\n\t}, [selectedAssetTypeId]);\n\tuseEffect(() => {\n\t\tgetAssetVerificationReviewSummaryTrand();\n\t\tgetAssetVerificationReviewSummary();\n\t\tgetCovenantReviewSummary();\n\t\tgetConvenantReviewTrand();\n\t\tgetAssetTapeSummaryByMonth();\n\t\tgetAssetTapeSummary();\n\t}, [selectedDealId]);\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tsetSelectedDeal(() => e.target.value);\n\n\t\t\t\t\t\t\t\t\t// handleDealChange(e);\n\t\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{dealData &&\n\t\t\t\t\t\t\t\t\tdealData.map((d) => (\n\t\t\t\t\t\t\t\t\t\t\n\t\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 */}\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\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\n\t\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\t setSelectedAssetType(e.target.value)}\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{assetTypes &&\n\t\t\t\t\t\t\t\t\tassetTypes.map((a) => (\n\t\t\t\t\t\t\t\t\t\t\n\t\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 */}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\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\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tDeals (#)\n\t\t\t\t\t\t\t\t\t\t\t\t\tDeals ($)\n\t\t\t\t\t\t\t\t\t\t\t\t\tCurrently Defaulted Deals\n\t\t\t\t\t\t\t\t\t\t\t\t\tOpen Engagement Periods\n\t\t\t\t\t\t\t\t\t\t\t\t\tPossible Late Reports\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{dealData.length}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{defaultDeal}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{openEngagementPeriod}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{lateReport}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\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
\n\t\t\t\t\t\t
\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\t

Portfolio

\n\t\t\t\t\t\t
\n\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\t

Portfolio Balance by Originator

\n\n\t\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
\n\t\t\t\t\t\t
\n\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\t

Portfolio Balance by Asset type

\n\n\t\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
\n\t\t\t\t\t\t
\n\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\t

Portfolio Balance by Month

\n\t\t\t\t\t\t\t\t\t{/*
\n No data found.\n
*/}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\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
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t{/*
\n
\n

Recent Convent Testing Results

\n \n \n
\n
*/}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Covenant Tracking

\n\t\t\t\t\t\t
\n\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\t

Recent Covenant Testing Results

\n\t\t\t\t\t\t\t\t\t{/*
\n No data found.\n
*/}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\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
\n\t\t\t\t\t\t
\n\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\t

Convenant Testing Trands

\n\t\t\t\t\t\t\t\t\t{/*
\n No data found.\n
*/}\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\tx: convenantReviewSummeryTrand.key,\n\t\t\t\t\t\t\t\t\t\t\t\t\ty: convenantReviewSummeryTrand.value[v],\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tname: camelize(v),\n\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\tlayout={{\n\t\t\t\t\t\t\t\t\t\t\tplot_bgcolor: \"#383838\",\n\t\t\t\t\t\t\t\t\t\t\tpaper_bgcolor: \"#383838\",\n\t\t\t\t\t\t\t\t\t\t\tfont: {\n\t\t\t\t\t\t\t\t\t\t\t\tcolor: \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tyaxis: {\n\t\t\t\t\t\t\t\t\t\t\t\ttickwidth: 1,\n\t\t\t\t\t\t\t\t\t\t\t\tfixedrange: true,\n\t\t\t\t\t\t\t\t\t\t\t\tautomargin: true,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\titemsizing: \"constant\",\n\t\t\t\t\t\t\t\t\t\t\txaxis: { fixedrange: true },\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tconfig={{ displayModeBar: false }}\n\t\t\t\t\t\t\t\t\t\tstyle={{ width: \"100%\", height: \"100%\" }}\n\t\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
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t* Includes the results for the most recent completed period for\n\t\t\t\t\t\t\t\teach Deal\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\t

Asset Verification

\n\t\t\t\t\t\t
\n\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\t

Recent Asset Verification Results

\n\t\t\t\t\t\t\t\t\t{/*
\n No data found.\n
*/}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\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
\n\t\t\t\t\t\t
\n\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\t

Asset Verification Trands

\n\t\t\t\t\t\t\t\t\t{/*
\n No data found.\n
*/}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tx: assetReviewSummeryTrand.key,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ty: assetReviewSummeryTrand.value[v],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"scatter\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: camelize(v),\n\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\tlayout={{\n\t\t\t\t\t\t\t\t\t\t\t\tplot_bgcolor: \"#383838\",\n\t\t\t\t\t\t\t\t\t\t\t\tpaper_bgcolor: \"#383838\",\n\t\t\t\t\t\t\t\t\t\t\t\tfont: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: \"#ffffff\",\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tyaxis: { fixedrange: true, automargin: true },\n\t\t\t\t\t\t\t\t\t\t\t\titemsizing: \"constant\",\n\t\t\t\t\t\t\t\t\t\t\t\txaxis: { fixedrange: true },\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tconfig={{ displayModeBar: false }}\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ width: \"100%\", height: \"100%\" }}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\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
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t* Includes the results for the most recent completed period for\n\t\t\t\t\t\t\t\teach Deal\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t{showAlert && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
\n\t\t\n\t);\n}\n\nexport default Blankpage;\n","import Example from './example'\nimport { DndProvider } from 'react-dnd'\nimport { HTML5Backend } from 'react-dnd-html5-backend'\n\nfunction Dragpage() {\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t)\n\t}\n\t\n\texport default Dragpage;","import React, { useState } from \"react\";\nimport \"assets/css/style.css\";\nimport { SignInButton } from \"components/AzureButton\";\nimport {\n AuthenticatedTemplate,\n UnauthenticatedTemplate,\n useMsal,\n} from \"@azure/msal-react\";\nimport { loginRequest, graphConfig } from \"authConfig\";\nimport { setLoginData } from \"helpers/utils\";\nimport axios from \"axios\";\nimport { setClientStorage } from \"helpers/utils\";\nimport { config } from \"constant\";\nimport { useDispatch } from \"react-redux\";\nimport { updateClient } from \"actions/homeAction\";\nimport { storeClients } from \"actions/homeAction\";\nimport { setRestrictAccount } from \"helpers/utils\";\nimport { setErrorMessage } from \"helpers/utils\";\n\nconst clientUrl = config.url.API_URL + \"client\";\n\nexport default function LoginPage() {\n const { instance, accounts, inProgress } = useMsal();\n const [accessToken, setAccessToken] = useState(null);\n const [error, setError] = useState(null);\n const dispatch = useDispatch();\n\n // const name = accounts[0] && accounts[0].name;\n const [isLogin, setLogin] = useState(false);\n\n function RequestAccessToken() {\n // if (!isLogin) {\n // setLogin(true);\n if (accounts.length > 0) {\n const request = {\n ...loginRequest,\n account: accounts[0],\n };\n\n // Silently acquires an access token which is then attached to a request for Microsoft Graph data\n instance\n .acquireTokenSilent(request)\n .then((response) => {\n console.log(\"request>>\", response);\n // callMsGraph(response.accessToken);\n saveToken(response);\n // axios.defaults.headers.common[\n // \t\"Authorization\"\n // ] = `Bearer ${response.accessToken}`;\n setAccessToken(response.accessToken);\n loadClients(response.accessToken)\n .then((data) => {\n setError(null);\n setRestrictAccount(false);\n setErrorMessage(null);\n window.location.href = \"/dashboard\";\n })\n .catch((err) => {\n console.log(\"err>>>\", err?.response);\n // alert(err?.response?.data?.Message);\n setRestrictAccount(true);\n // setError(err?.response?.data?.Message);\n setErrorMessage(err?.response?.data?.Message);\n setTimeout(() => {\n window.location.href = \"/error\";\n }, 1000);\n });\n })\n .catch((e) => {\n instance.acquireTokenSilent(request).then((response) => {\n console.log(\"request>>\", response);\n // callMsGraph(response.accessToken);\n saveToken(response);\n // axios.defaults.headers.common[\n // \t\"Authorization\"\n // ] = `Bearer ${response.accessToken}`;\n setAccessToken(response.accessToken);\n loadClients(response.accessToken)\n .then((data) => {\n setError(null);\n setRestrictAccount(false);\n setErrorMessage(null);\n window.location.href = \"/dashboard\";\n })\n .catch((err) => {\n console.log(\"err>>>\", err?.response);\n setRestrictAccount(true);\n // setError(err?.response?.data?.Message);\n setErrorMessage(err?.response?.data?.Message);\n setTimeout(() => {\n window.location.href = \"/error\";\n }, 1000);\n // alert(err?.response?.data?.Message);\n });\n });\n });\n }\n // }\n }\n function saveToken(token) {\n setLoginData(token);\n }\n const loadClients = (token) => {\n return new Promise(async (resolve, reject) => {\n try {\n const resp = await axios.get(clientUrl, {\n headers: {\n Authorization: `Bearer ${token}`,\n },\n });\n if (!resp?.data?.isError && resp?.data?.responseData) {\n setClientStorage(resp?.data?.responseData?.id);\n dispatch(updateClient(resp?.data?.responseData?.id));\n dispatch(storeClients(resp?.data?.responseData));\n }\n\n console.log(\"resp loadClients>>\", resp);\n return resolve(resp);\n } catch (err) {\n return reject(err);\n }\n });\n };\n function callMsGraph(accessToken) {\n const headers = new Headers();\n const bearer = `Bearer ${accessToken}`;\n\n headers.append(\"Authorization\", bearer);\n\n const options = {\n method: \"GET\",\n headers: headers,\n };\n\n return fetch(graphConfig.graphMeEndpoint, options)\n .then((response) => response.json())\n .catch((error) => console.log(error));\n }\n return (\n
\n
\n
\n
\n \n
\n

Welcome to amss

\n {error &&
{error}
}\n {/*

Login

*/}\n {/*
\n\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\t\n\t\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

\n\t\t\t\t\t\t\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\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

\n\t\t\t\t
*/}\n
\n

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

\n\t\t\t\t\t\t\t\t\tYou are signed in!{\" \"}\n\t\t\t\t\t\t\t\t\t to\n\t\t\t\t\t\t\t\t\tDashbard\n\t\t\t\t\t\t\t\t

*/}\n {RequestAccessToken()}\n \n {/* Not a member? Create Account */}\n

\n
\n
\n
\n
\n );\n}\n","import { isRestrict } from \"helpers/utils\";\nimport { isLogin } from \"helpers/utils\";\nimport React from \"react\";\nimport { Route, Redirect } from \"react-router-dom\";\n\nconst PrivateRoute = ({ component: Component, ...rest }) => {\n return (\n // Show the component only when the user is logged in\n // Otherwise, redirect the user to /signin page\n {\n return isLogin() ? (\n isRestrict() ? (\n \n ) : (\n \n )\n ) : (\n \n );\n }}\n />\n );\n};\n\nexport default PrivateRoute;\n","import { isLogin } from \"helpers/utils\";\nimport React from \"react\";\nimport { Route, Redirect } from \"react-router-dom\";\n\nconst PublicRoute = ({ component: Component, restricted, ...rest }) => {\n\treturn (\n\t\t// restricted = false meaning public route\n\t\t// restricted = true meaning restricted route\n\t\t\n\t\t\t\tisLogin() && restricted ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t)\n\t\t\t}\n\t\t/>\n\t);\n};\n\nexport default PublicRoute;\n","import Papa from \"papaparse\";\n\nconst parse = (file) => {\n\treturn new Promise((resolve, reject) => {\n\t\tPapa.parse(file, {\n\t\t\theader: true,\n\t\t\tskipEmptyLines: true,\n\t\t\tcomplete: function (results) {\n\t\t\t\tconsole.log(\"result>>\", results);\n\t\t\t\tresolve(results.data);\n\t\t\t},\n\t\t});\n\t});\n};\nconst downloadCSV = (array) => {\n\tvar csv = Papa.unparse(array);\n\n\tvar csvData = new Blob([csv], { type: \"text/csv;charset=utf-8;\" });\n\tvar csvURL = null;\n\tif (navigator.msSaveBlob) {\n\t\tcsvURL = navigator.msSaveBlob(csvData, \"errors.csv\");\n\t} else {\n\t\tcsvURL = window.URL.createObjectURL(csvData);\n\t}\n\n\tvar tempLink = document.createElement(\"a\");\n\ttempLink.href = csvURL;\n\ttempLink.setAttribute(\"download\", \"errors.csv\");\n\ttempLink.click();\n};\nconst downloadCSVFile = (text, name) => {\n\tconst element = document.createElement(\"a\");\n\tconst file = new Blob([text], {\n\t\ttype: \"text/plain\",\n\t});\n\telement.href = URL.createObjectURL(file);\n\telement.download = `${name}.csv`;\n\tdocument.body.appendChild(element);\n\telement.click();\n};\n\nexport const CSVParser = { parse, downloadCSV, downloadCSVFile };\n","export default __webpack_public_path__ + \"static/media/asset_icn.c102111f.png\";","export default __webpack_public_path__ + \"static/media/currency_icn.ffd141b7.png\";","import { Field, Formik } from \"formik\";\nimport * as yup from \"yup\";\nimport { dateFormat } from \"helpers/utils\";\nimport React from \"react\";\nimport { Button, Modal, Form, Table } from \"react-bootstrap\";\nimport { CSVParser } from \"services/CSVParser\";\nimport { camelToTitle } from \"helpers/data\";\n\nimport asset_img from \"../../assets/img/asset_icn.png\";\nimport collection_img from \"../../assets/img/currency_icn.png\";\nimport uploadplaceholder_img from \"../../assets/img/upload-file.png\";\nimport { FileUploader } from \"react-drag-drop-files\";\n\nconst stepOneValidation = yup.object().shape({\n selectedDate: yup.string().required(),\n selectedDeal: yup.string().required(),\n});\nconst stepThreeValidation = yup.object().shape({\n file: yup.string().required(),\n});\n\nexport default function FileUploadModal({\n handleClose,\n show,\n isUploadStepOneDone,\n isUploadStepTwoDone,\n isUploadStepThreeDone,\n deals,\n getMothlyPeriod,\n monthEndDateList,\n getTapeAsset,\n onOverwriteFileSelect,\n parseFile,\n uploadFile,\n success,\n error,\n downloadSample,\n back,\n uploadType,\n setUploadType,\n}) {\n const fileTypes = [\"csv\"];\n return (\n \n \n \n {error && (\n \n {error}\n \n )}\n \n \n \n {!isUploadStepOneDone && (\n
\n {\n getTapeAsset(values.selectedDeal, values.selectedDate);\n }}\n validationSchema={stepOneValidation}\n validateOnChange={false}\n validateOnBlur={false}\n >\n {({\n handleChange,\n touched,\n values,\n handleSubmit,\n errors,\n setFieldValue,\n }) => (\n
\n
\n {\" \"}\n setUploadType(\"asset\")}\n className={\n uploadType === \"asset\"\n ? \"radio_button active\"\n : \"radio_button\"\n }\n >\n \n Asset tape\n \n setUploadType(\"collection\")}\n type=\"button\"\n className={\n uploadType === \"collection\"\n ? \"radio_button active\"\n : \"radio_button\"\n }\n >\n \n Collection tape\n \n
\n\n {/*
\n\n \n Upload File\n\n
\n \n Upload or drop a file right here\n
\n
\n
No files uploaded yet
\n\n
JPEG,PNG,GIF
\n
\n
\n
*/}\n\n \n Deal name \n {\n // \tconsole.log(\"val>>>\", val.target.value);\n // \tconsole.log(\"val>>>\", val.target.value);\n // \tsetFieldValue(\"selectedDeal\", val.target.val);\n // \t// getMothlyPeriod(val.target.val);\n // }}\n onChange={(e) => {\n handleChange(e);\n getMothlyPeriod(e.target.value);\n }}\n >\n \n {deals &&\n deals.length > 0 &&\n deals.map((d) => (\n \n ))}\n \n {errors.selectedDeal && touched.selectedDeal ? (\n
\n {camelToTitle(errors.selectedDeal)}\n
\n ) : null}\n {/* */}\n
\n\n \n Date\n \n \n {monthEndDateList &&\n monthEndDateList.map((m) => (\n \n {dateFormat(m?.tapeMonthEndDate, \"MM/DD/YYYY\")}\n \n ))}\n \n {errors.selectedDate ? (\n
\n {camelToTitle(errors.selectedDate)}\n
\n ) : null}\n
\n\n \n Cancel\n \n \n Next \n \n \n Download Sample\n \n \n )}\n \n
\n )}\n {/* part 2 */}\n {isUploadStepOneDone && !isUploadStepTwoDone && (\n
\n
Upload and replace the previously uploaded information
\n\n onOverwriteFileSelect(true)}\n >\n \n \n onOverwriteFileSelect(false)}\n >\n \n \n
\n )}\n {/* part 3 */}\n {isUploadStepOneDone &&\n isUploadStepTwoDone &&\n !isUploadStepThreeDone && (\n
\n uploadFile()}\n validationSchema={stepThreeValidation}\n >\n {({\n handleChange,\n touched,\n values,\n handleSubmit,\n errors,\n setFieldValue,\n }) => (\n
\n \n Upload File\n {/* {\n console.log(\"101 onChange>>\", e);\n handleChange(e);\n parseFile(e);\n }}\n accept=\".csv\"\n /> */}\n {\n console.log(e);\n // handleChange(e);\n setFieldValue(\"file\", e);\n parseFile(e);\n }}\n name=\"file\"\n types={fileTypes}\n />\n
\n *\n Supported file format (.csv)\n
\n {errors.file && touched.file ? (\n
\n {camelToTitle(errors.file)}\n
\n ) : null}\n
\n \n Cancel\n \n \n Upload \n \n \n )}\n \n
\n )}\n
\n {/* \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t */}\n \n );\n}\n","import React, { useRef } from \"react\";\nimport Popover from \"react-bootstrap/Popover\";\nimport OverlayTrigger from \"react-bootstrap/OverlayTrigger\";\nimport { Button } from \"react-bootstrap\";\nimport { strlimit } from \"helpers/data\";\n\nexport default function MyTooltrip({ msg, target, size = 65 }) {\n // const target = useRef(null);\n\n const popover = (\n \n \n Description\n \n {msg}\n \n );\n return (\n <>\n {msg.length > size ? (\n \n
{strlimit(msg, size)}
\n
\n ) : (\n
{msg}
\n )}\n \n );\n}\n","import React from \"react\";\nimport { ProgressBar } from \"react-bootstrap\";\n\nexport default function LoaderProgressBar({ now }) {\n // const now = 60;\n return (\n
\n \n
\n );\n}\n","import MyTooltrip from \"components/MyTooltrip/MyTooltrip\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { Button, Modal, Form, Table } from \"react-bootstrap\";\nimport { camelToTitle, strlimit, titleToCamel } from \"./../../helpers/data\";\nimport \"./PortfolioHistory.scss\";\nimport LoaderProgressBar from \"components/LoaderProgressBar/LoaderProgressBar\";\nexport default function FieldMappingModal({\n showb,\n handleCloseb,\n fileParseHeaderData,\n mappingFieldData,\n mappingData,\n submitTape,\n success,\n error,\n isDetailsError,\n handleShowc,\n setMappingData,\n machingData,\n setMachingData,\n uploadPercent,\n}) {\n const target = useRef(null);\n const [copyMappingData, setCopyMappingData] = useState([]);\n const [copyMachingData, setCopyMachingData] = useState([]);\n let copyMachingData1 = machingData ? [...machingData] : [],\n copyMappingData1 = mappingData ? [...mappingData] : [];\n // useEffect(() => {\n // \tinitialData();\n // }, []);\n const [errorField, setErrorField] = useState(null);\n // const [tempMapping, setTempMapping] = useState(mappingData);\n\n // const tempData = [...mappingData];\n // const updateMappingData = (h, m, index) => {\n // // let tempData = [...tempMapping];\n // if (titleToCamel(h) == m.fieldName) {\n // tempData[index].mappingField = h;\n // // setTempMapping(() => tempData);\n // return true;\n // } else {\n // return false;\n // }\n // };\n console.log(\"101 map>>\", {\n mappingData,\n fileParseHeaderData,\n machingData,\n isDetailsError,\n });\n // useEffect(() => {\n // machingData && setCopyMachingData([...machingData]);\n // mappingData && setCopyMappingData([...mappingData]);\n\n // }, [mappingData, machingData]);\n const handleChange = (e, index) => {\n // const tempMappingData = [...mappingData];\n // const tempMachingData = [...machingData];\n const tempMappingData = [...mappingData];\n const tempMachingData = [...machingData];\n const selectedValue = e.target.value;\n // const oldSelectedValue = tempMappingData[index].mappingField;\n // if (oldSelectedValue) {\n // const index = tempMachingData.indexOf(titleToCamel(oldSelectedValue));\n // if (index > -1) {\n // tempMachingData.splice(index, 1);\n // }\n // }\n // if (selectedValue !== \"\") {\n // tempMachingData.push(titleToCamel(selectedValue));\n // }\n // tempMappingData[index].mappingField = selectedValue;\n\n const oldSelectedValue = tempMappingData[index].fieldDisplayName;\n // console.log(\n // \"102 map>>\",\n // mappingData,\n // machingData,\n // selectedValue,\n // oldSelectedValue\n // );\n if (oldSelectedValue) {\n const index = tempMachingData.indexOf(oldSelectedValue);\n if (index > -1) {\n tempMachingData.splice(index, 1);\n }\n }\n if (selectedValue !== \"\") {\n tempMachingData.push(selectedValue);\n }\n tempMappingData[index].mappingField = selectedValue;\n // setMappingData(tempMappingData);\n // setMachingData(tempMachingData);\n // setCopyMappingData(tempMappingData);\n // setCopyMachingData(tempMachingData);\n copyMachingData1 = [...tempMachingData];\n copyMappingData1 = [...tempMappingData];\n };\n\n return (\n \n \n \n
Internal asset details fields table
\n {success && (\n \n {success}\n \n )}\n {error && (\n \n {error}\n {isDetailsError && isDetailsError == true && (\n \n View Details\n \n )}\n \n )}\n \n
\n \n \n \n \n \n \n \n \n \n \n \n {\n // mappingData &&\n // Object.keys(mappingData)\n // .sort((a, b) => a.localeCompare(b))\n mappingData &&\n mappingData.length > 0 &&\n mappingData.map((m, index) => (\n \n {/* */}\n \n \n \n \n ))\n }\n \n
System mapping Uploaded csv Description
{camelToTitle(m)} \n {m.fieldDisplayName}\n {m?.required && *}\n \n handleChange(e, index)}\n >\n {/* */}\n \n {fileParseHeaderData &&\n Object.keys(fileParseHeaderData)\n .sort((a, b) => a.localeCompare(b))\n .map((h) => (\n \n {h}\n \n ))}\n {\" \"}\n \n \n {/* (\n \n )}\n onMouseLeave={(e) => (\n \n )}\n >\n {strlimit(m.description, 30)}\n */}\n {/*
{m.description}
*/}\n
\n \n {parseInt(uploadPercent) > 0 && (\n \n )}\n
\n \n Cancel\n \n {\n // await setMachingData([...copyMachingData]);\n // await setMappingData([...copyMappingData]);\n await setMachingData([...copyMachingData1]);\n await setMappingData([...copyMappingData1]);\n submitTape(e);\n }}\n >\n Next\n {/* Submit */}\n \n
\n
\n \n );\n}\n","import MyTooltrip from \"components/MyTooltrip/MyTooltrip\";\nimport moment from \"moment\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { Button, Modal, Form, Table } from \"react-bootstrap\";\nimport {\n camelToTitle,\n isValidDate,\n lowercaseKeys,\n searchKeyword,\n strlimit,\n titleToCamel,\n} from \"../../helpers/data\";\nimport \"./PortfolioHistory.scss\";\n\nexport default function TapListModal({\n showb,\n handleCloseb,\n data,\n copydata,\n setData,\n selectedType,\n}) {\n const target = useRef(null);\n const [searchText, setSearchText] = useState(null);\n console.log(\"11 list modal>>\", data);\n // const [assetTapeLocal, setAssetTapeLocal] = useState(data?.assetTapeDetails);\n const mapping = data?.mapping && JSON.parse(data?.mapping);\n const assetTapeDetails = data?.uploadType\n ? data?.uploadType.toLowerCase().trim() == \"asset\"\n ? data?.assetTapeDetails\n : data?.collectionTapeDetails\n : selectedType == \"asset\"\n ? data?.assetTapeDetails\n : data?.collectionTapeDetails;\n const assetTapeCopyDetails = data?.uploadType\n ? data?.uploadType.toLowerCase().trim() == \"asset\"\n ? copydata?.assetTapeDetails\n : copydata?.collectionTapeDetails\n : selectedType == \"asset\"\n ? copydata?.assetTapeDetails\n : copydata?.collectionTapeDetails;\n // console.log(\n // {\n // mapping,\n // assetTapeDetails,\n // data,\n // selectedType,\n // assetTapeCopyDetails,\n // copydata,\n // },\n // data?.collectionTapeDetails,\n // selectedType == \"asset\"\n // ? data?.assetTapeDetails\n // : data?.collectionTapeDetails,\n // selectedType == \"asset\"\n // );\n const [errorField, setErrorField] = useState(null);\n\n // const handleChange = (e, index) => {\n // console.log(e.target.value);\n // const tempMappingData = [...mappingData];\n // tempMappingData[index].mappingField = e.target.value;\n // setMappingData(tempMappingData);\n // };\n\n const search = (searchText) => {\n if (searchText == \"\" || searchText.length < 3) {\n setData(copydata);\n } else {\n const res = searchKeyword(assetTapeCopyDetails, searchText);\n if (selectedType === \"asset\") {\n const { assetTapeDetails, ...rest } = data;\n setData({ ...rest, assetTapeDetails: res });\n } else {\n const { collectionTapeDetails, ...rest } = data;\n setData({ ...rest, collectionTapeDetails: res });\n }\n }\n };\n return (\n \n \n \n
\n
Tape list
\n
\n
\n
\n
\n search(e.target.value)}\n // onChange={(e) => setSearchText(e.target.value)}\n // onKeyDown={(e) => {\n // if (e.key === \"Enter\") {\n // search();\n // }\n // }}\n />\n
\n {/* \n Search\n */}\n
\n
\n
\n {/* {success && (\n \n {success}\n \n )}\n {error && (\n \n {error}\n \n View Details\n \n \n )} */}\n \n
\n \n \n \n \n \n {mapping &&\n Object.keys(mapping).map((k, index) => {mapping[k]})}\n \n \n \n {assetTapeDetails &&\n assetTapeDetails.map((a) => {\n const aa = lowercaseKeys(a);\n return (\n \n {mapping &&\n Object.keys(mapping).map((k) => (\n \n {/* {moment(aa[k.toLocaleLowerCase()]).isValid()\n ? moment(aa[k.toLocaleLowerCase()])\n : aa[k.toLocaleLowerCase()]} */}\n {isValidDate(aa[k.toLocaleLowerCase()])\n ? moment(aa[k.toLocaleLowerCase()]).format(\n \"YYYY-MM-DD\"\n )\n : aa[k.toLocaleLowerCase()]}\n \n ))}\n \n );\n })}\n \n \n \n\n
\n \n Save\n \n \n Total Record: {assetTapeDetails && assetTapeDetails.length}\n \n
\n
\n \n );\n}\n","import { dateFormat } from \"helpers/utils\";\nimport React, { useState } from \"react\";\nimport TapList from \"./TapList\";\nimport TapListModal from \"./TapListModal\";\n\nexport default function List({\n data,\n docDownload,\n tableSort,\n getTapeAssetDetails,\n selectedType,\n tapePreviewHandler,\n}) {\n const [isOpen, setOpen] = useState(false);\n const [tapeData, setTapData] = useState(null);\n const [tapeCopyData, setTapCopyData] = useState(null);\n // const onClickHandler = (e, id) => {\n // const hiddenElement = e.currentTarget.parentNode.parentNode.nextSibling;\n\n // hiddenElement.className.indexOf(\"collapse show\") > -1\n // ? hiddenElement.classList.remove(\"show\")\n // : hiddenElement.classList.add(\"show\");\n // };\n // console.log(\"101 list>>\", data);\n // const onClickHandler = (d, index) => {\n // setTapData(d);\n // setTapCopyData(d);\n // setOpen(true);\n // };\n // const onCloseHandler = () => {\n // setOpen(false);\n // setTapData(null);\n // setTapCopyData(null);\n // };\n return (\n
\n
\n
\n \n \n \n \n \n \n \n \n\n \n {/* Link */}\n \n\n {/* \n\t\t\t\t\t\t\t\t\tAction\n\t\t\t\t\t\t\t\t */}\n \n \n \n {data.length > 0 &&\n data.map((d, i) => (\n // \n \n {selectedType === \"asset\" ? (\n \n ) : (\n \n )}\n\n \n \n \n \n\n {/* */}\n {selectedType === \"asset\" ? (\n \n ) : (\n \n )}\n \n // \n ))}\n \n
\n tableSort(\"dealName\")}>\n Deal Name{\" \"}\n \n \n tableSort(\"tapeMonthEndDate\")}\n >\n Month End Date{\" \"}\n \n \n tableSort(\"createdDate\")}>\n Date Uploaded\n \n \n tableSort(\"createdBy\")}>\n Uploaded By\n \n \n \n tableSort(\n selectedType === \"asset\"\n ? \"numberOfAssets\"\n : \"numberOfRecords\"\n )\n }\n >\n Record Count\n \n
\n {d?.numberOfAssets > 0 ? (\n tapePreviewHandler(d, null)}\n >\n {d?.dealName}\n \n ) : (\n d?.dealName\n )}\n \n {d?.numberOfRecords > 0 ? (\n tapePreviewHandler(d, null)}\n >\n {d?.dealName}\n {d?.uploadType.trim().toLowerCase() == \"asset\"\n ? \" (A)\"\n : \" (C)\"}\n \n ) : (\n d?.dealName\n )}\n \n {d?.tapeMonthEndDate &&\n dateFormat(d?.tapeMonthEndDate, \"MM/DD/YYYY\")}\n \n {d?.createdDate &&\n dateFormat(d?.createdDate, \"MM/DD/YYYY\")}\n {d?.createdBy}\n {selectedType === \"asset\"\n ? d?.numberOfAssets\n : d?.numberOfRecords}\n \n {d?.numberOfAssets > 0 && (\n <>\n onClickHandler(d, i)}\n >\n \n \n \n )}\n \n {d?.numberOfAssets > 0 && (\n <>\n \n docDownload(\n d?.fileID,\n d?.dealName +\n \"_\" +\n (d?.tapeMonthEndDate &&\n dateFormat(\n d?.tapeMonthEndDate,\n \"MM/DD/YYYY\"\n )),\n \"asset\"\n )\n }\n >\n \n \n \n )}\n \n {d?.numberOfRecords > 0 && (\n <>\n \n docDownload(\n d?.fileID,\n d?.dealName +\n \"_\" +\n (d?.tapeMonthEndDate &&\n dateFormat(\n d?.tapeMonthEndDate,\n \"MM/DD/YYYY\"\n )),\n \"asset\"\n )\n }\n >\n \n \n \n )}\n
\n
\n
\n {/* */}\n
\n );\n}\n","import axios from \"axios\";\nimport { config } from \"constant\";\n\nconst baseUrl = config.url.API_URL;\n\nconst get = async (url) => {\n return await axios.get(baseUrl + url);\n};\nconst post = async (url, data, config = null) => {\n return await axios.post(baseUrl + url, data, config);\n};\n\nexport const Network = { get, post };\n","export const API = {\n assetTapeMonth: \"asset-tape-months\",\n assetTape: \"asset-tape/v2\",\n assetTapeDocDownload: \"document-download\",\n getDeals: \"deal\",\n assetTapeMapping: \"asset-tape-mapping\",\n sampleTapFileUrl: \"asset-tape-template\",\n collectionTape: \"collection-tape\",\n collectionTapeMonth: \"collection-tape-months\",\n uploadTapeMonth: \"upload-tape-months\",\n sampleCollectionFileUrl: \"collection-tape-template\",\n collectionTapeMapping: \"collection-tape-mapping\",\n};\n","import React from \"react\";\nimport { Button, Modal } from \"react-bootstrap\";\nimport { ModuleKind } from \"typescript\";\n\nexport default function ErrorModal({\n showc,\n handleClosec,\n data,\n errorsDownload,\n}) {\n console.log(\"error>>\", data);\n return (\n \n Errors\n \n \n {data &&\n data.length > 0 &&\n data.map((d) =>
  • {d?.errorDetails}
  • )}\n \n
    \n \n Cancel\n \n \n Download Error List\n \n
    \n \n \n );\n}\n","import React, { useContext, useEffect, useState } from \"react\";\n// import { config } from \"../constant\";\n// import axios from \"axios\";\n// import { Formik, Field, FieldArray } from \"formik\";\n//import React, { useState } from 'react';\n//import Button from 'react-bootstrap/Button';\n//import Modal from 'react-bootstrap/Modal';\n\n// reactstrap components\n//import { Field } from \"formik\";\nimport { Button, Modal, Form, Table } from \"react-bootstrap\";\n\n// core components\nimport SideBar from \"components/SideBar.js\";\nimport AamsHeader from \"components/AamsHeader.js\";\nimport AamsFooter from \"components/AamsFooter.js\";\nimport FileUploadModal from \"./FileUploadModal\";\nimport FieldMappingModal from \"./FieldMappingModal\";\nimport List from \"./List\";\nimport { Network } from \"services/Network\";\nimport { API } from \"services/API\";\nimport { dateFormat } from \"helpers/utils\";\nimport { CSVParser } from \"services/CSVParser\";\nimport ErrorModal from \"./ErrorModal\";\nimport Loader from \"components/Loader\";\nimport { sortedByProperty } from \"helpers/data\";\nimport { AppContext } from \"App\";\nimport { titleToCamel } from \"helpers/data\";\nimport api from \"config/api\";\nimport { toFindDuplicates } from \"helpers/data\";\nimport MyBreadcrumb from \"components/MyBreadcrumb/MyBreadcrumb\";\nimport TapListModal from \"./TapListModal\";\n\nfunction PortfolioList(props) {\n const [show, setShow] = useState(false);\n\n const handleShow = () => setShow(true);\n const [showb, setShowb] = useState(false);\n const handleShowb = () => setShowb(true);\n const [uploadType, setUploadType] = useState(\"asset\");\n const handleCloseb = () => {\n setShowb(false);\n setSuccess(null);\n setError(null);\n setErrorResponse(null);\n setUploadPercent(0);\n };\n const breadcrumbs = [\n {\n op: \"Home\",\n link: \"/\",\n },\n {\n op: \"Portfolio history\",\n link: \"/portfolio-history\",\n },\n ];\n const [showc, setShowc] = useState(false);\n const handleShowc = () => setShowc(true);\n const handleClosec = () => setShowc(false);\n const [isLoading, setLoading] = useState(false);\n const [sortType, setSortType] = useState(null);\n const [uploadPercent, setUploadPercent] = useState(0);\n\n const [deals, setDeals] = useState([]);\n const [monthEndDateList, setMonthEndDateList] = useState([]);\n const [assetTapeList, setAssetTapList] = useState([]);\n const [assetTapeListCopy, setAssetTapListCopy] = useState([]);\n const [selectedTapeAsset, setSelectedTapeAsset] = useState(null);\n const [isUploadStepOneDone, setUploadStepOneDone] = useState(false);\n const [isUploadStepTwoDone, setUploadStepTwoDone] = useState(false);\n const [isUploadStepThreeDone, setUploadStepThreeDone] = useState(false);\n const [isFileOverwrite, setFileOverwrite] = useState(false);\n const [uploadedFile, setUploadedFile] = useState(null);\n const [fileParseData, setFileParseData] = useState([]);\n const [mappingFieldData, setMappingFieldData] = useState([]);\n const [mappingData, setMappingData] = useState(null);\n const [machingData, setMachingData] = useState([]);\n const [error, setError] = useState(null);\n const [isDetailsError, setDetailsError] = useState(null);\n const [errorRespose, setErrorResponse] = useState(null);\n const [success, setSuccess] = useState(null);\n const [searchText, setSearchText] = useState(null);\n const [selectedType, setSelectedType] = useState(\"asset\");\n const appContext = useContext(AppContext);\n const [isTapePreviewOpen, setTapePreviewOpen] = useState(false);\n const [tapeData, setTapData] = useState(null);\n const [tapeCopyData, setTapCopyData] = useState(null);\n const [previewTapeOpenType, setPreviewTapeOpenType] = useState(\"asset\");\n const tapePreviewHandler = (d, type) => {\n setTapData(d);\n setTapCopyData(d);\n setTapePreviewOpen(true);\n setPreviewTapeOpenType(type);\n };\n const tapePreviewCloseHandler = () => {\n setTapePreviewOpen(false);\n setTapData(null);\n setTapCopyData(null);\n getPortfolioHistoryList();\n };\n const handleClose = () => {\n setShow(false);\n setUploadStepOneDone(false);\n setUploadStepTwoDone(false);\n setUploadStepThreeDone(false);\n setSelectedTapeAsset(null);\n setSuccess(null);\n setError(null);\n setDetailsError(null);\n setErrorResponse(null);\n setMonthEndDateList(null);\n setUploadPercent(0);\n };\n const back = () => {\n if (isUploadStepOneDone && isUploadStepTwoDone && isUploadStepThreeDone) {\n setUploadStepThreeDone(false);\n } else if (isUploadStepOneDone && isUploadStepTwoDone) {\n setUploadStepTwoDone(false);\n setUploadStepOneDone(false);\n }\n };\n const searchDeal = (e) => {\n console.log(\"e>>\", e.target.value);\n setSearchText(e.target.value);\n var search = new RegExp(e.target.value, \"gi\");\n const tempAssetTapeList =\n assetTapeListCopy.length &&\n assetTapeListCopy.filter((d) => {\n if (d.dealName.match(search)) return d;\n });\n setAssetTapList(tempAssetTapeList);\n };\n const tableSort = (property) => {\n console.log(property);\n setSortType((t) => {\n if (t == \"asc\") return \"desc\";\n else return \"asc\";\n });\n const tempData = sortedByProperty(assetTapeList, property, sortType);\n setAssetTapList(tempData);\n };\n\n const getPortfolioHistoryList = async () => {\n try {\n setLoading(true);\n let res;\n let temp1;\n if (selectedType == \"asset\") {\n res = await Network.get(API.assetTapeMonth);\n temp1 = await getTapAssetDetailsFromList(res?.data?.responseData);\n } else if (selectedType === \"collection\") {\n res = await Network.get(API.collectionTapeMonth);\n temp1 = await getTapCollectionDetailsFromList(res?.data?.responseData);\n } else {\n res = await Network.get(API.uploadTapeMonth);\n temp1 = await getTapDetailsFromList(res?.data?.responseData);\n console.log(\"all tape>>\", res);\n // temp1 = await getTapCollectionDetailsFromList(res?.data?.responseData);\n }\n if (res?.data?.status == \"Success\")\n // setAssetTapList(res?.data?.responseData);\n setAssetTapListCopy(res?.data?.responseData);\n // const temp2 = await getTapCollectionDetailsFromList(\n // res?.data?.responseData\n // );\n console.log(\"101 res\", { temp1 });\n setAssetTapList([...temp1]);\n setLoading(false);\n } catch (err) {\n console.log(err);\n setLoading(false);\n if (err.response.status == 401) {\n appContext.handleLogout();\n }\n }\n };\n const getTapeAssetDetails = async (data, index) => {\n return new Promise(async (resolve, reject) => {\n try {\n // console.log(\"getTapeAssetDetails\", data, index, data[index].id);\n if (data[index] && data[index]?.id) {\n const res = await Network.get(\n api.assetTapeDetails + \"/\" + data[index].id\n );\n data[index].assetTapeDetails =\n res?.data?.responseData?.assetTapeDetails;\n data[index].mapping = res?.data?.responseData?.mapping;\n resolve(data);\n } else {\n data[index].assetTapeDetails = [];\n data[index].mapping = null;\n resolve(data);\n }\n // if (res.status === \"Success\") {\n } catch (err) {\n // reject(err);\n resolve(data);\n }\n });\n };\n const getTapeCollectionDetails = async (data, index) => {\n return new Promise(async (resolve, reject) => {\n try {\n console.log(data, index, data[index].id);\n if (data[index] && data[index]?.id) {\n const res = await Network.get(\n API.collectionTape + \"/\" + data[index].id\n );\n data[index].collectionTapeDetails =\n res?.data?.responseData?.collectionTapeDetails;\n data[index].mapping = res?.data?.responseData?.mapping;\n resolve(data);\n } else {\n data[index].collectionTapeDetails = [];\n data[index].mapping = null;\n resolve(data);\n }\n // if (res.status === \"Success\") {\n } catch (err) {\n resolve(data);\n }\n });\n };\n const getTapAssetDetailsFromList = (data) => {\n return new Promise((resolve, reject) => {\n Promise.all(\n data.map(async (d, i) => {\n return await getTapeAssetDetails(data, i);\n })\n )\n .then((data1) => {\n console.log(\"all res 1>>\", data, data1);\n // setAssetTapList(data);\n resolve(data);\n })\n .catch((err) => resolve(data));\n });\n };\n const getTapCollectionDetailsFromList = (data) => {\n return new Promise((resolve, reject) => {\n Promise.all(\n data.map(async (d, i) => {\n const temp = await getTapeCollectionDetails(data, i);\n return temp;\n })\n )\n .then((data1) => {\n console.log(\"all res 1>>\", data, data1);\n // setAssetTapList(data);\n resolve(data);\n })\n .catch((err) => resolve(data));\n });\n };\n const getTapDetailsFromList = (data) => {\n return new Promise((resolve, reject) => {\n Promise.all(\n data.map(async (d, i) => {\n if (d?.uploadType.trim().toLowerCase() === \"asset\") {\n return await getTapeAssetDetails(data, i);\n } else {\n return await getTapeCollectionDetails(data, i);\n }\n })\n )\n .then((data1) => {\n console.log(\"all res 1>>\", data, data1);\n // setAssetTapList(data);\n resolve(data);\n })\n .catch((err) => resolve(data));\n });\n };\n const downloadSample = async () => {\n try {\n let res;\n if (uploadType === \"asset\") res = await Network.get(API.sampleTapFileUrl);\n else res = await Network.get(API.sampleCollectionFileUrl);\n console.log(\"res>>>\", res);\n CSVParser.downloadCSVFile(\n res.data,\n uploadType === \"asset\"\n ? \"SampleAssetTapeFile\"\n : \"SampleCollectionTapeFile\"\n );\n } catch (err) {\n console.log(\"err>>\", err.response);\n }\n };\n const docDownload = async (id, fileName, status) => {\n try {\n let data = [];\n let res;\n // if (status === \"asset\") {\n res = await Network.get(API.assetTapeDocDownload + \"/\" + id);\n CSVParser.downloadCSVFile(res.data, fileName);\n // } else {\n // console.log(id);\n // CSVParser.downloadCSVFile(id.toString(), fileName);\n // }\n } catch (err) {\n console.log(\"err>>\", err.response);\n alert(err.response?.data?.Message);\n }\n };\n const errorsDownload = () => {\n // console.log(\"error>>\", errorRespose);\n CSVParser.downloadCSV(uploadType === \"asset\" ? errorRespose : errorRespose);\n };\n const getDeals = async () => {\n try {\n const res = await Network.get(API.getDeals);\n // if (res.status === \"Success\") {\n setDeals(res?.data?.responseData);\n\n // }\n } catch (err) {\n console.log(\"err>>\", err.response);\n }\n };\n const getMothlyPeriod = async (dealId) => {\n try {\n setLoading(true);\n let res;\n if (uploadType === \"asset\") {\n res = await Network.get(API.assetTapeMonth + \"?dealId=\" + dealId);\n } else {\n res = await Network.get(API.collectionTapeMonth + \"?dealId=\" + dealId);\n }\n // if (res.status === \"Success\") {\n setMonthEndDateList(res?.data?.responseData);\n setLoading(false);\n // }\n } catch (err) {\n setLoading(false);\n // if (err.response.status == 401) {\n // \tappContext.handleLogout();\n // }\n }\n };\n const getTapeAsset = async (dealId, date) => {\n try {\n setError(null);\n setDetailsError(null);\n setSuccess(null);\n setLoading(true);\n let res;\n if (uploadType === \"asset\") {\n res = await Network.get(\n API.assetTapeMonth +\n \"?dealID=\" +\n dealId +\n \"&tapeYear=\" +\n dateFormat(date, \"YYYY\") +\n \"&tapeMonth=\" +\n dateFormat(date, \"MM\")\n );\n } else {\n res = await Network.get(\n API.collectionTapeMonth +\n \"?dealID=\" +\n dealId +\n \"&tapeYear=\" +\n dateFormat(date, \"YYYY\") +\n \"&tapeMonth=\" +\n dateFormat(date, \"MM\")\n );\n }\n // if (res.status === \"Success\") {\n const result = res?.data?.responseData;\n if (result.length > 0) {\n setSelectedTapeAsset(result[0]);\n if (result[0].isTapeUploaded) {\n setUploadStepOneDone(true);\n } else {\n setUploadStepOneDone(true);\n setUploadStepTwoDone(true);\n }\n } else {\n // setUploadStepOneDone(true);\n setError(\n \"There are no periods associated with the deal. Please try with another date.\"\n );\n }\n\n // }\n setLoading(false);\n } catch (err) {\n setLoading(false);\n // if (error.response.status == 401) {\n // \tappContext.handleLogout();\n // }\n console.log(\"err>>\", err.response);\n }\n };\n\n const onOverwriteFileSelect = async (type) => {\n if (type) {\n setUploadStepTwoDone(true);\n setFileOverwrite(true);\n } else {\n setUploadStepTwoDone(false);\n setFileOverwrite(false);\n setUploadStepOneDone(false);\n }\n };\n const parseFile = async (e) => {\n try {\n // setUploadedFile(e.target.files[0]);\n // const result = await CSVParser.parse(e.target.files[0]);\n setUploadedFile(e);\n const result = await CSVParser.parse(e);\n console.log(\"101 parse data\", result);\n setFileParseData(result);\n } catch (err) {\n console.log(\"file parse err>>\", err);\n }\n };\n const uploadFile = async () => {\n setUploadStepThreeDone(true);\n setShow(false);\n setUploadStepOneDone(false);\n setUploadStepTwoDone(false);\n setUploadStepThreeDone(false);\n handleShowb();\n\n getMappingData();\n };\n const getMappingData = async () => {\n try {\n setLoading(true);\n let res;\n if (uploadType === \"asset\") res = await Network.get(API.assetTapeMapping);\n else res = await Network.get(API.collectionTapeMapping);\n setMappingFieldData(res.data.responseData);\n // console.log(\"11 res>\", res.data.responseData);\n initialData(res.data.responseData);\n setLoading(false);\n } catch (err) {\n setLoading(false);\n console.log(\"mapping data get error:\", err);\n // if (err.response.status == 401) {\n // \tappContext.handleLogout();\n // }\n }\n };\n const initialData = (mapData) => {\n const tempMatch = [];\n mapData &&\n mapData.length > 0 &&\n mapData.map((m, index) => {\n mapData[index].mappingField = null;\n fileParseData &&\n fileParseData[0] &&\n Object.keys(fileParseData[0]).map((k) => {\n // if (titleToCamel(k).toLowerCase() == m.fieldName.toLowerCase()) {\n if (\n k.trim().toLowerCase() == m.fieldDisplayName.trim().toLowerCase()\n ) {\n if (\n !tempMatch.includes(m.fieldDisplayName.trim().toLowerCase())\n ) {\n tempMatch.push(m.fieldDisplayName.trim());\n }\n return (mapData[index].mappingField = k);\n }\n });\n });\n console.log(\"101 \", fileParseData[0], mapData, tempMatch);\n\n setMappingData(mapData);\n setMachingData(tempMatch);\n };\n const submitTape = async (e) => {\n e.preventDefault();\n setUploadPercent(0);\n setError(null);\n setSuccess(null);\n setDetailsError(null);\n\n setErrorResponse(null);\n let arr = [];\n\n const duplicateElementa = toFindDuplicates(mappingData, \"mappingField\");\n console.log(\"duplicateElementa>> \", duplicateElementa);\n\n mappingData.map((k) =>\n arr.push({ columnName: k.mappingField, PropertyName: k.fieldName })\n );\n // Object.keys(mappingData).map((k) =>\n // arr.push({ columnName: mappingData[k], PropertyName: k })\n // );\n\n let frmData = new FormData();\n frmData.append(\"file\", uploadedFile);\n frmData.append(\"dealId\", selectedTapeAsset?.dealID);\n frmData.append(\n \"tapeMonth\",\n dateFormat(selectedTapeAsset?.tapeMonthEndDate, \"MM\")\n );\n frmData.append(\n \"tapeYear\",\n dateFormat(selectedTapeAsset?.tapeMonthEndDate, \"YYYY\")\n );\n frmData.append(\"mapping\", JSON.stringify(arr));\n try {\n let res;\n if (uploadType == \"asset\") {\n const config = {\n onUploadProgress: (progressEvent) => {\n const { loaded, total } = progressEvent;\n const percent = Math.floor((loaded * 100) / total);\n setUploadPercent(percent);\n console.log(\" 101 onUploadProgress\", progressEvent.loaded, percent);\n },\n };\n res = await Network.post(API.assetTape, frmData, config);\n // console.log(\"post res>>\", res);\n setSuccess(\"Data has been successfully uploaded\");\n setTimeout(() => {\n handleCloseb();\n console.log(\"101 res>>>\", res);\n const { batchDetails } = res?.data?.responseData;\n tapePreviewHandler(batchDetails, uploadType);\n // getPortfolioHistoryList();\n }, 1000);\n } else {\n const config = {\n onUploadProgress: (progressEvent) => {\n const { loaded, total } = progressEvent;\n const percent = Math.floor((loaded * 100) / total);\n setUploadPercent(percent);\n console.log(\" 101 onUploadProgress\", progressEvent.loaded, percent);\n },\n };\n res = await Network.post(API.collectionTape, frmData, config);\n setSuccess(\"Data has been successfully uploaded\");\n console.log(\"102 res\", res);\n\n setTimeout(() => {\n handleCloseb();\n const { batchDetails } = res?.data?.responseData;\n tapePreviewHandler(batchDetails, uploadType);\n // getPortfolioHistoryList();\n }, 1000);\n }\n } catch (err) {\n console.log(\"post err>>\", err, err.response);\n\n if (err.response.status == 401) {\n appContext.handleLogout();\n }\n if (err.response?.data?.responseData) {\n setError(\"Some fields are missing.\");\n setDetailsError(true);\n console.log(\n \"101 uploadErrors\",\n err.response?.data?.responseData?.uploadErrors\n );\n setErrorResponse(err.response?.data?.responseData?.uploadErrors);\n }\n if (err.response?.data?.Message) {\n setError(err.response?.data?.Message);\n setDetailsError(null);\n\n setErrorResponse([]);\n }\n }\n };\n useEffect(() => {\n getPortfolioHistoryList();\n getDeals();\n }, []);\n useEffect(() => {\n getPortfolioHistoryList();\n // getDeals();\n }, [selectedType]);\n // useEffect(() => {\n // \tsearchHandler();\n // }, [search]);\n\n return (\n <>\n \n
    \n \n\n
    \n
    \n \n {/* \n\t\t\t\t\t\tAdd \n\t\t\t\t\t */}\n\n \n\n {/* \n\t\t\t\t\t\tUpload Tape \n\t\t\t\t\t */}\n \n \n
    \n \n {/*
    \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\t\n\t\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
    \n\t\t\t\t\t\t
    */}\n
    \n {/*
    */}\n \n Add \n \n {/*
    */}\n
    \n
    \n
    \n
    \n \n
    \n setSelectedType(e?.target?.value)}\n style={{ marginTop: 10 }}\n >\n \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 PortfolioList;\n","import AamsHeader from \"components/AamsHeader\";\nimport SideBar from \"components/SideBar\";\nimport React from \"react\";\nimport \"./ErrorPage.scss\";\nimport { getErrorMessage } from \"helpers/utils\";\n\nexport default function ErrorPage() {\n return (\n <>\n
    \n \n
    \n
    \n
    \n
    {getErrorMessage()}
    \n
    \n
    \n
    \n
    \n \n );\n}\n","import React from \"react\";\nimport { BrowserRouter, Route, Switch, Redirect } from \"react-router-dom\";\n// pages for this kit\nimport Index from \"views/Index.js\";\nimport Dashboard from \"views/dashboard\";\nimport DealList from \"views/deal-listing.js\";\nimport AddDeals from \"views/add-deals.js\";\nimport Engagelist from \"views/engage-list.js\";\nimport EngagementDetails from \"views/EngagementDetails\";\nimport DealEngagement from \"views/DealEngagement/index.js\";\nimport Blankpage from \"views/blankPage.js\";\nimport Dragpage from \"components/dnd.js\";\nimport LoginPage from \"views/login\";\nimport PrivateRoute from \"PrivateRoute\";\nimport PublicRoute from \"PublicRoute\";\nimport PortfolioList from \"views/PortfolioHistory/index.js\";\nimport ErrorPage from \"views/ErrorPage/ErrorPage\";\n\nexport default function Router() {\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","import React, { createContext } from \"react\";\nimport Router from \"./Router\";\nimport { MsalProvider } from \"@azure/msal-react\";\nimport { logout } from \"helpers/utils\";\nimport { useDispatch } from \"react-redux\";\nimport { handleAzureLogout } from \"components/AzureButton\";\nimport CacheBuster from \"react-cache-buster\";\nimport { version } from \"../package.json\";\nexport const AppContext = createContext({});\n\nexport default function App({ msalInstance }) {\n const dispatch = useDispatch();\n const handleLogout = async (mode = null) => {\n console.log(\"101 log mode>>\", mode);\n if (mode !== \"logout\") {\n alert(\"Your session has timed out due to inactivity\");\n }\n await handleAzureLogout(msalInstance);\n\n await logout();\n\n dispatch({\n type: \"USER_LOGOUT\",\n });\n };\n const { configData } = window;\n return (\n \n } //If not pass, nothing appears at the time of new version check.\n metaFileDirectory={\".\"}\n >\n \n \n \n \n \n );\n}\n","import { STORE_CLIENT_ACTION } from \"actions/homeAction\";\nimport { UPDATE_CLIENT_ACTION } from \"actions/homeAction\";\n\nconst initialState = {\n\tclient_id: null,\n\tclients: [],\n};\n\nconst homeReducer = (state = initialState, action) => {\n\t// const newState = { ...state };\n\tconsole.log(\"action>>\", action, state);\n\tswitch (action.type) {\n\t\tcase UPDATE_CLIENT_ACTION:\n\t\t\treturn { ...state, client_id: action.payload.clientId };\n\t\tcase STORE_CLIENT_ACTION:\n\t\t\treturn { ...state, clients: action.payload.clients };\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport default homeReducer;\n","import { combineReducers } from \"redux\";\nimport storage from \"redux-persist/lib/storage\";\nimport homeReducer from \"./homeReducer\";\n\nconst appReducer = combineReducers({ home: homeReducer });\nconst rootReducer = (state, action) => {\n\tif (action.type === \"USER_LOGOUT\") {\n\t\tstorage.removeItem(\"persist:root\");\n\t\treturn appReducer(undefined, action);\n\t}\n\n\treturn appReducer(state, action);\n};\nexport default rootReducer;\n","import React, { createContext } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { BrowserRouter, Route, Switch, Redirect } from \"react-router-dom\";\n\n// styles for this kit\nimport \"assets/css/bootstrap.min.css\";\nimport \"assets/scss/now-ui-kit.scss?v=1.5.0\";\nimport \"assets/demo/demo.css?v=1.5.0\";\nimport \"assets/demo/nucleo-icons-page-styles.css?v=1.5.0\";\n\nimport { PublicClientApplication } from \"@azure/msal-browser\";\nimport { msalConfig } from \"./authConfig\";\nimport App from \"./App\";\nimport { Provider } from \"react-redux\";\nimport { applyMiddleware, createStore } from \"redux\";\nimport rootReducer from \"reducers\";\nimport thunk from \"redux-thunk\";\nimport { persistStore, persistReducer } from \"redux-persist\";\nimport storage from \"redux-persist/lib/storage\";\nimport { PersistGate } from \"redux-persist/integration/react\";\n\nexport const AppContext = createContext({});\n\nexport const msalInstance = new PublicClientApplication(msalConfig);\nconst persistConfig = {\n\tkey: \"root\",\n\tstorage,\n};\n\nconst persistedReducer = persistReducer(persistConfig, rootReducer);\nlet store = createStore(persistedReducer, applyMiddleware(thunk));\nlet persistor = persistStore(store);\n\nReactDOM.render(\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t,\n\tdocument.getElementById(\"root\")\n);\n"],"sourceRoot":""}