{"version":3,"sources":["i18n.js","../node_modules/pdfjs-dist/build sync","actions/languagesActions.js","config/constants.js","views/Start/Components/RootView.js","views/Start/Components/IntermediateView.js","views/Start/Components/FinalView.js","views/Start/Start.js","components/Api/Api.js","components/ContactBox/ContactBox.js","components/ResponsibleBox/ResponsibleBox.js","components/LinkBox/LinkBox.js","components/SupportBox/SupportBox.js","views/Forms/Validator.js","types/index.js","views/Processes/Components/ProcessBox.js","reducers/authReducer.js","reducers/processesReducer.js","reducers/usersReducer.js","reducers/imagesReducer.js","reducers/languagesReducer.js","reducers/index.js","Store.js","actions/authActions.js","components/Header/Header.js","components/Header/HeaderSearch.js","components/Sidebar/Sidebar.run.js","Menu.js","components/Sidebar/Sidebar.js","components/Utils/Screenfull.js","components/Utils/SvgReplace.js","components/Settings/Settings.js","components/Core/Core.js","components/FloatButton/FloatButton.js","views/Start/PublicSupport.js","views/Start/WhatIs.js","views/User/Lock.js","components/Footer/Footer.js","views/User/Login.js","views/User/Recover.js","views/User/Signup.js","views/User/Activate.js","views/User/User.js","views/User/Layout.js","Routes.js","components/Ripple/Ripple.js","components/Ripple/Ripple.init.js","App.js","index.js","images/logo_e2e.png","components/Common/PageLoader.js","images/logo_henkel.png","actions/processesActions.js","views/Start/Components/PublicHeader.js","views/Start/Components/PublicFooter.js","actions/usersActions.js"],"names":["i18n","use","Backend","initReactI18next","init","lng","fallbackLng","backend","loadPath","ns","defaultNS","debug","react","wait","useSuspense","webpackEmptyContext","req","e","Error","code","keys","resolve","module","exports","id","getAllLanguages","async","result","Api","getLanguages","success","dispatch","getAllLanguagesSuccess","languages","error","setLanguage","languageCode","setLanguageDone","type","GET_ALL_LANGUAGES","payload","SET_LANGUAGE","ERROR","BASE_URL","process","APP_NAME","RootView","props","processes","className","map","key","ProcessBox","link","t","Intermediate","current","children","parent","rootId","language","currentProcessSize","length","currentProcessMargin","marginTop","processType","style","pdfjs","GlobalWorkerOptions","workerSrc","version","FinalView","root","processName","currentVideUrl","video","uri","useDispatch","activeTab","setActiveTab","useState","videoUrl","setVideoUrl","numPages","setNumPages","pageNumber","setPageNumber","registerVisit","setRegisterVisit","rating","setRating","dialog","setDialog","open","submitted","ratingEmail","emailIsValid","ratingComments","calculateRating","useCallback","initial","added","totalUsers","totalRating","reduce","acumulator","currentValue","stars","useEffect","setVisit","classnames","cond","Object","k","join","changeActiveTab","setValue","event","input","target","value","checked","name","handleDialogClose","Nav","tabs","NavItem","NavLink","active","onClick","TabContent","TabPane","tabId","url","controls","stopOnUnmount","PageLoader","dangerouslySetInnerHTML","__html","description","document","file","onLoadSuccess","loading","icon","faArrowLeft","faArrowRight","rel","href","faFileDownload","ResponsibleBox","responsible","title","contact","ContactBox","LinkBox","links","starRatedColor","starHoverColor","starEmptyColor","starDimension","changeRating","newRating","numberOfStars","Dialog","onClose","aria-labelledby","DialogTitle","DialogContent","DialogContentText","body","Col","sm","onChange","placeholder","maxLength","data-validate","DialogActions","validator","isEmail","updateRating","withTranslation","auth","useSelector","state","match","params","processId","getProcessWithLanguage","selectedLanguage","getRootPublishedProcesses","PublicHeader","marginLeft","to","isAuthenticated","src","logoE2E","alt","processesList","IntermediateView","PublicFooter","email","ranking","password","data","status","axios","post","username","response","message","statusCode","header","getHeader","get","user","passwordConfirmation","put","newPassword","repeatNewPassword","oldPassword","token","localStorage","getItem","headers","Authorization","usersList","profiles","countries","firstName","lastName","phoneNumber","extension","countryId","country","profileId","profile","console","log","getErrorData","toString","userId","enabled","parentId","imageId","responsibleName","responsibleEmail","responsiblePhone","delete","processAlias","image","formData","FormData","append","contactName","contactEmail","contactPhone","linkName","visit","comments","initialDate","finalDate","report","contacts","faUserCircle","size","faGlobe","SupportBox","full","FormValidator","validate","element","isCheckbox","param","getAttribute","validations","JSON","parse","forEach","m","isEmpty","isNumeric","isInt","isAlphanumeric","isURL","value2","getElementById","equals","isLength","min","max","toInt","list","isIn","regexp","RegExp","test","bulkValidate","inputs","errors","hasError","this","some","val","LOADING","DATA_LOADED","VALIDATION_FORM","LOGIN","LOGIN_SUCCESSFUL","LOGIN_ERROR","LOGOUT","PASSWORD_RESET","IS_AUTH","ACTIVATION_KEY_ERROR","ACTIVATION_KEY_SUCCESS","PASSWORD_RESET_ERROR","PASSWORD_RESET_SUCCESS","NOT_LOGGED","GET_PROFILES_LIST","LANGUAGES_LOADED","GET_COUNTRIES_LIST","GET_PROCESS_LIST","GET_PROCESS","POST_PROCESS","PUT_PROCESS","DELETE_PROCESS","GET_ROOT_PROCESSES","CLEAN_PROCESS","SET_PROCESS_ALIAS","POST_CONTACT","DELETE_CONTACT","POST_LINK","DELETE_LINK","UPDATE_DESCRIPTION","POST_VIDEO","POST_DOCUMENT","POST_VISIT","POST_RATING","GET_REPORT","GET_USERS_LIST","GET_USER","POST_USER","PUT_USER","CHANGE_PASSWORD","GET_ALL_IMAGES","GET_IMAGE","POST_IMAGE","alias","find","undefined","tableHeight","height","content","width","backgroundSize","backgroundRepeat","backgroundPosition","backgroundImage","addLanguages","color","aria-label","faLanguage","addProcess","faProjectDiagram","addFinalProcess","faFileInvoice","editProcess","faEdit","deleteProcess","faTrashAlt","initialState","search","authVerified","passwordResetDone","sessionClosed","getReportDone","getRootDone","registerDone","updateDone","getDone","deleteDone","registerContactDone","deleteContactDone","registerLinkDone","deleteLinkDone","updateDescriptionDone","registerVideoDone","registerDocumentDone","registerVisitDone","registerRatingDone","visits","ratings","userLoaded","saved","passwordRequestDone","activationValidated","passwordChangeDone","activationKeyError","passwordResetError","imagesList","combineReducers","action","users","images","store","createStore","reducer","compose","applyMiddleware","thunk","window","__REDUX_DEVTOOLS_EXTENSION__","f","login","loggedIn","loginError","logoff","notLogged","Header","authState","pubsub_token","setState","pageTitle","navIcon","dropdownOpen","pubsub","subscribe","_","unsubscribe","Dropdown","tag","isOpen","toggle","prevState","DropdownToggle","nav","DropdownMenu","right","DropdownItem","divider","clear","HeaderSearch","Component","constructor","super","showModal","onShowModal","classList","add","onHiddenModal","remove","onShownModal","querySelector","focus","close","componentWillUnmount","onSubmit","preventDefault","refs","searchTerm","render","Modal","modalClassName","onEnter","onExit","onClosed","onOpened","ModalBody","data-dismiss","bind","ref","sidebarNav","layoutContainer","sidebarToggler","offcanvasToggler","sidebarLayoutObfuscator","makeArray","set","slice","call","addEventListener","item","parentNode","tagName","toLowerCase","getItemElement","liparent","parentElement","lis","querySelectorAll","li","el","nextElementSibling","innerWidth","Menu","path","faHome","faUser","faQuestion","SingleItemLabel","label","SingleItemIcon","SingleItem","SubMenuItem","routeActive","submenu","sitem","si","Sidebar","sidebarModes","toolbar","offcanvas","paths","Array","isArray","p","location","pathname","indexOf","msg","mode","history","listen","ex","componentDidMount","SidebarRun","hasSubmenu","E2ELogo","i","routes","contextTypes","router","PropTypes","object","withRouter","Screenfull","handleClick","screenfull","setRef","node","ua","navigator","userAgent","removeEventListener","Tag","defaultProps","Settings","selectedLang","selectedTheme","selectedNavIconClass","setSelectedLanguage","changeLanguage","setTheme","theme","setNavIcon","iconClass","publish","changeSidebarMode","closeBtn","ModalHeader","data-toggle-fullscreen","CustomInput","Core","FloatButton","PublicSupport","WhatIs","Lock","formLock","text","validateOnChange","form","elements","filter","includes","nodeName","formName","inputName","method","Input","invalid","Footer","fromLogin","Login","formLogin","HenkelLogo","LogoE2e","authenticate","setItem","disabled","Recover","formRecover","setSubmitted","putEmailForActivationKey","Signup","formRegister","password2","data-param","Activate","User","Layout","usersState","formActivate","setFormActivate","repeatPassword","validateActivationKey","toast","position","putPasswordReset","waitFor","LazyStart","lazy","Home","Processes","AddProcess","EditProcess","ProcessImage","ProcessTree","FinalProcess","ProcessPreview","PublishProcess","Users","AddUser","EditUser","ChangePassword","Media","Support","currentKey","split","timeout","enter","exit","languagesState","getAuthenticatedUser","classNames","fallback","exact","component","extact","Start","RippleEffect","clickEv","detectClickEvent","rippleElement","getElement","calcSizeAndPos","createElement","appendChild","Math","offsetWidth","offsetHeight","appVersion","$","App","basename","ReactDOM","getReport","getReportSuccess","getRootProcesses","getRootProcessesSuccess","getProcess","getProcessSuccess","getProcessLanguage","getProcessWithLanguageSuccess","newProcess","registerProcess","newProcessSuccess","updateProcess","editProcessSuccess","dropProcess","dropProcessSuccess","setProcessAlias","setProcessAliasSuccess","newContact","registerContact","setContactSuccess","dropContact","deleteContact","dropContactSuccess","newLink","registerLink","setLinkSuccess","dropLink","deleteLink","dropLinkSuccess","editDescription","setDescription","editDescriptionSuccess","newVideo","setVideo","newVideoSuccess","newDocument","setDocument","newDocumentSuccess","setVisitSuccess","updateRatingSuccess","clean","dataLoaded","logo","languageName","faChevronDown","index","requestActivationKey","putEmailForActivationKeySuccess","getUserFromActivationKey","validateActivationKeySuccess","validateActivationKeyError","resetPassword","putPasswordSuccess","putPasswordError","getAllUsers","getUsers","getAllUsersSuccess","getAllProfiles","getProfiles","getAllProfilesSuccess","getAllCountries","getCountries","getAllCountriesSuccess","newUser","registerUser","newUserSuccess","getUser","getUserSuccess","editUser","updateUser","editUserSuccess","changePassword","changePasswordSuccess","DataLoaded"],"mappings":"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","file":"static/js/main.75342f90.chunk.js","sourcesContent":["import i18n from \"i18next\";\nimport Backend from \"i18next-xhr-backend\";\n// import LanguageDetector from 'i18next-browser-languagedetector';\nimport { initReactI18next } from \"react-i18next\";\n\ni18n\n .use(Backend)\n // .use(LanguageDetector)\n .use(initReactI18next)\n .init({\n lng: \"es\",\n fallbackLng: [\"es\", \"en\"],\n backend: {\n loadPath: \"locales/{{lng}}/{{ns}}.json\",\n },\n // have a common namespace used around the full app\n ns: [\"translations\"],\n defaultNS: \"translations\",\n debug: true,\n react: {\n wait: true,\n useSuspense: false,\n },\n });\n\nexport default i18n;\n","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 110;","import {\n GET_ALL_LANGUAGES,\n SET_LANGUAGE,\n LANGUAGES_LOADED,\n ERROR,\n} from \"../types\";\nimport Api from \"../components/Api/Api\";\n\nexport function getAllLanguages() {\n return async (dispatch) => {\n const result = await Api.getLanguages();\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(getAllLanguagesSuccess(result.languages));\n };\n}\n\nexport function setLanguage(languageCode) {\n return async (dispatch) => {\n dispatch(setLanguageDone(languageCode));\n };\n}\n\nconst getAllLanguagesSuccess = (languages) => ({\n type: GET_ALL_LANGUAGES,\n payload: languages,\n});\n\nconst setLanguageDone = (languageCode) => ({\n type: SET_LANGUAGE,\n payload: languageCode,\n});\n\nconst error = (error) => ({ type: ERROR, payload: error });\n","export const BASE_URL = process.env.REACT_APP_API_ENDPOINT;\nexport const APP_NAME = \"Henkel E2E Process Manager\";\n","import React from \"react\";\n\nimport ProcessBox from \"../../Processes/Components/ProcessBox\";\nimport i18n from \"../../../i18n\";\n\nconst RootView = (props) => {\n const processes = props.processes;\n return processes ? (\n
\n {processes.map((process) => (\n
\n \n
\n ))}\n
\n ) : (\n
\n
\n

-- {i18n.t(\"start.noPublishedProcesses\")} --

\n
\n
\n );\n};\n\nexport default RootView;\n","import React from \"react\";\n\nimport ProcessBox from \"../../Processes/Components/ProcessBox\";\n\nconst Intermediate = (props) => {\n const current = props.process;\n const children = props.children;\n const parent = props.parent;\n const rootId = props.rootId;\n const language = props.language;\n\n const currentProcessSize =\n (256 * (children.length === 0 ? 0 : children.length - 1)) / 2;\n\n const currentProcessMargin = {\n marginTop: `${currentProcessSize}px`,\n };\n\n return current.processType === \"ROOT\" ? (\n
\n
\n \n
\n
\n {children.map((process) => {\n return (\n
\n \n
\n );\n })}\n
\n
\n ) : (\n
\n
\n \n
\n
\n \n
\n
\n {children.map((process) => (\n
\n \n
\n ))}\n
\n
\n );\n};\n\nexport default Intermediate;\n","import React, { useState, useEffect, useCallback } from \"react\"\nimport { TabContent, TabPane, Nav, NavItem, NavLink, Col } from \"reactstrap\"\nimport StarRatings from \"react-star-ratings\"\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\nimport validator from \"validator\"\nimport {\n faArrowLeft,\n faArrowRight,\n faFileDownload,\n} from \"@fortawesome/free-solid-svg-icons\"\nimport ReactPlayer from \"react-player\"\nimport { Document, Page, pdfjs } from \"react-pdf\"\nimport { useDispatch } from \"react-redux\"\nimport {\n Dialog,\n DialogTitle,\n DialogActions,\n DialogContent,\n DialogContentText,\n} from \"@material-ui/core\"\n\nimport { BASE_URL } from \"../../../config/constants\"\nimport PageLoader from \"../../../components/Common/PageLoader\"\nimport ContactBox from \"../../../components/ContactBox/ContactBox\"\nimport ResponsibleBox from \"../../../components/ResponsibleBox/ResponsibleBox\"\nimport LinkBox from \"../../../components/LinkBox/LinkBox\"\nimport ProcessBox from \"../../Processes/Components/ProcessBox\"\nimport i18n from \"../../../i18n\"\nimport { setVisit, updateRating } from \"../../../actions/processesActions\"\n\npdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`\n\nconst FinalView = (props) => {\n const rootId = props.rootId\n const parent = props.parent\n const current = props.process\n const language = props.language\n const root = {\n id: rootId,\n processName: i18n.t(\"start.start\"),\n processType: \"MEDIUM\",\n }\n\n let currentVideUrl = current.video\n ? current.video.length > 0 && current.video[0] != null\n ? `${BASE_URL}/videos/watch/${current.video[0].uri}`\n : \"\"\n : \"\"\n\n const dispatch = useDispatch()\n\n const [activeTab, setActiveTab] = useState(\"1\")\n const [videoUrl, setVideoUrl] = useState(currentVideUrl === \"\" ? null : currentVideUrl)\n const [numPages, setNumPages] = useState(null)\n const [pageNumber, setPageNumber] = useState(1)\n const [registerVisit, setRegisterVisit] = useState(false)\n const [rating, setRating] = useState(3)\n const [dialog, setDialog] = useState({\n open: false,\n submitted: false,\n ratingEmail: \"\",\n emailIsValid: false,\n ratingComments: \"\",\n rating: 3,\n })\n\n const calculateRating = useCallback(\n (initial, added) => {\n const totalUsers = current.rating.length + added\n const totalRating = current.rating.reduce(\n (acumulator, currentValue) => acumulator + currentValue.stars,\n initial\n )\n const averageRating = totalUsers === 0 ? 0 : totalRating / totalUsers\n setRating(averageRating)\n },\n [current]\n )\n\n useEffect(() => {\n if (!registerVisit) {\n dispatch(setVisit(rootId, current.id))\n setRegisterVisit(true)\n }\n calculateRating(0, 0)\n }, [rootId, current, dispatch, registerVisit, calculateRating])\n\n const classnames = (cond) =>\n Object.keys(cond)\n .map((k) => cond[k] && k)\n .join(\" \")\n\n const onDocumentLoadSuccess = ({ numPages }) => {\n setNumPages(numPages)\n }\n\n const nextPage = () => {\n if (pageNumber < numPages) {\n setPageNumber(pageNumber + 1)\n }\n }\n\n const prevPage = () => {\n if (pageNumber > 1) {\n setPageNumber(pageNumber - 1)\n }\n }\n\n const changeRating = (newRating, name) => {\n setDialog({\n ...dialog,\n open: true,\n rating: newRating,\n })\n }\n\n const changeDialogRating = (newRating) => {\n setDialog({\n ...dialog,\n rating: newRating,\n })\n }\n\n const changeActiveTab = (activeTab) => {\n if (activeTab !== \"1\") {\n setVideoUrl(null)\n } else {\n setVideoUrl(currentVideUrl)\n }\n setActiveTab(activeTab)\n }\n\n const setValue = (event) => {\n const input = event.target\n const value = input.type === \"checkbox\" ? input.checked : input.value\n\n setDialog({\n ...dialog,\n [input.name]: value,\n })\n }\n\n const handleDialogClose = () => {\n setDialog({\n ...dialog,\n open: false,\n submitted: false,\n emailIsValid: false,\n ratingEmail: \"\",\n ratingComments: \"\",\n rating: 3,\n })\n }\n\n const saveRating = () => {\n setDialog({\n ...dialog,\n submitted: true,\n emailIsValid: validator.isEmail(dialog.ratingEmail),\n })\n\n if (validator.isEmail(dialog.ratingEmail)) {\n dispatch(\n updateRating(\n rootId,\n current.id,\n dialog.rating,\n dialog.ratingEmail,\n dialog.ratingComments\n )\n )\n calculateRating(dialog.rating, 1)\n handleDialogClose()\n }\n }\n\n return (\n
\n
\n
\n \n
\n
\n {parent && parent.id && (\n \n )}\n
\n
\n {current.id && (\n \n )}\n
\n
\n
\n
\n \n \n \n

