{"version":3,"sources":["assets/images/isotipo.png","assets/images/distintivo.png","assets/images/screen1.gif","assets/images/opa-footer.png","assets/images/sidebar/menu.svg","assets/images/sidebar/home.svg","assets/images/sidebar/data.svg","assets/images/sidebar/notification.svg","assets/images/not_image.png","oidcsettings.js","api/configuration.js","api/NotificationService.js","api/CompanyService.js","api/CampaignService.js","api/PlatformUserService.js","api/ConfigurationService.js","api/IndicatorService.js","api/LoanService.js","api/TestService.js","AuthenticationStore.js","components/utils/utils.js","views/pages/Login/index.js","components/ui/SplashScreen/index.js","views/pages/Home/Welcome.js","components/PrivateRoute.js","components/Notification/Notifications.js","components/utils/useInterval.js","components/ui/navbar.js","views/pages/configuration/General/index.js","components/Campaign/Preview.js","components/Campaign/Segmentation.js","components/Campaign/Surveys.js","components/utils/decodeCron.js","components/Campaign/SMSNotification.js","components/Campaign/EmailNotification.js","components/utils/camelize.js","views/pages/campaigns/New.js","views/pages/configuration/Campaigns/index.js","components/Configuration/ImportProfile/Shema.js","components/Configuration/ImportProfile/index.js","components/Configuration/DataOrigin/index.js","views/pages/configuration/RiksProfile/index.js","views/pages/configuration/SEDConfiguration/index.js","views/pages/configuration/ERPConfiguration/index.js","views/pages/configuration/MailingConfiguration/index.js","views/pages/configuration/SMSConfiguration/index.js","views/pages/configuration/ProviderSignature/index.js","views/pages/configuration/index.js","views/pages/campaigns/Campaigns.js","components/Charts/Bar.js","components/Charts/Line.js","components/Charts/Pie.js","views/pages/campaigns/CampaignDashboard.js","views/pages/Indicators/index.js","views/pages/Administrator/CompanyModal.js","components/PrivateRouteAdmin.js","views/pages/Administrator/UserModal.js","views/pages/Administrator/Users.js","views/pages/Administrator/Companies.js","views/pages/Administrator/Invitations.js","views/pages/Administrator/index.js","views/pages/Home/index.js","components/Sandbox/index.js","App.js","serviceWorker.js","index.js","logo.svg"],"names":["module","exports","OidcSettings","authority","process","client_id","post_logout_redirect_uri","window","location","origin","redirect_uri","response_type","revokeAccessTokenOnSignout","scope","Configuration","token","user","prefix","baseURL","companyId","REACT_APP_COMPANY_ID","API","this","axios","create","defaults","headers","common","response","Error","status","error","console","log","message","NotificationService","config","get","params","then","handleResponseError","data","notificationId","CompanyService","take","skip","company","post","formData","receiver","subject","contact","CampaignService","variableName","campaignId","undefined","objectCampaign","body","Object","assign","CampaignId","Skip","Take","TypeCustomerCampaign","applyQueryCentralRisk","applyUpdateData","projectedCustomer","projectedAmount","targetAmount","targetCustomer","PlatformUserService","catch","err","email","userRole","invitationId","platformUserId","id","userName","mobile","ConfigurationService","configuration","typeProviderIntegration","pr","disarrayConfiguration","erp","sed","mailing","sms","IndicatorService","dateSearch","moment","format","LoanService","creditRequest","guaranteeCode","initialDatePayment","loanCost","loanDestination","loanType","maxFee","term","typeFee","TestService","DEFAULT_REDIRECT_CALLBACK","history","replaceState","document","title","pathname","AuthContext","React","createContext","useAuth","useContext","AuthProvider","children","onRedirectCallback","useState","isAuthenticated","setIsAuthenticated","setUser","loading","setLoading","loadingUser","setLoadingUser","isNewUser","setIsNewUser","errors","setErrors","notificationService","setNotificationService","companyService","setCompanyService","campaignService","setCampaignService","platformUserService","setPlatformUserService","configurationService","setConfigurationService","indicatorService","setIndicatorService","loanService","setLoanService","testService","setTestService","userManager","UserManager","userContext","setUserContext","useEffect","a","events","addUserLoaded","onUserLoaded","addUserUnloaded","onUserUnloaded","addUserSignedOut","onUserLogout","addAccessTokenExpiring","getUser","expired","href","includes","signinRedirectCallback","initAuth","access_token","profile","name","searchContext","apiService","getAuthContext","result","object","invitation","localStorage","clear","sessionStorage","signoutRedirectCallback","removeUser","Provider","value","logout","signoutRedirect","signin","signinRedirect","server","proccessError","cdResult","errorCath","errorsArray","tempErrorsArray","i","length","errorElement","push","exception","Exception","validateRequired","requireds","properties","field","Login","useForm","handleSubmit","register","errorsSendEmail","setErrorsSendEmail","okSendEmail","setOkSendEmail","onSubmit","values","sendEmail","request","className","style","backgroundColor","REACT_APP_SANDBOX","height","width","src","distintivo","alt","type","htmlFor","disabled","onClick","role","borderRadius","color","padding","defaultChecked","fontSize","fontWeight","paddingBottom","textAlign","screen1","map","index","key","hidden","marginTop","placeholder","ref","required","rows","border","boxShadow","isotipo","target","rel","logoopa","right","position","paddingRight","SplashScreen","logo","xmlns","version","in","stdDeviation","mode","in2","Component","Welcome","setError","show","setShow","setTimeout","requestInformation","dismissInvitation","reload","handleClose","createPlatformUser","Modal","open","onClose","closeIcon","Header","Content","Form","Group","widths","Input","fluid","label","PrivateRoute","component","rest","render","props","Notifications","notifications","setNotifications","modalDetail","setModalDetail","largeMessage","shortMessage","messageDetail","setMessageDetail","getNotifications","responseNotifications","callback","delay","savedCallback","useRef","current","setInterval","clearInterval","useInterval","discardMessage","readNotification","data-toggle","notificationSVG","aria-labelledby","item","notificationDate","class","size","Actions","NavBar","$","on","toggleClass","to","indexOf","menuSVG","justifyContent","dataSVG","homeSVG","General","Container","Preview","cdCampaignConfiguration","onChangeValuesObject","modification","errorsPreview","totalCustomers","setTotalCustomers","loadingCustomers","setLoadingCustomers","pagesCustomers","setPagesCustomers","exceptionInfo","setExceptionInfo","pageSize","setPageSize","page","setPage","setProjectedAmount","onChangeProjectedAmount","useCallback","newValue","setProjectedCustomer","onChangeProjectedCustomer","ev","setTargetAmount","setTargetCustomer","radioFilterCustomers","setRadioFilterCustomers","handleChangeRadioFilterCustomers","_","fetchData","setData","columns","accessor","Cell","displayType","thousandSeparator","setApplyUpdateData","setApplyQueryCentralRisk","toString","updateValues","cdCampaignConfigurationTempData","creationDate","finishDate","guarantee","legalizationForm","nameDestination","nameGuarantee","startDate","handleChangeApplyUpdateData","checked","handleChangeApplyQueryCentralRisk","state","getCustomersCampaign","campaignCustomers","Math","ceil","totalCustomer","totalAmount","cdExceptions","filter","severityException","readOnly","setReadOnly","Grid","Row","onChange","allowDecimals","decimalsLimit","onBlur","Checkbox","toggle","marginBottom","totalNotGoodInformationAmount","totalNotGoodInformationCustomer","totalNotGoodCentralRiskAmount","totalNotGoodCentralRiskCustomer","Column","Message","info","Radio","instance","manual","defaultPageSize","onFetchData","pages","minRows","previousText","nextText","pageText","ofText","rowsText","defaultFilterMethod","row","startsWith","endsWith","negative","list","defaultProps","Segmentation","cdFiltersCampaign","varsStructure","setVarsStructure","modalSegmentValues","setModalSegmentValues","optionsAttribute","setOptionsAttribute","getAllVariablesCampaign","res","alert","verifyCheck","attribute","validateSupplied","internalIndex","findIndex","errorsList","setErrorsList","onChangeInputRange","varsCopy","valueReplace","minValue","Number","maxValue","options","getVarValueAttribute","closeModalSegmentationValues","segmentation","Divider","fitted","tablet","computer","cultureName","__","typo","checkVar","trigger","Label","circular","Icon","getOptionVariableCampaign","optionsAttributeTemp","listValue","text","getOptionsAttribute","Description","Select","data-name","data-is-options","multiple","Field","data-is-min","data-is-max","Button","Surveys","cdNotificationSurvey","cdPaymentSurvey","notificationQuestion","setNotificationQuestion","paymentQuestion","setPaymentQuestion","notificationAnswer","setNotificationAnswer","paymentAnswer","setPaymentAnswer","cdNotificationSurveyDataSource","question","answer","cdPaymentSurveyDataSource","onChangeNotificationQuestion","onChangePaymentQuestion","onChangeNotificationAnswer","copyAnswer","cdNotificationSurveyTemp","onChangePaymentAnswer","cdPaymentSurveyTemp","panes","menuItem","Tab","Pane","attached","data-index","surveys_notification","surveys_payment","menu","pointing","Array","decodeCron","cron","minutes","split","hours","varsSMS","display","defaultMentionStyle","defaultStyle","highlighter","input","minHeight","left","control","overflow","margin","suggestions","borderBottom","SMSNotification","cdSmsNotification","cdSmsNotificationDataSource","template","setTemplate","sendMessage","setSendMessage","days","setCronDays","setCronHours","cronDays","cronHours","onChangeSendMessage","onChangeCronDays","test","errorsInput","setErrorsInput","cronHoursTemp","cronExpression","onChangeCronHours","setErrorTimeOut","errorsInputTemp","inputsErrorsTempTrue","inputsErrorsTempFalse","element","TextArea","data-error","basic","listVars","EmailNotification","cdEmailNotification","countMount","setCounMount","editor","editorConfig","extraButtons","exec","btnArgs","selection","insertHTML","args","iconURL","tooltip","language","readonly","cdEmailNotificationDataSource","setSubject","onChangeSubject","onChangePlain","singleLine","tabIndex","newContent","camelize","str","replace","match","toLowerCase","toUpperCase","New","cdOriginal","generalErrors","idCampaign","informationChange","loadInitial","loadingData","modalConfirmLauch","modalSuccess","notificationText","showToast","step","getStepForField","setState","nextStep","saveConfigurationStorage","resultSave","objectErrors","forEach","prevStep","initSearchCustomers","tempErrors","handleChange","event","closeModalSuccess","initFilterCampaign","queueFilterCampaign","getStep","saveStep","changeValuesCd","typeObjectName","copyCdObject","changeObjectCd","objectCd","isEqual","onChangeinformation","youCanSearchCustomers","statusCampaign","saveAndClose","launchCampaign","closeModalConfirmLauch","queueLaunchCampaign","resultLauch","tempErrorList","onChangeService","service","loadCampaign","comfirmLaunchCampaign","getConfigurationCampaign","JSON","parse","stringify","actualStep","cdCampaignConfigurationData","dueDay","cdFiltersCampaignData","cdNotificationSurveyData","cdPaymentSurveyData","originalConfiguration","newConfiguration","validations","validationsGeneralData","validationsSegmentation","cdSmsNotificationData","cdEmailNotificationData","validationsSurveys","saveConfigurationCampaign","keys","onGeneralConfiguration","Step","active","completed","warning","header","Segment","aria-label","GeneralData","Date","setCreationDate","setLoanDestination","setLoanType","dueDays","setDueDays","getConfiguration","companyConfiguration","setNameDestination","generalConfiguration","tempDueDays","loadConfigurationCampaign","cdCampaignConfigurationDataSource","setFinishDate","setLegalizationForm","setName","setStartDate","setDueDay","setErrorKey","onChangeName","onChangeFinishDate","onChangeStartDate","onChangeDueDay","NotificationPopPup","addToast","useToasts","appearance","autoDismiss","TokenService","optionsDueDays","day","Campaigns","useFieldArray","fields","append","remove","daysQueryCentralRisk","setDaysQueryCentralRisk","onChangeDaysQueryCentralRisk","daysUpdateData","setDaysUpdateData","onChangeDaysUpdateData","guaranteeType","setGuaranteeType","onChangeGuaranteeType","setOriginalConfiguration","loans","setLoans","destinations","setDestinations","onChangeLoanType","onChangeLoanDestination","nameDestinationSelected","find","getList","responseCompany","appsClientsResponse","appClients","client","getLoanType","messagesExepctions","destinationsObject","loanTypeCode","itemLoan","keyLoan","loanDestinationName","loanDestinationCode","loanTypeName","saveConfiguration","generalConfig","responseSveConfig","messages","setMessagesExepctions","setShowToast","onDismiss","search","Table","HeaderCell","colSpan","float","enabled","Body","defaultValue","clientId","description","querySelector","dispatchEvent","Event","cancelable","Schema","ImportProfile","providerProp","providersProp","changeProvider","notProperties","providers","setProviders","provider","setProvider","modalShema","setModalSchema","setProperties","changeCheckProvider","Shema","Image","notImageContent","rounded","detail","providerId","data-provider","schema","items","DataOrigin","dataSourceProp","updateDataSource","schemaStructureProp","uploadFile","schemaStructure","setSchemaStructure","schemaProperties","setSchemaProperties","schemaAditionalProperties","setSchemaAditionalProperties","keysStructure","keysSchemaAditionalProperties","hasOwnProperty","call","propertie","subKey","subPropertie","order","type1","labale","accept","min","minimum","aditionalField","data-aditional-prop","RiskProfile","requiredConfigSchema","setRequiredConfigSchema","setProviderId","isUploadFile","messageUpload","setMessageUpload","dataSource","setDataSource","loadProviders","getProvidersIntegration","loadConfiguration","arrayConfig","loadData","useRouteMatch","path","url","changeShemaProvider","objectProvider","configurationSchema","changeValue","tempObjSchema","additionalParams","additionalParameter","validateData","FormData","file","files","upFile","positive","Dimmer","inverted","Loader","Menu","tabular","Item","as","NavLink","exact","from","tempProvider","SEDConfiguration","ERPConfiguration","MailingConfiguration","SMSConfiguration","ProviderSignature","digitalSign","vertical","paddingLeft","ConfigurationGeneral","ConfigurationCampaigns","ConfigurationRiksProfile","SelectStatusFilter","filterValue","column","dataCampaigns","setDataCampaigns","setLoadData","dialongDiscard","setDialongDiscard","campaignInfo","setCampaignInfo","getCampaigns","responseCampaigns","close","discardCampaigAlert","discardCampaign","dataTemp","splice","ms","loadingText","noDataText","pageJumpText","rowsSelectorText","filterable","d","filterMethod","utc","Filter","_original","cellInfo","original","Bar","setOptions","series","setSeries","categories","dataLabels","formatter","val","opt","offsetX","textAnchor","y","isAmount","amount","currency","xaxis","yaxis","labels","seriesMultiple","Line","chart","zoom","grid","colors","opacity","stroke","curve","Pie","responsive","breakpoint","legend","CampaignDashboard","useParams","dashboardName","setDashboardName","categoriesIndicatorCustomerForDays","setCategoriesIndicatorCustomerForDays","seriesIndicatorCustomerForDays","setSeriesIndicatorCustomerForDays","categoriesIndicatorAmountForDays","setCategoriesIndicatorAmountForDays","seriesIndicatorAmountForDays","setSeriesIndicatorAmountForDays","categoriesIndicatorMultiBarCustomerForDays","setCategoriesIndicatorMultiBarCustomerForDays","seriesIndicatorMultiBarCustomerForDays","setSeriesIndicatorMultiBarCustomerForDays","categoriesIndicatorMultiBarAmountForDays","setCategoriesIndicatorMultiBarAmountForDays","seriesIndicatorMultiBarAmountForDays","setSeriesIndicatorMultiBarAmountForDays","categoriesIndicatorAmountChannel","setCategoriesIndicatorAmountChannel","seriesIndicatorAmountChannel","setSeriesIndicatorAmountChannel","categoriesIndicatorCustomerChannel","setCategoriesIndicatorCustomerChannel","seriesIndicatorCustomerChannel","setSeriesIndicatorCustomerChannel","categoriesIndicatorMultiBarCustomerForMonthAndChannel","setCategoriesIndicatorMultiBarCustomerForMonthAndChannel","seriesIndicatorMultiBarCustomerForMonthAndChannel","setSeriesIndicatorMultiBarCustomerForMonthAndChannel","categoriesIndicatorMultiBarAmountForMonthAndChannel","setCategoriesIndicatorMultiBarAmountForMonthAndChannel","seriesIndicatorMultiBarAmountForMonthAndChannel","setSeriesIndicatorMultiBarAmountForMonthAndChannel","categoriesIndicatorSurveyDeclined","setCategoriesIndicatorSurveyDeclined","seriesIndicatorSurveyDeclined","setSeriesIndicatorSurveyDeclined","categoriesIndicatorApprovedSurveyAmount","setCategoriesIndicatorApprovedSurveyAmount","seriesIndicatorApprovedSurveyAmount","setSeriesIndicatorApprovedSurveyAmount","categoriesIndicatorApprovedSurveyCustomer","setCategoriesIndicatorApprovedSurveyCustomer","seriesIndicatorApprovedSurveyCustomer","setSeriesIndicatorApprovedSurveyCustomer","getDashboardCampaign","indicators","indicatorCustomerForDays","indicatorAmountForDays","indicatorMultiBarCustomerForDays","nameCategory","indicatorMultiBarAmountForDays","indicatorAmountChannel","indicatorCustomerChannel","indicatorMultiBarCustomerForMonthAndChannel","indicatorMultiBarAmountForMonthAndChannel","indicatorSurveyDeclined","indicatorApprovedSurveyAmount","indicatorApprovedSurveyCustomer","getDetailCampaign","paginate","array","page_size","page_number","slice","Indicators","useHistory","dataDahboard","setDataDahboard","dataDashboardPagination","setDataDashboardPagination","totalPage","setTotalPage","listCampaings","setListCampaings","getCompanyControlPanel","listCampaingsTemp","getListDashboard","optionsChartDashboard","offsetY","fill","gradient","inverseColors","opacityFrom","opacityTo","shade","shadeIntensity","stops","plotOptions","radialBar","endAngle","startAngle","track","background","shadow","blur","top","strokeWidth","Dropdown","previousLabel","nextLabel","breakLabel","pageCount","marginPagesDisplayed","pageRangeDisplayed","onPageChange","selected","containerClassName","pageLinkClassName","previousClassName","nextClassName","previousLinkClassName","nextLinkClassName","pageClassName","activeClassName","breakClassName","breakLinkClassName","campaign","passDays","missingDays","seeCustomer","notSeeCustomer","percentageAmount","toFixed","percentageCustomer","PrivateRouteAdmin","RolOptionsInvitations","UserModal","errorsApi","setErrorsApi","setValue","modifyPlatformUser","arrayErrors","List","Users","modalUser","setModalUser","editData","setEditData","minWidth","userState","openModalEdit","changeStatusteUser","getPlatformUsers","inactivatePlatformUser","activatePlatformUser","optionsNumeric","valueString","CompanyModal","numberCron","setNumberCron","createCompany","temporal","updateCompany","changeNumberCron","companyName","identification","activeUsers","pattern","monthlyLoan","concurrentCampaigns","contactName","contactPhone","Companies","modalCompany","setModalCompany","getCompanies","disableCompany","enableCompany","activateCompany","openModalEditCompany","floated","Invitations","triggerValidation","setEmail","setUserRole","generatedDate","statusInvitation","updatedInvitation","cancelInvitation","getInvitations","invitations","createInvitation","clearForm","updateInvitation","alignItems","e","Administrator","stretched","Home","roleAdmin","setRoleAdmin","roleMap","el","platformRoute","CampaignsNew","Sandbox","zIndex","borderBottomRightRadius","App","basename","Boolean","hostname","ReactDOM","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.a79c707a.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/isotipo.8105597f.png\";","module.exports = __webpack_public_path__ + \"static/media/distintivo.b30e17ad.png\";","module.exports = __webpack_public_path__ + \"static/media/screen1.8c454b66.gif\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFMAAAAeCAMAAABnqtKAAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAADAUExURUdwTP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4Y54B8AAAA/dFJOUwC0NMj85vf0xCTpzAvw8hzs+qyOr0jPFgggPbop/g7ca05XiRKlZ+2/AoS21y9fBWTUyu6yS3vfT0F2ldGRnuTNUqEAAAJZSURBVEjH5ZXXdtpAFEUPoIZE79VgujHYgGtJsv//r/KAhQrDynLit5w3bWCvmTuagyRJ2tZzdtXO1bdKJltvubitejaJt1PPdmxvOtDFdGtDPtPIx3i+gYl359HXuxeUzSJRik8XeDPEb8sYrvSMymsLwPVqngNgXSe4c+gfEvytCmDt+3sLoGqS5l3AX3QkFRY24B63mS8BlXFBUmFcAUp5Ser6QPF9Jmn2XAT88rnzFghC3g6AviSpBuxDXt4DGUlqAKNwuPkRUDtTZgG/fXps20BW0naYWELZB7bSYAgP0XnlSzA8O/06sIg93wF1SVNgHONjYCqtU/gdWKedOXAKseeOAy1JhxQvOHCQclC9iuFZFby004ZcAnhQklRM8xwUpQcIEjiAStppfc7+lEdAEvCY4BlAAhoGnMyDYZ2upGF6T0fuwCqBVwZnkJ6ne5wn4HZS/Ie0geVNDN8vDc46sDOcO8AkxifAh/QLaMbwEwZnFrAN7yfAS3TCVyOgJ10DwX20zB8mp/pA0D67RwCsQunViuPcbzbAPNz9/RyjM+8C9l1HUufOBtzBycnmuM/mBqhmJak5BPrHmzToY3bq1QIorWqeC2AdpwgAMJp/zEcQXZ81gHX7vHi+tbjk1FMpVoilz0oD/GqMV08X+CfxOGZnvM8fw0IAMr3WibdiNbmrRE298y44pew08PGDafS/A2R0M6ktgWVtEn8nNVu/APCybuuy8zxhX6rQLRg+Lvdee+VYPXzN+YfUDB3yr87BqLL7budX8j87K+lC/4ZMHjbZv/zpb5OQkuRLLsgTAAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"static/media/menu.0eff7cfa.svg\";","module.exports = __webpack_public_path__ + \"static/media/home.7c2e5a1f.svg\";","module.exports = __webpack_public_path__ + \"static/media/data.58042ad6.svg\";","module.exports = __webpack_public_path__ + \"static/media/notification.51e5bca5.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAACmAgMAAADiyCgnAAAADFBMVEXn6OnBw8W8vsDLzM6ojttyAAAB3UlEQVRo3u2YMW7CQBBFB69EgRIfwEfIAShIwwnSUQQpZRoqNykjcQQ3SSREkSIWWdsFR/AJ0kaiSb8VFSmTtdc2hICYT5ogzcjCksXT9/ydmV2ZEjhIEEEEEUQQQVw8rWCkr1BEExkQeSHqgUhG1MGRNohMcSQ7CkFzeSUK0KWE1yVOQpVMIOR5NFskbxDSt2+lFYLovFvUjAGQWeFwtqfKaM/aXyRJSj6AzMvHeYuP6NxzoGEjqSuWbHcB0O5UAke22Ug8cPfB8KRHX/x+c7d1LQ4gtue3o30AyXBEVHAV9XH/uXEtGSredoMeVvFR5CiVAhliKuf2R42aBxFDxU6icGNOMHPJqQs6Zvd8H1RJN5GI5ZhFPNCxSiU13FxaNZIFgGOueqMONxcrMC43o9AHVKbKNNsLs8b0yp3IgBqrT2SG7VgRk6KlA6hfrux/SxMiblfaY8LYrQ5bxR4TcirfkduV9nZpx5FCHJvTWTHCDN8xnbupF/BzSatB2eM7Vo9Zn68SVUiL71i/QhTbMd1MfcN1bNYgATeX9SbT407+sEF8/rSsw2M6ts7eWsZzTN8+XlfXA9CVf9nFon+zV6qvH7GUk9KJqsSDXzGUTzeCCCKIIIIIIogggnDiGyxDx13f6st+AAAAAElFTkSuQmCC\"","export const OidcSettings = {\r\n authority: process.env.REACT_APP_AUTHORITY,\r\n client_id: process.env.REACT_APP_CLIENT_ID,\r\n post_logout_redirect_uri: `${window.location.origin +\r\n process.env.REACT_APP_SUB_FOLDER}/login`,\r\n redirect_uri: `${window.location.origin + process.env.REACT_APP_SUB_FOLDER}/`,\r\n response_type: \"id_token token\",\r\n revokeAccessTokenOnSignout: true,\r\n scope: \"openid profile opa-cd-api email\"\r\n};\r\n","import axios from \"axios\";\r\n\r\nclass Configuration {\r\n baseURL = process.env.REACT_APP_BASE_URL;\r\n companyId = process.env.REACT_APP_COMPANY_ID;\r\n\r\n user = \"\";\r\n\r\n API = {};\r\n\r\n constructor(token, user, prefix) {\r\n const baseURL = prefix ? this.baseURL + prefix : this.baseURL;\r\n this.API = axios.create({ baseURL });\r\n\r\n if (token)\r\n this.API.defaults.headers.common[\"Authorization\"] = `Bearer ${token}`;\r\n if (user) this.user = user;\r\n }\r\n\r\n handleResponseError(response) {\r\n throw new Error(\"HTTP error, status = \" + response.status);\r\n }\r\n\r\n handleError(error) {\r\n // eslint-disable-next-line no-console\r\n console.log(error.message);\r\n }\r\n}\r\n\r\nexport default Configuration;\r\n","import Configuration from \"./configuration\";\r\n\r\nclass NotificationService {\r\n constructor(token, user) {\r\n this.config = new Configuration(token, user, \"api/Notification\");\r\n }\r\n\r\n /**\r\n * @method getNotifications list of notifications for user\r\n * @return {Promise} result object notifications\r\n */\r\n getNotifications() {\r\n return this.config.API.get(`GetNotifications`, {\r\n params: {\r\n user: this.config.user\r\n }\r\n }).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method readNotification discard notification\r\n * @return {Promise} result object notifications\r\n */\r\n readNotification(notificationId) {\r\n return this.config.API.get(`ReadNotification`, {\r\n params: {\r\n notificationId\r\n }\r\n }).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n}\r\n\r\nexport default NotificationService;\r\n","import Configuration from \"./configuration\";\r\n\r\n/**\r\n * @deprecated replaced for ConfigurationService. Not use\r\n */\r\nclass CompanyService {\r\n constructor(token) {\r\n this.config = new Configuration(token, null, \"api/Company\");\r\n }\r\n\r\n /**\r\n * @method getCompanies list companies\r\n * @return {Promise} result object providers\r\n */\r\n async getCompanies(take = 5, skip = 0) {\r\n return this.config.API.get(`GetCompanies`, {\r\n params: {\r\n skip,\r\n take\r\n }\r\n }).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method createCompany create company\r\n * @return {Promise} result object providers\r\n */\r\n async createCompany(company) {\r\n return this.config.API.post(`CreateCompany`, company).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method updateCompany update company\r\n * @return {Promise} result object providers\r\n */\r\n async updateCompany(company) {\r\n return this.config.API.post(`UpdateCompany`, company).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method disableCompany disable xompany\r\n * @return {Promise} result object providers\r\n */\r\n async disableCompany(companyId) {\r\n return this.config.API.get(`DisableCompany`, {\r\n params: {\r\n companyId\r\n }\r\n }).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method activateCompany update company\r\n * @return {Promise} result object providers\r\n */\r\n async activateCompany(companyId) {\r\n return this.config.API.get(`ActivateCompany`, {\r\n params: {\r\n companyId\r\n }\r\n }).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method upFile upload file\r\n * @return {Promise}\r\n */\r\n async upFile(formData) {\r\n return this.config.API.post(`UpFile`, formData, {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\"\r\n }\r\n }).then(response => {\r\n if (response.status !== 200)\r\n return this.config.handleResponseError(response);\r\n return response.data;\r\n });\r\n }\r\n\r\n\r\n /**\r\n * @method sendEmail send email contact\r\n * @return {Promise}\r\n */\r\n async sendEmail(message, receiver, subject, contact) {\r\n return this.config.API.post(`SendEmail`, {\r\n message,\r\n receiver,\r\n subject,\r\n contact\r\n }).then(response => {\r\n if (response.status !== 200)\r\n return this.config.handleResponseError(response);\r\n return response.data;\r\n });\r\n }\r\n}\r\n\r\nexport default CompanyService;\r\n","import Configuration from \"./configuration\";\r\n\r\nclass CampaignService {\r\n constructor(token) {\r\n this.config = new Configuration(token, null, \"api/Campaign\");\r\n }\r\n\r\n async getAllVariablesCampaign() {\r\n return this.config.API.get(`GetAllVariablesCampaign`).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n getOptionVariableCampaign(variableName) {\r\n return this.config.API.get(`GetOptionVariableCampaign`, {\r\n params: {\r\n variableName\r\n }\r\n }).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method getConfigurationCampaign list configuration campaign\r\n * @param {String} campaignId id exist campaign\r\n * @return {Promise} result configuration\r\n */\r\n getConfigurationCampaign(campaignId) {\r\n return this.config.API.get(`GetConfigurationCampaign`, {\r\n params: { campaignId }\r\n }).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method saveConfigurationCampaign save configuration campaign or get campaign configuration\r\n * @return {Promise} result configuration\r\n */\r\n saveConfigurationCampaign(campaignId = undefined, objectCampaign = {}) {\r\n const body = Object.assign(\r\n {\r\n campaignId\r\n },\r\n objectCampaign\r\n );\r\n\r\n return this.config.API.post(`SaveConfigurationCampaign`, body).then(\r\n response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * @method getCustomersCampaign list all customer for campaign\r\n * @param {UUID} CampaignId identity campaign\r\n * @param {Number} Skip number of page\r\n * @param {Number} Take total expect result\r\n * @param {Number} TypeCustomerCampaign filter customer values 0 = customers bad info, 1 = customers in central risk, 2 = all customers\r\n * @return {Promise} result object customers\r\n */\r\n getCustomersCampaign(\r\n CampaignId = undefined,\r\n Skip = 0,\r\n Take = 10,\r\n TypeCustomerCampaign = 2\r\n ) {\r\n return this.config.API.post(\"GetCustomersCampaign\", {\r\n CampaignId,\r\n Skip,\r\n Take,\r\n TypeCustomerCampaign\r\n }).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n async getCampaigns() {\r\n return this.config.API.get(`GetCampaigns`).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n async discardCampaign(CampaignId) {\r\n return this.config.API.get(`DiscardCampaign`, {\r\n params: { CampaignId }\r\n }).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n async queueFilterCampaign(campaignId) {\r\n return this.config.API.post(`QueueFilterCampaign`, { campaignId }).then(\r\n response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n }\r\n );\r\n }\r\n\r\n async queueLaunchCampaign(\r\n applyQueryCentralRisk,\r\n applyUpdateData,\r\n campaignId,\r\n projectedCustomer,\r\n projectedAmount,\r\n targetAmount,\r\n targetCustomer\r\n ) {\r\n return this.config.API.post(`QueueLaunchCampaign`, {\r\n applyQueryCentralRisk,\r\n applyUpdateData,\r\n campaignId,\r\n projectedAmount,\r\n projectedCustomer,\r\n targetAmount,\r\n targetCustomer\r\n }).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n async listDashboardCampaign() {\r\n return this.config.API.get(`https://api.myjson.com/bins/fdmtu`).then(\r\n response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n }\r\n );\r\n }\r\n\r\n async detailCampaingDashboard() {\r\n return this.config.API.get(`https://api.myjson.com/bins/xu2ky`).then(\r\n response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n }\r\n );\r\n }\r\n}\r\n\r\nexport default CampaignService;\r\n","import Configuration from \"./configuration\";\r\n\r\nclass PlatformUserService {\r\n constructor(token, user) {\r\n this.config = new Configuration(token, user, \"api/PlatformUser\");\r\n }\r\n\r\n /**\r\n * @method getAuthContext list all permissions user\r\n * @return {Promise} result object user permissions in platform\r\n */\r\n getAuthContext() {\r\n return this.config.API.get(`GetAuthContext`)\r\n .then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n })\r\n .catch(err => {\r\n console.error(err);\r\n return {};\r\n });\r\n }\r\n\r\n /**\r\n * @method getInvitations list all invitations user\r\n * @return {Promise} result object user invitations in platform\r\n */\r\n getInvitations() {\r\n return this.config.API.get(`GetInvitations`).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method createInvitation send invitation for new user\r\n * @return {Promise} result object user invitations in platform\r\n */\r\n createInvitation(email, userRole) {\r\n return this.config.API.post(`CreateInvitation`, {\r\n email,\r\n userRole\r\n }).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method updateInvitation send invitation for new user\r\n * @return {Promise} result object user invitations in platform\r\n */\r\n updateInvitation(invitationId) {\r\n return this.config.API.get(`UpdateInvitation`, {\r\n params: {\r\n invitationId\r\n }\r\n }).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method cancelInvitation send invitation for new user\r\n * @return {Promise} result object user invitations in platform\r\n */\r\n cancelInvitation(invitationId) {\r\n return this.config.API.get(`CancelInvitation`, {\r\n params: {\r\n invitationId\r\n }\r\n }).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method getPlatformUsers list all users\r\n * @return {Promise} result object user invitations in platform\r\n */\r\n getPlatformUsers() {\r\n return this.config.API.get(`GetPlatformUsers`).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method modifyPlatformUser modify user platform name or phone\r\n * @return {Promise} result object user invitations in platform\r\n */\r\n modifyPlatformUser(user) {\r\n return this.config.API.post(`ModifyPlatformUser`, user).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method inactivatePlatformUser list all users\r\n * @return {Promise} result object user invitations in platform\r\n */\r\n inactivatePlatformUser(platformUserId) {\r\n return this.config.API.get(`InactivatePlatformUser`, {\r\n params: { platformUserId }\r\n }).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method activatePlatformUser list all users\r\n * @return {Promise} result object user invitations in platform\r\n */\r\n activatePlatformUser(platformUserId) {\r\n return this.config.API.get(`ActivatePlatformUser`, {\r\n params: { platformUserId }\r\n }).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method dismissInvitation dismiss invitation\r\n * @return {Promise} result object user invitations in platform\r\n */\r\n dismissInvitation(invitationId) {\r\n return this.config.API.get(`DismissInvitation`, {\r\n params: { invitationId }\r\n }).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method createPlatformUser created new user platform\r\n * @return {Promise} result object user invitations in platform\r\n */\r\n createPlatformUser(id, userName, mobile) {\r\n return this.config.API.post(\r\n `CreatePlatformUser`,\r\n {},\r\n {\r\n params: { id, mobile, userName }\r\n }\r\n ).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n}\r\n\r\nexport default PlatformUserService;\r\n","import Configuration from \"./configuration\";\r\n\r\nclass ConfigurationService {\r\n constructor(token) {\r\n this.config = new Configuration(token, null, \"api/Configuration\");\r\n }\r\n\r\n /**\r\n * @method getConfigurationCompany get information company\r\n * @return {Promise} result object customers\r\n */\r\n async getConfigurationCompany() {\r\n return this.config.API.get(`GetConfigurationCompany`, {\r\n params: {\r\n companyId: this.config.companyId\r\n }\r\n }).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method saveConfigurationCompany save information company\r\n * @return {Promise} result object customers\r\n */\r\n async saveConfigurationCompany(configuration) {\r\n return this.config.API.post(`SaveConfigurationCompany`, configuration, {\r\n params: {\r\n companyId: this.config.companyId\r\n }\r\n }).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method getProvidersIntegration get information providers\r\n * @return {Promise} result object providers\r\n */\r\n async getProvidersIntegration(typeProviderIntegration = 0) {\r\n return this.config.API.get(`GetProvidersIntegration`, {\r\n params: {\r\n typeProviderIntegration\r\n }\r\n }).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method getConfiguration get information providers\r\n * @return {Promise} result object providers\r\n */\r\n async getConfiguration() {\r\n return this.config.API.get(`GetConfiguration`).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method saveConfiguration save information company\r\n * @return {Promise} result object customers\r\n */\r\n async saveConfiguration(configuration) {\r\n // set null provaider if not exist\r\n configuration.pr =\r\n configuration.pr && configuration.pr.disarrayConfiguration\r\n ? configuration.pr\r\n : null;\r\n configuration.erp =\r\n configuration.erp && configuration.erp.disarrayConfiguration\r\n ? configuration.erp\r\n : null;\r\n configuration.sed =\r\n configuration.sed && configuration.sed.disarrayConfiguration\r\n ? configuration.sed\r\n : null;\r\n configuration.mailing =\r\n configuration.mailing && configuration.mailing.disarrayConfiguration\r\n ? configuration.mailing\r\n : null;\r\n configuration.sms =\r\n configuration.sms && configuration.sms.disarrayConfiguration\r\n ? configuration.sms\r\n : null;\r\n\r\n return this.config.API.post(`SaveConfiguration`, configuration).then(\r\n response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n }\r\n );\r\n }\r\n}\r\n\r\nexport default ConfigurationService;\r\n","import Configuration from \"./configuration\";\r\nimport moment from \"moment\";\r\n\r\nclass IndicatorService {\r\n constructor(token) {\r\n this.config = new Configuration(token, null, \"api/Indicator\");\r\n }\r\n\r\n /**\r\n * @method getCompanyControlPanel list campaigns dashboard info\r\n * @return {Promise} result object\r\n */\r\n getCompanyControlPanel() {\r\n return this.config.API.get(`GetCompanyControlPanel`).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method getDashboardCampaign get details campaings\r\n * @return {Promise} result object\r\n */\r\n getDashboardCampaign(campaignId) {\r\n const dateSearch = moment().format(\"Y-MM-DD HH:mm:ss\");\r\n\r\n return this.config.API.get(`GetDashboardCampaign`, {\r\n params: {\r\n campaignId,\r\n dateSearch\r\n }\r\n }).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n}\r\n\r\nexport default IndicatorService;\r\n","import Configuration from \"./configuration\";\r\n\r\nclass LoanService {\r\n constructor(token, user) {\r\n this.config = new Configuration(token, user, \"api/Loan\");\r\n }\r\n\r\n /**\r\n * @method getLoanType list of notifications for user\r\n * @return {Promise} result object notifications\r\n */\r\n getLoanType() {\r\n return this.config.API.get(`GetLoanType`).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n\r\n /**\r\n * @method loanSimulate list of notifications for user\r\n * @return {Promise} result object notifications\r\n */\r\n loanSimulate() {\r\n return this.config.API.post(`LoanSimulate`, {\r\n creditRequest: 1500000,\r\n guaranteeCode: \"0001\",\r\n id: \"93339108\",\r\n initialDatePayment: \"2020-01-31T12:59:26.465Z\",\r\n loanCost: null,\r\n loanDestination: \"LNGU\",\r\n loanType: \"CONS\",\r\n maxFee: 1500000,\r\n term: 12,\r\n typeFee: \"Constant\"\r\n }).then(response => {\r\n if (response.status !== 200) {\r\n return this.config.handleResponseError(response);\r\n }\r\n return response.data;\r\n });\r\n }\r\n}\r\n\r\nexport default LoanService;\r\n","import Configuration from \"./configuration\";\r\n\r\nclass TestService {\r\n constructor(token) {\r\n this.config = new Configuration(token, null, \"\");\r\n }\r\n}\r\n\r\nexport default TestService;\r\n","// src/react-auth0-spa.js\r\nimport React, { useState, useEffect, useContext } from \"react\";\r\nimport { UserManager } from \"oidc-client\";\r\nimport { OidcSettings } from \"./oidcsettings\";\r\nimport NotificationService from \"./api/NotificationService\";\r\nimport CompanyService from \"./api/CompanyService\";\r\nimport CampaignService from \"./api/CampaignService\";\r\nimport PlatformUserService from \"./api/PlatformUserService\";\r\nimport ConfigurationService from \"./api/ConfigurationService\";\r\nimport IndicatorService from \"./api/IndicatorService\";\r\nimport LoanService from \"./api/LoanService\";\r\nimport TestService from \"./api/TestService\";\r\n\r\nconst DEFAULT_REDIRECT_CALLBACK = () =>\r\n window.history.replaceState({}, document.title, window.location.pathname);\r\n\r\nexport const AuthContext = React.createContext();\r\nexport const useAuth = () => useContext(AuthContext);\r\nexport const AuthProvider = ({\r\n children,\r\n onRedirectCallback = DEFAULT_REDIRECT_CALLBACK,\r\n ...initOptions\r\n}) => {\r\n const [isAuthenticated, setIsAuthenticated] = useState();\r\n const [user, setUser] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [loadingUser, setLoadingUser] = useState(false);\r\n const [isNewUser, setIsNewUser] = useState(false);\r\n const [errors, setErrors] = useState({});\r\n const [notificationService, setNotificationService] = useState();\r\n const [companyService, setCompanyService] = useState();\r\n const [campaignService, setCampaignService] = useState();\r\n const [platformUserService, setPlatformUserService] = useState();\r\n const [configurationService, setConfigurationService] = useState();\r\n const [indicatorService, setIndicatorService] = useState();\r\n const [loanService, setLoanService] = useState();\r\n const [testService, setTestService] = useState();\r\n const userManager = new UserManager(OidcSettings);\r\n const [userContext, setUserContext] = useState({});\r\n\r\n useEffect(() => {\r\n \r\n setCompanyService(new CompanyService());\r\n\r\n const initAuth = async () => {\r\n userManager.events.addUserLoaded(onUserLoaded);\r\n userManager.events.addUserUnloaded(onUserUnloaded);\r\n userManager.events.addUserSignedOut(onUserLogout);\r\n userManager.events.addAccessTokenExpiring(onUserUnloaded);\r\n\r\n userManager.getUser().then(user => {\r\n if (user !== null && user !== undefined) {\r\n if (user.expired) return;\r\n onUserLoaded(user);\r\n } else if (window.location.href.includes(\"#id_token\")) {\r\n setLoadingUser(true);\r\n return userManager\r\n .signinRedirectCallback()\r\n .then(() => {\r\n onRedirectCallback();\r\n })\r\n .catch(function(err) {\r\n // eslint-disable-next-line no-console\r\n console.log(\"Error signinRedirectCallback: \", err);\r\n });\r\n } else {\r\n setLoading(false);\r\n }\r\n });\r\n };\r\n\r\n initAuth();\r\n // eslint-disable-next-line\r\n }, []);\r\n\r\n const onUserLoaded = async user => {\r\n setIsAuthenticated(true);\r\n setUser(user);\r\n setNotificationService(\r\n new NotificationService(user.access_token, user.profile.name)\r\n );\r\n setCompanyService(new CompanyService(user.access_token));\r\n setCampaignService(new CampaignService(user.access_token));\r\n setPlatformUserService(new PlatformUserService(user.access_token));\r\n setConfigurationService(new ConfigurationService(user.access_token));\r\n setIndicatorService(new IndicatorService(user.access_token));\r\n setLoanService(new LoanService(user.access_token));\r\n setTestService(new TestService(user.access_token));\r\n // search user permissions\r\n searchContext(user.access_token);\r\n setLoadingUser(false);\r\n };\r\n\r\n const searchContext = async token => {\r\n setLoading(true);\r\n const apiService = new PlatformUserService(token);\r\n const response = await apiService.getAuthContext();\r\n if (response && !response.result) {\r\n // user not logget correct\r\n // call logout\r\n setIsNewUser({});\r\n } else if (response && response.object && response.object.invitation) {\r\n // eslint-disable-next-line no-console\r\n setIsNewUser({ invitation: response.object.invitation });\r\n } else {\r\n setIsNewUser(false);\r\n setUserContext(response.object);\r\n }\r\n setLoading(false);\r\n };\r\n\r\n const onUserUnloaded = () => {\r\n setIsAuthenticated(false);\r\n setUser(undefined);\r\n localStorage.clear();\r\n sessionStorage.clear();\r\n };\r\n\r\n const signin = () => {\r\n setErrors({});\r\n\r\n userManager\r\n .signinRedirect()\r\n .then(function() {\r\n // eslint-disable-next-line no-console\r\n console.log(\"signinRedirect ok\");\r\n })\r\n .catch(function(err) {\r\n // eslint-disable-next-line no-console\r\n setErrors({\r\n server:\r\n \"No se puede establecer conexion en estos momentos, intente mas tarde.\"\r\n });\r\n });\r\n };\r\n\r\n const logout = () => {\r\n setLoading(true);\r\n\r\n userManager\r\n .signoutRedirect()\r\n .then(function() {\r\n // eslint-disable-next-line no-console\r\n console.log(\"signoutRedirect ok\");\r\n })\r\n .catch(function(err) {\r\n // eslint-disable-next-line no-console\r\n console.log(\"signoutRedirect error:\", err);\r\n });\r\n };\r\n\r\n const onUserLogout = () => {\r\n userManager\r\n .signoutRedirectCallback()\r\n .then(() => {\r\n userManager.removeUser();\r\n })\r\n .then(() => {\r\n setUser(null);\r\n })\r\n // eslint-disable-next-line no-console\r\n .catch(error => console.log(error));\r\n };\r\n\r\n return (\r\n logout(),\r\n notificationService,\r\n platformUserService,\r\n signin: () => signin(),\r\n testService,\r\n user,\r\n userContext\r\n }}\r\n >\r\n {children}\r\n \r\n );\r\n};\r\n","export const proccessError = (cdResult, errorCath) => {\r\n const errorsArray = cdResult[\"cdExceptions\"] || cdResult[\"CdExceptions\"];\r\n let tempErrorsArray = [];\r\n\r\n for (let i = 0; i < errorsArray.length; i++) {\r\n const errorElement = errorsArray[i];\r\n tempErrorsArray.push(errorElement.exception || errorElement.Exception);\r\n }\r\n\r\n if (errorCath && tempErrorsArray.length === 0) {\r\n tempErrorsArray.push([\"Error en el servidor\"]);\r\n }\r\n\r\n return tempErrorsArray;\r\n};\r\n\r\nexport const validateRequired = (data, requireds, properties) => {\r\n const errors = [];\r\n\r\n if (!requireds) return errors;\r\n\r\n for (let i = 0; i < requireds.length; i++) {\r\n const field = requireds[i];\r\n if (!data[field] || (data[field] && data[field] === \"\")) {\r\n // get name label\r\n if (properties && properties[field] && properties[field][\"label\"]) {\r\n errors.push(`${properties[field][\"label\"]}: es requerido`);\r\n } else {\r\n errors.push(`${field}: es requerido`);\r\n }\r\n }\r\n }\r\n\r\n return errors;\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { useForm } from \"react-hook-form\";\r\n\r\nimport { useAuth } from \"../../../AuthenticationStore\";\r\n\r\nimport isotipo from \"../../../assets/images/isotipo.png\";\r\nimport distintivo from \"../../../assets/images/distintivo.png\";\r\nimport screen1 from \"../../../assets/images/screen1.gif\";\r\nimport logoopa from \"../../../assets/images/opa-footer.png\";\r\nimport { proccessError } from \"../../../components/utils/utils\";\r\n\r\nexport const Login = () => {\r\n const { signin, errors, loadingUser, companyService } = useAuth();\r\n\r\n const { handleSubmit, register } = useForm();\r\n const [errorsSendEmail, setErrorsSendEmail] = useState([]);\r\n const [okSendEmail, setOkSendEmail] = useState(false);\r\n\r\n const onSubmit = async values => {\r\n\r\n setErrorsSendEmail([]);\r\n\r\n try {\r\n const request = await companyService.sendEmail(\r\n values.message,\r\n values.receiver,\r\n values.subject,\r\n values.contact,\r\n );\r\n \r\n if(request.result) {\r\n setOkSendEmail(true);\r\n } else {\r\n setErrorsSendEmail(proccessError(request));\r\n }\r\n } catch (err) {\r\n // proccessError\r\n if (err.response.data) {\r\n setErrorsSendEmail(proccessError(err.response.data));\r\n } else {\r\n setErrorsSendEmail([\"Error, intente luego.\"]);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n \r\n {loadingUser ? (\r\n
\r\n
\r\n Cargando perfil...\r\n
\r\n
\r\n ) : null}\r\n
\r\n {errors && errors.server ? (\r\n
\r\n {errors.server}\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 Nos comprometemos a llevar la mejor{\" \"}\r\n solución para tus clientes.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n Gestionamos la colocación de créditos partiendo del análisis\r\n de sistemas de riesgos (PR) e información\r\n socio-económica-demográfica (SED), permitiendo realizar\r\n segmentaciones y entregar a través de canales digitales, la\r\n oferta idónea de crédito para tu cliente, y que este pueda\r\n auto gestionarlo hasta el desembolso, en la comodidad de su\r\n casa u oficina.\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n {!process.env.REACT_APP_SANDBOX? (<>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Tus clientes tendrán atención 24 horas al día los 7 días de la semana, con aprobaciones y desembolsos de forma fácil, ágil y segura.\r\n

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

\r\n Nuestra plataforma de créditos digitales al instante permite la exposición\r\n de créditos aprobados para que a través de unos simples pasos tus clientes\r\n dispongan de su préstamo, nuestra solución es de acceso rápido, de uso simple\r\n y confiable, brindando soluciones ágiles de crédito, nuestros componentes son\r\n innovadores para la optimización de la colocación créditos.\r\n

\r\n

Créditos Digitales al Instante es una marca\r\n con el sello OPA S.A.S, empresa colombiana, legalmente constituida y\r\n enmarcada en cumplimiento de lo dispuesto en la legislación actual,\r\n incluyendo la ley 1581 de 2012 y el decreto 1377 de 2013.

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

Así suplimos tus necesidades:

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
  • \r\n
  • \r\n
  • \r\n
  • \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Porque deberías adquirirla:\r\n

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

Evolución

\r\n

El desarrollo de nuevas tecnologías garantiza la veracidad y autenticidad de los documentos digitales.

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

Independencia

\r\n

Las nuevas tendencias crean hábitos digitales donde la autogestión es crucial.

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

Cambio

\r\n

En la actualidad no podemos evadir la virtualización de la vida cotidiana.

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

Tiempo

\r\n

Es nuestro activo más valioso, no debemos gastarlo en trámites burocráticos obsoletos que suponen modelos anteriores de gestión.

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

Confianza

\r\n

Sus clientes estarán tranquilos y seguros al usar nuestra plataforma de autogestión.

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

Conocimiento

\r\n

Conocer a su cliente le permitirá acercarse a él de manera más efectiva y hacerle posible sus sueños.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n \"Device\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Canal de desembolso.

\r\n

\r\n Esta solicitud es 100% digital, donde eliges el monto que deseas de acuerdo a tu cupo aprobado y se desembolsa en tu cuenta de ahorros.\r\n Solicita tu crédito en 4 simples pasos.\r\n

\r\n
\r\n {/*
\"User
*/}\r\n

\r\n 1.\tConfírmanos tu identidad.
\r\n 2. Calcula tu crédito.
\r\n 3. \tSelecciona donde se desembolsará.
\r\n 4. Diligencia una breve encuesta.\r\n

\r\n
\r\n

\r\n Y listo, ya tienes tu dinero disponible para que lo uses.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n {errorsSendEmail.length > 0? (\r\n
\r\n
\r\n
\r\n {errorsSendEmail.map((err, index) => (\r\n
  • {err}
  • \r\n ))}\r\n
    \r\n
    \r\n
    \r\n ): null}\r\n\r\n {okSendEmail? (\r\n
    \r\n
    \r\n
    \r\n El mensaje ha sido recibido correctamente\r\n
    \r\n
    \r\n
    \r\n ): null}\r\n\r\n \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 2020 © Todos los derechos reservados{\" \"}\r\n \r\n \"OPA\r\n \r\n

    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n

      \r\n Teléfonos: (034) 6 04 35 79 / 315 257 42 03\r\n

      \r\n Email: servicioalcliente@opa.com.co\r\n

      \r\n Horarios de atención: Lunes a Viernes de 8:00 a.m. a 6:00 p.m\r\n

      \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n","import React, { Component } from \"react\";\r\nimport logo from \"../../../logo.svg\";\r\nimport \"./SplashScreen.scss\";\r\n\r\nexport default class SplashScreen extends Component {\r\n render() {\r\n return (\r\n
    \r\n \"logo\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useAuth } from \"../../../AuthenticationStore\";\r\nimport logo from \"../../../logo.svg\";\r\nimport { proccessError } from \"../../../components/utils/utils\";\r\nimport { Modal, Form } from \"semantic-ui-react\";\r\nimport { useForm } from \"react-hook-form\";\r\n\r\nimport \"../../../styles/Welcome.scss\";\r\n\r\nexport const Welcome = () => {\r\n const { isNewUser, logout, platformUserService } = useAuth();\r\n const [error, setError] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [show, setShow] = useState(false);\r\n const { handleSubmit, register, errors } = useForm();\r\n\r\n useEffect(() => {\r\n if (isNewUser)\r\n if (!isNewUser.invitation) {\r\n setError(\r\n \"El usuario no fue definido. sera redireccionado al login en breve.\"\r\n );\r\n setTimeout(() => {\r\n logout();\r\n }, 20000);\r\n }\r\n }, [isNewUser, logout]);\r\n\r\n const requestInformation = async () => setShow(true);\r\n\r\n const dismissInvitation = async () => {\r\n setLoading(true);\r\n const result = await platformUserService.dismissInvitation(\r\n isNewUser.invitation.invitationId\r\n );\r\n\r\n const errorsArray = proccessError(result);\r\n setLoading(false);\r\n\r\n if (errorsArray.length > 0) {\r\n setError(errorsArray[0]);\r\n return;\r\n }\r\n\r\n // redirect to home\r\n logout();\r\n };\r\n\r\n const reload = () => {\r\n // eslint-disable-next-line no-restricted-globals\r\n location.reload();\r\n };\r\n\r\n const handleClose = () => setShow(false);\r\n\r\n const onSubmit = async values => {\r\n handleClose();\r\n setLoading(true);\r\n\r\n const result = await platformUserService.createPlatformUser(\r\n isNewUser.invitation.invitationId,\r\n values.userName,\r\n values.mobile\r\n );\r\n\r\n const errorsArray = proccessError(result);\r\n setLoading(false);\r\n\r\n if (errorsArray.length > 0) {\r\n setError(errorsArray[0]);\r\n return;\r\n }\r\n\r\n // ok\r\n reload();\r\n };\r\n\r\n return (\r\n
    \r\n \r\n Informacion requerida\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"logo\"\r\n
    \r\n
    \r\n
    \r\n {error ? (\r\n <>\r\n
    \r\n \r\n {error}\r\n

    \r\n

    \r\n \r\n Recargar\r\n \r\n
    \r\n
    \r\n \r\n ) : loading ? (\r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n Aceptar invitacion\r\n \r\n    \r\n \r\n Declinar invitacion\r\n \r\n
    \r\n )}\r\n
    \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { useAuth } from \"../AuthenticationStore\";\r\nimport { Login } from \"../views/pages/Login\";\r\nimport SplashScreen from \"./ui/SplashScreen\";\r\nimport { Welcome } from \"../views/pages/Home/Welcome\";\r\n\r\nexport const PrivateRoute = ({ component: Component, ...rest }) => {\r\n const { isAuthenticated, loading, isNewUser } = useAuth();\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n {\r\n return isAuthenticated ? (\r\n isNewUser ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n );\r\n }}\r\n />\r\n );\r\n};\r\n","/* eslint-disable jsx-a11y/anchor-is-valid */\r\nimport React, { useEffect, useState, Fragment } from \"react\";\r\nimport { Modal } from \"semantic-ui-react\";\r\nimport moment from \"moment\";\r\nimport { useAuth } from \"../../AuthenticationStore\";\r\nimport { useInterval } from \"../utils/useInterval\";\r\nimport notificationSVG from \"../../assets/images/sidebar/notification.svg\";\r\n\r\nexport const Notifications = () => {\r\n const { notificationService } = useAuth();\r\n // const [total, setTotal] = useState(0);\r\n const [notifications, setNotifications] = useState([]);\r\n const [modalDetail, setModalDetail] = useState(false);\r\n const [messageDetail, setMessageDetail] = useState({\r\n largeMessage: \"\",\r\n shortMessage: \"\"\r\n });\r\n\r\n const getNotifications = async () => {\r\n if (!notificationService) return;\r\n const responseNotifications = await notificationService.getNotifications();\r\n // setTotal(responseNotifications.object.length);\r\n setNotifications(responseNotifications.object);\r\n };\r\n\r\n useInterval(getNotifications, 60000);\r\n\r\n useEffect(() => {\r\n if (!notificationService) return;\r\n getNotifications();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [notificationService]);\r\n\r\n const discardMessage = async notificationId => {\r\n await notificationService.readNotification(notificationId);\r\n // reload notifications\r\n getNotifications();\r\n };\r\n\r\n return (\r\n \r\n
  • \r\n \r\n \"\"\r\n {notifications.length > 0 ? (\r\n \r\n ) : null}\r\n \r\n \r\n

    \r\n {notifications.length <= 0 ? \"No hay\" : \"\"} Notificaciones\r\n

    \r\n {notifications.map((item, key) => (\r\n {\r\n if (!item.largeMessage) return;\r\n setMessageDetail({\r\n largeMessage: item.largeMessage,\r\n shortMessage: item.shortMessage\r\n });\r\n setModalDetail(true);\r\n }}\r\n className=\"dropdown-item preview-item\"\r\n >\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {item.shortMessage}\r\n
    \r\n

    \r\n {moment(item.notificationDate).format(\"YYYY-MM-DD HH:mm\")}\r\n discardMessage(item.notificationId)}\r\n >\r\n \r\n \r\n

    \r\n
    \r\n \r\n ))}\r\n \r\n
  • \r\n setModalDetail(false)}\r\n >\r\n {messageDetail.shortMessage}\r\n \r\n

    {messageDetail.largeMessage}

    \r\n
    \r\n \r\n setModalDetail(false)}\r\n >\r\n \r\n Ok\r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n","import { useEffect, useRef } from \"react\";\r\n\r\nexport function useInterval(callback, delay) {\r\n const savedCallback = useRef();\r\n\r\n // Remember the latest callback.\r\n useEffect(() => {\r\n savedCallback.current = callback;\r\n }, [callback]);\r\n\r\n // Set up the interval.\r\n useEffect(() => {\r\n function tick() {\r\n savedCallback.current();\r\n }\r\n if (delay !== null) {\r\n let id = setInterval(tick, delay);\r\n return () => clearInterval(id);\r\n }\r\n }, [delay]);\r\n}\r\n","/* eslint-disable jsx-a11y/anchor-is-valid */\r\nimport React, { useEffect } from \"react\";\r\n\r\nimport logo from \"../../logo.svg\";\r\nimport menuSVG from \"../../assets/images/sidebar/menu.svg\";\r\nimport homeSVG from \"../../assets/images/sidebar/home.svg\";\r\nimport dataSVG from \"../../assets/images/sidebar/data.svg\";\r\n\r\nimport \"./navbar.css\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { Notifications } from \"../Notification/Notifications\";\r\nimport { useAuth } from \"../../AuthenticationStore\";\r\n\r\nconst NavBar = () => {\r\n const { logout, user, userContext } = useAuth();\r\n\r\n useEffect(() => {\r\n //Horizontal menu in mobile\r\n // eslint-disable-next-line no-undef\r\n $('[data-toggle=\"horizontal-menu-toggle\"]').on(\"click\", function() {\r\n // eslint-disable-next-line no-undef\r\n $(\".horizontal-menu .bottom-navbar\").toggleClass(\"header-toggled\");\r\n });\r\n }, []);\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NavBar;\r\n","import React, { Component } from \"react\";\r\nimport { Container } from \"semantic-ui-react\";\r\n\r\nexport default class General extends Component {\r\n render() {\r\n return (\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n );\r\n }\r\n}\r\n","import React, { useEffect, useState, useCallback } from \"react\";\r\nimport { Grid, Checkbox, Input, Radio, Message } from \"semantic-ui-react\";\r\nimport \"../../views/pages/campaigns/New.scss\";\r\nimport ReactTable from \"react-table\";\r\nimport \"react-table/react-table.css\";\r\nimport NumberFormat from \"react-number-format\";\r\nimport CurrencyInput from \"react-currency-input-field\";\r\nimport { useAuth } from \"../../AuthenticationStore\";\r\n\r\nexport const Preview = ({\r\n cdCampaignConfiguration,\r\n campaignId,\r\n onChangeValuesObject,\r\n errors,\r\n modification,\r\n errorsPreview\r\n}) => {\r\n const { campaignService } = useAuth();\r\n const typeObjectName = \"cdCampaignConfiguration\";\r\n const [totalCustomers, setTotalCustomers] = useState({});\r\n const [loadingCustomers, setLoadingCustomers] = useState(true);\r\n const [pagesCustomers, setPagesCustomers] = useState(0);\r\n const [exceptionInfo, setExceptionInfo] = useState([]);\r\n\r\n const [pageSize, setPageSize] = useState(0);\r\n const [page, setPage] = useState(5);\r\n\r\n const [projectedAmount, setProjectedAmount] = useState();\r\n const onChangeProjectedAmount = useCallback(\r\n (newValue) => setProjectedAmount(newValue),\r\n [setProjectedAmount]\r\n );\r\n\r\n const [projectedCustomer, setProjectedCustomer] = useState(0.0);\r\n const onChangeProjectedCustomer = useCallback(\r\n ev => setProjectedCustomer(ev.target.value),\r\n [setProjectedCustomer]\r\n );\r\n\r\n const [targetAmount, setTargetAmount] = useState(0);\r\n\r\n const [targetCustomer, setTargetCustomer] = useState(0.0);\r\n\r\n const [radioFilterCustomers, setRadioFilterCustomers] = useState(\"2\");\r\n const handleChangeRadioFilterCustomers = useCallback(\r\n (_, newValue) => {\r\n setRadioFilterCustomers(newValue.value);\r\n fetchData({ page, pageSize, radioFilterCustomers: newValue.value });\r\n },\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n [page, pageSize]\r\n );\r\n\r\n const [data, setData] = useState([]);\r\n\r\n const columns = [\r\n {\r\n Header: \"Identificación\",\r\n accessor: \"id\"\r\n },\r\n {\r\n Header: \"Email\",\r\n accessor: \"email\"\r\n },\r\n {\r\n Header: \"Celular\",\r\n accessor: \"mobile\"\r\n },\r\n {\r\n Header: \"Nombre\",\r\n accessor: \"name\"\r\n },\r\n {\r\n Cell: props => (\r\n \r\n ),\r\n Header: \"Cupo\",\r\n accessor: \"creditAmount\"\r\n },\r\n {\r\n Cell: props => (\r\n \r\n ),\r\n Header: \"Capacidad\",\r\n accessor: \"capacity\"\r\n },\r\n {\r\n Cell: props => {props.value},\r\n Header: \"Días actualización\",\r\n accessor: \"daysLastUpdateInformation\"\r\n },\r\n {\r\n Cell: props => {props.value},\r\n Header: \"Días consulta centrales\",\r\n accessor: \"daysLastQueryCentralRisk\"\r\n }\r\n ];\r\n\r\n const [applyUpdateData, setApplyUpdateData] = useState(false);\r\n const [applyQueryCentralRisk, setApplyQueryCentralRisk] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!cdCampaignConfiguration) return;\r\n setApplyUpdateData(cdCampaignConfiguration.applyUpdateData);\r\n setApplyQueryCentralRisk(cdCampaignConfiguration.applyQueryCentralRisk);\r\n setProjectedCustomer(cdCampaignConfiguration.projectedCustomer);\r\n setTargetCustomer(cdCampaignConfiguration.targetCustomer);\r\n\r\n if (cdCampaignConfiguration.projectedAmount)\r\n setProjectedAmount(cdCampaignConfiguration.projectedAmount.toString());\r\n\r\n if (cdCampaignConfiguration.targetAmount)\r\n setTargetAmount(cdCampaignConfiguration.targetAmount.toString());\r\n }, [cdCampaignConfiguration]);\r\n\r\n const updateValues = useCallback(() => {\r\n let cdCampaignConfigurationTempData = {\r\n applyQueryCentralRisk,\r\n applyUpdateData,\r\n creationDate: cdCampaignConfiguration.creationDate,\r\n finishDate: cdCampaignConfiguration.finishDate,\r\n guarantee: cdCampaignConfiguration.guarantee,\r\n legalizationForm: cdCampaignConfiguration.legalizationForm,\r\n loanDestination: cdCampaignConfiguration.loanDestination,\r\n loanType: cdCampaignConfiguration.loanType,\r\n name: cdCampaignConfiguration.name,\r\n nameDestination: cdCampaignConfiguration.nameDestination,\r\n nameGuarantee: cdCampaignConfiguration.nameGuarantee,\r\n projectedAmount,\r\n projectedCustomer,\r\n startDate: cdCampaignConfiguration.startDate,\r\n targetAmount,\r\n targetCustomer\r\n };\r\n\r\n onChangeValuesObject(typeObjectName, cdCampaignConfigurationTempData);\r\n }, [\r\n applyQueryCentralRisk,\r\n applyUpdateData,\r\n cdCampaignConfiguration,\r\n onChangeValuesObject,\r\n projectedAmount,\r\n projectedCustomer,\r\n targetAmount,\r\n targetCustomer\r\n ]);\r\n\r\n const handleChangeApplyUpdateData = useCallback(\r\n (_, newValue) => setApplyUpdateData(newValue.checked),\r\n [setApplyUpdateData]\r\n );\r\n\r\n const handleChangeApplyQueryCentralRisk = useCallback(\r\n async (_, newValue) => setApplyQueryCentralRisk(newValue.checked),\r\n [setApplyQueryCentralRisk]\r\n );\r\n\r\n const fetchData = state => {\r\n setLoadingCustomers(true);\r\n campaignService\r\n .getCustomersCampaign(\r\n campaignId,\r\n state.page * state.pageSize,\r\n state.pageSize,\r\n state.radioFilterCustomers || radioFilterCustomers\r\n )\r\n .then(response => {\r\n setLoadingCustomers(false);\r\n\r\n if (response.object && response.object.campaignCustomers)\r\n setData(response.object.campaignCustomers);\r\n\r\n if (response.object && response.object.totalCustomers) {\r\n setTotalCustomers(response.object.totalCustomers);\r\n setPagesCustomers(\r\n Math.ceil(\r\n response.object.totalCustomers.totalCustomer / state.pageSize\r\n )\r\n );\r\n\r\n setTargetCustomer(response.object.totalCustomers.totalCustomer);\r\n setTargetAmount(response.object.totalCustomers.totalAmount);\r\n }\r\n\r\n setExceptionInfo(\r\n response.cdExceptions.filter(item => item.severityException === 2)\r\n );\r\n })\r\n .catch();\r\n };\r\n\r\n const [readOnly, setReadOnly] = useState(false);\r\n useEffect(() => {\r\n setReadOnly(modification === false);\r\n }, [modification]);\r\n\r\n return (\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n updateValues()}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n updateValues()}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    \r\n Clientes potenciales\r\n

    \r\n {\" \"}\r\n \r\n
    \r\n {\" \"}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n

    \r\n Inhabil actualización\r\n

    \r\n {\" \"}\r\n \r\n
    \r\n {\" \"}\r\n \r\n
    \r\n \r\n
    \r\n \r\n

    \r\n Inhabil central\r\n

    \r\n {\" \"}\r\n \r\n
    \r\n {\" \"}\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n {exceptionInfo.map((item, key) => (\r\n \r\n

    {item.exception}

    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n {\r\n if (!instance) return;\r\n setPageSize(instance.state.pageSize);\r\n setPage(instance.state.page);\r\n }}\r\n manual\r\n defaultPageSize={10}\r\n data={data}\r\n loading={loadingCustomers}\r\n onFetchData={fetchData}\r\n pages={pagesCustomers}\r\n minRows={1}\r\n columns={columns}\r\n previousText=\"Anterior\"\r\n nextText=\"Siguiente\"\r\n pageText=\"Página\"\r\n ofText=\"de\"\r\n rowsText=\"registros\"\r\n defaultFilterMethod={(filter, row) =>\r\n row[filter.id].startsWith(filter.value) ||\r\n row[filter.id].endsWith(filter.value)\r\n }\r\n />\r\n \r\n \r\n {errorsPreview.length > 0 ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n\r\n {errors.field ? (\r\n \r\n \r\n \r\n Error\r\n

    {errors.exception}

    \r\n
    \r\n
    \r\n
    \r\n ) : null}\r\n
    \r\n );\r\n};\r\n\r\nPreview.defaultProps = {\r\n errors: []\r\n};\r\n","import React, { useEffect, useState, useCallback } from \"react\";\r\nimport {\r\n Icon,\r\n Grid,\r\n Divider,\r\n Checkbox,\r\n Modal,\r\n Label,\r\n Form,\r\n Message, Button\r\n} from \"semantic-ui-react\";\r\nimport { useAuth } from \"../../AuthenticationStore\";\r\n\r\nexport const Segmentation = ({\r\n cdFiltersCampaign,\r\n modification,\r\n onChangeValuesObject,\r\n errors\r\n}) => {\r\n const { campaignService } = useAuth();\r\n\r\n const typeObjectName = \"cdFiltersCampaign\";\r\n const [varsStructure, setVarsStructure] = useState([]);\r\n const [modalSegmentValues, setModalSegmentValues] = useState([]);\r\n const [optionsAttribute, setOptionsAttribute] = useState([]);\r\n\r\n const [readOnly, setReadOnly] = useState(false);\r\n useEffect(() => {\r\n setReadOnly(modification === false);\r\n }, [modification]);\r\n\r\n useEffect(() => {\r\n if (!campaignService) return;\r\n // call api return vars structure\r\n campaignService\r\n .getAllVariablesCampaign()\r\n .then(res => {\r\n if (res.cdExceptions.length > 0) {\r\n return alert(\"error no se cargaron las variables\");\r\n }\r\n setVarsStructure(res.object);\r\n })\r\n // eslint-disable-next-line no-console\r\n .catch(err => console.log(err));\r\n }, [campaignService]);\r\n\r\n const verifyCheck = useCallback(\r\n name => {\r\n for (let i = 0; i < cdFiltersCampaign.length; i++) {\r\n const varObject = cdFiltersCampaign[i];\r\n if (varObject.attribute === name) return true;\r\n }\r\n return false;\r\n },\r\n [cdFiltersCampaign]\r\n );\r\n\r\n const checkVar = (index, checked) => {\r\n let varsCopy = Object(cdFiltersCampaign, []);\r\n if (checked) {\r\n varsCopy.push({\r\n attribute: varsStructure[index][\"name\"],\r\n maxValue: 0,\r\n minValue: 0,\r\n options: [],\r\n typo: varsStructure[index][\"type\"]\r\n });\r\n } else {\r\n const internalIndex = varsCopy.findIndex(\r\n item => item.attribute === varsStructure[index][\"name\"]\r\n );\r\n varsCopy[internalIndex] = undefined;\r\n }\r\n // only send defined object vars\r\n onChangeValuesObject(typeObjectName, varsCopy.filter(item => item));\r\n };\r\n\r\n const validateSupplied = useCallback(\r\n name => {\r\n const internalIndex = cdFiltersCampaign.findIndex(\r\n item => item && item.attribute === name\r\n );\r\n\r\n if (\r\n cdFiltersCampaign[internalIndex] &&\r\n [1, 2].indexOf(cdFiltersCampaign[internalIndex][\"typo\"]) > -1\r\n ) {\r\n if (cdFiltersCampaign[internalIndex][\"maxValue\"] <= 1) {\r\n return true;\r\n }\r\n return false;\r\n } else if (\r\n cdFiltersCampaign[internalIndex] &&\r\n cdFiltersCampaign[internalIndex][\"typo\"] === 0\r\n ) {\r\n if (cdFiltersCampaign[internalIndex][\"options\"].length === 0) {\r\n return true;\r\n }\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n },\r\n [cdFiltersCampaign]\r\n );\r\n\r\n const [errorsList, setErrorsList] = useState([]);\r\n\r\n const getOptionsAttribute = (item, index) => {\r\n // open modal\r\n modalSegmentValues[index] = true;\r\n setModalSegmentValues([...modalSegmentValues]);\r\n\r\n setErrorsList([]);\r\n\r\n if ([1, 2].indexOf(item.type) > -1) return;\r\n\r\n campaignService\r\n .getOptionVariableCampaign(item.name)\r\n .then(res => {\r\n if (res.cdExceptions.length > 0) {\r\n const errors = [];\r\n for (let index = 0; index < res.cdExceptions.length; index++) {\r\n errors.push(res.cdExceptions[index][\"exception\"]);\r\n }\r\n setErrorsList(errors);\r\n setOptionsAttribute([]);\r\n return;\r\n }\r\n\r\n const optionsAttributeTemp = res.object.listValue.map((item, key) => {\r\n return { key, text: item, value: item };\r\n });\r\n\r\n setOptionsAttribute(optionsAttributeTemp);\r\n })\r\n // eslint-disable-next-line no-console\r\n .catch(err => console.log(err));\r\n };\r\n\r\n const onChangeInputRange = useCallback(\r\n (_, newValue) => {\r\n const internalIndex = cdFiltersCampaign.findIndex(\r\n item => item && item.attribute === newValue[\"data-name\"]\r\n );\r\n let varsCopy = Object(cdFiltersCampaign, []);\r\n let valueReplace = {};\r\n\r\n if (newValue[\"data-is-min\"])\r\n valueReplace = {\r\n minValue: Number(newValue.value)\r\n };\r\n\r\n if (newValue[\"data-is-max\"])\r\n valueReplace = {\r\n maxValue: Number(newValue.value)\r\n };\r\n\r\n if (newValue[\"data-is-options\"])\r\n valueReplace = {\r\n options: newValue.value\r\n };\r\n\r\n varsCopy[internalIndex] = Object.assign(\r\n varsCopy[internalIndex],\r\n valueReplace\r\n );\r\n\r\n onChangeValuesObject(typeObjectName, varsCopy.filter(item => item));\r\n },\r\n [cdFiltersCampaign, onChangeValuesObject]\r\n );\r\n\r\n const getVarValueAttribute = (name, type) => {\r\n const internalIndex = cdFiltersCampaign.findIndex(\r\n item => item && item.attribute === name\r\n );\r\n\r\n return cdFiltersCampaign[internalIndex]\r\n ? cdFiltersCampaign[internalIndex][type]\r\n : 0;\r\n };\r\n\r\n /**\r\n * closeModalSegmentationValues\r\n * @param {number} index ubication modal in array\r\n */\r\n const closeModalSegmentationValues = index => {\r\n modalSegmentValues[index] = false;\r\n setModalSegmentValues([...modalSegmentValues]);\r\n };\r\n\r\n return (\r\n \r\n {errors && (errors.segmentation || errors.options) ? (\r\n \r\n \r\n \r\n Error\r\n

    {errors.segmentation || errors.options}

    \r\n
    \r\n
    \r\n
    \r\n ) : null}\r\n \r\n \r\n {varsStructure.map((item, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n
    \r\n checkVar(index, data.checked)}\r\n />\r\n
    \r\n closeModalSegmentationValues(index)}\r\n size={\"small\"}\r\n trigger={\r\n verifyCheck(item.name) ? (\r\n \r\n {validateSupplied(item.name) ? (\r\n \r\n !\r\n \r\n ) : null}\r\n getOptionsAttribute(item, index)}\r\n />\r\n \r\n ) : null\r\n }\r\n >\r\n Configuracion variable: {item.cultureName || item.name}\r\n \r\n {errorsList && errorsList.length > 0 ? (\r\n \r\n ) : null}\r\n \r\n
    \r\n {item.type === 2 ?

    Rango en dias

    : null}\r\n\r\n {item.type === 0 ? (\r\n \r\n ) : null}\r\n\r\n {[1, 2].indexOf(item.type) > -1 ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n
    \r\n
    \r\n \r\n closeModalSegmentationValues(index)}\r\n className=\"btn-sm bg-primary btn-md\"\r\n style={{ color: \"white\" }}\r\n >\r\n Finalizar\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nSegmentation.defaultProps = {\r\n cdFiltersCampaign: []\r\n};\r\n","import React, { useState, useCallback, useEffect } from \"react\";\r\nimport { Form, Tab, Message } from \"semantic-ui-react\";\r\n\r\nexport const Surveys = ({\r\n cdNotificationSurvey,\r\n cdPaymentSurvey,\r\n modification,\r\n onChangeValuesObject,\r\n errors\r\n}) => {\r\n const typeObjectPayment = \"cdPaymentSurvey\";\r\n const typeObjectNotification = \"cdNotificationSurvey\";\r\n\r\n const [notificationQuestion, setNotificationQuestion] = useState(\"\");\r\n const [paymentQuestion, setPaymentQuestion] = useState(\"\");\r\n const [notificationAnswer, setNotificationAnswer] = useState([]);\r\n const [paymentAnswer, setPaymentAnswer] = useState([]);\r\n\r\n useEffect(() => {\r\n const cdNotificationSurveyDataSource = cdNotificationSurvey || {};\r\n\r\n if (cdNotificationSurveyDataSource.question)\r\n setNotificationQuestion(cdNotificationSurveyDataSource.question);\r\n\r\n if (cdNotificationSurveyDataSource.answer)\r\n setNotificationAnswer(cdNotificationSurveyDataSource.answer);\r\n }, [cdNotificationSurvey]);\r\n\r\n useEffect(() => {\r\n const cdPaymentSurveyDataSource = cdPaymentSurvey || {};\r\n\r\n if (cdPaymentSurveyDataSource.question)\r\n setPaymentQuestion(cdPaymentSurveyDataSource.question);\r\n\r\n if (cdPaymentSurveyDataSource.answer)\r\n setPaymentAnswer(cdPaymentSurveyDataSource.answer);\r\n }, [cdPaymentSurvey]);\r\n\r\n const onChangeNotificationQuestion = useCallback(\r\n (_, newValue) => setNotificationQuestion(newValue.value),\r\n []\r\n );\r\n\r\n const onChangePaymentQuestion = useCallback(\r\n (_, newValue) => setPaymentQuestion(newValue.value),\r\n []\r\n );\r\n\r\n const onChangeNotificationAnswer = useCallback(\r\n async (_, newValue) => {\r\n const copyAnswer = Object.assign(notificationAnswer, []);\r\n copyAnswer[newValue[\"data-index\"]] = newValue.value;\r\n setNotificationAnswer(copyAnswer);\r\n const cdNotificationSurveyTemp = Object.assign(cdNotificationSurvey, {\r\n answer: notificationAnswer\r\n });\r\n onChangeValuesObject(typeObjectNotification, cdNotificationSurveyTemp);\r\n },\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n [notificationAnswer]\r\n );\r\n\r\n const onChangePaymentAnswer = useCallback(\r\n async (_, newValue) => {\r\n const copyAnswer = Object.assign(paymentAnswer, []);\r\n copyAnswer[newValue[\"data-index\"]] = newValue.value;\r\n await setPaymentAnswer(copyAnswer);\r\n const cdPaymentSurveyTemp = Object.assign(cdPaymentSurvey, {\r\n answer: paymentAnswer\r\n });\r\n onChangeValuesObject(typeObjectPayment, cdPaymentSurveyTemp);\r\n },\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n [paymentAnswer]\r\n );\r\n\r\n useEffect(() => {\r\n const cdNotificationSurveyTemp = Object.assign(cdNotificationSurvey, {\r\n question: notificationQuestion\r\n });\r\n onChangeValuesObject(typeObjectNotification, cdNotificationSurveyTemp);\r\n }, [cdNotificationSurvey, notificationQuestion, onChangeValuesObject]);\r\n\r\n useEffect(() => {\r\n const cdPaymentSurveyTemp = Object.assign(cdPaymentSurvey, {\r\n question: paymentQuestion\r\n });\r\n onChangeValuesObject(typeObjectPayment, cdPaymentSurveyTemp);\r\n }, [cdPaymentSurvey, onChangeValuesObject, paymentQuestion]);\r\n\r\n const panes = [\r\n {\r\n menuItem: \"No Interesa\",\r\n render: () => (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n {[1, 2, 3, 4, 5].map((item, index) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n
    \r\n
    \r\n )\r\n },\r\n {\r\n menuItem: \"Aprobado\",\r\n render: () => (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n {[1, 2, 3, 4, 5].map((item, index) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n
    \r\n
    \r\n )\r\n }\r\n ];\r\n\r\n return (\r\n
    \r\n {errors.answer ||\r\n errors.surveys_notification ||\r\n errors.surveys_payment ? (\r\n \r\n Error\r\n

    \r\n {errors.answer ||\r\n errors.surveys_notification ||\r\n errors.surveys_payment}\r\n

    \r\n
    \r\n ) : null}\r\n \r\n
    \r\n );\r\n};\r\n\r\nSurveys.defaultProps = {\r\n cdNotificationSurvey: { answer: new Array(5), question: \"\" },\r\n cdPaymentSurvey: { answer: new Array(5), question: \"\" }\r\n};\r\n","export const decodeCron = cron => {\r\n if (!cron) return [[], \"\"];\r\n // count length for discard second\r\n cron = cron.split(\" \");\r\n const minutes = cron[2];\r\n const hours = cron[1];\r\n const dayOfWeek = cron[3].split(\"/\")[1];\r\n return [\r\n dayOfWeek,\r\n `${hours < 9 ? \"0\" + Number(hours) : Number(hours)}:${\r\n minutes < 9 ? \"0\" + Number(minutes) : Number(minutes)\r\n }`\r\n ];\r\n};\r\n","import React, { useEffect, useState, useCallback } from \"react\";\r\nimport { Form, Label } from \"semantic-ui-react\";\r\nimport { MentionsInput, Mention } from \"react-mentions\";\r\nimport { decodeCron } from \"../utils/decodeCron\";\r\n\r\nconst options = [\r\n { key: \"S\", text: \"Si\", value: true },\r\n { key: \"N\", text: \"No\", value: false }\r\n];\r\n\r\nexport const varsSMS = [\r\n {\r\n display: \"Nombre\",\r\n id: \"#nombre#\"\r\n },\r\n {\r\n display: \"Apellido 1\",\r\n id: \"#apellido1#\"\r\n },\r\n {\r\n display: \"Apellido 2\",\r\n id: \"#apellido2#\"\r\n },\r\n {\r\n display: \"Nombre Campaña\",\r\n id: \"#nombreCampaña#\"\r\n },\r\n {\r\n display: \"Cupo\",\r\n id: \"#cupo#\"\r\n },\r\n {\r\n display: \"Plazo\",\r\n id: \"#plazo#\"\r\n },\r\n {\r\n display: \"Fecha Vencimiento\",\r\n id: \"#fechaVto#\"\r\n }\r\n];\r\n\r\nexport const defaultMentionStyle = {\r\n backgroundColor: \"#cee4e5\"\r\n};\r\n\r\nexport const defaultStyle = {\r\n \"&multiLine\": {\r\n highlighter: {\r\n padding: 9\r\n },\r\n\r\n input: {\r\n borderRadius: 5,\r\n minHeight: 130,\r\n padding: 9\r\n }\r\n },\r\n\r\n \"&singleLine\": {\r\n highlighter: {\r\n left: 5,\r\n padding: 10\r\n },\r\n input: {\r\n width: \"100%\"\r\n }\r\n },\r\n\r\n control: {\r\n backgroundColor: \"#fff\",\r\n fontSize: 14,\r\n fontWeight: \"normal\"\r\n },\r\n\r\n highlighter: {\r\n overflow: \"hidden\"\r\n },\r\n\r\n input: {\r\n margin: 0\r\n },\r\n\r\n suggestions: {\r\n item: {\r\n \"&focused\": {\r\n backgroundColor: \"#cee4e5\"\r\n },\r\n borderBottom: \"1px solid rgba(0,0,0,0.15)\",\r\n\r\n padding: \"5px 15px\"\r\n },\r\n\r\n list: {\r\n backgroundColor: \"white\",\r\n border: \"1px solid rgba(0,0,0,0.15)\",\r\n fontSize: 14\r\n }\r\n }\r\n};\r\n\r\nexport const SMSNotification = ({\r\n cdSmsNotification,\r\n modification,\r\n onChangeValuesObject,\r\n errors\r\n}) => {\r\n const typeObjectName = \"cdSmsNotification\";\r\n\r\n useEffect(() => {\r\n const cdSmsNotificationDataSource = cdSmsNotification || {};\r\n\r\n if (cdSmsNotificationDataSource.template)\r\n setTemplate(cdSmsNotificationDataSource.template);\r\n\r\n if (cdSmsNotificationDataSource.sendMessage)\r\n setSendMessage(cdSmsNotificationDataSource.sendMessage);\r\n\r\n if (cdSmsNotificationDataSource.cron) {\r\n const [days, hours] = decodeCron(cdSmsNotificationDataSource.cron);\r\n setCronDays(days);\r\n setCronHours(hours);\r\n }\r\n }, [cdSmsNotification]);\r\n\r\n const [readOnly, setReadOnly] = useState(false);\r\n useEffect(() => {\r\n setReadOnly(modification === false);\r\n }, [modification]);\r\n\r\n const [template, setTemplate] = useState(\"\");\r\n const [sendMessage, setSendMessage] = useState(false);\r\n const [cronDays, setCronDays] = useState(1);\r\n const [cronHours, setCronHours] = useState(\"23:00\");\r\n\r\n const onChange = useCallback((_, newValue) => setTemplate(newValue), [\r\n setTemplate\r\n ]);\r\n\r\n const onChangeSendMessage = useCallback(\r\n (_, newValue) => setSendMessage(newValue.value),\r\n [setSendMessage]\r\n );\r\n\r\n const onChangeCronDays = useCallback(\r\n (_, newValue) => {\r\n if (/^\\d+$/.test(newValue.value)) setCronDays(newValue.value);\r\n },\r\n [setCronDays]\r\n );\r\n\r\n const [errorsInput, setErrorsInput] = useState({\r\n cronDays: false,\r\n cronHours: false,\r\n sendMessage: false,\r\n template: false\r\n });\r\n\r\n const updateValues = () => {\r\n const cronHoursTemp = cronHours.split(\":\");\r\n let cronExpression = `0 ${cronHoursTemp[0] || 0} ${cronHoursTemp[1] ||\r\n 0} 1/${cronDays} * ? *`;\r\n\r\n let cdSmsNotificationTempData = {\r\n cron: cronExpression,\r\n sendMessage,\r\n template\r\n };\r\n\r\n onChangeValuesObject(typeObjectName, cdSmsNotificationTempData);\r\n };\r\n\r\n useEffect(() => {\r\n updateValues();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [template, sendMessage]);\r\n\r\n const onChangeCronHours = useCallback(\r\n (_, newValue) => {\r\n if (sendMessage && !newValue.value) setErrorTimeOut([\"cronHours\"]);\r\n setCronHours(newValue.value);\r\n },\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n [sendMessage]\r\n );\r\n\r\n const setErrorTimeOut = name => {\r\n const errorsInputTemp = errorsInput;\r\n let inputsErrorsTempTrue = {};\r\n let inputsErrorsTempFalse = {};\r\n\r\n if (typeof name === \"object\") {\r\n for (let i = 0; i < name.length; i++) {\r\n const element = name[i];\r\n inputsErrorsTempTrue[element] = true;\r\n inputsErrorsTempFalse[element] = false;\r\n }\r\n } else {\r\n inputsErrorsTempTrue[name] = true;\r\n inputsErrorsTempFalse[name] = false;\r\n }\r\n\r\n setErrorsInput({ ...errorsInputTemp, ...inputsErrorsTempTrue });\r\n\r\n setTimeout(() => {\r\n setErrorsInput({ ...errorsInputTemp, ...inputsErrorsTempFalse });\r\n }, 5000);\r\n };\r\n\r\n return (\r\n
    \r\n \r\n \r\n (!readOnly ? updateValues() : null)}\r\n />\r\n (!readOnly ? updateValues() : null)}\r\n />\r\n \r\n {!readOnly ? (\r\n \r\n \r\n \r\n \r\n {errors.template ? (\r\n \r\n ) : null}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nSMSNotification.defaultProps = {\r\n errors: {}\r\n};\r\n","import React, { useEffect, useState, useCallback, useRef } from \"react\";\r\nimport { Form, Label } from \"semantic-ui-react\";\r\nimport { decodeCron } from \"../utils/decodeCron\";\r\nimport { MentionsInput, Mention } from \"react-mentions\";\r\nimport { varsSMS, defaultStyle, defaultMentionStyle } from \"./SMSNotification\";\r\nimport \"./EmailNotification.scss\";\r\nimport JoditEditor from \"jodit-react\";\r\n\r\nconst listVars = {};\r\nvarsSMS.map(item => (listVars[item.id] = item.display));\r\n\r\nexport const EmailNotification = ({\r\n cdEmailNotification,\r\n modification,\r\n errors,\r\n onChangeValuesObject\r\n}) => {\r\n const [countMount, setCounMount] = useState(false);\r\n const typeObjectName = \"cdEmailNotification\";\r\n const editor = useRef(null);\r\n\r\n const editorConfig = {\r\n extraButtons: [\r\n {\r\n exec: function(editor, _, btnArgs) {\r\n editor.selection.insertHTML(`@[${btnArgs.args[1]}](${btnArgs.name})`);\r\n },\r\n iconURL: process.env.PUBLIC_URL + \"/icons/img_mention.png\",\r\n list: listVars,\r\n mode: 3,\r\n name: \"insertVars\",\r\n tooltip: \"variables\"\r\n }\r\n ],\r\n language: \"es\",\r\n readonly: false\r\n };\r\n\r\n useEffect(() => {\r\n const cdEmailNotificationDataSource = cdEmailNotification || {};\r\n\r\n if (cdEmailNotificationDataSource.template && !countMount) {\r\n setTemplate(cdEmailNotificationDataSource.template);\r\n setCounMount(true);\r\n }\r\n\r\n if (cdEmailNotificationDataSource.sendMessage)\r\n setSendMessage(cdEmailNotificationDataSource.sendMessage);\r\n\r\n if (cdEmailNotificationDataSource.subject)\r\n setSubject(cdEmailNotificationDataSource.subject);\r\n\r\n if (cdEmailNotificationDataSource.cron) {\r\n const [days, hours] = decodeCron(cdEmailNotificationDataSource.cron);\r\n setCronDays(days);\r\n setCronHours(hours);\r\n }\r\n }, [cdEmailNotification, countMount]);\r\n\r\n const [readOnly, setReadOnly] = useState(false);\r\n useEffect(() => {\r\n setReadOnly(modification === false);\r\n }, [modification]);\r\n\r\n const options = [\r\n { key: \"S\", text: \"Si\", value: true },\r\n { key: \"N\", text: \"No\", value: false }\r\n ];\r\n\r\n const [template, setTemplate] = useState(\"\");\r\n const [sendMessage, setSendMessage] = useState(false);\r\n const [cronDays, setCronDays] = useState(1);\r\n const [cronHours, setCronHours] = useState(\"23:00\");\r\n const [subject, setSubject] = useState(\"\");\r\n\r\n const updateValues = () => {\r\n const cronHoursTemp = cronHours.split(\":\");\r\n let cronExpression = `0 ${cronHoursTemp[0] || 0} ${cronHoursTemp[1] ||\r\n 0} 1/${cronDays} * ? *`;\r\n\r\n let cdEmailNotificationTempData = {\r\n cron: cronExpression,\r\n sendMessage,\r\n subject,\r\n template\r\n };\r\n\r\n onChangeValuesObject(typeObjectName, cdEmailNotificationTempData);\r\n };\r\n\r\n useEffect(() => {\r\n updateValues();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [onChangeValuesObject, sendMessage, subject, template]);\r\n\r\n const onChangeSubject = useCallback((_, newValue) => setSubject(newValue), [\r\n setSubject\r\n ]);\r\n\r\n const onChangeCronHours = useCallback(\r\n (_, newValue) => setCronHours(newValue.value),\r\n [setCronHours]\r\n );\r\n\r\n const onChangeCronDays = useCallback(\r\n (_, newValue) => {\r\n if (/^\\d+$/.test(newValue.value)) setCronDays(newValue.value);\r\n },\r\n [setCronDays]\r\n );\r\n\r\n const onChangeSendMessage = useCallback(\r\n (_, newValue) => setSendMessage(newValue.value),\r\n [setSendMessage]\r\n );\r\n\r\n const onChangePlain = useCallback(newValue => setTemplate(newValue), [\r\n setTemplate\r\n ]);\r\n\r\n return (\r\n
    \r\n \r\n \r\n (!readOnly ? updateValues() : null)}\r\n />\r\n (!readOnly ? updateValues() : null)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n onChangePlain(newContent)}\r\n />\r\n\r\n {errors.template ? (\r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nEmailNotification.defaultProps = {\r\n errors: {}\r\n};\r\n","function camelize(str) {\r\n return str.replace(/(?:^\\w|[A-Z]|\\b\\w|\\s+)/g, function(match, index) {\r\n if (+match === 0) return \"\"; // or if (/\\s+/.test(match)) for white spaces\r\n return index === 0 ? match.toLowerCase() : match.toUpperCase();\r\n });\r\n}\r\n\r\nexport default camelize;\r\n","import React, { Component, useState, useCallback, useEffect } from \"react\";\r\nimport { Step, Segment, Icon, Modal, Form, Message } from \"semantic-ui-react\";\r\n\r\nimport \"./New.scss\";\r\n\r\nimport \"react-table/react-table.css\";\r\n\r\nimport moment from \"moment\";\r\nimport { Preview } from \"../../../components/Campaign/Preview\";\r\nimport { Segmentation } from \"../../../components/Campaign/Segmentation\";\r\nimport { Surveys } from \"../../../components/Campaign/Surveys\";\r\nimport { SMSNotification } from \"../../../components/Campaign/SMSNotification\";\r\nimport { EmailNotification } from \"../../../components/Campaign/EmailNotification\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport camelize from \"../../../components/utils/camelize\";\r\nimport { isEqual } from \"lodash\";\r\nimport { ToastProvider, useToasts } from \"react-toast-notifications\";\r\nimport { useAuth } from \"../../../AuthenticationStore\";\r\n\r\nexport default class New extends Component {\r\n campaignService;\r\n state = {\r\n cdCampaignConfiguration: null,\r\n cdEmailNotification: null,\r\n cdFiltersCampaign: null,\r\n cdNotificationSurvey: null,\r\n cdOriginal: null,\r\n cdPaymentSurvey: null,\r\n cdSmsNotification: null,\r\n errors: {},\r\n errorsPreview: [],\r\n generalErrors: [],\r\n idCampaign: undefined,\r\n informationChange: false,\r\n loadInitial: false,\r\n loading: false,\r\n loadingData: true,\r\n modalConfirmLauch: false,\r\n modalSuccess: false,\r\n modification: true,\r\n notificationText: undefined,\r\n showToast: false,\r\n status: undefined,\r\n step: 1\r\n };\r\n\r\n async componentDidMount() {\r\n // if is edit configuration change idcampaign\r\n if (this.props.match && this.props.match.params.campaignId) {\r\n await this.setState({\r\n idCampaign: this.props.match.params.campaignId\r\n });\r\n }\r\n\r\n this.setState({ loadingData: false });\r\n return;\r\n }\r\n\r\n loadCampaign() {\r\n if (!this.state.idCampaign) return;\r\n // get or create campaign and save in storage\r\n this.setState({ loading: true });\r\n let optionConfigurationRequest = this.campaignService.getConfigurationCampaign(\r\n this.state.idCampaign\r\n );\r\n\r\n optionConfigurationRequest.then(response => {\r\n if (!response.result) return;\r\n\r\n this.setState({\r\n cdCampaignConfiguration: response.object.cdCampaignConfiguration,\r\n cdEmailNotification: response.object.cdEmailNotification,\r\n cdFiltersCampaign: JSON.parse(\r\n JSON.stringify(response.object.cdFiltersCampaign)\r\n ),\r\n cdNotificationSurvey: response.object.cdNotificationSurvey,\r\n cdOriginal: response.object,\r\n cdPaymentSurvey: response.object.cdPaymentSurvey,\r\n cdSmsNotification: response.object.cdSmsNotification,\r\n idCampaign: response.object.campaignId,\r\n statusCampaign: response.object.status\r\n });\r\n\r\n // set actual step\r\n let actualStep = 1;\r\n if (response.object.status > 1) {\r\n actualStep = 6;\r\n } else if (!response.object.cdFiltersCampaign) {\r\n actualStep = 2;\r\n } else if (!response.object.cdSmsNotification) {\r\n actualStep = 3;\r\n } else if (!response.object.cdEmailNotification) {\r\n actualStep = 4;\r\n } else if (\r\n !!response.object.cdNotificationSurvey ||\r\n !!response.object.cdPaymentSurvey\r\n ) {\r\n actualStep = 5;\r\n } else {\r\n // all steps complete\r\n actualStep = 5;\r\n }\r\n\r\n this.setState({ step: actualStep });\r\n\r\n if ([2, 4, 5, 6].indexOf(response.object.status) !== -1) {\r\n this.setState({ modification: false });\r\n }\r\n\r\n this.setState({ loading: false });\r\n });\r\n }\r\n\r\n validationsGeneralData(cdCampaignConfigurationData) {\r\n let exception, field;\r\n\r\n if (\r\n !cdCampaignConfigurationData.name ||\r\n cdCampaignConfigurationData.name === \"\"\r\n ) {\r\n exception = \"Debe poner un nombre a la campaña\";\r\n field = \"name\";\r\n }\r\n\r\n if (\r\n !cdCampaignConfigurationData.startDate ||\r\n cdCampaignConfigurationData.startDate === \"\"\r\n ) {\r\n exception = \"Este campo no puede ir vacio\";\r\n field = \"startDate\";\r\n }\r\n\r\n if (\r\n !cdCampaignConfigurationData.finishDate ||\r\n cdCampaignConfigurationData.finishDate === \"\"\r\n ) {\r\n exception = \"Fecha de finalización no valida\";\r\n field = \"finishDate\";\r\n }\r\n\r\n if (\r\n !cdCampaignConfigurationData.dueDay ||\r\n cdCampaignConfigurationData.dueDay.length <= 0\r\n ) {\r\n exception = \"Falta seleccionar dias de corte\";\r\n field = \"dueDay\";\r\n }\r\n\r\n if (!field) return;\r\n\r\n return {\r\n errors: [{ exception, field }],\r\n status: 0\r\n };\r\n }\r\n\r\n validationsSegmentation(cdFiltersCampaignData) {\r\n let exception, field;\r\n\r\n if (\r\n !cdFiltersCampaignData ||\r\n (cdFiltersCampaignData && cdFiltersCampaignData.length === 0)\r\n ) {\r\n exception = \"Debe seleccionar y parametrizar al menos un segmento\";\r\n field = \"segmentation\";\r\n }\r\n\r\n if (!field) return;\r\n\r\n return {\r\n errors: [{ exception, field }],\r\n status: 0\r\n };\r\n }\r\n\r\n validationsSurveys(cdNotificationSurveyData, cdPaymentSurveyData) {\r\n let exception, field;\r\n\r\n if (\r\n cdNotificationSurveyData &&\r\n ((cdNotificationSurveyData.question &&\r\n !cdNotificationSurveyData.answer) ||\r\n (cdNotificationSurveyData.question &&\r\n cdNotificationSurveyData.answer.length < 2))\r\n ) {\r\n exception =\r\n \"Para cada pregunta en notificación debe tener al menos dos opciones de respuesta\";\r\n field = \"surveys_notification\";\r\n }\r\n\r\n if (\r\n cdPaymentSurveyData &&\r\n ((cdPaymentSurveyData.question && !cdPaymentSurveyData.answer) ||\r\n (cdPaymentSurveyData.question && cdPaymentSurveyData.answer.length < 2))\r\n ) {\r\n exception =\r\n \"Para cada pregunta en desembolso debe tener al menos dos opciones de respuesta\";\r\n field = \"surveys_payment\";\r\n }\r\n\r\n if (cdPaymentSurveyData && !cdPaymentSurveyData.question) {\r\n exception =\r\n \"Debe escribir una pregunta y minimo dos respuestas en desembolso\";\r\n field = \"surveys_payment\";\r\n }\r\n\r\n if (cdNotificationSurveyData && !cdNotificationSurveyData.question) {\r\n exception =\r\n \"Debe escribir una pregunta y minimo dos respuestas en notificacion\";\r\n field = \"surveys_notification\";\r\n }\r\n\r\n if (!field) return;\r\n\r\n return {\r\n errors: [{ exception, field }],\r\n status: 0\r\n };\r\n }\r\n\r\n async saveConfigurationStorage() {\r\n // verify is new or continue\r\n this.setState({ generalErrors: [] });\r\n // verify change data for actual step\r\n if (this.state.cdOriginal) {\r\n if (\r\n this.state.step === 1 &&\r\n this.state.cdOriginal.cdCampaignConfiguration\r\n ) {\r\n const originalConfiguration = {\r\n dueDay: this.state.cdOriginal.cdCampaignConfiguration.dueDay,\r\n finishDate: moment(\r\n this.state.cdOriginal.cdCampaignConfiguration.finishDate\r\n ).format(\"Y-MM-DD\"),\r\n legalizationForm: this.state.cdOriginal.cdCampaignConfiguration\r\n .legalizationForm,\r\n name: this.state.cdOriginal.cdCampaignConfiguration.name,\r\n nameDestination: this.state.cdOriginal.cdCampaignConfiguration\r\n .nameDestination,\r\n nameGuarantee: this.state.cdOriginal.cdCampaignConfiguration\r\n .nameGuarantee,\r\n startDate: moment(\r\n this.state.cdOriginal.cdCampaignConfiguration.startDate\r\n ).format(\"Y-MM-DD\")\r\n };\r\n\r\n const newConfiguration = {\r\n dueDay: this.state.cdCampaignConfiguration.dueDay,\r\n finishDate: this.state.cdCampaignConfiguration.finishDate,\r\n legalizationForm: this.state.cdCampaignConfiguration.legalizationForm,\r\n name: this.state.cdCampaignConfiguration.name,\r\n nameDestination: this.state.cdCampaignConfiguration.nameDestination,\r\n nameGuarantee: this.state.cdCampaignConfiguration.nameGuarantee,\r\n startDate: this.state.cdCampaignConfiguration.startDate\r\n };\r\n\r\n if (isEqual(originalConfiguration, newConfiguration))\r\n return { status: 1 };\r\n }\r\n\r\n if (\r\n this.state.step === 2 &&\r\n this.state.cdOriginal.cdFiltersCampaign &&\r\n isEqual(\r\n this.state.cdFiltersCampaign,\r\n this.state.cdOriginal.cdFiltersCampaign\r\n )\r\n ) {\r\n return { status: 1 };\r\n }\r\n\r\n if (\r\n this.state.step === 3 &&\r\n this.state.cdOriginal.cdSmsNotification &&\r\n isEqual(\r\n this.state.cdSmsNotification,\r\n this.state.cdOriginal.cdSmsNotification\r\n )\r\n ) {\r\n return { status: 1 };\r\n }\r\n\r\n if (\r\n this.state.step === 4 &&\r\n this.state.cdOriginal.cdEmailNotification &&\r\n isEqual(\r\n this.state.cdEmailNotification,\r\n this.state.cdOriginal.cdEmailNotification\r\n )\r\n ) {\r\n return { status: 1 };\r\n }\r\n\r\n if (\r\n this.state.step === 5 &&\r\n this.state.cdOriginal.cdNotificationSurvey &&\r\n this.state.cdOriginal.cdPaymentSurvey &&\r\n isEqual(\r\n this.state.cdNotificationSurvey,\r\n this.state.cdOriginal.cdNotificationSurvey\r\n ) &&\r\n isEqual(\r\n this.state.cdPaymentSurvey,\r\n this.state.cdOriginal.cdPaymentSurvey\r\n )\r\n ) {\r\n return { status: 1 };\r\n }\r\n\r\n if (\r\n this.state.step === 6 &&\r\n this.state.cdOriginal.cdCampaignConfiguration\r\n ) {\r\n const originalConfiguration = {\r\n applyQueryCentralRisk: this.state.cdOriginal.cdCampaignConfiguration\r\n .applyQueryCentralRisk,\r\n applyUpdateData: this.state.cdOriginal.cdCampaignConfiguration\r\n .applyUpdateData,\r\n projectedAmount: this.state.cdOriginal.cdCampaignConfiguration\r\n .projectedAmount,\r\n projectedCustomer: this.state.cdOriginal.cdCampaignConfiguration\r\n .projectedCustomer,\r\n targetAmount: this.state.cdOriginal.cdCampaignConfiguration\r\n .targetAmount,\r\n targetCustomer: this.state.cdOriginal.cdCampaignConfiguration\r\n .targetCustomer\r\n };\r\n\r\n const newConfiguration = {\r\n applyQueryCentralRisk: this.state.cdOriginal.cdCampaignConfiguration\r\n .applyQueryCentralRisk,\r\n applyUpdateData: this.state.cdCampaignConfiguration.applyUpdateData,\r\n projectedAmount: this.state.cdOriginal.cdCampaignConfiguration\r\n .projectedAmount,\r\n projectedCustomer: this.state.cdOriginal.cdCampaignConfiguration\r\n .projectedCustomer,\r\n targetAmount: this.state.cdOriginal.cdCampaignConfiguration\r\n .targetAmount,\r\n targetCustomer: this.state.cdOriginal.cdCampaignConfiguration\r\n .targetCustomer\r\n };\r\n\r\n if (isEqual(originalConfiguration, newConfiguration))\r\n return { status: 1 };\r\n }\r\n }\r\n\r\n let idCampaign = this.state.idCampaign;\r\n let validations;\r\n // cdCampaignConfiguration\r\n const cdCampaignConfigurationData = this.state.cdCampaignConfiguration;\r\n // validate if current step\r\n if (this.state.step === 1)\r\n validations = this.validationsGeneralData(cdCampaignConfigurationData);\r\n\r\n // cdFiltersCampaign\r\n const cdFiltersCampaignData = this.state.cdFiltersCampaign || [];\r\n if (this.state.step === 2)\r\n validations = this.validationsSegmentation(cdFiltersCampaignData);\r\n\r\n // cdSmsNotification\r\n const cdSmsNotificationData = this.state.cdSmsNotification || {};\r\n\r\n // cdEmailNotification\r\n const cdEmailNotificationData = this.state.cdEmailNotification || {};\r\n\r\n // cdNotificationSurvey & cdPaymentSurvey\r\n const cdNotificationSurveyData = this.state.cdNotificationSurvey || {};\r\n const cdPaymentSurveyData = this.state.cdPaymentSurvey || {};\r\n if (this.state.step === 5)\r\n validations = this.validationsSurveys(\r\n cdNotificationSurveyData,\r\n cdPaymentSurveyData\r\n );\r\n\r\n if (validations) return validations;\r\n\r\n return this.campaignService\r\n .saveConfigurationCampaign(idCampaign, {\r\n cdCampaignConfiguration:\r\n Object.keys(cdCampaignConfigurationData).length > 0\r\n ? cdCampaignConfigurationData\r\n : undefined,\r\n cdEmailNotification:\r\n Object.keys(cdEmailNotificationData).length > 0\r\n ? cdEmailNotificationData\r\n : undefined,\r\n cdFiltersCampaign:\r\n cdFiltersCampaignData.length > 0 ? cdFiltersCampaignData : undefined,\r\n cdNotificationSurvey:\r\n Object.keys(cdNotificationSurveyData).length > 0\r\n ? cdNotificationSurveyData\r\n : undefined,\r\n cdPaymentSurvey:\r\n Object.keys(cdPaymentSurveyData).length > 0\r\n ? cdPaymentSurveyData\r\n : undefined,\r\n cdSmsNotification:\r\n Object.keys(cdSmsNotificationData).length > 0\r\n ? cdSmsNotificationData\r\n : undefined\r\n })\r\n .then(response => {\r\n if (!response.result) {\r\n return { errors: response.cdExceptions, status: 0 };\r\n }\r\n // show notification\r\n this.setState({ showToast: true });\r\n // hide notification\r\n this.setState({ showToast: false });\r\n\r\n this.setState({\r\n idCampaign: response.object.campaignId,\r\n statusCampaign: response.object.status\r\n });\r\n\r\n this.setState({\r\n cdOriginal: response.object,\r\n idCampaign: response.object.campaignId\r\n });\r\n\r\n return { status: 1 };\r\n })\r\n .catch(err => {\r\n return { errors: [{ exception: err.toString() }], status: 0 };\r\n });\r\n }\r\n\r\n getStepForField = field => {\r\n const fieldsGeneralData = [\r\n \"applyQueryCentralRisk\",\r\n \"applyUpdateData\",\r\n \"creationDate\",\r\n \"dueDay\",\r\n \"finishDate\",\r\n \"guarantee\",\r\n \"legalizationForm\",\r\n \"loanDestination\",\r\n \"loanType\",\r\n \"name\",\r\n \"nameDestination\",\r\n \"nameGuarantee\",\r\n \"projectedAmount\",\r\n \"projectedCustomer\",\r\n \"startDate\",\r\n \"targetAmount\",\r\n \"targetCustomer\",\r\n \"totalCustomersFilter\"\r\n ];\r\n\r\n if (fieldsGeneralData.indexOf(field) > -1) this.setState({ step: 1 });\r\n };\r\n\r\n nextStep = async () => {\r\n const { step } = this.state;\r\n\r\n if (this.state.modification) {\r\n // save info for step\r\n this.setState({ errors: {}, loading: true });\r\n const resultSave = await this.saveConfigurationStorage();\r\n if (resultSave.status === 0) {\r\n let objectErrors = {};\r\n resultSave.errors.forEach(error => {\r\n if (error.field) {\r\n this.getStepForField(camelize(error.field));\r\n objectErrors[camelize(error.field)] = error.exception;\r\n }\r\n });\r\n this.setState({ errors: objectErrors });\r\n this.setState({ loading: false });\r\n return;\r\n }\r\n }\r\n\r\n this.setState({\r\n step: step + 1\r\n });\r\n\r\n this.setState({ loading: false });\r\n };\r\n\r\n prevStep = () => {\r\n const { step } = this.state;\r\n\r\n this.setState({\r\n step: step - 1\r\n });\r\n };\r\n\r\n initSearchCustomers = async () => {\r\n // save finish information\r\n const resultSave = await this.saveConfigurationStorage();\r\n if (resultSave.status === 0) {\r\n let tempErrors = [];\r\n resultSave.errors.forEach(error => tempErrors.push(error.exception));\r\n this.setState({ generalErrors: tempErrors });\r\n return;\r\n }\r\n\r\n this.setState({ modalSuccess: true, step: 1 });\r\n };\r\n\r\n handleChange = input => event => {\r\n this.setState({ [input]: event.target.value });\r\n };\r\n\r\n closeModalSuccess = async () => await this.setState({ modalSuccess: false });\r\n\r\n initFilterCampaign = async () => {\r\n const resultSave = await this.campaignService.queueFilterCampaign(\r\n this.state.idCampaign\r\n );\r\n await this.closeModalSuccess();\r\n\r\n if (resultSave.status === 0) {\r\n let tempErrors = [];\r\n resultSave.errors.forEach(error => tempErrors.push(error.exception));\r\n this.setState({ generalErrors: tempErrors });\r\n return;\r\n }\r\n\r\n this.props.history.push(\"/campaigns\");\r\n };\r\n\r\n getStep = async step => {\r\n // save info for step\r\n if (this.state.modification) {\r\n const saveStatus = await this.saveStep();\r\n\r\n if (!saveStatus) return;\r\n }\r\n\r\n this.setState({ step });\r\n };\r\n\r\n changeValuesCd = (typeObjectName, key, value) => {\r\n let copyCdObject = Object.assign(this.state[typeObjectName] || {}, {});\r\n copyCdObject[key] = value;\r\n this.setState({ [typeObjectName]: copyCdObject });\r\n };\r\n\r\n changeObjectCd = (typeObjectName, objectCd) => {\r\n this.setState({ [typeObjectName]: objectCd });\r\n if (!isEqual(this.state[typeObjectName], objectCd)) {\r\n this.onChangeinformation();\r\n }\r\n };\r\n\r\n youCanSearchCustomers = () => {\r\n if (\r\n (this.state.cdCampaignConfiguration &&\r\n this.state.cdEmailNotification &&\r\n this.state.cdFiltersCampaign &&\r\n this.state.cdNotificationSurvey &&\r\n this.state.cdPaymentSurvey &&\r\n this.state.cdSmsNotification &&\r\n this.state.statusCampaign === 0) ||\r\n this.state.statusCampaign === 1 ||\r\n this.state.statusCampaign === 3\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n saveAndClose = async () => {\r\n if (!this.state.modification && this.state.statusCampaign < 3)\r\n return this.props.history.push(\"/campaigns\");\r\n\r\n // save info for step\r\n const saveStatus = await this.saveStep();\r\n\r\n if (saveStatus) return this.props.history.push(\"/campaigns\");\r\n };\r\n\r\n saveStep = async () => {\r\n // save info for step\r\n this.setState({ errors: {}, loading: true });\r\n const resultSave = await this.saveConfigurationStorage();\r\n this.setState({ loading: false });\r\n\r\n if (resultSave.status === 0) {\r\n let objectErrors = {};\r\n resultSave.errors.forEach(error => {\r\n if (error.field) {\r\n this.getStepForField(camelize(error.field));\r\n objectErrors[camelize(error.field)] = error.exception;\r\n }\r\n });\r\n this.setState({ errors: objectErrors });\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n\r\n onChangeinformation = (informationChange = true) =>\r\n this.setState({ informationChange });\r\n\r\n launchCampaign = async () => {\r\n let exception, field;\r\n this.setState({ errors: {} });\r\n\r\n if (this.state.cdCampaignConfiguration.projectedAmount <= 0) {\r\n exception = \"La meta proyectada debe ser mas de cero\";\r\n field = \"preview\";\r\n }\r\n\r\n if (this.state.cdCampaignConfiguration.projectedCustomer <= 0) {\r\n exception = \"Los clientes proyectados deben ser mas de cero\";\r\n field = \"preview\";\r\n }\r\n\r\n if (field) {\r\n this.closeModalConfirmLauch();\r\n return this.setState({ errors: { exception, field } });\r\n }\r\n // validations preview lauchd\r\n const resultLauch = await this.campaignService.queueLaunchCampaign(\r\n this.state.cdCampaignConfiguration.applyQueryCentralRisk,\r\n this.state.cdCampaignConfiguration.applyUpdateData,\r\n this.state.idCampaign,\r\n this.state.cdCampaignConfiguration.projectedCustomer,\r\n this.state.cdCampaignConfiguration.projectedAmount,\r\n this.state.cdCampaignConfiguration.targetAmount,\r\n this.state.cdCampaignConfiguration.targetCustomer\r\n );\r\n var tempErrorList = [];\r\n\r\n if (resultLauch.cdExceptions && resultLauch.cdExceptions.length > 0) {\r\n resultLauch.cdExceptions.forEach(error => {\r\n if (error.field) {\r\n tempErrorList.push(error.exception);\r\n }\r\n });\r\n\r\n this.setState({ errorsPreview: tempErrorList });\r\n } else {\r\n this.props.history.push(\"/campaigns\");\r\n }\r\n };\r\n\r\n onChangeService = service => {\r\n this.campaignService = service;\r\n if (!this.state.loadInitial) {\r\n this.loadCampaign();\r\n this.setState({ loadInitial: true });\r\n }\r\n };\r\n\r\n closeModalConfirmLauch = () => this.setState({ modalConfirmLauch: false });\r\n comfirmLaunchCampaign = () => this.setState({ modalConfirmLauch: true });\r\n\r\n render() {\r\n const {\r\n step,\r\n loading,\r\n modalSuccess,\r\n modification,\r\n statusCampaign,\r\n loadingData,\r\n generalErrors,\r\n notificationText\r\n } = this.state;\r\n\r\n if (loadingData) return

    Cargando campaña...

    ;\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n Confirmación\r\n \r\n \r\n

    \r\n Configuración\r\n existosa\r\n

    \r\n

    \r\n Ahora puedes comenzar la búsqueda de clientes. Estas seguro de\r\n iniciar la búsqueda?\r\n

    \r\n
    \r\n \r\n \r\n No\r\n \r\n this.initFilterCampaign()}\r\n >\r\n Si\r\n \r\n \r\n
    \r\n\r\n {/* confirmation launch campaign */}\r\n \r\n \r\n Confirmación\r\n \r\n \r\n

    \r\n Configuración\r\n existosa\r\n

    \r\n

    Esta seguro de lanzar la campaña?

    \r\n
    \r\n \r\n \r\n No\r\n \r\n \r\n Si\r\n \r\n \r\n \r\n\r\n \r\n 1}\r\n onClick={() => this.getStep(1)}\r\n >\r\n Datos Generales\r\n \r\n 2}\r\n onClick={() => this.getStep(2)}\r\n >\r\n Segmentación\r\n \r\n 3}\r\n onClick={() => this.getStep(3)}\r\n >\r\n Notificación SMS\r\n \r\n 4}\r\n onClick={() => this.getStep(4)}\r\n >\r\n Notificación Email\r\n \r\n 5}\r\n onClick={() => this.getStep(5)}\r\n >\r\n Encuestas\r\n \r\n {statusCampaign > 2 ? (\r\n 6}\r\n onClick={() => this.getStep(6)}\r\n >\r\n Previsualización\r\n \r\n ) : null}\r\n \r\n {!modification ? (\r\n \r\n \r\n Esta campaña no es modificable. \r\n {statusCampaign === 3\r\n ? \"solo puede hacer cambios en la pestaña previsualización.\"\r\n : \"los cambios que haga no tendran efectos.\"}\r\n \r\n ) : null}\r\n\r\n {generalErrors && generalErrors.length > 0 ? (\r\n \r\n ) : null}\r\n\r\n \r\n \r\n {step === 1 ? (\r\n \r\n ) : null}\r\n {step === 2 ? (\r\n \r\n ) : null}\r\n {step === 3 ? (\r\n \r\n ) : null}\r\n {step === 4 ? (\r\n \r\n ) : null}\r\n {step === 5 ? (\r\n \r\n ) : null}\r\n {step === 6 ? (\r\n \r\n ) : null}\r\n \r\n \r\n
    \r\n
    \r\n \r\n this.prevStep()}\r\n className=\"btn btn-primary btn-icon-text\"\r\n >\r\n \r\n Anterior\r\n \r\n this.nextStep()}\r\n >\r\n Siguiente\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {this.youCanSearchCustomers() ? (\r\n this.initSearchCustomers()}\r\n type=\"button\"\r\n className=\"btn btn-success\"\r\n >\r\n Iniciar búsqueda de clientes\r\n \r\n ) : null}\r\n   \r\n {step === 6 && statusCampaign === 3 ? (\r\n \r\n \r\n Lanzar\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n 3 || step === 6}\r\n onClick={this.saveAndClose}\r\n type=\"button\"\r\n className=\"btn btn-secondary\"\r\n >\r\n Guardar y Salir\r\n \r\n   \r\n \r\n Salir\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst GeneralData = ({\r\n cdCampaignConfiguration,\r\n modification,\r\n errors,\r\n onChangeValuesObject\r\n}) => {\r\n const typeObjectName = \"cdCampaignConfiguration\";\r\n const [creationDate, setCreationDate] = useState(new Date());\r\n const { configurationService } = useAuth();\r\n\r\n const [loanDestination, setLoanDestination] = useState(\"\");\r\n const [loanType, setLoanType] = useState(\"\");\r\n const [dueDays, setDueDays] = useState([]);\r\n\r\n const [projectedAmount, setProjectedAmount] = useState(0);\r\n const [projectedCustomer, setProjectedCustomer] = useState(0);\r\n const [targetAmount, setTargetAmount] = useState(0);\r\n const [targetCustomer, setTargetCustomer] = useState(0);\r\n\r\n useEffect(() => {\r\n if (!configurationService) return;\r\n\r\n const loadConfigurationCampaign = async () => {\r\n const companyConfiguration = await configurationService.getConfiguration();\r\n\r\n if (!cdCampaignConfiguration && nameDestination === \"\")\r\n setNameDestination(\r\n companyConfiguration.object.generalConfiguration.nameDestination\r\n );\r\n\r\n if (!cdCampaignConfiguration && loanDestination === \"\")\r\n setLoanDestination(\r\n companyConfiguration.object.generalConfiguration.loanDestination\r\n );\r\n\r\n if (!cdCampaignConfiguration && loanType === \"\")\r\n setLoanType(companyConfiguration.object.generalConfiguration.loanType);\r\n\r\n if (companyConfiguration) {\r\n const tempDueDays = companyConfiguration.object.generalConfiguration.dueDay.map(\r\n item => {\r\n return { key: item, text: item, value: item };\r\n }\r\n );\r\n\r\n setDueDays(tempDueDays);\r\n }\r\n };\r\n\r\n loadConfigurationCampaign();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [configurationService]);\r\n\r\n useEffect(() => {\r\n const cdCampaignConfigurationDataSource = cdCampaignConfiguration || {};\r\n\r\n if (cdCampaignConfigurationDataSource.finishDate) {\r\n setFinishDate(\r\n moment(cdCampaignConfigurationDataSource.finishDate).format(\"Y-MM-DD\")\r\n );\r\n }\r\n\r\n if (cdCampaignConfigurationDataSource.legalizationForm) {\r\n setLegalizationForm(cdCampaignConfigurationDataSource.legalizationForm);\r\n }\r\n\r\n if (cdCampaignConfigurationDataSource.name) {\r\n setName(cdCampaignConfigurationDataSource.name);\r\n }\r\n\r\n if (cdCampaignConfigurationDataSource.nameDestination) {\r\n setNameDestination(cdCampaignConfigurationDataSource.nameDestination);\r\n }\r\n\r\n if (cdCampaignConfigurationDataSource.startDate) {\r\n setStartDate(\r\n moment(cdCampaignConfigurationDataSource.startDate).format(\"Y-MM-DD\")\r\n );\r\n }\r\n\r\n if (cdCampaignConfigurationDataSource.loanDestination) {\r\n setLoanDestination(cdCampaignConfigurationDataSource.loanDestination);\r\n }\r\n\r\n if (cdCampaignConfigurationDataSource.loanType) {\r\n setLoanType(cdCampaignConfigurationDataSource.loanType);\r\n }\r\n\r\n if (cdCampaignConfigurationDataSource.creationDate)\r\n setCreationDate(cdCampaignConfigurationDataSource.creationDate);\r\n\r\n if (cdCampaignConfigurationDataSource.projectedAmount)\r\n setProjectedAmount(cdCampaignConfigurationDataSource.projectedAmount);\r\n\r\n if (cdCampaignConfigurationDataSource.projectedCustomer)\r\n setProjectedCustomer(cdCampaignConfigurationDataSource.projectedCustomer);\r\n\r\n if (cdCampaignConfigurationDataSource.targetAmount)\r\n setTargetAmount(cdCampaignConfigurationDataSource.targetAmount);\r\n\r\n if (cdCampaignConfigurationDataSource.targetCustomer)\r\n setTargetCustomer(cdCampaignConfigurationDataSource.targetCustomer);\r\n\r\n if (cdCampaignConfigurationDataSource.dueDay)\r\n setDueDay(cdCampaignConfigurationDataSource.dueDay);\r\n }, [cdCampaignConfiguration]);\r\n\r\n const [errorsInput, setErrorsInput] = useState({});\r\n\r\n const setErrorKey = useCallback(\r\n (key, text) => {\r\n const errorsInputTemp = Object.assign(errorsInput, {});\r\n errorsInputTemp[key] = text;\r\n setErrorsInput({ ...errorsInputTemp });\r\n },\r\n [errorsInput]\r\n );\r\n\r\n const [readOnly, setReadOnly] = useState(false);\r\n useEffect(() => {\r\n setReadOnly(modification === false);\r\n }, [modification]);\r\n\r\n const [nameDestination, setNameDestination] = useState(\"\");\r\n\r\n const [name, setName] = useState(\"\");\r\n const onChangeName = useCallback((_, newValue) => setName(newValue.value), [\r\n setName\r\n ]);\r\n\r\n const [startDate, setStartDate] = useState(\"\");\r\n const [finishDate, setFinishDate] = useState(\"\");\r\n\r\n const onChangeFinishDate = useCallback(\r\n (_, newValue) => {\r\n setErrorKey(\"finishDate\", undefined);\r\n setFinishDate(newValue.value);\r\n },\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n [setFinishDate, startDate]\r\n );\r\n\r\n const onChangeStartDate = useCallback(\r\n (_, newValue) => {\r\n if (finishDate && finishDate < newValue.value) {\r\n setErrorKey(\r\n \"startDate\",\r\n \"La fecha de inicio no puede ser mayor a la fecha de finalización\"\r\n );\r\n setStartDate(\"\");\r\n return;\r\n }\r\n setErrorKey(\"startDate\", undefined);\r\n setStartDate(newValue.value);\r\n },\r\n [finishDate, setErrorKey]\r\n );\r\n\r\n const [legalizationForm, setLegalizationForm] = useState(0);\r\n\r\n const [dueDay, setDueDay] = useState([]);\r\n const onChangeDueDay = useCallback(\r\n (_, newValue) => setDueDay(newValue.value),\r\n []\r\n );\r\n\r\n const updateValues = () => {\r\n let cdCampaignConfigurationTempData = {\r\n applyQueryCentralRisk: false,\r\n applyUpdateData: false,\r\n creationDate,\r\n dueDay,\r\n finishDate,\r\n guarantee: 999,\r\n legalizationForm,\r\n loanDestination,\r\n loanType,\r\n name,\r\n nameDestination,\r\n projectedAmount,\r\n projectedCustomer,\r\n startDate,\r\n targetAmount,\r\n targetCustomer\r\n };\r\n\r\n onChangeValuesObject(typeObjectName, cdCampaignConfigurationTempData);\r\n };\r\n\r\n useEffect(() => {\r\n updateValues();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [nameDestination, name, legalizationForm, onChangeValuesObject]);\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n (!readOnly ? updateValues() : null)}\r\n />\r\n {\r\n if (startDate > ev.target.value) {\r\n setErrorKey(\r\n \"finishDate\",\r\n \"La fecha final no puede ser inferior a la fecha inicial\"\r\n );\r\n setFinishDate(\"\");\r\n return;\r\n } else if (!readOnly) {\r\n updateValues();\r\n }\r\n }}\r\n />\r\n \r\n \r\n {\r\n updateValues();\r\n }}\r\n error={errors.dueDay}\r\n />\r\n \r\n
    \r\n );\r\n};\r\n\r\nGeneralData.defaultProps = {\r\n errors: {}\r\n};\r\n\r\nexport const NotificationPopPup = ({ showToast, text }) => {\r\n const { addToast } = useToasts();\r\n\r\n useEffect(() => {\r\n if (showToast) {\r\n addToast(text || \"Configuración guardada\", {\r\n appearance: \"success\",\r\n autoDismiss: true\r\n });\r\n }\r\n }, [addToast, showToast, text]);\r\n\r\n return null;\r\n};\r\n\r\nconst TokenService = ({ onChangeService }) => {\r\n const { campaignService } = useAuth();\r\n\r\n useEffect(() => {\r\n if (!campaignService) return;\r\n onChangeService(campaignService);\r\n }, [campaignService, onChangeService]);\r\n\r\n return null;\r\n};\r\n","import React, { useEffect, useState, useCallback } from \"react\";\r\nimport { Container, Form, Message, Segment, Table } from \"semantic-ui-react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { ToastProvider } from \"react-toast-notifications\";\r\nimport { NotificationPopPup } from \"../../campaigns/New\";\r\nimport { useAuth } from \"../../../../AuthenticationStore\";\r\nimport { useForm, useFieldArray } from \"react-hook-form\";\r\n\r\nlet optionsDueDays = [...Array(30).keys()];\r\n\r\noptionsDueDays = optionsDueDays.map(item => {\r\n const day = item + 1;\r\n return { key: day, text: day, value: day };\r\n});\r\n\r\nconst Campaigns = () => {\r\n const { configurationService, loanService } = useAuth();\r\n const [loading, setLoading] = useState(true);\r\n\r\n const { register, control, handleSubmit } = useForm({});\r\n const { fields, append, remove } = useFieldArray({\r\n control,\r\n name: \"appClients\"\r\n });\r\n\r\n const [dueDay, setDueDay] = useState([]);\r\n const onChangeDueDay = useCallback(\r\n (_, newValue) => {\r\n setDueDay(newValue.value);\r\n },\r\n [setDueDay]\r\n );\r\n\r\n const [daysQueryCentralRisk, setDaysQueryCentralRisk] = useState(0);\r\n const onChangeDaysQueryCentralRisk = useCallback(\r\n (_, newValue) => setDaysQueryCentralRisk(newValue.value),\r\n [setDaysQueryCentralRisk]\r\n );\r\n\r\n const [daysUpdateData, setDaysUpdateData] = useState(0);\r\n const onChangeDaysUpdateData = useCallback(\r\n (_, newValue) => setDaysUpdateData(newValue.value),\r\n [setDaysUpdateData]\r\n );\r\n\r\n const [guaranteeType, setGuaranteeType] = useState(\"\");\r\n const onChangeGuaranteeType = useCallback(\r\n (_, newValue) => setGuaranteeType(newValue.value),\r\n [setGuaranteeType]\r\n );\r\n\r\n const [nameDestination, setNameDestination] = useState(\"\");\r\n\r\n const [originalConfiguration, setOriginalConfiguration] = useState({});\r\n\r\n const [loans, setLoans] = useState([]);\r\n const [destinations, setDestinations] = useState({});\r\n\r\n const [loanType, setLoanType] = useState(\"\");\r\n const onChangeLoanType = useCallback(\r\n (_, newValue) => setLoanType(newValue.value),\r\n [setLoanType]\r\n );\r\n\r\n const [loanDestination, setLoanDestination] = useState(\"\");\r\n const onChangeLoanDestination = useCallback(\r\n (_, newValue) => {\r\n const nameDestinationSelected = newValue.options.find(\r\n item => item.value === newValue.value\r\n );\r\n setLoanDestination(newValue.value);\r\n setNameDestination(nameDestinationSelected.text);\r\n },\r\n [setLoanDestination]\r\n );\r\n\r\n useEffect(() => {\r\n if (!configurationService) return;\r\n\r\n const getConfiguration = async () => {\r\n getList();\r\n\r\n const responseCompany = await configurationService.getConfiguration();\r\n if (\r\n responseCompany.object &&\r\n responseCompany.object.generalConfiguration\r\n ) {\r\n setDaysQueryCentralRisk(\r\n responseCompany.object.generalConfiguration.daysQueryCentralRisk\r\n );\r\n setDaysUpdateData(\r\n responseCompany.object.generalConfiguration.daysUpdateData\r\n );\r\n setGuaranteeType(\r\n responseCompany.object.generalConfiguration.guaranteeType\r\n );\r\n setNameDestination(\r\n responseCompany.object.generalConfiguration.nameDestination\r\n );\r\n setLoanDestination(\r\n responseCompany.object.generalConfiguration.loanDestination\r\n );\r\n\r\n setLoanType(responseCompany.object.generalConfiguration.loanType);\r\n\r\n setDueDay(responseCompany.object.generalConfiguration.dueDay);\r\n\r\n // apps cliente\r\n const appsClientsResponse = responseCompany.object.generalConfiguration.appClients;\r\n if (appsClientsResponse) {\r\n for (let i = 0; i < appsClientsResponse.length; i++) {\r\n const client = appsClientsResponse[i];\r\n append(client)\r\n }\r\n }\r\n \r\n setOriginalConfiguration(responseCompany.object);\r\n setLoading(false);\r\n }\r\n };\r\n getConfiguration();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [configurationService]);\r\n\r\n const getList = async () => {\r\n loanService\r\n .getLoanType()\r\n .then(res => {\r\n if (res.cdExceptions.length > 0) {\r\n const errors = [];\r\n for (let index = 0; index < res.cdExceptions.length; index++) {\r\n errors.push(res.cdExceptions[index][\"exception\"]);\r\n }\r\n messagesExepctions(errors);\r\n setLoans([]);\r\n setDestinations({});\r\n return;\r\n }\r\n\r\n let destinationsObject = {};\r\n\r\n const optionsAttributeTemp = res.object.map((item, key) => {\r\n destinationsObject[item.loanTypeCode] = item.destinations.map(\r\n (itemLoan, keyLoan) => {\r\n return {\r\n key: keyLoan,\r\n text: itemLoan.loanDestinationName,\r\n value: itemLoan.loanDestinationCode\r\n };\r\n }\r\n );\r\n\r\n return { key, text: item.loanTypeName, value: item.loanTypeCode };\r\n });\r\n\r\n setLoans(optionsAttributeTemp);\r\n setDestinations(destinationsObject);\r\n })\r\n // eslint-disable-next-line no-console\r\n .catch(err => console.log(err));\r\n };\r\n\r\n const saveConfiguration = async data => {\r\n setLoading(true);\r\n const generalConfig = Object.assign(originalConfiguration, {});\r\n if (!generalConfig.generalConfiguration)\r\n generalConfig.generalConfiguration = {};\r\n\r\n generalConfig.generalConfiguration.daysQueryCentralRisk = daysQueryCentralRisk;\r\n generalConfig.generalConfiguration.daysUpdateData = daysUpdateData;\r\n generalConfig.generalConfiguration.guaranteeType = guaranteeType;\r\n generalConfig.generalConfiguration.nameDestination = nameDestination;\r\n generalConfig.generalConfiguration.loanType = loanType;\r\n generalConfig.generalConfiguration.loanDestination = loanDestination;\r\n generalConfig.generalConfiguration.dueDay = dueDay;\r\n generalConfig.generalConfiguration.appClients = data.appClients;\r\n\r\n const responseSveConfig = await configurationService.saveConfiguration(\r\n generalConfig\r\n );\r\n\r\n let messages = [];\r\n if (responseSveConfig && responseSveConfig.cdExceptions) {\r\n for (let i = 0; i < responseSveConfig.cdExceptions.length; i++) {\r\n messages.push(responseSveConfig.cdExceptions[i][\"exception\"]);\r\n }\r\n setMessagesExepctions(messages);\r\n }\r\n\r\n if (messages.length === 0) {\r\n setShowToast(true);\r\n setTimeout(() => setShowToast(false), 500);\r\n }\r\n\r\n setLoading(false);\r\n };\r\n\r\n const [messagesExepctions, setMessagesExepctions] = useState([]);\r\n const handleDismissExceptions = () => setMessagesExepctions([]);\r\n // toast\r\n const [showToast, setShowToast] = useState(false);\r\n\r\n const validateDaysUpdateData = () => {\r\n if (daysUpdateData <= -1) setDaysUpdateData(0);\r\n };\r\n\r\n const validateDaysQueryCentralRisk = () => {\r\n if (daysQueryCentralRisk <= -1) setDaysQueryCentralRisk(0);\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {messagesExepctions.length > 0 ? (\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 \r\n \r\n \r\n \r\n \r\n
    \r\n
    saveConfiguration(data))} id=\"formClients\">\r\n \r\n \r\n \r\n \r\n

    \r\n Apps clientes\r\n append({ enabled: true })}\r\n >\r\n Agregar cliente\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Identificador\r\n Descripción\r\n Activo\r\n \r\n \r\n \r\n\r\n \r\n {fields.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n remove(index)} \r\n >\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n const formClients = document.querySelector(\"#formClients\")\r\n formClients.dispatchEvent(new Event('submit', { cancelable: true }))\r\n }}\r\n >\r\n Guardar\r\n \r\n   \r\n \r\n Salir\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Campaigns;\r\nexport { optionsDueDays };\r\n","import React from \"react\";\r\nimport { Modal, Table } from \"semantic-ui-react\";\r\n\r\nconst Schema = ({ handleClose, show, properties }) => {\r\n return (\r\n \r\n Variables esquema\r\n \r\n \r\n \r\n \r\n Nombre\r\n Tipo\r\n Longitud\r\n \r\n \r\n\r\n \r\n {Object.keys(properties).map((item, index) => (\r\n \r\n {item}\r\n {properties[item].type}\r\n {index}\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nSchema.defaultProps = {\r\n properties: {}\r\n};\r\n\r\nexport default Schema;\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { Segment, Table, Radio, Image } from \"semantic-ui-react\";\r\nimport \"./index.scss\";\r\nimport notImageContent from \"../../../assets/images/not_image.png\";\r\nimport Shema from \"./Shema\";\r\n\r\nconst ImportProfile = ({\r\n providerProp,\r\n providersProp,\r\n changeProvider,\r\n notProperties\r\n}) => {\r\n const [providers, setProviders] = useState([]);\r\n const [provider, setProvider] = useState(\"\");\r\n const [modalShema, setModalSchema] = useState(false);\r\n const [properties, setProperties] = useState({});\r\n\r\n useEffect(() => {\r\n setProviders(providersProp);\r\n }, [providersProp]);\r\n\r\n useEffect(() => {\r\n setProvider(providerProp);\r\n }, [providerProp]);\r\n\r\n const changeCheckProvider = useCallback(\r\n (_, newValue) => {\r\n setProvider(newValue.value);\r\n changeProvider(newValue.value, newValue[\"data-provider\"]);\r\n },\r\n [changeProvider]\r\n );\r\n\r\n const openConfigSchema = schema => {\r\n setProperties(schema.items.properties);\r\n setModalSchema(true);\r\n };\r\n\r\n return (\r\n \r\n setModalSchema(false)}\r\n properties={properties}\r\n />\r\n \r\n \r\n \r\n Logo\r\n Compañía\r\n Descripción\r\n \r\n \r\n \r\n\r\n \r\n {providers.map((item, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n

    {item.name}

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

    {item.detail}

    \r\n
    \r\n \r\n
    \r\n \r\n   \r\n {!notProperties ? (\r\n openConfigSchema(item.schema)}\r\n className=\"btn btn-inverse-primary btn-rounded btn-icon\"\r\n >\r\n \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// Set default props\r\nImportProfile.defaultProps = {\r\n providerProp: \"\",\r\n providersProp: []\r\n};\r\n\r\nexport default ImportProfile;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Segment, Form, Input, Checkbox } from \"semantic-ui-react\";\r\n\r\nconst DataOrigin = ({\r\n dataSourceProp,\r\n updateDataSource,\r\n schemaStructureProp,\r\n uploadFile\r\n}) => {\r\n const [schemaStructure, setSchemaStructure] = useState([]);\r\n const [schemaProperties, setSchemaProperties] = useState({});\r\n const [schemaAditionalProperties, setSchemaAditionalProperties] = useState(\r\n []\r\n );\r\n\r\n useEffect(() => {\r\n if (!schemaStructureProp) return;\r\n if (schemaStructureProp.properties) {\r\n let keysStructure = [];\r\n let keysSchemaAditionalProperties = [];\r\n\r\n for (const key in schemaStructureProp.properties) {\r\n if (\r\n schemaStructureProp.properties.hasOwnProperty.call(\r\n schemaStructureProp.properties,\r\n key\r\n )\r\n ) {\r\n const propertie = schemaStructureProp.properties[key];\r\n if (propertie.type === \"object\") {\r\n // sub level input extra data\r\n keysStructure.push(key);\r\n for (const subKey in propertie.properties) {\r\n if (\r\n propertie.properties.hasOwnProperty.call(\r\n propertie.properties,\r\n subKey\r\n )\r\n ) {\r\n const subPropertie = propertie.properties[subKey];\r\n subPropertie.name = subKey;\r\n keysSchemaAditionalProperties.push(subPropertie);\r\n }\r\n }\r\n } else if (propertie.order) keysStructure[propertie.order - 1] = key;\r\n }\r\n }\r\n\r\n setSchemaStructure(keysStructure);\r\n setSchemaProperties(schemaStructureProp.properties);\r\n setSchemaAditionalProperties(keysSchemaAditionalProperties);\r\n }\r\n }, [schemaStructureProp]);\r\n\r\n return (\r\n \r\n
    \r\n {schemaStructure.map(field =>\r\n schemaProperties[field].type === \"string\" ? (\r\n \r\n ) : schemaProperties[field].type === \"boolean\" ? (\r\n schemaProperties[field].type1 === \"binary\" ? (\r\n \r\n {schemaProperties[field].label}\r\n \r\n \r\n ) : (\r\n \r\n )\r\n ) : schemaProperties[field].type === \"number\" ? (\r\n \r\n ) : schemaProperties[field].type === \"object\" ? (\r\n schemaAditionalProperties.map(aditionalField =>\r\n aditionalField.type === \"string\" ? (\r\n \r\n ) : null\r\n )\r\n ) : null\r\n )}\r\n \r\n
    \r\n );\r\n};\r\n\r\nDataOrigin.defaultProps = {\r\n dataSourceProp: {}\r\n};\r\n\r\nexport default DataOrigin;\r\n","import React, { useEffect, useState, useCallback } from \"react\";\r\nimport {\r\n Switch,\r\n Route,\r\n NavLink,\r\n useRouteMatch,\r\n Redirect\r\n} from \"react-router-dom\";\r\nimport { Menu, Dimmer, Loader, Message } from \"semantic-ui-react\";\r\n// sub views\r\nimport ImportProfile from \"./../../../../components/Configuration/ImportProfile\";\r\nimport DataOrigin from \"./../../../../components/Configuration/DataOrigin\";\r\nimport { useAuth } from \"../../../../AuthenticationStore\";\r\nimport { validateRequired } from \"../../../../components/utils/utils\";\r\n\r\nexport default function RiskProfile() {\r\n const [requiredConfigSchema, setRequiredConfigSchema] = useState(false);\r\n const [schemaStructure, setSchemaStructure] = useState([]);\r\n const { configurationService, companyService } = useAuth();\r\n const [loading, setLoading] = useState(true);\r\n\r\n const [providers, setProviders] = useState([]);\r\n const [providerId, setProviderId] = useState(\"\");\r\n const [provider, setProvider] = useState(0);\r\n\r\n let isUploadFile = false;\r\n const [messageUpload, setMessageUpload] = useState(false);\r\n\r\n const [dataSource, setDataSource] = useState({});\r\n\r\n const [originalConfiguration, setOriginalConfiguration] = useState([]);\r\n\r\n const loadProviders = async () => {\r\n const response = await configurationService.getProvidersIntegration(1);\r\n if (response && response.object) setProviders(response.object);\r\n };\r\n\r\n const loadConfiguration = async () => {\r\n const response = await configurationService.getConfiguration();\r\n if (response && response.object) {\r\n setOriginalConfiguration(response.object);\r\n // set id provider\r\n if (response.object.pr && response.object.pr.providerId) {\r\n setProviderId(response.object.pr.providerId);\r\n setProvider(response.object.pr.provider);\r\n // read configuration\r\n const arrayConfig = response.object.pr.disarrayConfiguration || \"{}\";\r\n setDataSource(JSON.parse(arrayConfig));\r\n }\r\n }\r\n };\r\n\r\n const loadData = async () => {\r\n setLoading(true);\r\n // load data providers\r\n await loadProviders();\r\n // load data configuration\r\n await loadConfiguration();\r\n // hide loading\r\n setLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (!configurationService) return;\r\n loadData();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [configurationService]);\r\n\r\n let { path, url } = useRouteMatch();\r\n\r\n const changeProvider = (id, tempProvider) => {\r\n setProviderId(id);\r\n setProvider(tempProvider);\r\n };\r\n\r\n const changeShemaProvider = useCallback(\r\n id => {\r\n if (!id) return;\r\n // find schema provider\r\n const objectProvider = providers.find(item => item.providerId === id);\r\n if (objectProvider && objectProvider.configurationSchema) {\r\n setRequiredConfigSchema(true);\r\n setSchemaStructure(objectProvider.configurationSchema);\r\n } else {\r\n setRequiredConfigSchema(false);\r\n }\r\n },\r\n [providers]\r\n );\r\n\r\n // set schema provider\r\n useEffect(() => changeShemaProvider(providerId), [\r\n changeShemaProvider,\r\n providerId,\r\n providers\r\n ]);\r\n\r\n const changeValue = useCallback(\r\n (_, newValue) => {\r\n const tempObjSchema = {};\r\n\r\n if (newValue.type === \"checkbox\") {\r\n tempObjSchema[newValue.name] = newValue.checked;\r\n } else if (newValue.type === \"number\") {\r\n tempObjSchema[newValue.name] = Number(newValue.value);\r\n } else {\r\n tempObjSchema[newValue.name] = newValue.value;\r\n }\r\n\r\n if (newValue[\"data-aditional-prop\"]) {\r\n const copyAdditionalParams = Object.assign(\r\n dataSource[\"additionalParameter\"] || {},\r\n tempObjSchema\r\n );\r\n\r\n const additionalParams = { additionalParameter: copyAdditionalParams };\r\n setDataSource({ ...dataSource, ...additionalParams });\r\n } else {\r\n setDataSource({ ...dataSource, ...tempObjSchema });\r\n }\r\n },\r\n [dataSource]\r\n );\r\n\r\n const saveConfiguration = async () => {\r\n setLoading(true);\r\n const generalConfig = Object.assign(originalConfiguration, {});\r\n\r\n const validateData = validateRequired(\r\n dataSource,\r\n schemaStructure.required,\r\n schemaStructure.properties\r\n );\r\n\r\n if (validateData.length > 0 && !isUploadFile) {\r\n setLoading(false);\r\n setMessagesExepctions(validateData);\r\n return;\r\n }\r\n\r\n generalConfig.pr.disarrayConfiguration = JSON.stringify(dataSource);\r\n generalConfig.pr.providerId = providerId;\r\n generalConfig.pr.provider = provider;\r\n\r\n const responseSveConfig = await configurationService.saveConfiguration(\r\n generalConfig\r\n );\r\n\r\n if (responseSveConfig && responseSveConfig.cdExceptions) {\r\n let messages = [];\r\n for (let i = 0; i < responseSveConfig.cdExceptions.length; i++) {\r\n messages.push(responseSveConfig.cdExceptions[i][\"exception\"]);\r\n }\r\n setMessagesExepctions(messages);\r\n }\r\n\r\n setLoading(false);\r\n };\r\n\r\n const [messagesExepctions, setMessagesExepctions] = useState([]);\r\n const handleDismissExceptions = () => setMessagesExepctions([]);\r\n\r\n const uploadFile = async event => {\r\n isUploadFile = true;\r\n var formData = new FormData();\r\n\r\n const file = event.target.files[0];\r\n formData.append(\"file\", file);\r\n formData.append(\"typeFile\", \"Pr\");\r\n\r\n await saveConfiguration();\r\n // return if contains error in save\r\n if (messagesExepctions.length > 0) return;\r\n\r\n const resultUpload = await companyService.upFile(formData);\r\n\r\n if (resultUpload.result) {\r\n setMessageUpload(true);\r\n setTimeout(() => {\r\n setMessageUpload(false);\r\n }, 5000);\r\n } else {\r\n setMessagesExepctions([\"No se pudo subir el archivo\"]);\r\n }\r\n\r\n isUploadFile = true;\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n {messageUpload ? (\r\n \r\n

    Archivo almacenado con exito

    \r\n
    \r\n ) : null}\r\n \r\n \r\n \r\n {messagesExepctions.length > 0 ? (\r\n \r\n ) : null}\r\n \r\n \r\n Importar Perfil de Riesgo\r\n \r\n {requiredConfigSchema ? (\r\n \r\n Origen Datos\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 Guardar\r\n {\" \"}\r\n \r\n Salir\r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","import React, { useEffect, useState, useCallback } from \"react\";\r\nimport {\r\n Switch,\r\n Route,\r\n NavLink,\r\n useRouteMatch,\r\n Redirect\r\n} from \"react-router-dom\";\r\nimport { Menu, Dimmer, Loader, Message } from \"semantic-ui-react\";\r\n// sub views\r\nimport ImportProfile from \"./../../../../components/Configuration/ImportProfile\";\r\nimport DataOrigin from \"./../../../../components/Configuration/DataOrigin\";\r\nimport { useAuth } from \"../../../../AuthenticationStore\";\r\nimport { validateRequired } from \"../../../../components/utils/utils\";\r\n\r\nexport default function SEDConfiguration() {\r\n const [requiredConfigSchema, setRequiredConfigSchema] = useState(false);\r\n const { configurationService } = useAuth();\r\n const [loading, setLoading] = useState(true);\r\n\r\n const [providers, setProviders] = useState([]);\r\n const [providerId, setProviderId] = useState(\"\");\r\n const [provider, setProvider] = useState(0);\r\n const [schemaStructure, setSchemaStructure] = useState([]);\r\n\r\n const [dataSource, setDataSource] = useState();\r\n\r\n const [originalConfiguration, setOriginalConfiguration] = useState([]);\r\n\r\n const loadProviders = async () => {\r\n const response = await configurationService.getProvidersIntegration(0);\r\n if (response && response.object) {\r\n setProviders(response.object);\r\n }\r\n };\r\n\r\n const loadConfiguration = async () => {\r\n const response = await configurationService.getConfiguration();\r\n if (response && response.object) {\r\n setOriginalConfiguration(response.object);\r\n // set id provider\r\n if (response.object.sed && response.object.sed.providerId) {\r\n setProviderId(response.object.sed.providerId);\r\n setProvider(response.object.sed.provider);\r\n // read configuration\r\n const arrayConfig = response.object.sed.disarrayConfiguration || \"{}\";\r\n setDataSource(JSON.parse(arrayConfig));\r\n }\r\n }\r\n };\r\n\r\n const loadData = async () => {\r\n setLoading(true);\r\n // load data providers\r\n await loadProviders();\r\n // load data configuration\r\n await loadConfiguration();\r\n // hide loading\r\n setLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (!configurationService) return;\r\n loadData();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [configurationService]);\r\n\r\n let { path, url } = useRouteMatch();\r\n\r\n const changeProvider = (id, tempProvider) => {\r\n setProviderId(id);\r\n setProvider(tempProvider);\r\n };\r\n\r\n const changeShemaProvider = useCallback(\r\n id => {\r\n if (!id) return;\r\n // find schema provider\r\n const objectProvider = providers.find(item => item.providerId === id);\r\n if (objectProvider && objectProvider.configurationSchema) {\r\n setRequiredConfigSchema(true);\r\n setSchemaStructure(objectProvider.configurationSchema);\r\n } else {\r\n setRequiredConfigSchema(false);\r\n }\r\n },\r\n [providers]\r\n );\r\n\r\n // set schema provider\r\n useEffect(() => changeShemaProvider(providerId), [\r\n changeShemaProvider,\r\n providerId,\r\n providers\r\n ]);\r\n\r\n const saveConfiguration = async () => {\r\n setLoading(true);\r\n const generalConfig = Object.assign(originalConfiguration, {});\r\n\r\n const validateData = validateRequired(\r\n dataSource,\r\n schemaStructure.required,\r\n schemaStructure.properties\r\n );\r\n\r\n if (validateData.length > 0) {\r\n setLoading(false);\r\n setMessagesExepctions(validateData);\r\n return;\r\n }\r\n\r\n generalConfig.sed.disarrayConfiguration = JSON.stringify(dataSource);\r\n generalConfig.sed.providerId = providerId;\r\n generalConfig.sed.provider = provider;\r\n\r\n const responseSveConfig = await configurationService.saveConfiguration(\r\n generalConfig\r\n );\r\n\r\n if (responseSveConfig && responseSveConfig.cdExceptions) {\r\n let messages = [];\r\n for (let i = 0; i < responseSveConfig.cdExceptions.length; i++) {\r\n messages.push(responseSveConfig.cdExceptions[i][\"exception\"]);\r\n }\r\n setMessagesExepctions(messages);\r\n }\r\n\r\n setLoading(false);\r\n };\r\n\r\n const [messagesExepctions, setMessagesExepctions] = useState([]);\r\n const handleDismissExceptions = () => setMessagesExepctions([]);\r\n\r\n const changeValue = useCallback(\r\n (_, newValue) => {\r\n const tempObjSchema = {};\r\n\r\n if (newValue.type === \"checkbox\") {\r\n tempObjSchema[newValue.name] = newValue.checked;\r\n } else if (newValue.type === \"number\") {\r\n tempObjSchema[newValue.name] = Number(newValue.value);\r\n } else {\r\n tempObjSchema[newValue.name] = newValue.value;\r\n }\r\n\r\n if (newValue[\"data-aditional-prop\"]) {\r\n const copyAdditionalParams = Object.assign(\r\n dataSource[\"additionalParameter\"] || {},\r\n tempObjSchema\r\n );\r\n\r\n const additionalParams = { additionalParameter: copyAdditionalParams };\r\n setDataSource({ ...dataSource, ...additionalParams });\r\n } else {\r\n setDataSource({ ...dataSource, ...tempObjSchema });\r\n }\r\n },\r\n [dataSource]\r\n );\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n {messagesExepctions.length > 0 ? (\r\n \r\n ) : null}\r\n \r\n \r\n Importar SED\r\n \r\n {requiredConfigSchema ? (\r\n \r\n Origen Datos\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 Guardar\r\n \r\n   \r\n \r\n Salir\r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","import React, { useEffect, useState, useCallback } from \"react\";\r\nimport {\r\n Switch,\r\n Route,\r\n NavLink,\r\n useRouteMatch,\r\n Redirect\r\n} from \"react-router-dom\";\r\nimport { Menu, Dimmer, Loader, Message } from \"semantic-ui-react\";\r\n// sub views\r\nimport ImportProfile from \"../../../../components/Configuration/ImportProfile\";\r\nimport DataOrigin from \"../../../../components/Configuration/DataOrigin\";\r\nimport { useAuth } from \"../../../../AuthenticationStore\";\r\nimport { validateRequired } from \"../../../../components/utils/utils\";\r\n\r\nexport default function ERPConfiguration() {\r\n const { configurationService } = useAuth();\r\n const [loading, setLoading] = useState(true);\r\n const [requiredConfigSchema, setRequiredConfigSchema] = useState(false);\r\n\r\n const [providers, setProviders] = useState([]);\r\n const [providerId, setProviderId] = useState(\"\");\r\n const [provider, setProvider] = useState(0);\r\n const [schemaStructure, setSchemaStructure] = useState([]);\r\n\r\n const [dataSource, setDataSource] = useState({});\r\n\r\n const [originalConfiguration, setOriginalConfiguration] = useState([]);\r\n\r\n const loadProviders = async () => {\r\n const response = await configurationService.getProvidersIntegration(2);\r\n if (response && response.object) {\r\n setProviders(response.object);\r\n }\r\n };\r\n\r\n const loadConfiguration = async () => {\r\n const response = await configurationService.getConfiguration();\r\n if (response && response.object) {\r\n setOriginalConfiguration(response.object);\r\n // set id provider\r\n if (response.object.erp && response.object.erp.providerId) {\r\n setProviderId(response.object.erp.providerId);\r\n setProvider(response.object.erp.provider);\r\n // read configuration\r\n const arrayConfig = response.object.erp.disarrayConfiguration || \"{}\";\r\n setDataSource(JSON.parse(arrayConfig));\r\n }\r\n }\r\n };\r\n\r\n const loadData = async () => {\r\n setLoading(true);\r\n // load data providers\r\n await loadProviders();\r\n // load data configuration\r\n await loadConfiguration();\r\n // hide loading\r\n setLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (!configurationService) return;\r\n loadData();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [configurationService]);\r\n\r\n let { path, url } = useRouteMatch();\r\n\r\n const changeProvider = (id, tempProvider) => {\r\n setProviderId(id);\r\n setProvider(tempProvider);\r\n };\r\n\r\n const changeShemaProvider = useCallback(\r\n id => {\r\n if (!id) return;\r\n // find schema provider\r\n const objectProvider = providers.find(item => item.providerId === id);\r\n if (objectProvider && objectProvider.configurationSchema) {\r\n setRequiredConfigSchema(true);\r\n setSchemaStructure(objectProvider.configurationSchema);\r\n } else {\r\n setRequiredConfigSchema(false);\r\n }\r\n },\r\n [providers]\r\n );\r\n\r\n // set schema provider\r\n useEffect(() => changeShemaProvider(providerId), [\r\n changeShemaProvider,\r\n providerId,\r\n providers\r\n ]);\r\n\r\n const saveConfiguration = async () => {\r\n setLoading(true);\r\n const generalConfig = Object.assign(originalConfiguration, {});\r\n\r\n const validateData = validateRequired(\r\n dataSource,\r\n schemaStructure.required,\r\n schemaStructure.properties\r\n );\r\n\r\n if (validateData.length > 0) {\r\n setLoading(false);\r\n setMessagesExepctions(validateData);\r\n return;\r\n }\r\n\r\n generalConfig.erp.disarrayConfiguration = JSON.stringify(dataSource);\r\n generalConfig.erp.providerId = providerId;\r\n generalConfig.erp.provider = provider;\r\n\r\n const responseSveConfig = await configurationService.saveConfiguration(\r\n generalConfig\r\n );\r\n\r\n if (responseSveConfig && responseSveConfig.cdExceptions) {\r\n let messages = [];\r\n for (let i = 0; i < responseSveConfig.cdExceptions.length; i++) {\r\n messages.push(responseSveConfig.cdExceptions[i][\"exception\"]);\r\n }\r\n setMessagesExepctions(messages);\r\n }\r\n\r\n setLoading(false);\r\n };\r\n\r\n const [messagesExepctions, setMessagesExepctions] = useState([]);\r\n const handleDismissExceptions = () => setMessagesExepctions([]);\r\n\r\n const changeValue = useCallback(\r\n (_, newValue) => {\r\n const tempObjSchema = {};\r\n\r\n if (newValue.type === \"checkbox\") {\r\n tempObjSchema[newValue.name] = newValue.checked;\r\n } else if (newValue.type === \"number\") {\r\n tempObjSchema[newValue.name] = Number(newValue.value);\r\n } else {\r\n tempObjSchema[newValue.name] = newValue.value;\r\n }\r\n\r\n if (newValue[\"data-aditional-prop\"]) {\r\n const copyAdditionalParams = Object.assign(\r\n dataSource[\"additionalParameter\"] || {},\r\n tempObjSchema\r\n );\r\n\r\n const additionalParams = { additionalParameter: copyAdditionalParams };\r\n setDataSource({ ...dataSource, ...additionalParams });\r\n } else {\r\n setDataSource({ ...dataSource, ...tempObjSchema });\r\n }\r\n },\r\n [dataSource]\r\n );\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n {messagesExepctions.length > 0 ? (\r\n \r\n ) : null}\r\n \r\n \r\n Importar ERP\r\n \r\n {requiredConfigSchema ? (\r\n \r\n Origen Datos\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 Guardar\r\n \r\n   \r\n \r\n Salir\r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport {\r\n Switch,\r\n Route,\r\n NavLink,\r\n useRouteMatch,\r\n Redirect\r\n} from \"react-router-dom\";\r\nimport { Menu, Dimmer, Loader, Message } from \"semantic-ui-react\";\r\n// sub views\r\nimport ImportProfile from \"../../../../components/Configuration/ImportProfile\";\r\nimport { useAuth } from \"../../../../AuthenticationStore\";\r\n\r\nexport default function MailingConfiguration() {\r\n const { configurationService } = useAuth();\r\n const [loading, setLoading] = useState(true);\r\n\r\n const [providers, setProviders] = useState([]);\r\n const [providerId, setProviderId] = useState(\"\");\r\n const [provider, setProvider] = useState(0);\r\n\r\n const [dataSource, setDataSource] = useState({});\r\n\r\n const [originalConfiguration, setOriginalConfiguration] = useState([]);\r\n\r\n const loadProviders = async () => {\r\n const response = await configurationService.getProvidersIntegration(3);\r\n if (response && response.object) {\r\n setProviders(response.object);\r\n }\r\n };\r\n\r\n const loadConfiguration = async () => {\r\n const response = await configurationService.getConfiguration();\r\n if (response && response.object) {\r\n setOriginalConfiguration(response.object);\r\n // set id provider\r\n if (response.object.mailing && response.object.mailing.providerId) {\r\n setProviderId(response.object.mailing.providerId);\r\n setProvider(response.object.mailing.provider);\r\n // read configuration\r\n const arrayConfig =\r\n response.object.mailing.disarrayConfiguration || \"{}\";\r\n setDataSource(JSON.parse(arrayConfig));\r\n }\r\n }\r\n };\r\n\r\n const loadData = async () => {\r\n setLoading(true);\r\n // load data providers\r\n await loadProviders();\r\n // load data configuration\r\n await loadConfiguration();\r\n // hide loading\r\n setLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (!configurationService) return;\r\n loadData();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [configurationService]);\r\n\r\n let { path, url } = useRouteMatch();\r\n\r\n const changeProvider = (id, tempProvider) => {\r\n setProviderId(id);\r\n setProvider(tempProvider);\r\n };\r\n\r\n const saveConfiguration = async () => {\r\n setLoading(true);\r\n const generalConfig = Object.assign(originalConfiguration, {});\r\n\r\n if (!generalConfig.mailing) generalConfig.mailing = {};\r\n\r\n generalConfig.mailing.disarrayConfiguration = JSON.stringify(dataSource);\r\n generalConfig.mailing.providerId = providerId;\r\n generalConfig.mailing.provider = provider;\r\n\r\n const responseSveConfig = await configurationService.saveConfiguration(\r\n generalConfig\r\n );\r\n\r\n if (responseSveConfig && responseSveConfig.cdExceptions) {\r\n let messages = [];\r\n for (let i = 0; i < responseSveConfig.cdExceptions.length; i++) {\r\n messages.push(responseSveConfig.cdExceptions[i][\"exception\"]);\r\n }\r\n setMessagesExepctions(messages);\r\n }\r\n\r\n setLoading(false);\r\n };\r\n\r\n const [messagesExepctions, setMessagesExepctions] = useState([]);\r\n const handleDismissExceptions = () => setMessagesExepctions([]);\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n {messagesExepctions.length > 0 ? (\r\n \r\n ) : null}\r\n \r\n \r\n Proveedores mail\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Guardar\r\n \r\n   \r\n \r\n Salir\r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport {\r\n Switch,\r\n Route,\r\n NavLink,\r\n useRouteMatch,\r\n Redirect\r\n} from \"react-router-dom\";\r\nimport { Menu, Dimmer, Loader, Message } from \"semantic-ui-react\";\r\n// sub views\r\nimport ImportProfile from \"../../../../components/Configuration/ImportProfile\";\r\nimport { useAuth } from \"../../../../AuthenticationStore\";\r\n\r\nexport default function SMSConfiguration() {\r\n const { configurationService } = useAuth();\r\n const [loading, setLoading] = useState(true);\r\n\r\n const [providers, setProviders] = useState([]);\r\n const [providerId, setProviderId] = useState(\"\");\r\n const [provider, setProvider] = useState(0);\r\n\r\n const [dataSource, setDataSource] = useState({});\r\n\r\n const [originalConfiguration, setOriginalConfiguration] = useState([]);\r\n\r\n const loadProviders = async () => {\r\n const response = await configurationService.getProvidersIntegration(4);\r\n if (response && response.object) {\r\n setProviders(response.object);\r\n }\r\n };\r\n\r\n const loadConfiguration = async () => {\r\n const response = await configurationService.getConfiguration();\r\n if (response && response.object) {\r\n setOriginalConfiguration(response.object);\r\n // set id provider\r\n if (response.object.sms && response.object.sms.providerId) {\r\n setProviderId(response.object.sms.providerId);\r\n setProvider(response.object.sms.provider);\r\n // read configuration\r\n const arrayConfig = response.object.sms.disarrayConfiguration || \"{}\";\r\n setDataSource(JSON.parse(arrayConfig));\r\n }\r\n }\r\n };\r\n\r\n const loadData = async () => {\r\n setLoading(true);\r\n // load data providers\r\n await loadProviders();\r\n // load data configuration\r\n await loadConfiguration();\r\n // hide loading\r\n setLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (!configurationService) return;\r\n loadData();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [configurationService]);\r\n\r\n let { path, url } = useRouteMatch();\r\n\r\n const changeProvider = (id, tempProvider) => {\r\n setProviderId(id);\r\n setProvider(tempProvider);\r\n };\r\n\r\n const saveConfiguration = async () => {\r\n setLoading(true);\r\n const generalConfig = Object.assign(originalConfiguration, {});\r\n\r\n if (!generalConfig.sms) generalConfig.sms = {};\r\n\r\n generalConfig.sms.disarrayConfiguration = JSON.stringify(dataSource);\r\n generalConfig.sms.providerId = providerId;\r\n generalConfig.sms.provider = provider;\r\n\r\n const responseSveConfig = await configurationService.saveConfiguration(\r\n generalConfig\r\n );\r\n\r\n if (responseSveConfig && responseSveConfig.cdExceptions) {\r\n let messages = [];\r\n for (let i = 0; i < responseSveConfig.cdExceptions.length; i++) {\r\n messages.push(responseSveConfig.cdExceptions[i][\"exception\"]);\r\n }\r\n setMessagesExepctions(messages);\r\n }\r\n\r\n setLoading(false);\r\n };\r\n\r\n const [messagesExepctions, setMessagesExepctions] = useState([]);\r\n const handleDismissExceptions = () => setMessagesExepctions([]);\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n {messagesExepctions.length > 0 ? (\r\n \r\n ) : null}\r\n \r\n \r\n Proveedores SMS\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Guardar\r\n \r\n   \r\n \r\n Salir\r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","import React, { useEffect, useState, useCallback } from \"react\";\r\nimport {\r\n Switch,\r\n Route,\r\n NavLink,\r\n useRouteMatch,\r\n Redirect\r\n} from \"react-router-dom\";\r\nimport { Menu, Dimmer, Loader, Message } from \"semantic-ui-react\";\r\n// sub views\r\nimport ImportProfile from \"../../../../components/Configuration/ImportProfile\";\r\nimport DataOrigin from \"../../../../components/Configuration/DataOrigin\";\r\nimport { useAuth } from \"../../../../AuthenticationStore\";\r\nimport { validateRequired } from \"../../../../components/utils/utils\";\r\n\r\nexport default function ProviderSignature() {\r\n const { configurationService } = useAuth();\r\n const [loading, setLoading] = useState(true);\r\n const [requiredConfigSchema, setRequiredConfigSchema] = useState(false);\r\n\r\n const [providers, setProviders] = useState([]);\r\n const [providerId, setProviderId] = useState(\"\");\r\n const [provider, setProvider] = useState(0);\r\n const [schemaStructure, setSchemaStructure] = useState([]);\r\n\r\n const [dataSource, setDataSource] = useState({});\r\n\r\n const [originalConfiguration, setOriginalConfiguration] = useState([]);\r\n\r\n const loadProviders = async () => {\r\n const response = await configurationService.getProvidersIntegration(5);\r\n if (response && response.object) {\r\n setProviders(response.object);\r\n }\r\n };\r\n\r\n const loadConfiguration = async () => {\r\n const response = await configurationService.getConfiguration();\r\n if (response && response.object) {\r\n setOriginalConfiguration(response.object);\r\n // set id provider\r\n if (response.object.digitalSign && response.object.digitalSign.providerId) {\r\n setProviderId(response.object.digitalSign.providerId);\r\n setProvider(response.object.digitalSign.provider);\r\n // read configuration\r\n const arrayConfig = response.object.digitalSign.disarrayConfiguration || \"{}\";\r\n setDataSource(JSON.parse(arrayConfig));\r\n }\r\n }\r\n };\r\n\r\n const loadData = async () => {\r\n setLoading(true);\r\n // load data providers\r\n await loadProviders();\r\n // load data configuration\r\n await loadConfiguration();\r\n // hide loading\r\n setLoading(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (!configurationService) return;\r\n loadData();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [configurationService]);\r\n\r\n let { path, url } = useRouteMatch();\r\n\r\n const changeProvider = (id, tempProvider) => {\r\n setProviderId(id);\r\n setProvider(tempProvider);\r\n };\r\n\r\n const changeShemaProvider = useCallback(\r\n id => {\r\n if (!id) return;\r\n // find schema provider\r\n const objectProvider = providers.find(item => item.providerId === id);\r\n if (objectProvider && objectProvider.configurationSchema) {\r\n setRequiredConfigSchema(true);\r\n setSchemaStructure(objectProvider.configurationSchema);\r\n } else {\r\n setRequiredConfigSchema(false);\r\n }\r\n },\r\n [providers]\r\n );\r\n\r\n // set schema provider\r\n useEffect(() => changeShemaProvider(providerId), [\r\n changeShemaProvider,\r\n providerId,\r\n providers\r\n ]);\r\n\r\n const saveConfiguration = async () => {\r\n setLoading(true);\r\n const generalConfig = Object.assign(originalConfiguration, {});\r\n\r\n const validateData = validateRequired(\r\n dataSource,\r\n schemaStructure.required,\r\n schemaStructure.properties\r\n );\r\n\r\n if (validateData.length > 0) {\r\n setLoading(false);\r\n setMessagesExepctions(validateData);\r\n return;\r\n }\r\n\r\n if (!generalConfig.digitalSign) \r\n generalConfig.digitalSign = {}\r\n \r\n generalConfig.digitalSign.disarrayConfiguration = JSON.stringify(dataSource);\r\n generalConfig.digitalSign.providerId = providerId;\r\n generalConfig.digitalSign.provider = provider;\r\n\r\n const responseSveConfig = await configurationService.saveConfiguration(\r\n generalConfig\r\n );\r\n\r\n if (responseSveConfig && responseSveConfig.cdExceptions) {\r\n let messages = [];\r\n for (let i = 0; i < responseSveConfig.cdExceptions.length; i++) {\r\n messages.push(responseSveConfig.cdExceptions[i][\"exception\"]);\r\n }\r\n setMessagesExepctions(messages);\r\n }\r\n\r\n setLoading(false);\r\n };\r\n\r\n const [messagesExepctions, setMessagesExepctions] = useState([]);\r\n const handleDismissExceptions = () => setMessagesExepctions([]);\r\n\r\n const changeValue = useCallback(\r\n (_, newValue) => {\r\n const tempObjSchema = {};\r\n\r\n if (newValue.type === \"checkbox\") {\r\n tempObjSchema[newValue.name] = newValue.checked;\r\n } else if (newValue.type === \"number\") {\r\n tempObjSchema[newValue.name] = Number(newValue.value);\r\n } else {\r\n tempObjSchema[newValue.name] = newValue.value;\r\n }\r\n\r\n if (newValue[\"data-aditional-prop\"]) {\r\n const copyAdditionalParams = Object.assign(\r\n dataSource[\"additionalParameter\"] || {},\r\n tempObjSchema\r\n );\r\n\r\n const additionalParams = { additionalParameter: copyAdditionalParams };\r\n setDataSource({ ...dataSource, ...additionalParams });\r\n } else {\r\n setDataSource({ ...dataSource, ...tempObjSchema });\r\n }\r\n },\r\n [dataSource]\r\n );\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n {messagesExepctions.length > 0 ? (\r\n \r\n ) : null}\r\n \r\n \r\n Proveedor\r\n \r\n {requiredConfigSchema ? (\r\n \r\n Configuración\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 Guardar\r\n \r\n   \r\n \r\n Salir\r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","import React, { Fragment } from \"react\";\r\nimport { Menu } from \"semantic-ui-react\";\r\nimport {\r\n NavLink,\r\n useRouteMatch,\r\n Switch,\r\n Route,\r\n Redirect\r\n} from \"react-router-dom\";\r\n\r\nimport ConfigurationGeneral from \"./General\";\r\nimport ConfigurationCampaigns from \"./Campaigns\";\r\nimport ConfigurationRiksProfile from \"./RiksProfile\";\r\nimport SEDConfiguration from \"./SEDConfiguration\";\r\nimport ERPConfiguration from \"./ERPConfiguration\";\r\nimport MailingConfiguration from \"./MailingConfiguration\";\r\nimport SMSConfiguration from \"./SMSConfiguration\";\r\nimport ProviderSignature from \"./ProviderSignature\";\r\n\r\nexport const Configuration = () => {\r\n let { path, url } = useRouteMatch();\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n Campañas\r\n \r\n \r\n {\" \"}\r\n \r\n Configuración PR\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n Configuración SED\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n Configuración ERP\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n Configuración Mailing\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n Configuración SMS\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n Configuración Firma\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Modal } from \"semantic-ui-react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport ReactTable from \"react-table\";\r\nimport \"react-table/react-table.css\";\r\nimport moment from \"moment\";\r\nimport { useAuth } from \"../../../AuthenticationStore\";\r\n\r\nconst Campaigns = () => {\r\n const { campaignService } = useAuth();\r\n const [dataCampaigns, setDataCampaigns] = useState([]);\r\n const [loadData, setLoadData] = useState(true);\r\n const [dialongDiscard, setDialongDiscard] = useState(false);\r\n const [campaignInfo, setCampaignInfo] = useState([]);\r\n\r\n useEffect(() => {\r\n if (!campaignService) return;\r\n const getCampaigns = async () => {\r\n setLoadData(true);\r\n const responseCampaigns = await campaignService.getCampaigns();\r\n setDataCampaigns(responseCampaigns.object || []);\r\n setLoadData(false);\r\n };\r\n getCampaigns();\r\n }, [campaignService]);\r\n\r\n const show = () => setDialongDiscard(true);\r\n const close = () => setDialongDiscard(false);\r\n\r\n const discardCampaigAlert = (campaignId, index) => {\r\n setCampaignInfo([index, campaignId]);\r\n show();\r\n };\r\n\r\n const discardCampaign = async () => {\r\n setLoadData(true);\r\n close();\r\n let dataTemp = [...dataCampaigns];\r\n dataTemp.splice(campaignInfo[0], 1);\r\n setDataCampaigns(dataTemp);\r\n const result = await campaignService.discardCampaign(campaignInfo[1]);\r\n if (result.cdExceptions && result.cdExceptions.length > 0) {\r\n for (let i = 0; i < result.cdExceptions.length; i++) {\r\n const ms = result.cdExceptions[i][\"exception\"];\r\n alert(ms);\r\n }\r\n }\r\n setLoadData(false);\r\n };\r\n\r\n return (\r\n
    \r\n close()}>\r\n \r\n Confirmación\r\n \r\n \r\n

    Esta seguro de descartar la campaña?

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

    \r\n

    \r\n\r\n {\r\n if (!d.cdCampaignConfiguration) return d.campaignId;\r\n return d.cdCampaignConfiguration.name;\r\n },\r\n filterMethod: (filter, row) =>\r\n row[filter.id]\r\n .toLowerCase()\r\n .includes(filter.value.toLowerCase()),\r\n id: \"name\"\r\n },\r\n {\r\n Header: \"Fecha creación\",\r\n accessor: d => {\r\n if (!d.cdCampaignConfiguration) return \"0000-00-00 00:00\";\r\n return moment.utc(d.cdCampaignConfiguration.creationDate).format(\r\n \"Y-MM-DD hh:mm\"\r\n );\r\n },\r\n id: \"creationDate\"\r\n },\r\n {\r\n Filter: SelectStatusFilter,\r\n Header: \"Estado\",\r\n accessor: d => {\r\n switch (d.status) {\r\n case 0:\r\n return \"En proceso de configuración\";\r\n case 1:\r\n return \"Buscar datos pendientes\";\r\n case 2:\r\n return \"Buscando datos\";\r\n case 3:\r\n return \"Preparado para lanzar\";\r\n case 4:\r\n return \"Descartada\";\r\n case 5:\r\n return \"Lanzando\";\r\n case 6:\r\n return \"Lanzada\";\r\n default:\r\n return \"En proceso de configuración\";\r\n }\r\n },\r\n filter: \"includes\",\r\n filterMethod: (filter, row) =>\r\n row._original &&\r\n row._original.status === Number(filter.value),\r\n id: \"status\"\r\n },\r\n {\r\n Cell: cellInfo => {\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n -1\r\n ? true\r\n : false\r\n }\r\n onClick={() =>\r\n discardCampaigAlert(cellInfo.value, cellInfo.index)\r\n }\r\n >\r\n \r\n \r\n
    \r\n \r\n );\r\n },\r\n Header: \"\",\r\n accessor: \"campaignId\",\r\n filterable: false,\r\n id: \"actions\"\r\n }\r\n ]}\r\n defaultPageSize={10}\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nfunction SelectStatusFilter({ onChange, column: { filterValue } }) {\r\n // setFilter(event.target.value || undefined)\r\n return (\r\n onChange(event.target.value)}\r\n value={filterValue}\r\n >\r\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 Campaigns;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Chart from \"react-apexcharts\";\r\nimport amount from \"amount\";\r\n\r\nconst Bar = props => {\r\n const [options, setOptions] = useState({});\r\n const [series, setSeries] = useState([]);\r\n\r\n useEffect(() => {\r\n if (!props || !props.categories) return;\r\n\r\n setOptions({\r\n dataLabels: {\r\n enabled: true,\r\n formatter: function(val, opt) {\r\n return \"\";\r\n },\r\n offsetX: 0,\r\n textAnchor: \"start\"\r\n },\r\n tooltip: {\r\n y: {\r\n formatter: function(value) {\r\n if (props.isAmount) {\r\n return amount.currency(value, \"USD\");\r\n }\r\n\r\n return value;\r\n }\r\n }\r\n },\r\n xaxis: {\r\n categories: props.categories\r\n },\r\n yaxis: {\r\n labels: {\r\n formatter: value => {\r\n if (props.isAmount) {\r\n return amount.currency(value, \"USD\");\r\n }\r\n\r\n return value;\r\n }\r\n }\r\n }\r\n });\r\n\r\n if (props.seriesMultiple) {\r\n setSeries(props.seriesMultiple);\r\n } else {\r\n setSeries([\r\n {\r\n data: props.series,\r\n name: \"\"\r\n }\r\n ]);\r\n }\r\n }, [props]);\r\n\r\n return ;\r\n};\r\n\r\nexport default Bar;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Chart from \"react-apexcharts\";\r\nimport amount from \"amount\";\r\n\r\nconst Line = props => {\r\n const [options, setOptions] = useState({});\r\n const [series, setSeries] = useState([]);\r\n\r\n useEffect(() => {\r\n if (!props || !props.categories) return;\r\n\r\n setOptions({\r\n chart: {\r\n height: 350,\r\n type: \"line\",\r\n zoom: {\r\n enabled: false\r\n }\r\n },\r\n dataLabels: {\r\n enabled: false\r\n },\r\n grid: {\r\n row: {\r\n colors: [\"#f3f3f3\", \"transparent\"], // takes an array which will be repeated on columns\r\n opacity: 0.5\r\n }\r\n },\r\n stroke: {\r\n curve: \"straight\"\r\n },\r\n tooltip: {\r\n y: {\r\n formatter: function(value) {\r\n if (props.isAmount) {\r\n return amount.currency(value, \"USD\");\r\n }\r\n\r\n return value;\r\n }\r\n }\r\n },\r\n xaxis: {\r\n categories: props.categories\r\n },\r\n yaxis: {\r\n labels: {\r\n formatter: value => {\r\n if (props.isAmount) {\r\n return amount.currency(value, \"USD\");\r\n }\r\n\r\n return value;\r\n }\r\n }\r\n }\r\n });\r\n\r\n if (props.seriesMultiple) {\r\n setSeries(props.seriesMultiple);\r\n } else {\r\n setSeries(props.series);\r\n }\r\n }, [props]);\r\n\r\n return ;\r\n};\r\n\r\nexport default Line;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Chart from \"react-apexcharts\";\r\n\r\nconst Pie = props => {\r\n const [options, setOptions] = useState({});\r\n const [series, setSeries] = useState([]);\r\n\r\n useEffect(() => {\r\n if (!props || !props.categories) return;\r\n\r\n setOptions({\r\n chart: {\r\n width: 380,\r\n type: 'pie',\r\n },\r\n labels: props.categories,\r\n responsive: [\r\n {\r\n breakpoint: 100,\r\n options: {\r\n chart: {\r\n width: 100\r\n },\r\n legend: {\r\n position: \"bottom\"\r\n }\r\n }\r\n }\r\n ]\r\n });\r\n\r\n setSeries(props.series);\r\n }, [props]);\r\n\r\n return ;\r\n};\r\n\r\nexport default Pie;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { useAuth } from \"../../../AuthenticationStore\";\r\nimport ChartBar from \"../../../components/Charts/Bar\";\r\nimport ChartLine from \"../../../components/Charts/Line\";\r\nimport ChartPie from \"../../../components/Charts/Pie\";\r\nimport { Container, Grid } from \"semantic-ui-react\";\r\n\r\nconst CampaignDashboard = () => {\r\n let { campaignId } = useParams();\r\n const { indicatorService } = useAuth();\r\n\r\n const [dashboardName, setDashboardName] = useState([]);\r\n\r\n const [\r\n categoriesIndicatorCustomerForDays,\r\n setCategoriesIndicatorCustomerForDays\r\n ] = useState({});\r\n\r\n const [\r\n seriesIndicatorCustomerForDays,\r\n setSeriesIndicatorCustomerForDays\r\n ] = useState([]);\r\n\r\n const [\r\n categoriesIndicatorAmountForDays,\r\n setCategoriesIndicatorAmountForDays\r\n ] = useState({});\r\n const [\r\n seriesIndicatorAmountForDays,\r\n setSeriesIndicatorAmountForDays\r\n ] = useState([]);\r\n\r\n const [\r\n categoriesIndicatorMultiBarCustomerForDays,\r\n setCategoriesIndicatorMultiBarCustomerForDays\r\n ] = useState({});\r\n const [\r\n seriesIndicatorMultiBarCustomerForDays,\r\n setSeriesIndicatorMultiBarCustomerForDays\r\n ] = useState([]);\r\n\r\n const [\r\n categoriesIndicatorMultiBarAmountForDays,\r\n setCategoriesIndicatorMultiBarAmountForDays\r\n ] = useState({});\r\n const [\r\n seriesIndicatorMultiBarAmountForDays,\r\n setSeriesIndicatorMultiBarAmountForDays\r\n ] = useState([]);\r\n\r\n const [\r\n categoriesIndicatorAmountChannel,\r\n setCategoriesIndicatorAmountChannel\r\n ] = useState({});\r\n const [\r\n seriesIndicatorAmountChannel,\r\n setSeriesIndicatorAmountChannel\r\n ] = useState([]);\r\n\r\n const [\r\n categoriesIndicatorCustomerChannel,\r\n setCategoriesIndicatorCustomerChannel\r\n ] = useState({});\r\n const [\r\n seriesIndicatorCustomerChannel,\r\n setSeriesIndicatorCustomerChannel\r\n ] = useState([]);\r\n\r\n const [\r\n categoriesIndicatorMultiBarCustomerForMonthAndChannel,\r\n setCategoriesIndicatorMultiBarCustomerForMonthAndChannel\r\n ] = useState({});\r\n const [\r\n seriesIndicatorMultiBarCustomerForMonthAndChannel,\r\n setSeriesIndicatorMultiBarCustomerForMonthAndChannel\r\n ] = useState([]);\r\n\r\n const [\r\n categoriesIndicatorMultiBarAmountForMonthAndChannel,\r\n setCategoriesIndicatorMultiBarAmountForMonthAndChannel\r\n ] = useState({});\r\n const [\r\n seriesIndicatorMultiBarAmountForMonthAndChannel,\r\n setSeriesIndicatorMultiBarAmountForMonthAndChannel\r\n ] = useState([]);\r\n\r\n const [\r\n categoriesIndicatorSurveyDeclined,\r\n setCategoriesIndicatorSurveyDeclined\r\n ] = useState({});\r\n const [\r\n seriesIndicatorSurveyDeclined,\r\n setSeriesIndicatorSurveyDeclined\r\n ] = useState([]);\r\n\r\n const [\r\n categoriesIndicatorApprovedSurveyAmount,\r\n setCategoriesIndicatorApprovedSurveyAmount\r\n ] = useState({});\r\n const [\r\n seriesIndicatorApprovedSurveyAmount,\r\n setSeriesIndicatorApprovedSurveyAmount\r\n ] = useState([]);\r\n\r\n const [\r\n categoriesIndicatorApprovedSurveyCustomer,\r\n setCategoriesIndicatorApprovedSurveyCustomer\r\n ] = useState({});\r\n const [\r\n seriesIndicatorApprovedSurveyCustomer,\r\n setSeriesIndicatorApprovedSurveyCustomer\r\n ] = useState([]);\r\n\r\n useEffect(() => {\r\n if (!indicatorService) return;\r\n\r\n const getDetailCampaign = async () => {\r\n const responseCampaigns = await indicatorService.getDashboardCampaign(\r\n campaignId\r\n );\r\n const indicators = responseCampaigns.object || [];\r\n\r\n setDashboardName(indicators.name);\r\n\r\n // ===========>\r\n setCategoriesIndicatorCustomerForDays(\r\n indicators.indicatorCustomerForDays.categories\r\n );\r\n setSeriesIndicatorCustomerForDays(\r\n indicators.indicatorCustomerForDays.series\r\n );\r\n\r\n // ===========>\r\n setCategoriesIndicatorAmountForDays(\r\n indicators.indicatorAmountForDays.categories\r\n );\r\n setSeriesIndicatorAmountForDays(indicators.indicatorAmountForDays.series);\r\n\r\n // ===========>\r\n setCategoriesIndicatorMultiBarCustomerForDays(\r\n indicators.indicatorMultiBarCustomerForDays.categories\r\n );\r\n setSeriesIndicatorMultiBarCustomerForDays(\r\n indicators.indicatorMultiBarCustomerForDays.series.map(item => {\r\n item.name = item.nameCategory;\r\n item.data = item.values;\r\n return item;\r\n })\r\n );\r\n // ==========>\r\n setCategoriesIndicatorMultiBarAmountForDays(\r\n indicators.indicatorMultiBarAmountForDays.categories\r\n );\r\n setSeriesIndicatorMultiBarAmountForDays(\r\n indicators.indicatorMultiBarAmountForDays.series.map(item => {\r\n item.name = item.nameCategory;\r\n item.data = item.values;\r\n return item;\r\n })\r\n );\r\n // ========>\r\n setCategoriesIndicatorAmountChannel(\r\n indicators.indicatorAmountChannel.categories\r\n );\r\n setSeriesIndicatorAmountChannel(indicators.indicatorAmountChannel.series);\r\n // ========>\r\n setCategoriesIndicatorCustomerChannel(\r\n indicators.indicatorCustomerChannel.categories\r\n );\r\n setSeriesIndicatorCustomerChannel(\r\n indicators.indicatorCustomerChannel.series\r\n );\r\n // ========>\r\n setCategoriesIndicatorMultiBarCustomerForMonthAndChannel(\r\n indicators.indicatorMultiBarCustomerForMonthAndChannel.categories\r\n );\r\n setSeriesIndicatorMultiBarCustomerForMonthAndChannel(\r\n indicators.indicatorMultiBarCustomerForMonthAndChannel.series.map(\r\n item => {\r\n item.name = item.nameCategory;\r\n item.data = item.values;\r\n return item;\r\n }\r\n )\r\n );\r\n // =========>\r\n setCategoriesIndicatorMultiBarAmountForMonthAndChannel(\r\n indicators.indicatorMultiBarAmountForMonthAndChannel.categories\r\n );\r\n setSeriesIndicatorMultiBarAmountForMonthAndChannel(\r\n indicators.indicatorMultiBarAmountForMonthAndChannel.series.map(\r\n item => {\r\n item.name = item.nameCategory;\r\n item.data = item.values;\r\n return item;\r\n }\r\n )\r\n );\r\n // ===========>\r\n setCategoriesIndicatorSurveyDeclined(\r\n indicators.indicatorSurveyDeclined.categories\r\n );\r\n setSeriesIndicatorSurveyDeclined(\r\n indicators.indicatorSurveyDeclined.series\r\n );\r\n // ===========>\r\n setCategoriesIndicatorApprovedSurveyAmount(\r\n indicators.indicatorApprovedSurveyAmount.categories\r\n );\r\n setSeriesIndicatorApprovedSurveyAmount(\r\n indicators.indicatorApprovedSurveyAmount.series\r\n );\r\n // ===========>\r\n setCategoriesIndicatorApprovedSurveyCustomer(\r\n indicators.indicatorApprovedSurveyCustomer.categories\r\n );\r\n setSeriesIndicatorApprovedSurveyCustomer(\r\n indicators.indicatorApprovedSurveyCustomer.series\r\n );\r\n };\r\n\r\n getDetailCampaign();\r\n }, [campaignId, indicatorService]);\r\n\r\n return (\r\n \r\n \r\n \r\n

    \r\n {\" \"}\r\n {dashboardName}\r\n

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

    \r\n Clientes por días\r\n

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

    \r\n Monto por días\r\n

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

    \r\n Multibarra clientes\r\n por días\r\n

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

    \r\n Multibarra monto por\r\n días\r\n

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

    \r\n Monto por canal\r\n

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

    \r\n Clientes por canal\r\n

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

    \r\n Multibarra cliente\r\n por mes y canal\r\n

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

    \r\n Multibarra monto por\r\n mes y canal\r\n

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

    \r\n Encuesta rechazada\r\n

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

    \r\n Encuesta aprobada por\r\n monto\r\n

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

    \r\n Encuesta aprobada por\r\n cliente\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\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 CampaignDashboard;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Chart from \"react-apexcharts\";\r\nimport {\r\n Container,\r\n Dropdown,\r\n Form,\r\n Grid,\r\n Divider,\r\n Segment,\r\n Header\r\n} from \"semantic-ui-react\";\r\nimport { useAuth } from \"../../../AuthenticationStore\";\r\nimport ReactPaginate from \"react-paginate\";\r\nimport \"./Indicators.scss\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport NumberFormat from \"react-number-format\";\r\nimport { NavLink } from \"react-router-dom\";\r\n\r\nfunction paginate(array, page_size, page_number) {\r\n return array.slice(page_number * page_size, (page_number + 1) * page_size);\r\n}\r\n\r\nconst Indicators = () => {\r\n let history = useHistory();\r\n // const [loadData, setLoadData] = useState(true);\r\n const [dataDahboard, setDataDahboard] = useState([]);\r\n const { indicatorService } = useAuth();\r\n const [dataDashboardPagination, setDataDashboardPagination] = useState([]);\r\n const [totalPage, setTotalPage] = useState(0);\r\n const [listCampaings, setListCampaings] = useState([]);\r\n\r\n useEffect(() => {\r\n if (!indicatorService) return;\r\n const getListDashboard = async () => {\r\n const responseCampaigns = await indicatorService.getCompanyControlPanel();\r\n const data = responseCampaigns.object || [];\r\n const listCampaingsTemp = [];\r\n data.map(item => {\r\n listCampaingsTemp.push({\r\n key: item.campaignId,\r\n text: item.name,\r\n value: item.campaignId\r\n });\r\n return item;\r\n });\r\n\r\n setDataDahboard(data);\r\n setTotalPage(data.length);\r\n setListCampaings(listCampaingsTemp);\r\n setDataDashboardPagination(paginate(data, 2, 0));\r\n };\r\n getListDashboard();\r\n }, [indicatorService]);\r\n\r\n const optionsChartDashboard = label => {\r\n return {\r\n chart: {\r\n offsetY: 0\r\n },\r\n fill: {\r\n gradient: {\r\n inverseColors: false,\r\n opacityFrom: 1,\r\n opacityTo: 1,\r\n shade: \"light\",\r\n shadeIntensity: 0.4,\r\n stops: [0, 50, 53, 91]\r\n },\r\n type: \"gradient\"\r\n },\r\n labels: [label],\r\n plotOptions: {\r\n radialBar: {\r\n dataLabels: {\r\n name: {\r\n offsetY: -120,\r\n show: true\r\n },\r\n value: {\r\n fontSize: \"22px\",\r\n offsetY: -20\r\n }\r\n },\r\n endAngle: 90,\r\n startAngle: -90,\r\n track: {\r\n background: \"#e7e7e7\",\r\n margin: 5,\r\n shadow: {\r\n blur: 2,\r\n color: \"#999\",\r\n enabled: true,\r\n left: 0,\r\n opacity: 1,\r\n top: 2\r\n }, // margin is in pixels\r\n strokeWidth: \"97%\"\r\n }\r\n }\r\n }\r\n };\r\n };\r\n\r\n const changePage = i => {\r\n setDataDashboardPagination(paginate(dataDahboard, 2, i.selected));\r\n };\r\n\r\n const getDetailCampaing = (_, ev) => history.push(\"/indicators/\" + ev.value);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n >\"}\r\n breakLabel={\"...\"}\r\n pageCount={totalPage / 2}\r\n marginPagesDisplayed={2}\r\n pageRangeDisplayed={5}\r\n onPageChange={changePage}\r\n containerClassName={\"pagination flex-wrap\"}\r\n pageLinkClassName={\"page-link\"}\r\n previousClassName={\"page-link\"}\r\n nextClassName={\"page-link\"}\r\n previousLinkClassName={\"page-item\"}\r\n nextLinkClassName={\"page-item\"}\r\n pageClassName={\"page-item\"}\r\n activeClassName={\"active\"}\r\n breakClassName={\"page-link\"}\r\n breakLinkClassName={\"page-item\"}\r\n />\r\n \r\n \r\n\r\n
    \r\n {dataDashboardPagination.map((campaign, key) => (\r\n
    \r\n
    \r\n
    \r\n {/* white space */}\r\n
     
    \r\n

    {campaign.name}

    \r\n \r\n Dt {campaign.passDays}\r\n {\" \"}\r\n \r\n Df {campaign.missingDays}\r\n {\" \"}\r\n \r\n Cm {campaign.seeCustomer}\r\n {\" \"}\r\n \r\n Cnm{\" \"}\r\n {campaign.notSeeCustomer}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Potenciales\r\n

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

    \r\n Meta\r\n

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

    \r\n Colocado\r\n

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

    \r\n Potenciales\r\n

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

    \r\n Meta\r\n

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

    \r\n Colocado\r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n \r\n Dt = Dias transcurridos \r\n Df = Dias faltantes \r\n Cm = Clientes ofertados \r\n Cnm = Clientes no ofertados \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default Indicators;\r\n","import React, { useState, useCallback, useEffect } from \"react\";\r\nimport { Form, Modal, Select, Message } from \"semantic-ui-react\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { useAuth } from \"../../../AuthenticationStore\";\r\nimport { proccessError } from \"../../../components/utils/utils\";\r\n\r\nconst optionsNumeric = [];\r\n\r\nfor (let index = 0; index < 24; index++) {\r\n const valueString = (index + 1).toString();\r\n optionsNumeric.push({\r\n key: valueString,\r\n text: index === 0 ? \"Una vez al Día\" : `Cada ${index} hora(s)`,\r\n value: `0 0 0/${index} ? * * *`\r\n });\r\n}\r\n\r\nexport const CompanyModal = ({ handleClose, show, data }) => {\r\n const [numberCron, setNumberCron] = useState(\"\");\r\n const { companyService } = useAuth();\r\n const [errorsApi, setErrorsApi] = useState([]);\r\n\r\n const save = () => {\r\n handleClose(false);\r\n };\r\n\r\n const { handleSubmit, register, errors, setValue } = useForm();\r\n\r\n useEffect(() => {\r\n if (!data) return;\r\n\r\n for (const key in data) {\r\n // eslint-disable-next-line no-prototype-builtins\r\n if (data.hasOwnProperty(key)) {\r\n const value = data[key];\r\n if (key === 'configuration' && value) {\r\n setNumberCron(value['cron'])\r\n } else {\r\n setValue(key, value);\r\n }\r\n }\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [data]);\r\n\r\n const onSubmit = async values => {\r\n values.state = \"Activo\";\r\n values.configuration = JSON.stringify({ cron: numberCron });\r\n\r\n try {\r\n // use create company\r\n let response;\r\n if (!data) {\r\n response = await companyService.createCompany(values);\r\n } else {\r\n let temporal = Object.assign(data, {});\r\n for (const key in temporal) {\r\n // eslint-disable-next-line no-prototype-builtins\r\n if (temporal.hasOwnProperty(key) && values[key]) {\r\n temporal[key] = values[key];\r\n }\r\n }\r\n // use update company\r\n response = await companyService.updateCompany(temporal);\r\n }\r\n\r\n const arrayErrors = proccessError(response);\r\n setErrorsApi(arrayErrors);\r\n if (response.result) save();\r\n } catch (error) {\r\n if (error.response) {\r\n // eslint-disable-next-line no-console\r\n const arrayErrors = proccessError(error.response.data, true);\r\n setErrorsApi(arrayErrors);\r\n } else {\r\n setErrorsApi([error.message]);\r\n }\r\n }\r\n };\r\n\r\n const changeNumberCron = useCallback(\r\n (_, newValue) => setNumberCron(newValue.value),\r\n [setNumberCron]\r\n );\r\n\r\n return (\r\n \r\n {data ? \"Editar\" : \"Agregar\"} compañía\r\n \r\n {errorsApi.length > 0 ? (\r\n \r\n Errores\r\n \r\n \r\n ) : null}\r\n
    \r\n

    Información General

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

    Información de Contacto

    \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { useAuth } from \"../AuthenticationStore\";\r\nimport { Login } from \"../views/pages/Login\";\r\nimport SplashScreen from \"./ui/SplashScreen\";\r\n\r\nexport const PrivateRouteAdmin = ({ component: Component, ...rest }) => {\r\n const { isAuthenticated, loading } = useAuth();\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n isAuthenticated ? : \r\n }\r\n />\r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Form, Modal, Message } from \"semantic-ui-react\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { useAuth } from \"../../../AuthenticationStore\";\r\nimport { proccessError } from \"../../../components/utils/utils\";\r\n\r\nexport const RolOptions = [\r\n { key: \"0\", text: \"Super-Admin\", value: \"0\" },\r\n { key: \"1\", text: \"CTO\", value: \"1\" },\r\n { key: \"2\", text: \"CEO\", value: \"2\" },\r\n { key: \"3\", text: \"CMO\", value: \"3\" }\r\n];\r\n\r\nexport const RolOptionsInvitations = [\r\n { key: \"1\", text: \"CTO\", value: \"1\" },\r\n { key: \"2\", text: \"CEO\", value: \"2\" },\r\n { key: \"3\", text: \"CMO\", value: \"3\" }\r\n];\r\n\r\nexport const UserModal = ({ handleClose, show, data }) => {\r\n const [errorsApi, setErrorsApi] = useState([]);\r\n const { handleSubmit, register, errors, setValue } = useForm();\r\n const { platformUserService } = useAuth();\r\n\r\n useEffect(() => {\r\n if (!data) return;\r\n\r\n for (const key in data) {\r\n // eslint-disable-next-line no-prototype-builtins\r\n if (data.hasOwnProperty(key)) {\r\n const value = data[key];\r\n setValue(key, value);\r\n }\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [data]);\r\n\r\n const onSubmit = async values => {\r\n try {\r\n values.id = data.platformUserId;\r\n // use create company\r\n const response = await platformUserService.modifyPlatformUser(values);\r\n\r\n const arrayErrors = proccessError(response);\r\n setErrorsApi(arrayErrors);\r\n if (response.result) handleClose(false);\r\n } catch (error) {\r\n if (error.response) {\r\n // eslint-disable-next-line no-console\r\n const arrayErrors = proccessError(error.response.data, true);\r\n setErrorsApi(arrayErrors);\r\n } else {\r\n setErrorsApi([error.message]);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n Editar usuario\r\n \r\n {errorsApi.length > 0 ? (\r\n \r\n Errores\r\n \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
    \r\n );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport ReactTable from \"react-table\";\r\nimport \"react-table/react-table.css\";\r\nimport { Grid, Container } from \"semantic-ui-react\";\r\nimport { useAuth } from \"../../../AuthenticationStore\";\r\nimport { UserModal } from \"./UserModal\";\r\n\r\nexport const Users = () => {\r\n const { platformUserService } = useAuth();\r\n const [loading, setLoading] = useState(true);\r\n const [data, setData] = useState([]);\r\n const [modalUser, setModalUser] = useState(false);\r\n const [editData, setEditData] = useState({});\r\n\r\n const columns = [\r\n {\r\n Header: \"Nombre\",\r\n accessor: \"userName\"\r\n },\r\n {\r\n Header: \"Correo electrónico\",\r\n accessor: \"email\"\r\n },\r\n {\r\n Header: \"Teléfono\",\r\n accessor: \"mobile\",\r\n minWidth: 40\r\n },\r\n {\r\n Header: \"Rol\",\r\n accessor: d => {\r\n switch (d.userRole) {\r\n case 1:\r\n return \"CTO\";\r\n case 2:\r\n return \"CEO\";\r\n case 3:\r\n return \"CMO\";\r\n default:\r\n return \"Sin estado\";\r\n }\r\n },\r\n id: \"userRole\",\r\n minWidth: 20\r\n },\r\n {\r\n Header: \"Estado\",\r\n accessor: d => {\r\n switch (d.userState) {\r\n case 0:\r\n return \"Activo\";\r\n case 1:\r\n return \"Inactivo\";\r\n case 2:\r\n return \"Demo\";\r\n default:\r\n return \"Sin estado\";\r\n }\r\n },\r\n id: \"userState\",\r\n minWidth: 30\r\n },\r\n {\r\n Cell: props => (\r\n
    \r\n openModalEdit(props.original)}\r\n >\r\n \r\n \r\n {props.original.userState === 0 ? (\r\n changeStatusteUser(props.original, 1)}\r\n >\r\n \r\n \r\n ) : (\r\n changeStatusteUser(props.original, 0)}\r\n >\r\n \r\n \r\n )}\r\n
    \r\n ),\r\n Header: \"Acciones\",\r\n accessor: \"platformUserId\",\r\n minWidth: 50\r\n }\r\n ];\r\n\r\n const openModalEdit = data => {\r\n setModalUser(true);\r\n setEditData(data);\r\n };\r\n\r\n const fetchData = async () => {\r\n setLoading(true);\r\n try {\r\n const response = await platformUserService.getPlatformUsers();\r\n setData(response.object);\r\n // eslint-disable-next-line no-console\r\n console.log(response);\r\n } catch (error) {\r\n // eslint-disable-next-line no-console\r\n console.log(error);\r\n }\r\n setLoading(false);\r\n };\r\n\r\n setTimeout(() => setLoading(false), 3000);\r\n\r\n const changeStatusteUser = async (user, status) => {\r\n setLoading(true);\r\n try {\r\n let response;\r\n\r\n if (status === 1) {\r\n response = await platformUserService.inactivatePlatformUser(\r\n user.platformUserId\r\n );\r\n } else {\r\n response = await platformUserService.activatePlatformUser(\r\n user.platformUserId\r\n );\r\n }\r\n\r\n // eslint-disable-next-line no-console\r\n console.log(response);\r\n fetchData();\r\n } catch (error) {\r\n // eslint-disable-next-line no-console\r\n console.log(error);\r\n }\r\n setLoading(false);\r\n };\r\n\r\n return (\r\n \r\n {\r\n fetchData();\r\n setModalUser(false);\r\n }}\r\n data={editData}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport ReactTable from \"react-table\";\r\nimport \"react-table/react-table.css\";\r\nimport { Grid, Container } from \"semantic-ui-react\";\r\nimport { CompanyModal } from \"./CompanyModal\";\r\nimport { useAuth } from \"../../../AuthenticationStore\";\r\nimport { Message } from \"semantic-ui-react\";\r\n\r\nexport const Companies = () => {\r\n const { companyService } = useAuth();\r\n const [modalCompany, setModalCompany] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const [data, setData] = useState([]);\r\n const [errors, setErrors] = useState([]);\r\n const [editData, setEditData] = useState();\r\n const [pageSize, setPageSize] = useState(0);\r\n const [page, setPage] = useState(5);\r\n\r\n const openModalCompany = () => {\r\n setEditData(undefined);\r\n setModalCompany(true);\r\n };\r\n\r\n const openModalEditCompany = data => {\r\n setEditData(data);\r\n setModalCompany(true);\r\n };\r\n\r\n const fetchData = async state => {\r\n setLoading(true);\r\n try {\r\n const result = await companyService.getCompanies(\r\n state.pageSize,\r\n state.page * state.pageSize\r\n );\r\n\r\n if (!result.result) {\r\n proccessError(result);\r\n }\r\n\r\n setData(result.object);\r\n // eslint-disable-next-line no-console\r\n console.log(result);\r\n } catch (error) {\r\n proccessError(error.response.data, true);\r\n }\r\n setLoading(false);\r\n };\r\n\r\n const proccessError = (cdResult, errorCath) => {\r\n const errorsArray = cdResult[\"cdExceptions\"] || cdResult[\"CdExceptions\"];\r\n let tempErrorsArray = [];\r\n\r\n for (let i = 0; i < errorsArray.length; i++) {\r\n const errorElement = errorsArray[i];\r\n tempErrorsArray.push(errorElement.exception || errorElement.Exception);\r\n }\r\n\r\n if (errorCath && tempErrorsArray.length === 0) {\r\n setErrors([\"Error en el servidor\"]);\r\n }\r\n\r\n setErrors(tempErrorsArray);\r\n };\r\n\r\n const disableCompany = async data => {\r\n setLoading(true);\r\n try {\r\n await companyService.disableCompany(data.companyId);\r\n fetchData({ page, pageSize });\r\n } catch (error) {\r\n // eslint-disable-next-line no-console\r\n console.log(error);\r\n }\r\n setLoading(false);\r\n };\r\n\r\n const enableCompany = async data => {\r\n setLoading(true);\r\n try {\r\n await companyService.activateCompany(data.companyId);\r\n fetchData({ page, pageSize });\r\n } catch (error) {\r\n // eslint-disable-next-line no-console\r\n console.log(error);\r\n }\r\n setLoading(false);\r\n };\r\n\r\n setTimeout(() => setLoading(false), 3000);\r\n\r\n const columns = [\r\n {\r\n Header: \"Compañía\",\r\n accessor: \"companyName\"\r\n },\r\n {\r\n Header: \"Nombre Contacto\",\r\n accessor: \"contactName\"\r\n },\r\n {\r\n Header: \"Teléfono\",\r\n accessor: \"contactPhone\",\r\n minWidth: 40\r\n },\r\n {\r\n Header: \"Correo electrónico\",\r\n accessor: \"Correo electrónico\",\r\n minWidth: 55\r\n },\r\n {\r\n Header: \"Estado\",\r\n accessor: d => {\r\n switch (d.state) {\r\n case 0:\r\n return \"Activo\";\r\n case 1:\r\n return \"Inactivo\";\r\n case 2:\r\n return \"Beta\";\r\n default:\r\n return \"Sin estado\";\r\n }\r\n },\r\n id: \"state\",\r\n minWidth: 35\r\n },\r\n {\r\n Cell: props => (\r\n
    \r\n openModalEditCompany(props.original)}\r\n >\r\n \r\n \r\n {props.original.state === 0 ? (\r\n disableCompany(props.original)}\r\n >\r\n \r\n \r\n ) : (\r\n enableCompany(props.original)}\r\n >\r\n \r\n \r\n )}\r\n
    \r\n ),\r\n Header: \"Acciones\",\r\n accessor: \"CompaniaId\",\r\n minWidth: 50\r\n }\r\n ];\r\n\r\n return (\r\n \r\n \r\n {\r\n setModalCompany(false);\r\n fetchData({ page, pageSize });\r\n }}\r\n data={editData}\r\n />\r\n {errors.length > 0 ? (\r\n \r\n \r\n \r\n Errores\r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n Agregar compañía\r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (!instance) return;\r\n setPageSize(instance.state.pageSize);\r\n setPage(instance.state.page);\r\n }}\r\n manual\r\n defaultPageSize={10}\r\n data={data}\r\n onFetchData={fetchData}\r\n loading={loading}\r\n minRows={1}\r\n columns={columns}\r\n previousText=\"Anterior\"\r\n nextText=\"Siguiente\"\r\n pageText=\"página\"\r\n ofText=\"de\"\r\n rowsText=\"registros\"\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Container, Grid, Message, Form } from \"semantic-ui-react\";\r\nimport { RolOptionsInvitations } from \"./UserModal\";\r\nimport { useAuth } from \"../../../AuthenticationStore\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport ReactTable from \"react-table\";\r\nimport \"react-table/react-table.css\";\r\nimport { proccessError } from \"../../../components/utils/utils\";\r\nimport moment from \"moment\";\r\nimport { ToastProvider } from \"react-toast-notifications\";\r\nimport { NotificationPopPup } from \"../campaigns/New\";\r\n\r\nexport const Invitations = () => {\r\n const { platformUserService } = useAuth();\r\n const {\r\n handleSubmit,\r\n register,\r\n errors,\r\n setValue,\r\n triggerValidation\r\n } = useForm();\r\n\r\n const [data, setData] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n const [errorsApi, setErrorsApi] = useState([]);\r\n const [email, setEmail] = useState(\"\");\r\n const [userRole, setUserRole] = useState(\"\");\r\n\r\n const msjToast = \"Invitacion enviada con exito\";\r\n const [showToast, setShowToast] = useState(false);\r\n\r\n const columns = [\r\n {\r\n Header: \"Correo electrónico\",\r\n accessor: \"email\"\r\n },\r\n {\r\n Header: \"Fecha\",\r\n accessor: d => {\r\n if (!d.generatedDate) return \"0000-00-00 00:00\";\r\n return moment(d.generatedDate).format(\"Y-MM-DD hh:mm\");\r\n },\r\n id: \"generatedDate\"\r\n },\r\n {\r\n Header: \"Rol\",\r\n accessor: d => {\r\n switch (d.userRole) {\r\n case 1:\r\n return \"CTO\";\r\n case 2:\r\n return \"CEO\";\r\n case 3:\r\n return \"CMO\";\r\n default:\r\n return \"Sin estado\";\r\n }\r\n },\r\n id: \"userRole\",\r\n minWidth: 20\r\n },\r\n {\r\n Header: \"Estado\",\r\n accessor: d => {\r\n switch (d.statusInvitation) {\r\n case 0:\r\n return \"Activa\";\r\n case 1:\r\n return \"Cancelada\";\r\n case 2:\r\n return \"Aprobada\";\r\n case 3:\r\n return \"Declinada\";\r\n default:\r\n return \"Sin estado\";\r\n }\r\n },\r\n id: \"statusInvitation\",\r\n minWidth: 35\r\n },\r\n {\r\n Cell: props => (\r\n
    \r\n updatedInvitation(props.original)}\r\n >\r\n \r\n \r\n cancelInvitation(props.original)}\r\n >\r\n \r\n \r\n
    \r\n ),\r\n Header: \"Acciones\",\r\n accessor: \"invitationId\",\r\n minWidth: 50\r\n }\r\n ];\r\n\r\n useEffect(() => {\r\n register({ name: \"userRole\" }, { required: true });\r\n register(\r\n { name: \"email\" },\r\n {\r\n pattern: {\r\n message: \"Correo electrónico no valido\",\r\n value: /^([a-zA-Z0-9_\\-.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$/\r\n },\r\n required: true\r\n }\r\n );\r\n\r\n fetchData();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const fetchData = async () => {\r\n setLoading(true);\r\n try {\r\n const invitations = await platformUserService.getInvitations();\r\n const arrayErrors = proccessError(invitations);\r\n setErrorsApi(arrayErrors);\r\n setData(invitations.object);\r\n } catch (error) {\r\n if (error.response) {\r\n // eslint-disable-next-line no-console\r\n const arrayErrors = proccessError(error.response.data, true);\r\n setErrorsApi(arrayErrors);\r\n } else {\r\n setErrorsApi([error.message]);\r\n }\r\n }\r\n setLoading(false);\r\n };\r\n\r\n const onSubmit = async values => {\r\n try {\r\n const invitations = await platformUserService.createInvitation(\r\n values.email,\r\n values.userRole\r\n );\r\n // eslint-disable-next-line no-console\r\n const arrayErrors = proccessError(invitations);\r\n setErrorsApi(arrayErrors);\r\n // if not errors reload table invitations\r\n if (arrayErrors.length === 0) {\r\n clearForm();\r\n fetchData();\r\n }\r\n } catch (error) {\r\n if (error.response) {\r\n // eslint-disable-next-line no-console\r\n const arrayErrors = proccessError(error.response.data, true);\r\n setErrorsApi(arrayErrors);\r\n } else {\r\n setErrorsApi([error.message]);\r\n }\r\n }\r\n };\r\n\r\n const updatedInvitation = async invitation => {\r\n try {\r\n const response = await platformUserService.updateInvitation(\r\n invitation.invitationId\r\n );\r\n // eslint-disable-next-line no-console\r\n const arrayErrors = proccessError(response);\r\n setErrorsApi(arrayErrors);\r\n // if not errors reload table invitations\r\n if (arrayErrors.length === 0) fetchData();\r\n } catch (error) {\r\n if (error.response) {\r\n // eslint-disable-next-line no-console\r\n const arrayErrors = proccessError(error.response.data, true);\r\n setErrorsApi(arrayErrors);\r\n } else {\r\n setErrorsApi([error.message]);\r\n }\r\n }\r\n };\r\n\r\n const cancelInvitation = async invitation => {\r\n try {\r\n const response = await platformUserService.cancelInvitation(\r\n invitation.invitationId\r\n );\r\n // eslint-disable-next-line no-console\r\n const arrayErrors = proccessError(response);\r\n setErrorsApi(arrayErrors);\r\n // if not errors reload table invitations\r\n if (arrayErrors.length === 0) fetchData();\r\n } catch (error) {\r\n if (error.response) {\r\n // eslint-disable-next-line no-console\r\n const arrayErrors = proccessError(error.response.data, true);\r\n setErrorsApi(arrayErrors);\r\n } else {\r\n setErrorsApi([error.message]);\r\n }\r\n }\r\n };\r\n\r\n const clearForm = () => {\r\n setUserRole(\"\");\r\n setEmail(\"\");\r\n setValue(\"email\", \"\");\r\n setValue(\"userRole\", \"\");\r\n setShowToast(true);\r\n setShowToast(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {errorsApi.length > 0 ? (\r\n \r\n Errores\r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n
    \r\n \r\n {\r\n setValue(name, value);\r\n setUserRole(value);\r\n await triggerValidation(name);\r\n }}\r\n />\r\n {\r\n setValue(name, value);\r\n setEmail(value);\r\n await triggerValidation({ name });\r\n }}\r\n />\r\n \r\n Enviar\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { Grid, Menu, Segment } from \"semantic-ui-react\";\r\nimport { NavLink, useRouteMatch, Switch, Redirect } from \"react-router-dom\";\r\nimport { PrivateRouteAdmin } from \"../../../components/PrivateRouteAdmin\";\r\nimport { Users } from \"./Users\";\r\nimport { Companies } from \"./Companies\";\r\nimport { Invitations } from \"./Invitations\";\r\n\r\nconst Administrator = () => {\r\n let { path, url } = useRouteMatch();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Administrar usuarios\r\n \r\n \r\n \r\n Administrar compañías\r\n \r\n {/* \r\n Administrar acceso\r\n */}\r\n \r\n \r\n \r\n Administrar invitaciones\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\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 Administrator;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useAuth } from \"../../../AuthenticationStore\";\r\nimport \"semantic-ui-css/semantic.min.css\";\r\nimport { Switch, Redirect, useHistory } from \"react-router-dom\";\r\n\r\nimport { PrivateRoute } from \"../../../components/PrivateRoute\";\r\n\r\nimport NavBar from \"../../../components/ui/navbar\";\r\n\r\n// configuration section\r\nimport { Configuration } from \"../configuration\";\r\n// campaigns section\r\nimport Campaigns from \"../campaigns/Campaigns\";\r\nimport CampaignsNew from \"../campaigns/New\";\r\nimport CampaignDashboard from \"../campaigns/CampaignDashboard\";\r\n// indicators section\r\nimport Indicators from \"../Indicators\";\r\n// admin site\r\nimport Administrator from \"../Administrator\";\r\n\r\nexport const Home = () => {\r\n const { loading, userContext } = useAuth();\r\n const [roleAdmin, setRoleAdmin] = useState(false);\r\n let history = useHistory();\r\n\r\n useEffect(() => {\r\n if (userContext) {\r\n const filterRoutesAdmin = userContext.roleMap.filter(el => el.platformRoute === \"/admin\")\r\n if(filterRoutesAdmin.length === 0)\r\n setRoleAdmin(false);\r\n else\r\n setRoleAdmin(true);\r\n }\r\n },[userContext, history])\r\n\r\n\r\n if (loading) {\r\n return
    Loading...
    ;\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {/* campaigns */}\r\n \r\n \r\n \r\n\r\n {/* indicators */}\r\n \r\n \r\n\r\n {/* configurations */}\r\n \r\n\r\n {/* admin site roles */}\r\n {roleAdmin?\r\n \r\n :\r\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 Home;\r\n","import React from \"react\";\r\n\r\nexport const Sandbox = () => {\r\n return (\r\n DEMO\r\n );\r\n};","// @flow\r\nimport React, { Component } from \"react\";\r\nimport { BrowserRouter as Router } from \"react-router-dom\";\r\n// pages\r\nimport { Home } from \"./views/pages/Home\";\r\n\r\nimport { AuthProvider } from \"./AuthenticationStore\";\r\nimport { PrivateRoute } from \"./components/PrivateRoute\";\r\n\r\nimport { Sandbox } from \"./components/Sandbox\";\r\n\r\nexport default class App extends Component {\r\n render() {\r\n return (\r\n \r\n {/* demo attribute */}\r\n {process.env.REACT_APP_SANDBOX? : null}\r\n {/* demo attribute */}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport \"./styles/style.scss\";\r\nimport App from \"./App\";\r\nimport * as serviceWorker from \"./serviceWorker\";\r\n\r\nReactDOM.render(, document.getElementById(\"root\"));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n","module.exports = __webpack_public_path__ + \"static/media/logo.90c01fdb.svg\";"],"sourceRoot":""}