{i18n.t(\"start.video\")}

\n {current.video ? (\n currentVideUrl !== \"\" ? (\n
\n \n
\n ) : (\n
{i18n.t(\"start.noVideo\")}
\n )\n ) : (\n \n )}\n
\n \n

{i18n.t(\"start.stepByStep\")}

\n 0\n ? current.description[0] == null\n ? \"\"\n : current.description[0].description\n : \"\",\n }}\n />\n
\n \n

{i18n.t(\"start.document\")}

\n {current.document ? (\n current.document.length > 0 && current.document[0] != null ? (\n
\n
\n }\n className=\"pdf-document\"\n >\n \n \n
\n
\n
\n \n \n {\" \"}\n {i18n.t(\"start.page\")} {pageNumber} of {numPages}{\" \"}\n \n \n \n
\n
\n \n {\" \"}\n {i18n.t(\"start.download\")}\n \n
\n
\n
\n ) : (\n
\n {i18n.t(\"start.noDocument\")}\n
\n )\n ) : (\n \n )}\n
\n
\n
\n
\n \n {current.contact.length > 0 && (\n \n )}\n {current.link.length > 0 && (\n \n )}\n\n
\n
\n {i18n.t(\"start.rating\")}\n
\n
\n \n
\n
\n
\n
\n \n \n {i18n.t(\"start.addReview\")}\n \n \n {dialog.body}\n
\n \n
\n
\n \n \n \n {dialog.submitted && !dialog.emailIsValid && (\n {i18n.t(\"fieldEmail\")}\n )}\n \n
\n
\n \n \n \n {dialog.ratingComments}\n \n \n
\n
\n \n \n {i18n.t(\"cancel\")}\n \n \n \n \n
\n )\n}\n\nexport default FinalView\n","import React, { useEffect, useState } from \"react\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { Link } from \"react-router-dom\";\nimport { withTranslation } from \"react-i18next\";\n\nimport PublicHeader from \"./Components/PublicHeader\";\nimport PublicFooter from \"./Components/PublicFooter\";\nimport RootView from \"./Components/RootView\";\nimport IntermediateView from \"./Components/IntermediateView\";\nimport FinalView from \"./Components/FinalView\";\nimport PageLoader from \"../../components/Common/PageLoader\";\n\nimport {\n getProcessWithLanguage,\n getRootPublishedProcesses,\n} from \"../../actions/processesActions\";\nimport logoE2E from \"../../images/logo_e2e.png\";\nimport i18n from \"../../i18n\";\n\nconst Start = (props) => {\n const { auth, languages, processes } = useSelector((state) => {\n return state;\n });\n\n const dispatch = useDispatch();\n\n const rootId = props.match.params.rootId || 0;\n const processId = props.match.params.processId || rootId;\n\n useEffect(() => {\n if (processId !== 0)\n dispatch(getProcessWithLanguage(processId, languages.selectedLanguage));\n else dispatch(getRootPublishedProcesses());\n }, [dispatch, processId, languages.selectedLanguage]);\n\n const bodyStyle = {\n marginLeft: 0,\n };\n\n return (\n
\n \n
\n
\n
\n
\n \n {i18n.t(\"start.home\")}\n \n {auth.isAuthenticated ? (\n \n Dashboard\n \n ) : (\n \n {i18n.t(\"start.adminLogin\")}\n \n )}\n {/* \n {i18n.t(\"start.whatIsE2E\")}\n */}\n \n {i18n.t(\"start.support\")}\n \n
\n
\n \n \"E2E\"\n \n
\n
\n
\n {i18n.t(\"start.iWantInfo\")}\n
\n {rootId === 0 ? (\n \n ) : processes.process.processType !== \"FINAL\" ? (\n \n ) : processes.process.processType === \"FINAL\" ? (\n \n ) : (\n \n )}\n
\n \n
\n
\n );\n};\n\nexport default withTranslation(\"translations\")(Start);\n","import axios from \"axios\";\nimport { BASE_URL } from \"../../config/constants\";\n\nexport default class Api {\n /**** PUBLIC */\n\n static async setRanking(email, ranking) {}\n\n /**** AUTHENTICATION */\n\n static async authenticate(email, password) {\n try {\n const { data, status } = await axios.post(`${BASE_URL}/auth/login`, {\n username: email,\n password: password,\n });\n return { ...data, success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n static async getAuthenticatedUser() {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.get(`${BASE_URL}/profile`, header);\n return { ...data, success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n static async getUserFromActivationKey(key) {\n try {\n const { data, status } = await axios.get(`${BASE_URL}/activation/${key}`);\n return { user: data, success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n static async resetPassword(key, password, passwordConfirmation) {\n try {\n const { data, status } = await axios.put(\n `${BASE_URL}/users/password-reset/${key}`,\n {\n newPassword: password,\n repeatNewPassword: passwordConfirmation,\n }\n );\n return { user: data, success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n static async requestActivationKey(email) {\n try {\n const { status } = await axios.put(`${BASE_URL}/users/password/request`, {\n email: email,\n });\n return { success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n static async changePassword(oldPassword, password, passwordConfirmation) {\n try {\n const header = Api.getHeader();\n const { status } = await axios.put(\n `${BASE_URL}/users/password/change`,\n {\n password: oldPassword,\n newPassword: password,\n repeatNewPassword: passwordConfirmation,\n },\n header\n );\n return { success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n static getHeader() {\n const token = localStorage.getItem(\"token\");\n return {\n headers: { Authorization: `Bearer ${token}` },\n };\n }\n\n /******* USERS */\n\n static async getUsers() {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.get(`${BASE_URL}/users`, header);\n return { usersList: data, success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n static async getUser(id) {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.get(\n `${BASE_URL}/users/${id}`,\n header\n );\n return { user: data, success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n static async getProfiles() {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.get(\n `${BASE_URL}/users/profiles`,\n header\n );\n return { profiles: data, success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n static async getCountries() {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.get(\n `${BASE_URL}/users/countries`,\n header\n );\n return { countries: data, success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n static async getLanguages() {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.get(\n `${BASE_URL}/users/languages`,\n header\n );\n return { languages: data, success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n static async registerUser(user) {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.post(\n `${BASE_URL}/users`,\n {\n email: user.email,\n password: user.password,\n firstName: user.firstName,\n lastName: user.lastName,\n phoneNumber: user.phoneNumber,\n extension: user.extension,\n languageCode: user.language,\n countryId: user.country,\n profileId: user.profile,\n },\n header\n );\n return { user: data, success: true, status: status };\n } catch (e) {\n console.log(e);\n const { data, statusCode } = Api.getErrorData(e);\n return {\n success: false,\n error: data.message,\n status: statusCode,\n };\n }\n }\n\n static async updateUser(id, user) {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.put(\n `${BASE_URL}/users/${id}`,\n {\n firstName: user.firstName,\n lastName: user.lastName,\n phoneNumber: user.phoneNumber,\n extension: user.extension,\n languageCode: user.language,\n countryId: user.country,\n profileId: user.profile,\n status: user.status.toString() === \"true\",\n },\n header\n );\n console.log(data);\n return { user: data, success: true, status: status };\n } catch (e) {\n console.log(e);\n const { data, statusCode } = Api.getErrorData(e);\n return {\n success: false,\n error: data.message,\n status: statusCode,\n };\n }\n }\n\n static async getProcessPermissions(userId) {}\n\n static async setProcessPermission(userId, processId, enabled) {}\n\n /** PROCESSES */\n\n static async getProcesses() {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.get(`${BASE_URL}/processes`, header);\n return { processesList: data, success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n static async getRootProcesses() {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.get(\n `${BASE_URL}/processes/type/ROOT`,\n header\n );\n return { processesList: data, success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n static async getProcess(id) {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.get(\n `${BASE_URL}/processes/${id}`,\n header\n );\n return { process: data, success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n static async getProcessLanguage(id, languageCode) {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.get(\n `${BASE_URL}/processes/language/${id}/${languageCode}`,\n header\n );\n return { process: data, success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n static async registerProcess(process) {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.post(\n `${BASE_URL}/processes`,\n {\n parentId: process.parentId || null,\n imageId: process.imageId || null,\n processName: process.processName,\n processType: process.processType,\n },\n header\n );\n return { process: data, success: true, status: status };\n } catch (e) {\n console.log(e);\n const { data, statusCode } = Api.getErrorData(e);\n return {\n success: false,\n error: data.message,\n status: statusCode,\n };\n }\n }\n\n static async updateProcess(id, process) {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.put(\n `${BASE_URL}/processes/${id}`,\n {\n parentId: process.parentId || null,\n imageId: process.imageId || null,\n processName: process.processName || null,\n processType: process.processType || null,\n responsibleName: process.responsibleName || null,\n responsibleEmail: process.responsibleEmail || null,\n responsiblePhone: process.responsiblePhone || null,\n status: process.status || null,\n },\n header\n );\n return { process: data, success: true, status: status };\n } catch (e) {\n console.log(e);\n const { data, statusCode } = Api.getErrorData(e);\n return {\n success: false,\n error: data.message,\n status: statusCode,\n };\n }\n }\n\n static async deleteProcess(id) {\n try {\n const header = Api.getHeader();\n const { status } = await axios.delete(\n `${BASE_URL}/processes/${id}`,\n header\n );\n return { success: true, status: status };\n } catch (e) {\n console.log(e);\n const { data, statusCode } = Api.getErrorData(e);\n return {\n success: false,\n error: data.message,\n status: statusCode,\n };\n }\n }\n\n static async setProcessAlias(processId, languageCode, processAlias) {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.post(\n `${BASE_URL}/processes/alias/${processId}`,\n {\n languageCode: languageCode,\n processAlias: processAlias,\n },\n header\n );\n return { processAlias: data, success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n /**** IMAGES */\n\n static async getImage(id) {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.get(\n `${BASE_URL}/images/${id}`,\n header\n );\n return { image: data, success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n static async registerImage(file) {\n try {\n const formData = new FormData();\n formData.append(\"image\", file);\n\n const header = Api.getHeader();\n const { data, status } = await axios.post(\n `${BASE_URL}/images`,\n formData,\n header\n );\n return { image: data, success: true, status: status };\n } catch (e) {\n console.log(e);\n const { data, statusCode } = Api.getErrorData(e);\n return {\n success: false,\n error: data.message,\n status: statusCode,\n };\n }\n }\n\n /****** CONTACTS */\n\n static async registerContact(processId, contact) {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.post(\n `${BASE_URL}/processes/contact/${processId}`,\n {\n contactName: contact.contactName,\n contactEmail: contact.contactEmail,\n contactPhone: contact.contactPhone,\n },\n header\n );\n return { contact: data, success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n static async deleteContact(id) {\n try {\n const header = Api.getHeader();\n const { status } = await axios.delete(\n `${BASE_URL}/processes/contact/${id}`,\n header\n );\n return { success: true, status: status };\n } catch (e) {\n console.log(e);\n const { data, statusCode } = Api.getErrorData(e);\n return {\n success: false,\n error: data.message,\n status: statusCode,\n };\n }\n }\n\n /******* LINKS */\n\n static async registerLink(processId, link) {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.post(\n `${BASE_URL}/processes/link/${processId}`,\n {\n linkName: link.linkName,\n url: link.url,\n },\n header\n );\n return { link: data, success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n static async deleteLink(id) {\n try {\n const header = Api.getHeader();\n const { status } = await axios.delete(\n `${BASE_URL}/processes/link/${id}`,\n header\n );\n return { success: true, status: status };\n } catch (e) {\n console.log(e);\n const { data, statusCode } = Api.getErrorData(e);\n return {\n success: false,\n error: data.message,\n status: statusCode,\n };\n }\n }\n\n /******* DESCRIPTION */\n\n static async setDescription(processId, languageCode, description) {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.post(\n `${BASE_URL}/processes/description/${processId}/${languageCode}`,\n {\n description: description,\n },\n header\n );\n return { description: data, success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n /*********** VIDEO */\n\n static async setVideo(processId, languageCode, file) {\n try {\n const formData = new FormData();\n formData.append(\"video\", file);\n\n const header = Api.getHeader();\n const { data, status } = await axios.post(\n `${BASE_URL}/videos/${processId}/${languageCode}`,\n formData,\n header\n );\n return { video: data, success: true, status: status };\n } catch (e) {\n const { data, statusCode } = Api.getErrorData(e);\n return {\n success: false,\n error: data.message,\n status: statusCode,\n };\n }\n }\n\n /******** DOCUMENTS */\n\n static async setDocument(processId, languageCode, file) {\n try {\n const formData = new FormData();\n formData.append(\"document\", file);\n\n const header = Api.getHeader();\n const { data, status } = await axios.post(\n `${BASE_URL}/documents/${processId}/${languageCode}`,\n formData,\n header\n );\n return { document: data, success: true, status: status };\n } catch (e) {\n const { data, statusCode } = Api.getErrorData(e);\n return {\n success: false,\n error: data.message,\n status: statusCode,\n };\n }\n }\n\n /**** VISITS AND RAITINGS */\n static async setVisit(rootId, processId) {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.post(\n `${BASE_URL}/processes/visit/${rootId}/${processId}`,\n {},\n header\n );\n return { visit: data, success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n static async setRating(rootId, processId, stars, email, comments) {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.post(\n `${BASE_URL}/processes/rating/${rootId}/${processId}`,\n {\n stars: stars,\n email: email,\n comments: comments,\n },\n header\n );\n return { rating: data, success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n static async getReport(initialDate, finalDate) {\n try {\n const header = Api.getHeader();\n const { data, status } = await axios.post(\n `${BASE_URL}/processes/report/byDay`,\n {\n initialDate: initialDate,\n finalDate: finalDate,\n },\n header\n );\n return { report: data, success: true, status: status };\n } catch (e) {\n return {\n success: false,\n error: e.response.data.message,\n status: e.response.statusCode,\n };\n }\n }\n\n static getErrorData(error) {\n return (\n error.response || {\n data: { message: error },\n statusCode: -1,\n }\n );\n }\n}\n","import React from \"react\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faUserCircle } from \"@fortawesome/free-solid-svg-icons\";\n\nconst ContactBox = (props) => {\n const contacts = props.contact;\n const title = props.title ?? \"Contacts\";\n\n return (\n
\n
\n {title}\n
\n
\n
\n {contacts.map((contact) => (\n
\n
\n \n
\n
\n
{contact.contactName}
\n

\n \n {contact.contactEmail}\n \n

\n {contact.contactPhone !== \"\" && (\n

\n \n {contact.contactPhone}\n \n

\n )}\n
\n
\n ))}\n
\n
\n
\n );\n};\n\nexport default ContactBox;\n","import React from \"react\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faUserCircle } from \"@fortawesome/free-solid-svg-icons\";\n\nconst ResponsibleBox = (props) => {\n const {\n responsibleName,\n responsibleEmail,\n responsiblePhone,\n } = props.responsible;\n const title = props.title ?? \"Responsible\";\n\n return (\n
\n
\n {title}\n
\n
\n
\n
\n
\n \n
\n
\n
{responsibleName}
\n

\n {responsibleEmail}\n

\n {responsiblePhone !== \"\" && (\n

\n {responsiblePhone}\n

\n )}\n
\n
\n
\n
\n
\n );\n};\n\nexport default ResponsibleBox;\n","import React from \"react\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faGlobe } from \"@fortawesome/free-solid-svg-icons\";\n\nconst LinkBox = (props) => {\n const links = props.links;\n const title = props.title ?? \"Links of interest\";\n\n return (\n
\n
\n {title}\n
\n
\n
\n {links.map((link) => (\n
\n
\n \n
\n
\n
\n \n {link.linkName}\n \n
\n
\n
\n ))}\n
\n
\n
\n );\n};\n\nexport default LinkBox;\n","import React from \"react\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faUserCircle } from \"@fortawesome/free-solid-svg-icons\";\nimport { faFilePdf } from \"@fortawesome/free-solid-svg-icons\";\n\nimport i18n from \"../../i18n\";\n\nconst SupportBox = (props) => {\n const small = {\n marginLeft: 0,\n };\n const full = props.full ?? true;\n\n return (\n <>\n

{i18n.t(\"start.support\")}

\n
\n
\n
\n
\n

Ariba

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

Jose-Rafael Gomez

\n

\n \n jose-rafael.gomez@henkel.com\n \n

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

Raydoo

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

Ana Sánchez

\n

\n \n ana.sanchez@henkel.com\n \n

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

Snow

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

Rodrigo Vazquez

\n

\n \n rodrigo.vazquez@henkel.com\n \n

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

Erik Peñuñuri

\n

\n \n erik.penunuri@henkel.com\n \n

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

Tech documentation

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

\n User Guide\n
\n \n Last update: August 2, 2020\n \n

\n
\n \n \n

\n Access control\n
\n \n Last update: August 3, 2020\n \n

\n
\n
\n
\n
*/}\n
\n \n );\n};\n\nexport default SupportBox;\n","// https://github.com/chriso/validator.js\nimport validator from \"validator\";\n\n/**\n * Helper methods to validate form inputs\n * using controlled components\n */\nconst FormValidator = {\n /**\n * Validate input element\n * @param element Dome element of the input\n * Uses the following attributes\n * data-validate: array in json format with validation methods\n * data-param: used to provide arguments for certain methods.\n */\n validate(element) {\n const isCheckbox = element.type === \"checkbox\";\n const value = isCheckbox ? element.checked : element.value;\n const name = element.name;\n\n if (!name) throw new Error(\"Input name must not be empty.\");\n\n // use getAttribute to support IE10+\n const param = element.getAttribute(\"data-param\");\n const validations = JSON.parse(element.getAttribute(\"data-validate\"));\n\n let result = [];\n if (validations && validations.length) {\n /* Result of each validation must be true if the input is invalid\n and false if valid. */\n validations.forEach((m) => {\n switch (m) {\n case \"required\":\n result[m] = isCheckbox ? value === false : validator.isEmpty(value);\n break;\n case \"email\":\n result[m] = !validator.isEmail(value);\n break;\n case \"number\":\n result[m] = !validator.isNumeric(value);\n break;\n case \"integer\":\n result[m] = !validator.isInt(value);\n break;\n case \"alphanum\":\n result[m] = !validator.isAlphanumeric(value);\n break;\n case \"url\":\n result[m] = !validator.isURL(value);\n break;\n case \"equalto\":\n // here we expect a valid ID as param\n const value2 = document.getElementById(param).value;\n result[m] = !validator.equals(value, value2);\n break;\n case \"minlen\":\n result[m] = !validator.isLength(value, { min: param });\n break;\n case \"maxlen\":\n result[m] = !validator.isLength(value, { max: param });\n break;\n case \"len\":\n const [min, max] = JSON.parse(param);\n result[m] = !validator.isLength(value, { min, max });\n break;\n case \"min\":\n result[m] = !validator.isInt(value, {\n min: validator.toInt(param),\n });\n break;\n case \"max\":\n result[m] = !validator.isInt(value, {\n max: validator.toInt(param),\n });\n break;\n case \"list\":\n const list = JSON.parse(param);\n result[m] = !validator.isIn(value, list);\n break;\n case \"regexp\":\n const regexp = new RegExp(param);\n result[m] = !regexp.test(value);\n break;\n default:\n throw new Error(\"Unrecognized validator.\");\n }\n });\n }\n\n return result;\n },\n\n /**\n * Bulk validation of input elements.\n * Used with form elements collection.\n * @param {Array} inputs Array for DOM element\n * @return {Object} Contains array of error and a flag to\n * indicate if there was a validation error\n */\n bulkValidate(inputs) {\n let errors = {},\n hasError = false;\n\n inputs.forEach((input) => {\n let result = this.validate(input);\n errors = { ...errors, [input.name]: result };\n if (!hasError) hasError = Object.keys(result).some((val) => result[val]);\n });\n\n return {\n errors,\n hasError,\n };\n },\n};\n\nexport default FormValidator;\n","// GENERAL\nexport const LOADING = \"LOADING\";\nexport const ERROR = \"ERROR\";\nexport const DATA_LOADED = \"DATA_LOADED\";\n\n// AUTH\nexport const VALIDATION_FORM = \"VALIDATION_FORM\";\nexport const LOGIN = \"LOGIN\";\nexport const LOGIN_SUCCESSFUL = \"LOGIN_SUCCESSFUL\";\nexport const LOGIN_ERROR = \"LOGIN_ERROR\";\nexport const LOGOUT = \"LOGOUT\";\nexport const REGISTER = \"REGISTER\";\nexport const PASSWORD_RESET = \"PASSWORD_RESET\";\nexport const IS_AUTH = \"IS_AUTH\";\nexport const ACTIVATION_KEY_ERROR = \"ACTIVATION_KEY_ERROR\";\nexport const ACTIVATION_KEY_SUCCESS = \"ACTIVATION_KEY_SUCCESS\";\nexport const PASSWORD_RESET_ERROR = \"PASSWORD_RESET_ERROR\";\nexport const PASSWORD_RESET_SUCCESS = \"PASSWORD_RESET_SUCCESS\";\nexport const NOT_LOGGED = \"NOT_LOGGED\";\n\n// PROFILES\nexport const GET_PROFILES_LIST = \"GET_PROFILES_LIST\";\n\n// LANGUAGES\nexport const GET_ALL_LANGUAGES = \"GET_ALL_LANGUAGES\";\nexport const SET_LANGUAGE = \"SET_LANGUAGE\";\nexport const LANGUAGES_LOADED = \"LANGUAGES_LOADED\";\n\n// COUNTRIES\nexport const GET_COUNTRIES_LIST = \"GET_COUNTRIES_LIST\";\n\n// PROCESSES\nexport const GET_PROCESS_LIST = \"GET_PROCESS_LIST\";\nexport const GET_PROCESS = \"GET_PROCESS\";\nexport const POST_PROCESS = \"POST_PROCESS\";\nexport const PUT_PROCESS = \"PUT_PROCESS\";\nexport const DELETE_PROCESS = \"DELETE_PROCESS\";\nexport const GET_ROOT_PROCESSES = \"GET_ROOT_PROCESSES\";\nexport const CLEAN_PROCESS = \"CLEAN_PROCESS\";\nexport const SET_PROCESS_ALIAS = \"SET_PROCESS_ALIAS\";\nexport const POST_CONTACT = \"POST_CONTACT\";\nexport const DELETE_CONTACT = \"DELETE_CONTACT\";\nexport const POST_LINK = \"POST_LINK\";\nexport const DELETE_LINK = \"DELETE_LINK\";\nexport const UPDATE_DESCRIPTION = \"UPDATE_DESCRIPTION\";\nexport const POST_VIDEO = \"POST_VIDEO\";\nexport const DELETE_VIDEO = \"DELETE_VIDEO\";\nexport const POST_DOCUMENT = \"POST_DOCUMENT\";\nexport const DELETE_DOCUMENT = \"DELETE_DOCUMENT\";\nexport const POST_VISIT = \"POST_VISIT\";\nexport const POST_RATING = \"POST_RATING\";\nexport const GET_REPORT = \"GET_REPORT\";\n\n// USERS\nexport const GET_USERS_LIST = \"GET_USERS_LIST\";\nexport const GET_USER = \"GET_USER\";\nexport const POST_USER = \"POST_USER\";\nexport const PUT_USER = \"PUT_USER\";\nexport const CHANGE_PASSWORD = \"CHANGE_PASSWORD\";\n\n// IMAGES\nexport const GET_ALL_IMAGES = \"GET_ALL_IMAGES\";\nexport const GET_IMAGE = \"GET_IMAGE\";\nexport const POST_IMAGE = \"POST_IMAGE\";\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Fab } from \"@material-ui/core\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n faProjectDiagram,\n faEdit,\n faLanguage,\n faFileInvoice,\n faTrashAlt,\n} from \"@fortawesome/free-solid-svg-icons\";\n\nimport { BASE_URL } from \"../../../config/constants\";\nimport \"./ProcessBox.css\";\n\nconst ProcessBox = (props) => {\n const root = props.root;\n const process = props.process;\n const link = props.link;\n const languageCode = props.languageCode || \"en\";\n const alias = process.processAlias\n ? process.processAlias.find(\n (processAlias) =>\n processAlias != null && processAlias.language.code === languageCode\n )\n : undefined;\n const processName = alias\n ? alias.processAlias !== \"\"\n ? alias.processAlias\n : process.processName\n : process.processName;\n\n const tableHeight = {\n height: \"100%\",\n };\n\n const content = {\n height: \"100%\",\n width: \"100%\",\n backgroundSize: \"contain\",\n backgroundRepeat: \"no-repeat\",\n backgroundPosition: \"center center\",\n backgroundImage:\n process.processType === \"ROOT\"\n ? `url(${BASE_URL}/images/watch/${process?.image?.uri})`\n : \"none\",\n };\n return (\n
\n
\n \n \n \n \n \n \n {process.processType !== \"ROOT\" && processName}\n {process.processType === \"ROOT\" && (\n
\n  \n
\n )}\n \n
\n \n
\n
\n \n
\n
\n {props.addLanguages && (\n \n \n \n \n \n )}\n
\n
\n {props.addProcess && (\n \n \n \n \n \n )}\n {props.addFinalProcess && process.processType !== \"FINAL\" && (\n \n \n \n \n \n )}\n {props.editProcess && (\n \n \n \n \n \n )}\n {props.deleteProcess && (\n \n \n \n \n \n )}\n
\n
\n
\n \n );\n};\n\nexport default ProcessBox;\n","import {\n LOGIN,\n IS_AUTH,\n LOGIN_SUCCESSFUL,\n LOGIN_ERROR,\n LOGOUT,\n NOT_LOGGED,\n} from \"../types\";\n\nconst initialState = {\n search: \"\",\n loading: false,\n userId: 0,\n firstName: \"\",\n lastName: \"\",\n email: \"\",\n profileId: 0,\n profile: \"\",\n country: \"\",\n password: \"\",\n isAuthenticated: false,\n authVerified: false,\n passwordResetDone: false,\n sessionClosed: false,\n error: \"\",\n};\n\nexport function AuthReducer(state = initialState, action) {\n switch (action.type) {\n case LOGIN:\n return {\n ...state,\n loading: true,\n passwordResetDone: false,\n sessionClosed: false,\n };\n case LOGIN_SUCCESSFUL:\n return {\n ...state,\n isAuthenticated: true,\n authVerified: true,\n loading: false,\n error: \"\",\n userId: action.payload.userId,\n firstName: action.payload.firstName,\n lastName: action.payload.lastName,\n email: action.payload.email,\n profileId: action.payload.profileId,\n profile: action.payload.profile,\n country: action.payload.country,\n };\n case LOGIN_ERROR:\n return {\n ...state,\n isAuthenticated: false,\n loading: false,\n error: action.payload,\n };\n case NOT_LOGGED:\n return {\n ...state,\n isAuthenticated: false,\n authVerified: true,\n success: \"\",\n error: \"\",\n loading: false,\n };\n case LOGOUT:\n return {\n ...state,\n isAuthenticated: false,\n authVerified: true,\n sessionClosed: true,\n success: \"\",\n error: \"\",\n loading: false,\n };\n case IS_AUTH:\n return {\n ...state,\n isAuthenticated: action.payload,\n };\n default:\n return state;\n }\n}\n","import {\n LOADING,\n GET_REPORT,\n GET_PROCESS_LIST,\n GET_ROOT_PROCESSES,\n POST_PROCESS,\n PUT_PROCESS,\n GET_PROCESS,\n DELETE_PROCESS,\n SET_PROCESS_ALIAS,\n POST_CONTACT,\n DELETE_CONTACT,\n POST_LINK,\n DELETE_LINK,\n UPDATE_DESCRIPTION,\n POST_VIDEO,\n POST_DOCUMENT,\n POST_RATING,\n POST_VISIT,\n ERROR,\n DATA_LOADED,\n CLEAN_PROCESS,\n} from \"../types\";\n\nconst initialState = {\n search: \"\",\n loading: false,\n getReportDone: false,\n getRootDone: false,\n registerDone: false,\n updateDone: false,\n getDone: false,\n deleteDone: false,\n registerContactDone: false,\n deleteContactDone: false,\n registerLinkDone: false,\n deleteLinkDone: false,\n updateDescriptionDone: false,\n registerVideoDone: false,\n registerDocumentDone: false,\n registerVisitDone: false,\n registerRatingDone: false,\n error: \"\",\n processesList: [],\n process: {\n id: 0,\n processName: \"\",\n },\n parent: {},\n children: [],\n report: {\n visits: [],\n ratings: [],\n },\n};\n\nexport function ProcessesReducer(state = initialState, action) {\n switch (action.type) {\n case LOADING:\n return {\n ...state,\n loading: true,\n registerDone: false,\n getReportDone: false,\n getRootDone: false,\n updateDone: false,\n getDone: false,\n deleteDone: false,\n registerContactDone: false,\n deleteContactDone: false,\n registerLinkDone: false,\n deleteLinkDone: false,\n updateDescriptionDone: false,\n registerVideoDone: false,\n registerDocumentDone: false,\n registerVisitDone: false,\n registerRatingDone: false,\n };\n case GET_REPORT:\n return {\n ...state,\n loading: false,\n error: \"\",\n report: action.payload,\n getReportDone: true,\n };\n case GET_PROCESS_LIST:\n return {\n ...state,\n loading: false,\n error: \"\",\n processesList: action.payload,\n };\n case GET_ROOT_PROCESSES:\n return {\n ...state,\n loading: false,\n getRootDone: true,\n error: \"\",\n processesList: action.payload,\n };\n case GET_PROCESS:\n return {\n ...state,\n loading: false,\n getDone: true,\n error: \"\",\n process: action.payload,\n parent: action.payload.parent ?? {},\n children: action.payload.children,\n };\n case POST_PROCESS:\n return {\n ...state,\n loading: false,\n error: \"\",\n registerDone: true,\n process: action.payload,\n };\n case PUT_PROCESS:\n return {\n ...state,\n loading: false,\n error: \"\",\n updateDone: true,\n process: action.payload,\n };\n case DELETE_PROCESS:\n return {\n ...state,\n loading: false,\n error: \"\",\n deleteDone: true,\n };\n case SET_PROCESS_ALIAS: {\n return {\n ...state,\n loading: false,\n error: \"\",\n };\n }\n case POST_CONTACT: {\n return {\n ...state,\n loading: false,\n error: \"\",\n registerContactDone: true,\n };\n }\n case DELETE_CONTACT: {\n return {\n ...state,\n loading: false,\n error: \"\",\n deleteContactDone: true,\n };\n }\n case POST_LINK: {\n return {\n ...state,\n loading: false,\n error: \"\",\n registerLinkDone: true,\n };\n }\n case DELETE_LINK: {\n return {\n ...state,\n loading: false,\n error: \"\",\n deleteLinkDone: true,\n };\n }\n case UPDATE_DESCRIPTION: {\n return {\n ...state,\n loading: false,\n error: \"\",\n updateDescriptionDone: true,\n };\n }\n case POST_VIDEO: {\n return {\n ...state,\n loading: false,\n error: \"\",\n registerVideoDone: true,\n };\n }\n case POST_DOCUMENT: {\n return {\n ...state,\n loading: false,\n error: \"\",\n registerDocumentDone: true,\n };\n }\n case POST_RATING: {\n return {\n ...state,\n loading: false,\n error: \"\",\n registerRatingDone: true,\n };\n }\n case POST_VISIT: {\n return {\n ...state,\n loading: false,\n error: \"\",\n registerVisitDone: true,\n };\n }\n case DATA_LOADED:\n return {\n ...state,\n getRootDone: false,\n registerDone: false,\n updateDone: false,\n getDone: false,\n deleteDone: false,\n registerContactDone: false,\n deleteContactDone: false,\n registerLinkDone: false,\n deleteLinkDone: false,\n updateDescriptionDone: false,\n registerVideoDone: false,\n registerDocumentDone: false,\n registerVisitDone: false,\n registerRatingDone: false,\n getReportDone: false,\n };\n case CLEAN_PROCESS: {\n return {\n ...state,\n getDone: false,\n getReportDone: false,\n };\n }\n case ERROR:\n return {\n ...state,\n getRootDone: false,\n loading: false,\n registerDone: false,\n updateDone: false,\n getDone: false,\n deleteDone: false,\n registerContactDone: false,\n deleteContactDone: false,\n registerLinkDone: false,\n deleteLinkDone: false,\n updateDescriptionDone: false,\n registerVideoDone: false,\n registerDocumentDone: false,\n registerVisitDone: false,\n registerRatingDone: false,\n getReportDone: false,\n error: action.payload.error,\n };\n default:\n return state;\n }\n}\n","import {\n LOADING,\n GET_USERS_LIST,\n ERROR,\n GET_PROFILES_LIST,\n GET_ALL_LANGUAGES,\n GET_COUNTRIES_LIST,\n POST_USER,\n GET_USER,\n PUT_USER,\n ACTIVATION_KEY_ERROR,\n ACTIVATION_KEY_SUCCESS,\n PASSWORD_RESET_ERROR,\n PASSWORD_RESET_SUCCESS,\n PASSWORD_RESET,\n CHANGE_PASSWORD,\n DATA_LOADED,\n} from \"../types\";\n\nconst initialState = {\n search: \"\",\n loading: false,\n userLoaded: false,\n saved: false,\n passwordRequestDone: false,\n activationValidated: false,\n passwordResetDone: false,\n passwordChangeDone: false,\n error: \"\",\n activationKeyError: \"\",\n passwordResetError: \"\",\n usersList: [],\n profiles: [],\n countries: [],\n languages: [],\n user: {\n id: 0,\n },\n};\n\nexport function UsersReducer(state = initialState, action) {\n switch (action.type) {\n case LOADING:\n return {\n ...state,\n loading: true,\n userLoaded: false,\n saved: false,\n passwordRequestDone: false,\n activationValidated: false,\n passwordResetDone: false,\n passwordChangeDone: false,\n error: \"\",\n };\n case PASSWORD_RESET: {\n return { ...state, loading: false, error: \"\", passwordRequestDone: true };\n }\n case CHANGE_PASSWORD: {\n return { ...state, loading: false, error: \"\", passwordChangeDone: true };\n }\n case ACTIVATION_KEY_ERROR: {\n return {\n ...state,\n user: { id: 0 },\n activationKeyError: action.payload,\n loading: false,\n activationValidated: true,\n };\n }\n case ACTIVATION_KEY_SUCCESS: {\n return {\n ...state,\n user: action.payload,\n activationKeyError: \"\",\n loading: false,\n activationValidated: true,\n };\n }\n case PASSWORD_RESET_ERROR: {\n return {\n ...state,\n passwordResetError: action.payload,\n loading: false,\n passwordResetDone: true,\n };\n }\n case PASSWORD_RESET_SUCCESS: {\n return {\n ...state,\n user: action.payload,\n passwordResetError: \"\",\n loading: false,\n passwordResetDone: true,\n };\n }\n case GET_USERS_LIST:\n return {\n ...state,\n loading: false,\n error: \"\",\n usersList: action.payload,\n user: { id: 0 },\n };\n case GET_PROFILES_LIST:\n return {\n ...state,\n loading: false,\n error: \"\",\n profiles: action.payload,\n };\n case GET_ALL_LANGUAGES:\n return {\n ...state,\n loading: false,\n error: \"\",\n languages: action.payload,\n };\n case GET_COUNTRIES_LIST:\n return {\n ...state,\n loading: false,\n error: \"\",\n countries: action.payload,\n };\n case POST_USER:\n return {\n ...state,\n loading: false,\n saved: true,\n error: \"\",\n user: action.payload,\n };\n case GET_USER:\n return {\n ...state,\n loading: false,\n userLoaded: true,\n error: \"\",\n user: action.payload,\n };\n case PUT_USER:\n return {\n ...state,\n loading: false,\n userLoaded: false,\n saved: true,\n error: \"\",\n user: action.payload,\n };\n case ERROR:\n return {\n ...state,\n loading: false,\n saved: false,\n userLoaded: false,\n passwordRequestDone: false,\n activationValidated: false,\n passwordResetDone: false,\n passwordChangeDone: false,\n error: action.payload,\n };\n case DATA_LOADED:\n return {\n ...state,\n userLoaded: false,\n saved: false,\n loading: false,\n passwordRequestDone: false,\n activationValidated: false,\n passwordResetDone: false,\n passwordChangeDone: false,\n };\n default:\n return state;\n }\n}\n","import {\n LOADING,\n GET_ALL_IMAGES,\n GET_IMAGE,\n POST_IMAGE,\n ERROR,\n DATA_LOADED,\n} from \"../types\";\n\nconst initialState = {\n search: \"\",\n loading: false,\n registerDone: false,\n getDone: false,\n error: \"\",\n imagesList: [],\n image: {},\n};\n\nexport function ImagesReducer(state = initialState, action) {\n switch (action.type) {\n case LOADING:\n return {\n ...state,\n loading: true,\n registerDone: false,\n getDone: false,\n };\n case GET_ALL_IMAGES:\n return {\n ...state,\n loading: false,\n error: \"\",\n imagesList: action.payload,\n };\n case GET_IMAGE:\n return {\n ...state,\n loading: false,\n getDone: true,\n error: \"\",\n image: action.payload,\n };\n case POST_IMAGE:\n return {\n ...state,\n loading: false,\n error: \"\",\n registerDone: true,\n image: action.payload,\n };\n case DATA_LOADED:\n return {\n ...state,\n loading: false,\n registerDone: false,\n getDone: false,\n };\n case ERROR:\n return {\n ...state,\n loading: false,\n registerDone: false,\n getDone: false,\n error: action.payload.error,\n };\n default:\n return state;\n }\n}\n","import { GET_ALL_LANGUAGES, SET_LANGUAGE, LANGUAGES_LOADED } from \"../types\";\n\nconst initialState = {\n loading: false,\n getDone: false,\n error: \"\",\n languages: [],\n selectedLanguage: \"es\",\n};\n\nexport function LanguagesReducer(state = initialState, action) {\n switch (action.type) {\n case GET_ALL_LANGUAGES:\n return {\n ...state,\n languages: action.payload,\n getDone: true,\n };\n case LANGUAGES_LOADED:\n return {\n ...state,\n getDone: false,\n };\n case SET_LANGUAGE:\n console.log(action);\n return {\n ...state,\n selectedLanguage: action.payload,\n };\n default:\n return state;\n }\n}\n","import { combineReducers } from \"redux\";\nimport { AuthReducer } from \"./authReducer\";\nimport { ProcessesReducer } from \"./processesReducer\";\nimport { UsersReducer } from \"./usersReducer\";\nimport { ImagesReducer } from \"./imagesReducer\";\nimport { LanguagesReducer } from \"./languagesReducer\";\n\nexport default combineReducers({\n auth: AuthReducer,\n processes: ProcessesReducer,\n users: UsersReducer,\n images: ImagesReducer,\n languages: LanguagesReducer,\n});\n","import { createStore, applyMiddleware, compose } from \"redux\";\nimport thunk from \"redux-thunk\";\nimport reducer from \"./reducers\";\n\nconst store = createStore(\n reducer,\n compose(\n applyMiddleware(thunk),\n typeof window === \"object\" &&\n typeof window.__REDUX_DEVTOOLS_EXTENSION__ != \"undefined\"\n ? window.__REDUX_DEVTOOLS_EXTENSION__()\n : (f) => f\n )\n);\n\nexport default store;\n","import {\n VALIDATION_FORM,\n LOGIN,\n LOGIN_SUCCESSFUL,\n LOGIN_ERROR,\n IS_AUTH,\n LOGOUT,\n REGISTER,\n PASSWORD_RESET,\n NOT_LOGGED,\n} from \"../types\";\n\nimport Api from \"../components/Api/Api\";\n\nexport function signIn(email, password) {\n return async (dispatch) => {\n dispatch(login());\n\n let result = await Api.authenticate(email, password);\n if (!result.success) {\n dispatch(loginError(result.error));\n return;\n }\n localStorage.setItem(\"token\", result.token);\n localStorage.setItem(\"userId\", result.userId);\n localStorage.setItem(\"firstName\", result.firstName);\n localStorage.setItem(\"lastName\", result.lastName);\n localStorage.setItem(\"email\", result.email);\n localStorage.setItem(\"profileId\", result.profileId);\n localStorage.setItem(\"profile\", result.profile);\n localStorage.setItem(\"country\", result.country);\n dispatch(loggedIn(result));\n };\n}\n\nexport function validateAuth() {\n return async (dispatch) => {\n let result = await Api.getAuthenticatedUser();\n if (result.success) {\n dispatch(loggedIn(result));\n return;\n }\n dispatch(notLogged());\n };\n}\n\nexport function signOut() {\n localStorage.clear();\n return async (dispatch) => dispatch(logoff());\n}\n\nconst validationLoginResult = (name, value, result) => ({\n type: VALIDATION_FORM,\n payload: {\n name: name,\n value: value,\n result: result,\n },\n});\n\nconst login = () => ({ type: LOGIN });\nexport const loggedIn = (user) => ({ type: LOGIN_SUCCESSFUL, payload: user });\nconst loginError = (error) => ({ type: LOGIN_ERROR, payload: error });\nconst logoff = () => ({ type: LOGOUT });\nconst notLogged = () => ({ type: NOT_LOGGED });\n","import React, { useEffect, useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport pubsub from \"pubsub-js\";\nimport { LinkContainer } from \"react-router-bootstrap\";\nimport {\n Dropdown,\n DropdownToggle,\n DropdownMenu,\n DropdownItem,\n} from \"reactstrap\";\n\nimport \"./Header.scss\";\nimport \"./HeaderMenuLinks.scss\";\nimport { signOut } from \"../../actions/authActions\";\n\nfunction Header(props) {\n const { firstName, lastName, profile, country } = props.authState;\n let pubsub_token;\n const dispatch = useDispatch();\n const [state, setState] = useState({\n pageTitle: \"\",\n navIcon: \"menu-link-slide\",\n dropdownOpen: false,\n });\n\n useEffect(() => {\n pubsub_token = pubsub.subscribe(\"setPageTitle\", (_, title) => {\n setState({ ...state, pageTitle: title });\n });\n return () => {\n pubsub.unsubscribe(pubsub_token);\n };\n }, [pubsub, state]);\n\n const toggle = () => {\n setState((prevState) => ({\n ...state,\n dropdownOpen: !prevState.dropdownOpen,\n }));\n };\n\n const logOut = () => {\n dispatch(signOut());\n };\n\n return (\n
\n \n
\n );\n}\n\nexport default Header;\n","import React, { Component } from \"react\";\nimport { Modal, ModalBody } from 'reactstrap';\nimport pubsub from 'pubsub-js';\nimport { withTranslation } from 'react-i18next';\n\nclass HeaderSearch extends Component {\n\n state = {\n showModal: false\n }\n\n constructor(props) {\n super(props);\n this.pubsub_token = pubsub.subscribe('showsearch', () => {\n this.open();\n });\n }\n\n componentWillUnmount() {\n pubsub.unsubscribe(this.pubsub_token);\n }\n\n onShowModal = () => {\n // Add class for white backdrop\n document.body.classList.add('modal-backdrop-soft')\n }\n\n onHiddenModal = () => {\n // Remove class for white backdrop (if not will affect future modals)\n document.body.classList.remove('modal-backdrop-soft')\n }\n\n onShownModal = () => {\n // Auto focus the search input\n const input = document.querySelector('.header-input-search')\n if(input) input.focus();\n }\n\n close = () => {\n this.setState({ showModal: false });\n }\n\n open = () => {\n this.setState({ showModal: true });\n }\n\n toggle = () => {\n this.setState({ showModal: !this.state.showModal });\n }\n\n onSubmit(e) {\n e.preventDefault();\n console.log('Search form submitted: [' + this.refs.searchTerm.value + ']');\n }\n\n render() {\n return (\n \n \n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n \n );\n }\n}\n\nexport default withTranslation('translations')(HeaderSearch);\n","function sidebarNav() {\n // Elements\n const sidebarNav = document.querySelector(\".sidebar-nav\");\n const layoutContainer = document.querySelector(\".layout-container\");\n const sidebarToggler = document.querySelector(\"#sidebar-toggler\");\n const offcanvasToggler = document.querySelector(\"#offcanvas-toggler\");\n const sidebarLayoutObfuscator = document.querySelector(\".sidebar-layout-obfuscator\");\n const body = document.body;\n\n // Helpers\n const makeArray = set => [].slice.call(set);\n // remove desktop offcanvas when app changes to mobile\n // so when it returns, the sidebar is shown again\n const restoreOffcanvas = () => {\n if (window.innerWidth < 768) {\n body.classList.remove(\"offcanvas-visible\");\n offcanvasToggler.parentElement.classList.add(\"active\");\n }\n };\n // find the a element in click context\n // doesn't check deeply, asumens two levels only\n const getItemElement = e => {\n let element = e.target,\n parent = element.parentNode;\n if (element.tagName.toLowerCase() === \"a\") return element;\n if (parent.tagName.toLowerCase() === \"a\") return parent;\n if (parent.parentNode.tagName.toLowerCase() === \"a\") return parent.parentNode;\n };\n\n // Behavior\n sidebarNav.addEventListener(\"click\", e => {\n const item = getItemElement(e);\n // check click is on a tag\n if (!item) return;\n\n const liparent = item.parentElement;\n\n const lis = makeArray(liparent.parentElement.querySelectorAll(\"li\")); // markup: ul > li > a\n\n // remove .active from childs\n lis.forEach(li => {\n makeArray(li.querySelectorAll(\"li\")).forEach(el => el.classList.remove(\"active\"));\n });\n\n // remove .active from siblings ()\n lis.forEach(li => {\n if (li !== liparent) li.classList.remove(\"active\");\n });\n\n if (item.nextElementSibling && item.nextElementSibling.tagName === \"UL\") {\n liparent.classList.toggle(\"active\");\n e.preventDefault();\n }\n });\n\n // Handler to toggle sidebar visibility on mobile\n sidebarToggler.addEventListener(\"click\", e => {\n e.preventDefault();\n layoutContainer.classList.toggle(\"sidebar-visible\");\n // toggle icon state\n e.target.parentElement.classList.toggle(\"active\");\n });\n // Close sidebar when click on backdrop\n sidebarLayoutObfuscator.addEventListener(\"click\", e => {\n e.preventDefault();\n layoutContainer.classList.remove(\"sidebar-visible\");\n // restore icon\n sidebarToggler.parentElement.classList.remove(\"active\");\n });\n\n // Handler to toggle sidebar visibility on desktop\n offcanvasToggler.addEventListener(\"click\", e => {\n e.preventDefault();\n body.classList.toggle(\"offcanvas-visible\");\n // toggle icon state\n e.target.parentElement.classList.toggle(\"active\");\n });\n\n window.addEventListener(\"resize\", restoreOffcanvas);\n}\n\nexport default sidebarNav;\n","import {\n faHome,\n faUser,\n faQuestion,\n faProjectDiagram,\n faPhotoVideo,\n} from \"@fortawesome/free-solid-svg-icons\";\n// const Menu = [{\n// name: 'Dashboard',\n// path: '/dashboard',\n// icon: 'img/icons/aperture.svg',\n// label: { value: 1, classNme: 'bg-success' }\n// }, {\n// name: 'Cards',\n// path: '/cards',\n// icon: 'img/icons/radio-waves.svg'\n// }, {\n// name: 'Charts',\n// icon: 'img/icons/connection-bars.svg',\n// submenu: [{\n// name: 'Flot',\n// path: '/charts/flot'\n// }, {\n// name: 'Radial',\n// path: '/charts/radial'\n// }, {\n// name: 'ChartJS',\n// path: '/charts/chartjs'\n// }]\n// }, {\n// name: 'Forms',\n// icon: 'img/icons/clipboard.svg',\n// submenu: [{\n// name: 'Classic',\n// path: '/forms/classic'\n// }, {\n// name: 'Validation',\n// path: '/forms/validation'\n// }, {\n// name: 'Advanced',\n// path: '/forms/advanced'\n// }, {\n// name: 'Material',\n// path: '/forms/material'\n// }, {\n// name: 'Editors',\n// path: '/forms/editors'\n// }, {\n// name: 'Dropzone',\n// path: '/forms/dropzone'\n// }]\n// }, {\n// name: 'Tables',\n// icon: 'img/icons/navicon.svg',\n// submenu: [\n// { name: 'Classic', path: '/tables/classic' },\n// { name: 'Datatable', path: '/tables/datatable' },\n// { name: 'DataGrid', path: '/tables/datagrid' }\n// ]\n// }, {\n// name: 'Layouts',\n// icon: 'img/icons/grid.svg',\n// submenu: [\n// { name: 'Columns', path: '/layouts/columns' },\n// { name: 'Overlap', path: '/layouts/overlap' },\n// { name: 'Boxed', path: '/layouts/boxed' },\n// { name: 'Tabs', path: '/layouts/tabs' },\n// { name: 'Containers', path: '/layouts/containers' },\n// ]\n// }, {\n// name: 'Elements',\n// icon: 'img/icons/levels.svg',\n// submenu: [\n// { name: 'Colors', path: '/elements/colors' },\n// { name: 'Whiteframes', path: '/elements/whiteframes' },\n// { name: 'Lists', path: '/elements/lists' },\n// { name: 'Bootstrap', path: '/elements/bootstrap' },\n// { name: 'Buttons', path: '/elements/buttons' },\n// { name: 'Sweet-alert', path: '/elements/sweetalert' },\n// { name: 'Spinners', path: '/elements/spinners' },\n// { name: 'Toastify', path: '/elements/toastify' },\n// { name: 'Grid', path: '/elements/grid' },\n// { name: 'Grid Masonry', path: '/elements/gridmasonry' },\n// { name: 'Typography', path: '/elements/typography' },\n// { name: 'Icons', path: '/elements/icons' },\n// { name: 'Utilities', path: '/elements/utilities' }\n// ]\n// }, {\n// name: 'Maps',\n// icon: 'img/icons/planet.svg',\n// submenu: [\n// { name: 'Google Maps Full', path: '/maps/googlefull' },\n// { name: 'Google Maps', path: '/maps/google' },\n// { name: 'Vector Maps', path: '/maps/vector' },\n// { name: 'Datamaps', path: '/maps/datamaps' }\n// ]\n// }, {\n// name: 'Pages',\n// icon: 'img/icons/ios-browsers.svg',\n// submenu: [\n// { name: 'Timeline', path: '/pages/timeline' },\n// { name: 'Invoice', path: '/pages/invoice' },\n// { name: 'Pricing', path: '/pages/pricing' },\n// { name: 'Calendar', path: '/pages/calendar' },\n// { name: 'Contacts', path: '/pages/contacts' },\n// { name: 'FAQ', path: '/pages/faq' },\n// { name: 'Projects', path: '/pages/projects' },\n// { name: 'Blog', path: '/pages/blog' },\n// { name: 'Article', path: '/pages/article' },\n// { name: 'Profile', path: '/pages/profile' },\n// { name: 'Gallery', path: '/pages/gallery' },\n// { name: 'Wall', path: '/pages/wall' },\n// { name: 'Search', path: '/pages/search' },\n// { name: 'Messages Board', path: '/pages/messagesboard' }\n// ]\n// }, {\n// name: 'User',\n// icon: 'img/icons/person-stalker.svg',\n// submenu: [\n// { name: 'Login', path: '/login' },\n// { name: 'Signup', path: '/signup' },\n// { name: 'Lock', path: '/lock' },\n// { name: 'Recover', path: '/recover' }\n// ]\n// },\n\n// ];\n\nconst Menu = [\n {\n name: \"Dashboard\",\n path: \"/home\",\n icon: faHome,\n },\n {\n name: \"Processes\",\n path: \"/processes\",\n icon: faProjectDiagram,\n },\n // {\n // name: \"Media\",\n // path: \"/media\",\n // icon: faPhotoVideo,\n // },\n {\n name: \"Users\",\n path: \"/users\",\n icon: faUser,\n },\n {\n name: \"Support\",\n path: \"/support\",\n icon: faQuestion,\n },\n];\n\nexport default Menu;\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Link, withRouter } from \"react-router-dom\";\nimport pubsub from \"pubsub-js\";\nimport { withTranslation, Trans } from \"react-i18next\";\nimport E2ELogo from \"../../images/logo_e2e.png\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\n\nimport \"./Sidebar.scss\";\n\nimport SidebarRun from \"./Sidebar.run\";\n\nimport Menu from \"../../Menu.js\";\n\nconst SingleItemLabel = ({ label }) => (\n \n {label.value}\n \n);\n\nconst SingleItemIcon = ({ icon }) => (\n \n \n \n);\n\nconst SingleItem = ({ item }) => (\n \n {item.label && }\n {item.icon && } {item.name}\n \n);\n\nconst SubMenuItem = ({ item, routeActive }) => [\n \n \n \n \n {item.label && }\n {item.icon && }\n {item.name}\n ,\n
    \n {item.submenu.map((sitem, si) => (\n
  • \n \n
  • \n ))}\n
,\n];\n\nclass Sidebar extends Component {\n state = {\n firstName: \"\",\n lastName: \"\",\n profile: \"\",\n country: \"\",\n sidebarModes: {\n header: true,\n toolbar: true,\n offcanvas: false,\n },\n };\n\n constructor(props) {\n super(props);\n const { firstName, lastName, profile, country } = props.authState;\n this.state = {\n ...this.state,\n firstName: firstName,\n lastName: lastName,\n profile: profile,\n country: country,\n };\n this.pubsub_token = pubsub.subscribe(\"sidebarmode\", (msg, mode) => {\n this.setState({\n ...this.state,\n sidebarModes: {\n ...this.state.sidebarModes,\n [mode]: !this.state.sidebarModes[mode],\n },\n });\n if (mode === \"offcanvas\") {\n document.body.classList[\n this.state.sidebarModes[\"offcanvas\"] ? \"add\" : \"remove\"\n ](\"sidebar-offcanvas\");\n }\n });\n // Listen for routes changes in order to hide the sidebar on mobile\n this.props.history.listen(() => {\n try {\n document\n .querySelector(\".layout-container\")\n .classList.remove(\"sidebar-visible\");\n } catch (ex) {\n console.log(\"Exception removing sidebar-visible\");\n }\n });\n }\n\n componentDidMount() {\n SidebarRun();\n }\n\n componentWillUnmount() {\n pubsub.unsubscribe(this.pubsub_token);\n }\n\n routeActive = (paths) => {\n paths = Array.isArray(paths) ? paths : [paths];\n return paths.some((p) => this.props.location.pathname.indexOf(p) > -1)\n ? \"active\"\n : \"\";\n };\n\n render() {\n const hasSubmenu = (item) => item.submenu && item.submenu.length;\n return (\n \n );\n }\n}\n\nSidebar.contextTypes = {\n router: PropTypes.object,\n};\n\nSidebar.propTypes = {\n location: PropTypes.object.isRequired,\n};\n\nexport default withTranslation(\"translations\")(withRouter(Sidebar));\n","// FULLSCREEN\n// -----------------------------------\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport screenfull from 'screenfull';\n\n/**\n * Wrapper for screenfull plugin\n * Wraps child element and toggles\n * fullscreen mode on click\n */\nexport default class Screenfull extends Component {\n\n static propTypes = {\n /** tag to use, defaults to A */\n tag: PropTypes.string\n }\n\n static defaultProps = {\n tag: 'a'\n }\n\n componentDidMount() {\n // Not supported under IE\n const ua = window.navigator.userAgent;\n if (ua.indexOf(\"MSIE \") > 0 || !!ua.match(/Trident.*rv:11\\./)) {\n this.element.classList.add('d-none');\n return; // and abort\n }\n\n this.element.addEventListener('click', this.handleClick)\n }\n\n handleClick = e => {\n e.preventDefault();\n\n if (screenfull.enabled) {\n\n screenfull.toggle();\n\n } else {\n console.log('Fullscreen not enabled');\n }\n }\n\n componentWillUnmount() {\n this.element.removeEventListener('click', this.handleClick)\n }\n\n setRef = node => {\n this.element = node;\n }\n\n render() {\n const {tag:Tag} = this.props;\n return (\n \n )\n }\n\n}\n","// FULLSCREEN\n// -----------------------------------\nimport React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport axios from \"axios\";\n\nexport default class SVGReplace extends Component {\n static propTypes = {\n /* src of the svg file*/\n src: PropTypes.string\n };\n\n constructor(props) {\n super(props);\n if (!this.props.src || this.props.src.indexOf(\".svg\") < 0)\n throw new Error(\"only support for SVG images\");\n\n axios\n .get(this.props.src)\n .then(\n res =>\n (this.element.outerHTML = res.data.replace(\"xmlns:a\", \"\"))\n );\n }\n\n setRef = node => {\n this.element = node;\n };\n\n render() {\n return
;\n }\n}\n","import React, { Component } from \"react\";\nimport { Modal, ModalBody, ModalHeader, CustomInput } from 'reactstrap';\nimport pubsub from 'pubsub-js';\nimport { withTranslation } from 'react-i18next';\n\nimport { Screenfull } from '../Utils/Utils';\nimport './Settings.scss';\n\nclass Settings extends Component {\n\n state = {\n showModal: false,\n selectedLang: 'en',\n selectedTheme: 'theme-1',\n selectedNavIconClass: 'menu-link-close',\n sidebarModes: {\n header: true,\n toolbar: true,\n offcanvas: false\n }\n }\n\n componentDidMount() {\n }\n\n constructor(props) {\n super(props);\n this.pubsub_token = pubsub.subscribe('showsettings', () => {\n this.open();\n });\n }\n\n componentWillUnmount() {\n pubsub.unsubscribe(this.pubsub_token);\n }\n\n onShowModal = () => {\n // Add class for white backdrop\n document.body.classList.add('modal-backdrop-soft')\n }\n\n onHiddenModal = () => {\n // Remove class for white backdrop (if not will affect future modals)\n document.body.classList.remove('modal-backdrop-soft')\n }\n\n close = () => {\n this.setState({ showModal: false });\n }\n\n open = () => {\n this.setState({ showModal: true });\n }\n\n toggle = () => {\n this.setState({ showModal: !this.state.showModal });\n }\n\n setSelectedLanguage = e => {\n const lng = e.target.value;\n this.props.i18n.changeLanguage(lng);\n this.setState({selectedLang: lng});\n }\n\n setTheme = e => {\n const theme = e.target.value;\n document.body.classList.remove(this.state.selectedTheme);\n this.setState({ selectedTheme: theme });\n document.body.classList.add(theme)\n }\n\n setNavIcon = e => {\n const iconClass = e.target.value;\n pubsub.publish('setNavIcon', iconClass);\n this.setState({ selectedNavIconClass: iconClass });\n }\n\n changeSidebarMode = mode => e => {\n this.setState({\n sidebarModes: {\n ...this.state.sidebarModes,\n [mode]: e.target.checked\n }\n })\n pubsub.publish('sidebarmode', mode);\n }\n\n render() {\n const closeBtn = ;\n return (\n \n \n

Settings

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

\n \n

\n

\n \n

\n

\n \n

\n
\n

Navigation icon

\n

\n \n

\n

\n \n

\n

\n \n

\n
\n \n Toggle fullscreen\n \n
\n

Change language

\n \n \n \n \n
\n \n );\n }\n}\n\nexport default withTranslation('translations')(Settings);\n","import React from \"react\";\nimport { useSelector } from \"react-redux\";\n\nimport \"./Core.scss\";\nimport \"./LayoutVariants.scss\";\n\nimport Header from \"../Header/Header\";\nimport HeaderSearch from \"../Header/HeaderSearch\";\nimport Sidebar from \"../Sidebar/Sidebar\";\nimport Settings from \"../Settings/Settings\";\n\nconst Core = (props) => {\n const authState = useSelector((state) => state.auth);\n return (\n
\n
\n\n \n
\n\n {/* Page content */}\n
\n {props.children}\n\n {/* Page footer */}\n
\n © 2020 Henkel\n Terms of use\n Data protection\n @EnterpriseOpen!\n
\n
\n\n {/* Search template */}\n \n\n {/* Settings template */}\n \n
\n );\n};\n\nexport default Core;\n","import React from \"react\";\n\n// Material Floating Button\nimport \"ng-material-floating-button/mfb/dist/mfb.css\";\nimport \"./FloatButton.scss\";\n\nconst FloatButton = props => (\n
\n
    \n
  • \n
    \n \n \n
    \n
      \n \n
    \n
\n);\n\nexport default FloatButton;\n","import React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { Link } from \"react-router-dom\";\n\nimport PublicHeader from \"./Components/PublicHeader\";\nimport PublicFooter from \"./Components/PublicFooter\";\nimport SupportBox from \"../../components/SupportBox/SupportBox\";\nimport i18n from \"../../i18n\";\n\nconst PublicSupport = () => {\n const bodyStyle = {\n marginLeft: 0,\n };\n\n const { auth } = useSelector((state) => {\n return state;\n });\n\n return (\n
\n \n
\n
\n
\n
\n \n {i18n.t(\"start.home\")}\n \n {auth.isAuthenticated ? (\n \n Dashboard\n \n ) : (\n \n {i18n.t(\"start.adminLogin\")}\n \n )}\n {/* \n {i18n.t(\"start.whatIsE2E\")}\n */}\n \n {i18n.t(\"start.support\")}\n \n
\n
\n \n
\n
\n \n
\n );\n};\n\nexport default PublicSupport;\n","import React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { Link } from \"react-router-dom\";\n\nimport PublicHeader from \"./Components/PublicHeader\";\nimport PublicFooter from \"./Components/PublicFooter\";\nimport i18n from \"../../i18n\";\n\nconst WhatIs = () => {\n const { auth } = useSelector((state) => {\n return state;\n });\n\n const bodyStyle = {\n marginLeft: 0,\n };\n\n return (\n
\n \n
\n
\n
\n
\n {auth.isAuthenticated ? (\n \n Dashboard\n \n ) : (\n \n {i18n.t(\"start.adminLogin\")}\n \n )}\n \n {i18n.t(\"start.whatIsE2E\")}\n \n \n {i18n.t(\"start.support\")}\n \n
\n
\n
\n
\n \n
\n );\n};\n\nexport default WhatIs;\n","import React, { Component } from \"react\";\nimport { Input } from 'reactstrap';\nimport { Link } from \"react-router-dom\";\n\nimport FormValidator from '../Forms/Validator.js';\n\n/**\n * Validation flow using controlled components\n *\n * 1- User type on input\n * 2- onChange event trigger validation\n * 3- Validate methods are listed using \"data-validate\"\n * attribute. Content must be an array in json format.\n * 4- The validation returns an object with format {[input name]: status}\n * where status is an array of boolean per each method\n * 5- Methods that requires an argument, read the 'data-param' attribute\n * 6- Similarly, onSubmit event does a bulk validation on all form elements\n */\nclass Lock extends Component {\n\n state = {\n formLock: {\n text: ''\n }\n }\n\n /**\n * Validate input using onChange event\n * @param {String} formName The name of the form in the state object\n * @return {Function} a function used for the event\n */\n validateOnChange = event => {\n const input = event.target;\n const form = input.form\n const value = input.type === 'checkbox' ? input.checked : input.value;\n\n const result = FormValidator.validate(input);\n\n this.setState({\n [form.name]: {\n ...this.state[form.name],\n [input.name]: value,\n errors: {\n ...this.state[form.name].errors,\n [input.name]: result\n }\n }\n });\n\n }\n\n onSubmit = e => {\n const form = e.target;\n const inputs = [...form.elements].filter(i => ['INPUT', 'SELECT'].includes(i.nodeName))\n\n const { errors, hasError } = FormValidator.bulkValidate(inputs)\n\n this.setState({\n [form.name]: {\n ...this.state[form.name],\n errors\n }\n });\n\n console.log(hasError ? 'Form has errors. Check!' : 'Form Submitted!')\n\n e.preventDefault()\n }\n\n /* Simplify error check */\n hasError = (formName, inputName, method) => {\n return this.state[formName] &&\n this.state[formName].errors &&\n this.state[formName].errors[inputName] &&\n this.state[formName].errors[inputName][method]\n }\n\n render() {\n return (\n
\n
\n
\n \n

Brian Walker

\n
\n \n
\n

\n Type your password to unlock terminal\n

\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n \n
\n \n
\n \n Not you?\n \n \n \n \n
\n
\n \n
\n
\n );\n }\n}\n\nexport default Lock;\n","import React from \"react\";\n\nconst Footer = (props) => {\n const fromLogin = props.fromLogin ?? false;\n return fromLogin ? (\n
\n
\n
\n © 2020 Henkel\n Terms of use\n Data protection\n @EnterpriseOpen!\n
\n
\n
\n ) : (\n
\n );\n};\n\nexport default Footer;\n","import React, { useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Input } from \"reactstrap\";\nimport PropTypes from \"prop-types\";\n\nimport FormValidator from \"../Forms/Validator.js\";\nimport Footer from \"../../components/Footer/Footer\";\nimport \"../Forms/Material.scss\";\nimport LogoE2e from \"../../images/logo_e2e.png\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { signIn } from \"../../actions/authActions\";\nimport HenkelLogo from \"../../images/logo_henkel.png\";\n\n//class Login extends Component {\nfunction Login() {\n const dispatch = useDispatch();\n const authState = useSelector((state) => {\n return state.auth;\n });\n\n const [formLogin, setState] = useState({\n email: \"\",\n password: \"\",\n errors: {\n email: [],\n password: [],\n },\n });\n\n /**\n * Validate input using onChange event\n * @param {String} formName The name of the form in the state object\n * @return {Function} a function used for the event\n */\n const validateOnChange = (event) => {\n const input = event.target;\n const value = input.type === \"checkbox\" ? input.checked : input.value;\n\n const result = FormValidator.validate(input);\n\n setState({\n ...formLogin,\n [input.name]: value,\n errors: {\n ...formLogin.errors,\n [input.name]: result,\n },\n });\n };\n\n const onSubmit = (e) => {\n e.preventDefault();\n const form = e.target;\n const inputs = [...form.elements].filter((i) =>\n [\"INPUT\", \"SELECT\"].includes(i.nodeName)\n );\n\n const { errors, hasError } = FormValidator.bulkValidate(inputs);\n\n setState({\n ...formLogin,\n errors,\n });\n\n if (!hasError) {\n dispatch(signIn(formLogin.email, formLogin.password));\n }\n };\n\n /* Simplify error check */\n const hasError = (formName, inputName, method) => {\n return (\n formLogin.errors &&\n formLogin.errors[inputName] &&\n formLogin.errors[inputName][method]\n );\n };\n\n return (\n
\n
\n
\n \n
 
\n
\n
\n
\n \n \"Henkel\"\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n
\n Sign In\n
\n
\n
\n {authState.error && (\n
{authState.error}
\n )}\n
\n
\n \n
\n
\n \n \n \n
\n
\n
\n \n
\n
\n \n \n \n
\n \n {authState.loading ? \"Authenticating...\" : \"Authenticate\"}\n \n \n Forgot password?\n \n \n Return to Process Explorer\n \n
\n \n
\n
\n
\n
\n
\n
\n );\n}\n\nLogin.contextTypes = {\n router: PropTypes.object,\n};\n\nexport default Login;\n","import React, { useState } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Input } from \"reactstrap\";\nimport { useSelector, useDispatch } from \"react-redux\";\n\nimport { putEmailForActivationKey } from \"../../actions/usersActions\";\nimport Footer from \"../../components/Footer/Footer\";\nimport FormValidator from \"../Forms/Validator.js\";\nimport \"../Forms/Material.scss\";\nimport LogoE2e from \"../../images/logo_e2e.png\";\nimport HenkelLogo from \"../../images/logo_henkel.png\";\n\nfunction Recover() {\n const dispatch = useDispatch();\n const authState = useSelector((state) => state.auth);\n\n const [formRecover, setState] = useState({\n email: \"\",\n submitted: false,\n errors: {\n email: [],\n },\n });\n\n const [submitted, setSubmitted] = useState(false);\n\n /**\n * Validate input using onChange event\n * @param {String} formName The name of the form in the state object\n * @return {Function} a function used for the event\n */\n const validateOnChange = (event) => {\n const input = event.target;\n const value = input.type === \"checkbox\" ? input.checked : input.value;\n\n const result = FormValidator.validate(input);\n\n setState({\n ...formRecover,\n [input.name]: value,\n errors: {\n ...formRecover.errors,\n [input.name]: result,\n },\n });\n };\n\n const onSubmit = (e) => {\n e.preventDefault();\n const form = e.target;\n const inputs = [...form.elements].filter((i) =>\n [\"INPUT\", \"SELECT\"].includes(i.nodeName)\n );\n\n const { errors, hasError } = FormValidator.bulkValidate(inputs);\n console.log(errors);\n console.log(hasError);\n\n setState({\n ...formRecover,\n errors: {\n ...formRecover.errors,\n errors,\n },\n });\n\n if (hasError) {\n return;\n }\n\n dispatch(putEmailForActivationKey(formRecover.email));\n setSubmitted(true);\n };\n\n /* Simplify error check */\n const hasError = (inputName, method) => {\n return (\n formRecover.errors &&\n formRecover.errors[inputName] &&\n formRecover.errors[inputName][method]\n );\n };\n\n return (\n
\n
\n
\n \n
 
\n
\n
\n
\n \"Henkel\"\n
\n
\n {submitted ? (\n \n
\n \n

Mail Sent!

\n
\n
\n

\n An email was sent to {formRecover.email}.\n Please check your inbox and follow instructions to reset\n your password.\n

\n
\n
\n \n Login\n \n \n
\n
\n ) : (\n
\n \n
\n

\n Fill with your username to receive instructions in your\n mail on how to reset your password.\n

\n
\n
\n {authState.error && (\n
\n {authState.error}\n
\n )}\n
\n
\n \n
\n
\n \n \n \n
\n \n Request instructions\n \n \n Return to login\n \n
\n \n
\n )}\n
\n
\n
\n
\n
\n );\n}\n\nexport default Recover;\n","import React, { Component } from \"react\";\nimport { Input } from \"reactstrap\";\n\nimport FormValidator from \"../Forms/Validator.js\";\n\nclass Signup extends Component {\n state = {\n formRegister: {\n email: \"\",\n password: \"\",\n password2: \"\"\n }\n };\n\n /**\n * Validate input using onChange event\n * @param {String} formName The name of the form in the state object\n * @return {Function} a function used for the event\n */\n validateOnChange = event => {\n const input = event.target;\n const form = input.form;\n const value = input.type === \"checkbox\" ? input.checked : input.value;\n\n const result = FormValidator.validate(input);\n\n this.setState({\n [form.name]: {\n ...this.state[form.name],\n [input.name]: value,\n errors: {\n ...this.state[form.name].errors,\n [input.name]: result\n }\n }\n });\n };\n\n onSubmit = e => {\n const form = e.target;\n const inputs = [...form.elements].filter(i =>\n [\"INPUT\", \"SELECT\"].includes(i.nodeName)\n );\n\n const { errors, hasError } = FormValidator.bulkValidate(inputs);\n\n this.setState({\n [form.name]: {\n ...this.state[form.name],\n errors\n }\n });\n\n console.log(hasError ? \"Form has errors. Check!\" : \"Form Submitted!\");\n\n e.preventDefault();\n };\n\n /* Simplify error check */\n hasError = (formName, inputName, method) => {\n return (\n this.state[formName] &&\n this.state[formName].errors &&\n this.state[formName].errors[inputName] &&\n this.state[formName].errors[inputName][method]\n );\n };\n\n render() {\n return (\n
\n
\n
\n \n
\n \n
\n
\n \n \n
\n
\n
\n
\n
\n Create account\n
\n
\n
\n
\n
\n \n
\n \n
\n \n \n \n
\n
\n
\n \n
\n \n
\n \n \n \n
\n
\n
\n \n
\n \n
\n \n \n \n
\n
\n \n Create\n \n
\n \n By registering I accept the\n \n \n Terms of Service\n \n and\n \n Privacy\n \n
\n \n
\n
\n );\n }\n}\n\nexport default Signup;\n","import React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Link, Redirect } from \"react-router-dom\";\nimport { Input } from \"reactstrap\";\nimport { ToastContainer, toast } from \"react-toastify\";\nimport \"react-toastify/dist/ReactToastify.css\";\n\nimport FormValidator from \"../Forms/Validator.js\";\nimport Footer from \"../../components/Footer/Footer\";\nimport \"../Forms/Material.scss\";\nimport LogoE2e from \"../../images/logo_e2e.png\";\nimport HenkelLogo from \"../../images/logo_henkel.png\";\n\nimport {\n validateActivationKey,\n putPasswordReset,\n} from \"../../actions/usersActions\";\n\nconst Activate = (props) => {\n const dispatch = useDispatch();\n const key = props.match.params.key;\n\n const usersState = useSelector((state) => {\n return state.users;\n });\n\n const [formActivate, setFormActivate] = useState({\n password: \"\",\n repeatPassword: \"\",\n submitted: false,\n success: false,\n errors: {},\n });\n\n useEffect(() => {\n dispatch(validateActivationKey(key));\n }, [dispatch, key]);\n\n const validateOnChange = (event) => {\n const input = event.target;\n const value = input.type === \"checkbox\" ? input.checked : input.value;\n\n setFormActivate({\n ...formActivate,\n [input.name]: value,\n });\n };\n\n const onSubmit = (e) => {\n e.preventDefault();\n const form = e.target;\n const inputs = [...form.elements].filter((i) =>\n [\"INPUT\", \"SELECT\"].includes(i.nodeName)\n );\n\n const { errors, hasError } = FormValidator.bulkValidate(inputs);\n\n setFormActivate({\n ...formActivate,\n submitted: !hasError,\n errors,\n });\n\n if (hasError) {\n toast(`Form data is not correct. Check your information.`, {\n type: \"warning\",\n position: \"top-right\",\n });\n return;\n }\n\n dispatch(\n putPasswordReset(key, formActivate.password, formActivate.repeatPassword)\n );\n };\n\n const hasError = (inputName, method) => {\n return (\n formActivate.errors &&\n formActivate.errors[inputName] &&\n formActivate.errors[inputName][method]\n );\n };\n\n if (usersState.passwordResetDone) {\n if (usersState.passwordResetError) {\n toast(usersState.passwordResetError, {\n type: \"warning\",\n position: \"top-right\",\n });\n } else {\n toast(\n \"Your password has been saved successfully. You will be redirected to login in a few minutes.\",\n {\n type: \"success\",\n position: \"top-right\",\n }\n );\n\n return ;\n }\n }\n\n return (\n
\n
\n
\n \n
 
\n
\n
\n
\n \"Henkel\"\n
\n
\n {!usersState.activationValidated && !formActivate.submitted ? (\n
\n
\n \n

Validating...

\n
\n
\n

Please wait, we are validating your information.

\n
\n
\n ) : usersState.activationKeyError === \"\" ? (\n
\n \n
\n

\n Fill the following fields to assign your new password.\n

\n
\n
\n
\n
\n \n
\n
\n \n \n \n
\n {hasError(\"password\", \"required\") && (\n
\n Field is required\n
\n )}\n {hasError(\"password\", \"regexp\") && (\n
\n Field must be 12 characters and including 1 uppercase, 1\n lowercase and 1 number\n
\n )}\n
\n
\n \n
\n
\n \n \n \n
\n {hasError(\"repeatPassword\", \"equalto\") && (\n
\n Field must be equal to Password\n
\n )}\n \n Save new password\n \n
\n \n
\n ) : (\n
\n
\n

\n {usersState.activationKeyError}\n

\n \n Request new password\n \n
\n
\n )}\n
\n
\n
\n
\n \n
\n );\n};\n\nexport default Activate;\n","import Lock from \"./Lock\";\nimport Login from \"./Login\";\nimport Recover from \"./Recover\";\nimport Signup from \"./Signup\";\nimport User from \"./User\";\nimport Layout from \"./Layout\";\nimport Activate from \"./Activate\";\n\nexport default {\n Lock,\n Login,\n Recover,\n Signup,\n User,\n Layout,\n Activate,\n};\n","import React, { useEffect, useState } from \"react\";\n\nconst Layout = (props) => (\n
\n
\n {/* Page content */}\n {props.children}\n
\n
\n);\n\nexport default Layout;\n","import React, { Suspense, lazy, useEffect } from \"react\";\nimport { withRouter, Switch, Route, Redirect } from \"react-router-dom\";\nimport { TransitionGroup, CSSTransition } from \"react-transition-group\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\n/* Auth actions */\nimport { validateAuth } from \"./actions/authActions\";\n\n/* Language actions */\nimport { getAllLanguages } from \"./actions/languagesActions\";\n\n/* loader component for Suspense */\nimport PageLoader from \"./components/Common/PageLoader\";\n\n/* eslint-disable-next-line */\nimport Core from \"./components/Core/Core\";\n/* eslint-disable-next-line */\nimport Bootstrap from \"./components/Bootstrap/Bootstrap\";\n/* eslint-disable-next-line */\nimport Common from \"./components/Common/Common\";\n/* eslint-disable-next-line */\nimport Colors from \"./components/Colors/Colors\";\n/* eslint-disable-next-line */\nimport FloatButton from \"./components/FloatButton/FloatButton\";\n/* eslint-disable-next-line */\nimport Utils from \"./components/Utils/Utils\";\nimport Start from \"./views/Start/Start\";\nimport PublicSupport from \"./views/Start/PublicSupport\";\nimport WhatIs from \"./views/Start/WhatIs\";\n\nimport User from \"./views/User/User\";\n\n/* Used to render a lazy component with react-router */\nconst waitFor = (Tag) => (props) => ;\n\nconst LazyStart = lazy(() => import(\"./views/Start/Start\"));\n\nconst Home = lazy(() => import(\"./views/Home/Home\"));\nconst Processes = lazy(() => import(\"./views/Processes/Processes\"));\nconst AddProcess = lazy(() => import(\"./views/Processes/AddProcess\"));\nconst EditProcess = lazy(() => import(\"./views/Processes/EditProcess\"));\nconst ProcessImage = lazy(() => import(\"./views/Processes/ProcessImage\"));\nconst ProcessTree = lazy(() => import(\"./views/Processes/ProcessTree\"));\nconst FinalProcess = lazy(() => import(\"./views/Processes/FinalProcess\"));\nconst ProcessPreview = lazy(() => import(\"./views/Processes/ProcessPreview\"));\nconst PublishProcess = lazy(() => import(\"./views/Processes/PublishProcess\"));\n\nconst Users = lazy(() => import(\"./views/Users/Users\"));\nconst AddUser = lazy(() => import(\"./views/Users/AddUser\"));\nconst EditUser = lazy(() => import(\"./views/Users/EditUser\"));\n\nconst ChangePassword = lazy(() => import(\"./views/Password/ChangePassword\"));\n\nconst Media = lazy(() => import(\"./views/Media/Media\"));\nconst Support = lazy(() => import(\"./views/Support/Support\"));\n\nconst Routes = ({ location }) => {\n const currentKey = location.pathname.split(\"/\")[1] || \"/\";\n const timeout = { enter: 500, exit: 500 };\n\n const animationName = \"rag-fadeIn\";\n\n const { isAuthenticated, authVerified, sessionClosed } = useSelector(\n (state) => {\n return state.auth;\n }\n );\n\n const languagesState = useSelector((state) => {\n return state.languages;\n });\n\n const dispatch = useDispatch();\n\n useEffect(() => {\n if (!authVerified) dispatch(validateAuth());\n if (!languagesState.getDone) dispatch(getAllLanguages());\n }, [authVerified, languagesState, dispatch]);\n\n if (!authVerified) return ;\n\n if (!isAuthenticated) {\n return (\n \n \n \n \n \n \n \n \n \n \n );\n } else {\n return (\n // Layout component wrapper\n \n \n \n
\n }>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n
\n \n
\n
\n );\n }\n};\n\nexport default withRouter(Routes);\n","import './Ripple.scss';\n\n/**\n * Ripple effect for common components\n * @param [element] native dom element\n */\nexport default class RippleEffect {\n\n constructor(element) {\n const TRANSITION_END = 'transitionend';\n const clickEv = this.detectClickEvent();\n\n this.element = element;\n this.rippleElement = this.getElement();\n\n this.element.addEventListener(clickEv, () => {\n // remove animation on click\n this.rippleElement.classList.remove('md-ripple-animate');\n // Set ripple size and position\n this.calcSizeAndPos();\n // start to animate\n this.rippleElement\n .classList.add('md-ripple-animate');\n });\n\n this.rippleElement.addEventListener(TRANSITION_END, () => {\n this.rippleElement\n .classList.remove('md-ripple-animate');\n // avoid weird effect when ripple is not active\n this.rippleElement.style.width = 0;\n this.rippleElement.style.height = 0;\n });\n }\n\n /**\n * Returns the elements used to generate the effect\n * If not exists, it is created by appending a new\n * dom element\n */\n getElement() {\n let rippleElement = this.element.querySelector('.md-ripple');\n\n if (rippleElement === null) {\n // Create ripple\n rippleElement = document.createElement('span');\n rippleElement.className = 'md-ripple';\n // Add ripple to element\n this.element.appendChild(rippleElement);\n }\n return rippleElement;\n }\n\n /**\n * Determines the better size for the ripple element\n * based on the element attached and calculates the\n * position be fully centered\n */\n calcSizeAndPos() {\n let size = Math.max(this.element.offsetWidth, this.element.offsetHeight);\n this.rippleElement.style.width = size + 'px';\n this.rippleElement.style.height = size + 'px';\n // autocenter (requires css)\n this.rippleElement.style.marginTop = -(size / 2) + 'px';\n this.rippleElement.style.marginLeft = -(size / 2) + 'px';\n }\n\n detectClickEvent() {\n let isIOS = ((/iphone|ipad/gi).test(navigator.appVersion));\n return isIOS ? 'touchstart' : 'mousedown';\n }\n}","import $ from 'jquery';\nimport RippleEffect from './Ripple.js';\n\n(function() {\n\n $(initRipple);\n\n function initRipple() {\n const elements = [].slice.call(document.querySelectorAll('.ripple'))\n elements.forEach(el => new RippleEffect(el))\n }\n\n})();\n","/*!\n *\n * Centric - Bootstrap Admin Template\n *\n * Version: 2.2\n * Author: @themicon_co\n * Website: http://themicon.co\n * License: https://wrapbootstrap.com/help/licenses\n *\n */\n\nimport React, { Component } from \"react\";\nimport { BrowserRouter } from \"react-router-dom\";\nimport { Provider } from \"react-redux\";\nimport { ToastContainer } from \"react-toastify\";\nimport store from \"./Store\";\nimport \"react-toastify/dist/ReactToastify.css\";\n\n// Vendor dependencies\nimport \"./Vendor\";\n\n// App Routes\nimport Routes from \"./Routes\";\n\nimport \"./components/Ripple/Ripple.init.js\";\n\nclass App extends Component {\n render() {\n // specify base href from env varible 'PUBLIC_URL'\n // use only if application isn't served from the root\n // for development it is forced to root only\n /* global PUBLIC_URL */\n const basename =\n process.env.NODE_ENV === \"development\" ? \"/\" : PUBLIC_URL || \"/\";\n\n return (\n \n \n \n \n \n \n );\n }\n}\n\nexport default App;\n","import 'core-js/es/string'\nimport 'core-js/es/array'\nimport 'core-js/es/map'\nimport 'core-js/es/set'\nimport 'core-js/es/object'\nimport 'core-js/es/promise'\nimport 'core-js/es/object'\nimport 'core-js/es/array'\nimport 'raf/polyfill'\n\nimport React from 'react'\nimport ReactDOM from 'react-dom'\n\nimport App from './App'\n\nimport './i18n'\n\nReactDOM.render(, document.getElementById('app'))\n","module.exports = __webpack_public_path__ + \"static/media/logo_e2e.d1fe278a.png\";","import React from 'react';\n\nimport \"loaders.css/loaders.css\";\nimport './Spinner.scss';\n\n// See more loading icons here:\n// https://fontawesome.com/how-to-use/on-the-web/styling/animating-icons\nconst PageLoader = () => (\n
\n
\n
\n
\n
\n
\n
\n)\n\nexport default PageLoader;","module.exports = __webpack_public_path__ + \"static/media/logo_henkel.166d5430.png\";","import Api from \"../components/Api/Api\";\nimport {\n LOADING,\n ERROR,\n GET_PROCESS_LIST,\n GET_ROOT_PROCESSES,\n GET_REPORT,\n POST_PROCESS,\n PUT_PROCESS,\n GET_PROCESS,\n DELETE_PROCESS,\n SET_PROCESS_ALIAS,\n POST_CONTACT,\n DELETE_CONTACT,\n POST_LINK,\n DELETE_LINK,\n UPDATE_DESCRIPTION,\n POST_VIDEO,\n DATA_LOADED,\n CLEAN_PROCESS,\n POST_DOCUMENT,\n POST_RATING,\n POST_VISIT,\n} from \"../types/index\";\n\nexport function getReport(initialDate, finalDate) {\n return async (dispatch) => {\n dispatch(loading());\n\n const result = await Api.getReport(initialDate, finalDate);\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(getReportSuccess(result.report));\n };\n}\n\nexport function getAllProcesses() {\n return async (dispatch) => {\n dispatch(loading());\n\n const result = await Api.getProcesses();\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(getAllProcessesSuccess(result.processesList));\n };\n}\n\nexport function getRootProcesses() {\n return async (dispatch) => {\n dispatch(loading());\n\n const result = await Api.getRootProcesses();\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(getRootProcessesSuccess(result.processesList));\n };\n}\n\nexport function getRootPublishedProcesses() {\n return async (dispatch) => {\n dispatch(loading());\n\n const result = await Api.getRootProcesses();\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n const processesList = result.processesList.filter(\n (process) => process.status === \"Published\"\n );\n\n dispatch(getRootProcessesSuccess(processesList));\n };\n}\n\nexport function getProcess(id) {\n return async (dispatch) => {\n dispatch(loading());\n\n const result = await Api.getProcess(id);\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(getProcessSuccess(result.process));\n };\n}\n\nexport function getProcessWithLanguage(id, languageCode) {\n return async (dispatch) => {\n dispatch(loading());\n const result = await Api.getProcessLanguage(id, languageCode);\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(getProcessWithLanguageSuccess(result.process));\n };\n}\n\nexport function newProcess(process) {\n return async (dispatch) => {\n dispatch(loading());\n\n const result = await Api.registerProcess(process);\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(newProcessSuccess(result.process));\n };\n}\n\nexport function editProcess(id, process) {\n return async (dispatch) => {\n dispatch(loading());\n\n const result = await Api.updateProcess(id, process);\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(editProcessSuccess(result.process));\n };\n}\n\nexport function dropProcess(id) {\n return async (dispatch) => {\n dispatch(loading());\n\n const result = await Api.deleteProcess(id);\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(dropProcessSuccess(result));\n };\n}\n\nexport function setProcessAlias(processId, languageCode, processAlias) {\n return async (dispatch) => {\n const result = await Api.setProcessAlias(\n processId,\n languageCode,\n processAlias\n );\n\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(setProcessAliasSuccess(result.processAlias));\n };\n}\n\nexport function newContact(processId, contact) {\n return async (dispatch) => {\n const result = await Api.registerContact(processId, contact);\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(setContactSuccess(result.contact));\n };\n}\n\nexport function dropContact(id) {\n return async (dispatch) => {\n const result = await Api.deleteContact(id);\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(dropContactSuccess(result));\n };\n}\n\nexport function newLink(processId, link) {\n return async (dispatch) => {\n const result = await Api.registerLink(processId, link);\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(setLinkSuccess(result.contact));\n };\n}\n\nexport function dropLink(id) {\n return async (dispatch) => {\n const result = await Api.deleteLink(id);\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(dropLinkSuccess(result));\n };\n}\n\nexport function editDescription(processId, languageCode, description) {\n return async (dispatch) => {\n dispatch(loading());\n\n const result = await Api.setDescription(\n processId,\n languageCode,\n description\n );\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(editDescriptionSuccess(result.description));\n };\n}\n\nexport function newVideo(processId, languageCode, video) {\n return async (dispatch) => {\n dispatch(loading());\n\n const result = await Api.setVideo(processId, languageCode, video);\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(newVideoSuccess(result.video));\n };\n}\n\nexport function newDocument(processId, languageCode, video) {\n return async (dispatch) => {\n dispatch(loading());\n\n const result = await Api.setDocument(processId, languageCode, video);\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(newDocumentSuccess(result.document));\n };\n}\n\nexport function setVisit(rootId, processId) {\n return async (dispatch) => {\n dispatch(loading());\n\n const result = await Api.setVisit(rootId, processId);\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(setVisitSuccess(result.visit));\n };\n}\n\nexport function updateRating(rootId, processId, stars, email, comments) {\n return async (dispatch) => {\n dispatch(loading());\n\n const result = await Api.setRating(\n rootId,\n processId,\n stars,\n email,\n comments\n );\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(updateRatingSuccess(result.rating));\n };\n}\n\nexport function clean() {\n return {\n type: CLEAN_PROCESS,\n };\n}\n\nexport function dataLoaded() {\n return {\n type: DATA_LOADED,\n };\n}\n\nconst loading = () => ({\n type: LOADING,\n});\n\nconst getReportSuccess = (result) => ({\n type: GET_REPORT,\n payload: result,\n});\n\nconst getAllProcessesSuccess = (result) => ({\n type: GET_PROCESS_LIST,\n payload: result,\n});\n\nconst getRootProcessesSuccess = (result) => ({\n type: GET_ROOT_PROCESSES,\n payload: result,\n});\n\nconst getProcessSuccess = (result) => ({\n type: GET_PROCESS,\n payload: result,\n});\n\nconst getProcessWithLanguageSuccess = (result) => ({\n type: GET_PROCESS,\n payload: result,\n});\n\nconst newProcessSuccess = (result) => ({\n type: POST_PROCESS,\n payload: result,\n});\n\nconst editProcessSuccess = (result) => ({\n type: PUT_PROCESS,\n payload: result,\n});\n\nconst dropProcessSuccess = (result) => ({\n type: DELETE_PROCESS,\n payload: result,\n});\n\nconst setProcessAliasSuccess = (result) => ({\n type: SET_PROCESS_ALIAS,\n payload: result,\n});\n\nconst setContactSuccess = (result) => ({\n type: POST_CONTACT,\n payload: result,\n});\n\nconst dropContactSuccess = (result) => ({\n type: DELETE_CONTACT,\n payload: result,\n});\n\nconst setLinkSuccess = (result) => ({\n type: POST_LINK,\n payload: result,\n});\n\nconst dropLinkSuccess = (result) => ({\n type: DELETE_LINK,\n payload: result,\n});\n\nconst editDescriptionSuccess = (result) => ({\n type: UPDATE_DESCRIPTION,\n payload: result,\n});\n\nconst newVideoSuccess = (result) => ({\n type: POST_VIDEO,\n payload: result,\n});\n\nconst newDocumentSuccess = (result) => ({\n type: POST_DOCUMENT,\n payload: result,\n});\n\nconst setVisitSuccess = (result) => ({\n type: POST_VISIT,\n payload: result,\n});\n\nconst updateRatingSuccess = (result) => ({\n type: POST_RATING,\n payload: result,\n});\n\nconst error = (error) => ({ type: ERROR, payload: error });\n","import React, { useState, useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faChevronDown } from \"@fortawesome/free-solid-svg-icons\";\nimport { withTranslation } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\nimport {\n Dropdown,\n DropdownToggle,\n DropdownMenu,\n DropdownItem,\n} from \"reactstrap\";\n\nimport logo from \"../../../images/logo_henkel.png\";\nimport { setLanguage } from \"../../../actions/languagesActions\";\nimport i18n from \"../../../i18n\";\n\nconst PublicHeader = (props) => {\n const dispatch = useDispatch();\n\n const { languages } = useSelector((state) => {\n return state;\n });\n\n const [state, setState] = useState({\n pageTitle: \"\",\n navIcon: \"menu-link-slide\",\n dropdownOpen: false,\n });\n\n const selectedLanguage = languages.languages.find((language) => {\n return language.code === languages.selectedLanguage;\n });\n\n const headerStyle = {\n marginLeft: 0,\n };\n\n const toggle = () => {\n setState((prevState) => ({\n ...state,\n dropdownOpen: !prevState.dropdownOpen,\n }));\n };\n\n const changeLanguage = (languageCode) => {\n i18n.changeLanguage(languageCode);\n dispatch(setLanguage(languageCode));\n };\n\n return (\n
\n
\n ) : (\n
\n );\n })}\n \n \n \n \n \n );\n};\n\nexport default PublicHeader;\n","import React from \"react\";\n\nconst PublicFooter = () => (\n \n);\n\nexport default PublicFooter;\n","import Api from \"../components/Api/Api\";\nimport {\n LOADING,\n ERROR,\n GET_USERS_LIST,\n GET_PROFILES_LIST,\n GET_COUNTRIES_LIST,\n GET_ALL_LANGUAGES,\n POST_USER,\n PUT_USER,\n GET_USER,\n ACTIVATION_KEY_ERROR,\n ACTIVATION_KEY_SUCCESS,\n PASSWORD_RESET,\n PASSWORD_RESET_SUCCESS,\n PASSWORD_RESET_ERROR,\n CHANGE_PASSWORD,\n DATA_LOADED,\n} from \"../types/index\";\n\nexport const putEmailForActivationKey = (email) => {\n return async (dispatch) => {\n let result = await Api.requestActivationKey(email);\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n dispatch(putEmailForActivationKeySuccess());\n };\n};\n\nexport function validateActivationKey(key) {\n return async (dispatch) => {\n dispatch(loading());\n let result = await Api.getUserFromActivationKey(key);\n if (!result.success) {\n dispatch(validateActivationKeyError(result.error));\n return;\n }\n\n dispatch(validateActivationKeySuccess(result.user));\n };\n}\n\nexport function putPasswordReset(key, password, repeatPassword) {\n return async (dispatch) => {\n dispatch(loading());\n let result = await Api.resetPassword(key, password, repeatPassword);\n if (!result.success) {\n dispatch(putPasswordError(result.error));\n return;\n }\n\n dispatch(putPasswordSuccess(result.user));\n };\n}\n\nexport function getAllUsers() {\n return async (dispatch) => {\n dispatch(loading());\n\n const result = await Api.getUsers();\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(getAllUsersSuccess(result.usersList));\n };\n}\n\nexport function getAllProfiles() {\n return async (dispatch) => {\n dispatch(loading());\n\n const result = await Api.getProfiles();\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(getAllProfilesSuccess(result.profiles));\n };\n}\n\nexport function getAllCountries() {\n return async (dispatch) => {\n dispatch(loading());\n\n const result = await Api.getCountries();\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(getAllCountriesSuccess(result.countries));\n };\n}\n\nexport function getAllLanguages() {\n return async (dispatch) => {\n dispatch(loading());\n\n const result = await Api.getLanguages();\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(getAllLanguagesSuccess(result.languages));\n };\n}\n\nexport function newUser(user) {\n return async (dispatch) => {\n dispatch(loading());\n\n const result = await Api.registerUser(user);\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(newUserSuccess(result.user));\n };\n}\n\nexport function getUser(id) {\n return async (dispatch) => {\n dispatch(loading());\n\n const result = await Api.getUser(id);\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(getUserSuccess(result.user));\n };\n}\n\nexport function editUser(id, user) {\n return async (dispatch) => {\n dispatch(loading());\n\n const result = await Api.updateUser(id, user);\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(editUserSuccess(result.user));\n };\n}\n\nexport function changePassword(password, newPassword, repeatNewPassword) {\n return async (dispatch) => {\n dispatch(loading());\n\n const result = await Api.changePassword(\n password,\n newPassword,\n repeatNewPassword\n );\n if (!result.success) {\n dispatch(error(result.error));\n return;\n }\n\n dispatch(changePasswordSuccess());\n };\n}\n\nexport function DataLoaded() {\n return {\n type: DATA_LOADED,\n };\n}\n\nconst loading = () => ({\n type: LOADING,\n});\n\nconst putEmailForActivationKeySuccess = () => ({\n type: PASSWORD_RESET,\n});\n\nconst validateActivationKeyError = (result) => ({\n type: ACTIVATION_KEY_ERROR,\n payload: result,\n});\n\nconst validateActivationKeySuccess = (result) => ({\n type: ACTIVATION_KEY_SUCCESS,\n payload: result,\n});\n\nconst putPasswordError = (result) => ({\n type: PASSWORD_RESET_ERROR,\n payload: result,\n});\n\nconst putPasswordSuccess = (result) => ({\n type: PASSWORD_RESET_SUCCESS,\n payload: result,\n});\n\nconst getAllUsersSuccess = (result) => ({\n type: GET_USERS_LIST,\n payload: result,\n});\n\nconst getAllProfilesSuccess = (result) => ({\n type: GET_PROFILES_LIST,\n payload: result,\n});\n\nconst getAllCountriesSuccess = (result) => ({\n type: GET_COUNTRIES_LIST,\n payload: result,\n});\n\nconst getAllLanguagesSuccess = (result) => ({\n type: GET_ALL_LANGUAGES,\n payload: result,\n});\n\nconst getUserSuccess = (result) => ({\n type: GET_USER,\n payload: result,\n});\n\nconst newUserSuccess = (result) => ({\n type: POST_USER,\n payload: result,\n});\n\nconst editUserSuccess = (result) => ({\n type: PUT_USER,\n payload: result,\n});\n\nconst changePasswordSuccess = () => ({\n type: CHANGE_PASSWORD,\n});\n\nconst error = (error) => ({ type: ERROR, payload: error });\n"],"sourceRoot":""}