{"version":3,"sources":["services/constantsService.js","store/admin/actions/tramitsAction.js","store/users/actions/userAction.js","store/admin/actions/userAction.js","store/users/actions/tramitsAction.js","store/users/reducers/tramitsReducer.js","store/users/reducers/userReducer.js","store/users/index.js","store/admin/reducers/userReducer.js","store/admin/reducers/tramitsReducer.js","store/admin/index.js","services/lazyLoaderComponents.js","components/ErrorHandler/index.js","services/axiosService.js","screens/index.js","index.js"],"names":["getTranscurredDays","date","f1","Date","f2","UTC","getFullYear","getMonth","getDate","Math","round","getANSData","ansDays","msgAsHTML","td","d","title","days","restant","message","color","setColor","value","ERROR_REPORTING_URL","GOOGLE_CLIENT_ID_CURNVIRTUAL","RECAPTCHA_API_KEY","AXIS_BASE_URL","AXIS_API_URL","SET_PENDING_LIST","SET_PENDING_QUERY","SET_HISTORY_QUERY","SET_HISTORY_LIST","HISTORY_LIST_PAGINATION_NUMBER","TRAMIT_LIST_PAGINATION_NUMBER","setPendingList","payload","type","setPendingQuery","setHistoryQuery","setHistoryList","setTramitListPaginationNumber","setHistoryListPaginationNumber","getPendingTramits","page","query_search","filter","dispatch","AXIOS_REQUEST_AD","then","resp","length","map","i","ans","fech_rad","getHistoryTramits","getTramitInformation","catch","err","rejectTramit","LOGIN","LOGOUT","UNAUTHORIZED","logout","setUnauthorized","studentLogin","data","callback","AXIOS_REQUEST","per","persona","trim","split","user","roles","token","email","username","nombre","apellido","localStorage","setItem","JSON","stringify","adminLogin","error","given_name","foto","picture","family_name","CHANGE_FILTER","SET_LIST","SELECT_DEPENDENCY","SET_DEPENDENCY_LIST","changeFilter","selectDependency","getList","deleteUserTramit","sendTramit","progress","getDependencyList","_all","sort","a","b","orde_dep","setDependencyList","initialState","filterList","name","tramitsList","dependencyList","selectedDependency","filteredList","tramitReducer","state","action","est_rad","userInfo","getItem","parse","unauthorized","userReducer","removeItem","window","location","reload","allReducers","combineReducers","tramits","tramitsReducer","thunkHandler","applyMiddleware","thunk","composeEnhancers","test","href","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","store","createStore","undefined","tramitsListPage","historyListPage","pendingList","pendingQuery","historyQuery","historyList","lazyLoaderComponents","lazyComponent","attemptsLeft","Promise","resolve","reject","setTimeout","navigator","onLine","console","log","timerValue","sendReport","_data","successCallback","errorCallback","progressCallback","device","userAgent","app","msgerror","lr","sessionStorage","send","Number","today","getMinutes","getTime","ErrorHandler","props","reloadChildren","reloadWithTimer","setState","timer","loading","interval","setInterval","clearInterval","hasError","errorInfo","stack","this","path","loaded","total","className","role","aria-valuenow","aria-valuemin","aria-valuemax","style","width","onClick","height","xmlns","fill","classNAme","viewBox","children","Component","endpoint","method","formData","completeUrl","onUploadProgress","headers","params","axios","url","response","status","search","userStore","userUnauthorized","adminStore","adminUnauthorized","UserScreensRoot","lazy","AdminScreensRoot","ScreensRoot","fallback","backgroundColor","ReactDOM","render","document","getElementById"],"mappings":"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","file":"static/js/main.e523ff75.chunk.js","sourcesContent":["import React from 'react';\r\n\r\nexport const getTranscurredDays = (date) => {\r\n let f1 = new Date(date);\r\n let f2 = new Date();\r\n f1 = Date.UTC(f1.getFullYear(), f1.getMonth(), f1.getDate());\r\n f2 = Date.UTC(f2.getFullYear(), f2.getMonth(), f2.getDate());\r\n return Math.round((f2 - f1) / (1000 * 60 * 60 * 24));\r\n}\r\n\r\nexport const getANSData = (date, ansDays, msgAsHTML = true) => {\r\n let td = getTranscurredDays(date);\r\n let d = {\r\n title: \"ANS\",\r\n days: ansDays || 0,\r\n restant: td,\r\n message: msgAsHTML ? {ansDays || td} días
cumplidos
: `${ansDays || td} días cumplidos`,\r\n color: \"#de4b19\"\r\n }\r\n\r\n const setColor = value => Math.round(value / 2) > td ? \"#28a745\" : (Math.round(value - (value / 3)) < td ? \"#de4b19\" : \"#ff9400\")\r\n\r\n if (!(ansDays)) {\r\n d.title = \"Días transcurridos\";\r\n d.restant = 0;\r\n d.color = setColor(20)\r\n return d;\r\n }\r\n if (td > ansDays) {\r\n d.restant = td - ansDays;\r\n d.days = d.restant;\r\n d.message = msgAsHTML ? Retrasado
{d.restant} días
: `Retrasado ${d.restant} días`;\r\n } else if (td < ansDays) {\r\n d.restant = ansDays - td;\r\n d.message = msgAsHTML ? Faltan
{d.restant} días
: `Faltan ${d.restant} días`;\r\n d.color = setColor(ansDays);\r\n } else { }\r\n return d\r\n}\r\n\r\nexport const ERROR_REPORTING_URL = \"https://axis.uninunez.edu.co/apildap/api/log/errorwrite\";\r\n\r\n/**\r\n * ============================================================================\r\n * PRODUCTION ENVIRONMENT CONSTANS\r\n * ============================================================================\r\n */\r\n\r\n// GOOGLE CLIENT ID \r\nexport const GOOGLE_CLIENT_ID_CURNVIRTUAL = \"489784104983-0aj59m5r7qkmqntur44j5st3dg5ror9t.apps.googleusercontent.com\";\r\n\r\n// API KEY FOR RECAPTCHA \r\nexport const RECAPTCHA_API_KEY = `6LeB0W4UAAAAACXqVNcH-HWzYjcgCw2sY7iMtu0R`;\r\n\r\n// BASE URL DOMAIN AXIS \r\nexport const AXIS_BASE_URL = `https://axis.uninunez.edu.co/`;\r\n\r\n// API PROCESOS BASE URL\r\n// export var AXIS_API_URL = `${AXIS_BASE_URL}apiprocesos/api/`;\r\n\r\n// Comment\r\n/**\r\n * ============================================================================\r\n * DEVELOPMENT ENVIRONMENT CONSTANS\r\n * ============================================================================\r\n */\r\n\r\n// // API KEY FOR RECAPTCHA \r\n// export const RECAPTCHA_API_KEY = `6LeB0W4UAAAAACXqVNcH-HWzYjcgCw2sY7iMtu0R`;\r\n\r\n// // BASE URL DOMAIN AXIS \r\n// export const AXIS_BASE_URL = `https://axis.uninunez.edu.co/`;\r\n\r\n// API PROCESOS BASE URL\r\nexport var AXIS_API_URL = `${AXIS_BASE_URL}apiprocesos/api/`;","import { getANSData } from '../../../services/constantsService';\r\nimport { AXIOS_REQUEST_AD } from './../../../services/axiosService';\r\n\r\n// =============================================================\r\n// CONST ACTIONS\r\nexport const SET_PENDING_LIST = \"SET_PENDING_LIST\";\r\nexport const SET_PENDING_QUERY = \"SET_PENDING_QUERY\";\r\nexport const SET_HISTORY_QUERY = \"SET_HISTORY_QUERY\";\r\nexport const SET_HISTORY_LIST = \"SET_HISTORY_LIST\";\r\nexport const HISTORY_LIST_PAGINATION_NUMBER = \"HISTORY_LIST_PAGINATION_NUMBER\";\r\nexport const TRAMIT_LIST_PAGINATION_NUMBER = \"TRAMIT_LIST_PAGINATION_NUMBER\";\r\n\r\n// =============================================================\r\n// ACTIONS\r\nexport const setPendingList = payload => ({ payload, type: SET_PENDING_LIST });\r\nexport const setPendingQuery = payload => ({ payload, type: SET_PENDING_QUERY });\r\nexport const setHistoryQuery = payload => ({ payload, type: SET_HISTORY_QUERY });\r\nexport const setHistoryList = payload => ({ payload, type: SET_HISTORY_LIST });\r\nexport const setTramitListPaginationNumber = payload => ({ payload, type: TRAMIT_LIST_PAGINATION_NUMBER });\r\nexport const setHistoryListPaginationNumber = payload => ({ payload, type: HISTORY_LIST_PAGINATION_NUMBER });\r\n\r\n// =============================================================\r\n// ASYNC ACTIONS\r\n\r\n/**\r\n * Get pending tramits list\r\n * @param {number} page \r\n * @param {string} query_search \r\n */\r\nexport const getPendingTramits = (page = 0, query_search = null, filter = null) => {\r\n if (!!(query_search)) {\r\n page += `/${query_search}`;\r\n }\r\n if(!!(filter)){\r\n page += `?estado=${filter}`;\r\n }\r\n return (dispatch) => {\r\n return AXIOS_REQUEST_AD(`radicado/operador/${page}`).then(resp => {\r\n if (!!(resp.length)) {\r\n resp = resp.map(i => {\r\n i.ans = getANSData(i.fech_rad, i.ans, false);\r\n return i;\r\n })\r\n }\r\n dispatch(setPendingList(resp));\r\n })\r\n };\r\n};\r\n\r\n/**\r\n * Get pending tramits list\r\n * @param {number} page \r\n */\r\nexport const getHistoryTramits = (page = 0, query_search = null) => {\r\n if (!!(query_search)) {\r\n page += `/${query_search}`;\r\n }\r\n return (dispatch) => {\r\n return AXIOS_REQUEST_AD(`radicado/operador/historial/${page}`).then(resp => {\r\n dispatch(setHistoryList(resp));\r\n })\r\n };\r\n};\r\n\r\n/**\r\n * Get tramit information\r\n * @param {int} payload Radicado id\r\n */\r\nexport const getTramitInformation = (payload) => {\r\n return (dispatch) => {\r\n return AXIOS_REQUEST_AD(`radicado/operador/detalle/${payload}`)\r\n .then(resp => {\r\n return resp[0];\r\n }).catch(err => {\r\n });\r\n };\r\n};\r\n\r\n/**\r\n * Reject tramit \r\n * @param {object} payload {motivo: string, codi_rad: int}\r\n */\r\nexport const rejectTramit = (payload) => {\r\n return (dispatch) => {\r\n return AXIOS_REQUEST_AD(`radicado/rechazar`, \"post\", payload, false)\r\n .then(resp => {\r\n return resp;\r\n }).catch(err => {\r\n });\r\n };\r\n};\r\n\r\n\r\n","import { AXIS_BASE_URL } from '../../../services/constantsService';\r\nimport { AXIOS_REQUEST } from './../../../services/axiosService';\r\n\r\n// =============================================================\r\n// CONST ACTIONS\r\nexport const LOGIN = \"LOGIN\";\r\nexport const LOGOUT = \"LOGOUT\";\r\nexport const UNAUTHORIZED = \"UNAUTHORIZED\";\r\n\r\n// =============================================================\r\n// ACTIONS\r\nexport const logout = payload => ({ payload, type: LOGOUT });\r\nexport const setLogin = payload => ({ payload, type: LOGIN });\r\nexport const setUnauthorized = payload => ({ payload, type: UNAUTHORIZED });\r\n\r\n// =============================================================\r\n// ASYNC ACTIONS\r\n\r\n/**\r\n * Verify if account is institutional\r\n * @param {string} user \r\n */\r\nexport const verifyAccount = (user) => {\r\n return (dispatch) => {\r\n return AXIOS_REQUEST(null, \"get\", null, false, `${AXIS_BASE_URL}apildap/api/ldap/account/${user}`)\r\n }\r\n}\r\n\r\n/**\r\n * Login function for students\r\n * @param {object} data {type: number, username: string, password: string}\r\n */\r\nexport const studentLogin = ({ data, callback }) => {\r\n return (dispatch) => {\r\n return AXIOS_REQUEST(\"auth/token\", \"post\", data, false).then(resp => {\r\n var per = resp.persona.trim().split(\" \");\r\n var user = {\r\n type: resp.roles,\r\n token: resp.token,\r\n email: data.username\r\n }\r\n switch (per.length) {\r\n case 4:\r\n user.nombre = `${per[0]} ${per[1]}`\r\n user.apellido = `${per[2]} ${per[3]}`\r\n break;\r\n case 3:\r\n user.nombre = `${per[0]}`\r\n user.apellido = `${per[1]} ${per[2]}`\r\n break;\r\n\r\n case 2:\r\n user.nombre = `${per[0]}`\r\n user.apellido = `${per[1]}`\r\n break;\r\n\r\n default:\r\n user.nombre = `${per[0]} ${per[1]}`\r\n user.apellido = `${per[2]} ${per[3]}`\r\n break;\r\n }\r\n // return callback().then(token => {\r\n // return dispatch(verifyCaptchaToken(token)).then(resp => {\r\n // if (resp.success) {\r\n localStorage.setItem(\"user\", JSON.stringify(user))\r\n dispatch(setLogin(user));\r\n return resp;\r\n // } else {\r\n // resp.error = true;\r\n // return resp;\r\n // }\r\n // })\r\n // })\r\n\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * Verify a captcha token\r\n * @param {string} token captcha token\r\n */\r\nexport const verifyCaptchaToken = token => {\r\n return (dispatch) => {\r\n return AXIOS_REQUEST(\"auth/recaptcha\", \"post\", { token }, false)\r\n }\r\n}\r\n\r\n\r\n","import { AXIS_BASE_URL } from '../../../services/constantsService';\r\nimport { AXIOS_REQUEST_AD } from './../../../services/axiosService';\r\n\r\n// =============================================================\r\n// CONST ACTIONS\r\nexport const LOGIN = \"LOGIN\";\r\nexport const LOGOUT = \"LOGOUT\";\r\nexport const UNAUTHORIZED = \"UNAUTHORIZED\";\r\n\r\n// =============================================================\r\n// ACTIONS\r\nexport const logout = payload => ({ payload, type: LOGOUT });\r\nexport const setLogin = payload => ({ payload, type: LOGIN });\r\nexport const setUnauthorized = payload => ({ payload, type: UNAUTHORIZED });\r\n\r\n// =============================================================\r\n// ASYNC ACTIONS\r\n\r\n/**\r\n * Function for admin login\r\n * @param {object} data {username: string, password: string} callback:function\r\n */\r\nexport const adminLogin = ({ data, persona }) => {\r\n return (dispatch) => {\r\n return AXIOS_REQUEST_AD(\"auth/operador\", \"post\", data, false).then(resp => {\r\n if (resp.error === true) return null;\r\n var user = {\r\n token: resp.token,\r\n nombre: persona.given_name,\r\n foto: persona.picture,\r\n apellido: persona.family_name,\r\n email: persona.email\r\n }\r\n // switch (per.length) {\r\n // case 4:\r\n // user.nombre = `${per[0]} ${per[1]}`\r\n // user.apellido = `${per[2]} ${per[3]}`\r\n // break;\r\n // case 3:\r\n // user.nombre = `${per[0]}`\r\n // user.apellido = `${per[1]} ${per[2]}`\r\n // break;\r\n\r\n // default:\r\n // user.nombre = `${per[0]}`\r\n // user.apellido = `${per[1]}`\r\n // break;\r\n // }\r\n localStorage.setItem(\"user_ad\", JSON.stringify(user))\r\n dispatch(setLogin());\r\n return true\r\n })\r\n };\r\n};\r\n","import { AXIOS_REQUEST } from './../../../services/axiosService';\r\n\r\n// =============================================================\r\n// CONST ACTIONS\r\nexport const CHANGE_FILTER = \"CHANGE_FILTER\";\r\nexport const SET_LIST = \"SET_LIST\";\r\nexport const SELECT_DEPENDENCY = \"SELECT_DEPENDENCY\";\r\nexport const SET_DEPENDENCY_LIST = \"GET_DEPENDENCY_LIST\";\r\n\r\n// =============================================================\r\n// FUNCTION ACTIONS\r\nexport const changeFilter = payload => ({ payload, type: CHANGE_FILTER });\r\nexport const setList = payload => ({ payload, type: SET_LIST });\r\nexport const selectDependency = payload => ({ payload, type: SELECT_DEPENDENCY });\r\nexport const setDependencyList = payload => ({ payload, type: SET_DEPENDENCY_LIST });\r\n\r\n// =============================================================\r\n// ASYNC ACTIONS\r\n/**\r\n * Get tramit list\r\n */\r\nexport const getList = () => {\r\n return (dispatch) => {\r\n return AXIOS_REQUEST(`radicado`)\r\n .then(resp => {\r\n dispatch(setList(resp));\r\n return true;\r\n }).catch(err => {\r\n });\r\n };\r\n};\r\n\r\n/**\r\n * Get tramit information\r\n * @param {int} payload Radicado id\r\n */\r\nexport const getTramitInformation = (payload) => {\r\n return (dispatch) => {\r\n return AXIOS_REQUEST(`radicado/detalle2/${payload}`)\r\n .then(resp => {\r\n return resp[0];\r\n }).catch(err => {\r\n });\r\n };\r\n};\r\n\r\n/**\r\n * Delete user tramit \r\n * @param {int} payload Radicado id\r\n */\r\nexport const deleteUserTramit = (payload) => {\r\n return (dispatch) => {\r\n return AXIOS_REQUEST(`radicado/${payload}`, \"delete\")\r\n .then(resp => {\r\n return resp;\r\n }).catch(err => {\r\n });\r\n };\r\n};\r\n\r\n/**\r\n * Get tramit information\r\n * @param {object} payload \r\n */\r\nexport const sendTramit = (payload, progress) => {\r\n return (dispatch) => {\r\n return AXIOS_REQUEST(`radicado`, \"post\", payload, true, null, progress)\r\n .then(resp => {\r\n return resp;\r\n }).catch(err => {\r\n });\r\n };\r\n};\r\n\r\n/**\r\n * Get dependency list\r\n * @param {string} payload todos for get all dependency or null for only actives\r\n */\r\nexport const getDependencyList = (payload) => {\r\n let _all = !!(payload) && `dependencia/${payload}` || \"dependencia\";\r\n return (dispatch) => {\r\n return AXIOS_REQUEST(_all)\r\n .then(resp => {\r\n let ordered = resp.sort((a, b) => (a.orde_dep > b.orde_dep) ? 1 : -1)\r\n dispatch(setDependencyList(resp))\r\n return resp;\r\n }).catch(err => {\r\n });\r\n };\r\n};\r\n\r\n\r\n\r\n","import { CHANGE_FILTER, SET_LIST, SELECT_DEPENDENCY, SET_DEPENDENCY_LIST } from '../actions/tramitsAction';\r\n\r\nconst initialState = {\r\n filter: null,\r\n filterList: [\r\n { name: \"Todas\", value: 0 },\r\n { name: \"Radicada\", value: 2 },\r\n { name: \"En trámite\", value: 3 },\r\n { name: \"Finalizada\", value: 4 },\r\n { name: \"Cancelada\", value: 7 },\r\n { name: \"Rechazada\", value: 9 },\r\n { name: \"Pendiente de pago\", value: 1 },\r\n { name: \"Radicada por corrección\", value: 5 },\r\n { name: \"Pendiente corrección\", value: 8 }\r\n ],\r\n tramitsList: [],\r\n dependencyList: [],\r\n selectedDependency: null,\r\n filteredList: []\r\n}\r\n\r\ninitialState.filteredList = initialState.tramitsList;\r\ninitialState.filter = initialState.filterList[0];\r\n\r\nconst tramitReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case SET_LIST:\r\n return {\r\n ...state,\r\n tramitsList: action.payload || [],\r\n filteredList: (state.filter.value === 0 || !(state.filter)) ? action.payload : action.payload.filter(value => value.est_rad === state.filter.value)\r\n };\r\n\r\n case SELECT_DEPENDENCY:\r\n return {\r\n ...state,\r\n selectedDependency: action.payload\r\n };\r\n\r\n case SET_DEPENDENCY_LIST:\r\n return {\r\n ...state,\r\n dependencyList: action.payload || []\r\n };\r\n\r\n case CHANGE_FILTER:\r\n return {\r\n ...state,\r\n filter: action.payload,\r\n filteredList: (action.payload.value === 0) ? state.tramitsList : state.tramitsList.filter(value => value.est_rad === action.payload.value)\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default tramitReducer;\r\n","import { LOGIN, LOGOUT, UNAUTHORIZED } from '../actions/userAction';\r\n\r\nconst initialState = {\r\n userInfo: localStorage.getItem(\"user\") ? JSON.parse(localStorage.getItem(\"user\")) : null,\r\n unauthorized: false\r\n}\r\n\r\nconst userReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case UNAUTHORIZED:\r\n localStorage.removeItem(\"user\")\r\n return {\r\n ...state,\r\n unauthorized: !!(action.payload),\r\n userInfo: null\r\n };\r\n\r\n case LOGIN:\r\n // window.location.reload();\r\n // return state;\r\n return {\r\n ...state,\r\n userInfo: action.payload,\r\n unauthorized: false,\r\n };\r\n\r\n case LOGOUT:\r\n localStorage.removeItem(\"user\");\r\n window.location.reload();\r\n return state;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default userReducer;\r\n","import { createStore, combineReducers, applyMiddleware, compose } from 'redux';\r\nimport thunk from 'redux-thunk';\r\n\r\n// Reducers list\r\nimport tramitsReducer from './reducers/tramitsReducer'\r\nimport userReducer from './reducers/userReducer'\r\n\r\n// Create deducer all in one\r\nconst allReducers = combineReducers({\r\n tramits: tramitsReducer,\r\n user: userReducer\r\n});\r\n\r\nconst rootReducer = (state, action) => {\r\n if (action.type === \"LOGOUT\" || action.type === \"UNAUTHORIZED\") {\r\n state = undefined;\r\n }\r\n return allReducers(state, action)\r\n}\r\n\r\n// Config Middleware for async actions\r\nconst thunkHandler = applyMiddleware(thunk);\r\nconst composeEnhancers = (typeof window !== 'undefined' && /localhost/.test(window.location.href) && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose)\r\n\r\n// Create the store\r\nconst store = createStore(rootReducer, composeEnhancers(thunkHandler))\r\n\r\nexport default store;\r\n","import { LOGIN, LOGOUT, UNAUTHORIZED } from '../actions/userAction';\r\n\r\nconst initialState = {\r\n userInfo: localStorage.getItem(\"user_ad\") ? JSON.parse(localStorage.getItem(\"user_ad\")) : null,\r\n unauthorized: false\r\n}\r\n\r\nconst userReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case UNAUTHORIZED:\r\n localStorage.removeItem(\"user_ad\");\r\n return {\r\n ...state,\r\n unauthorized: !!(action.payload),\r\n userInfo: null\r\n };\r\n\r\n case LOGIN:\r\n window.location.reload();\r\n return state;\r\n\r\n case LOGOUT:\r\n localStorage.removeItem(\"user_ad\");\r\n window.location.reload();\r\n return state;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default userReducer;\r\n","import {\r\n SET_PENDING_LIST,\r\n SET_HISTORY_LIST,\r\n SET_PENDING_QUERY,\r\n SET_HISTORY_QUERY,\r\n HISTORY_LIST_PAGINATION_NUMBER,\r\n TRAMIT_LIST_PAGINATION_NUMBER\r\n} from '../actions/tramitsAction';\r\n\r\nconst initialState = {\r\n tramitsListPage: 0,\r\n historyListPage: 0,\r\n pendingList: [],\r\n pendingQuery: null,\r\n historyQuery: null,\r\n historyList: []\r\n}\r\n\r\nconst userReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case TRAMIT_LIST_PAGINATION_NUMBER:\r\n return {\r\n ...state,\r\n tramitsListPage: action.payload\r\n };\r\n case SET_PENDING_QUERY:\r\n return {\r\n ...state,\r\n pendingQuery: action.payload,\r\n tramitsListPage: 0\r\n };\r\n case SET_HISTORY_QUERY:\r\n return {\r\n ...state,\r\n historyQuery: action.payload,\r\n tramitsListPage: 0\r\n };\r\n\r\n case HISTORY_LIST_PAGINATION_NUMBER:\r\n return {\r\n ...state,\r\n historyListPage: action.payload\r\n };\r\n\r\n case SET_HISTORY_LIST:\r\n return {\r\n ...state,\r\n historyList: action.payload || []\r\n };\r\n\r\n case SET_PENDING_LIST:\r\n return {\r\n ...state,\r\n pendingList: action.payload || []\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default userReducer;\r\n","import { createStore, combineReducers, applyMiddleware, compose } from 'redux';\r\nimport thunk from 'redux-thunk';\r\n\r\n// Reducers list\r\nimport userReducer from './reducers/userReducer'\r\nimport tramitsReducer from './reducers/tramitsReducer'\r\n\r\n// Create deducer all in one\r\nconst allReducers = combineReducers({\r\n user: userReducer,\r\n tramits: tramitsReducer\r\n});\r\n\r\n// Config Middleware for async actions\r\nconst thunkHandler = applyMiddleware(thunk);\r\nconst composeEnhancers = (typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose)\r\n\r\n// Create the store\r\nconst store = createStore(allReducers, composeEnhancers(thunkHandler))\r\n\r\nexport default store;\r\n","/**\r\n * Function to try load 'split' react components\r\n * @param {function} lazyComponent function that load a lazy component \r\n * @param {number} attemptsLeft default 2. Attemps number to try load component\r\n */\r\nconst lazyLoaderComponents = (lazyComponent, attemptsLeft = 2) => {\r\n return new Promise((resolve, reject) => {\r\n lazyComponent()\r\n .then(resolve)\r\n .catch((error) => {\r\n //When a chunck failed, then try load again after 1.5s\r\n setTimeout(() => {\r\n if (attemptsLeft === 1 || !window.navigator?.onLine === false) {\r\n reject(error);\r\n return;\r\n }\r\n console.log(\"Reloading component...\")\r\n lazyLoaderComponents(lazyComponent, attemptsLeft - 1).then(resolve, reject);\r\n }, 1500)\r\n })\r\n })\r\n}\r\n\r\nexport default lazyLoaderComponents;","import React, { Component } from 'react';\r\nimport { AXIOS_REQUEST } from '../../services/axiosService';\r\nimport { ERROR_REPORTING_URL } from '../../services/constantsService';\r\n\r\nlet timerValue = 1;\r\n\r\nexport const sendReport = (_data, successCallback = () => { }, errorCallback = () => { }, progressCallback) => {\r\n if (!(/^http[s]?:\\/\\/localhost.*$/.test(window.location.href))) {\r\n _data.device = navigator?.userAgent;\r\n \r\n let data = {\r\n app: \"Trámites Uninúñez\",\r\n msgerror: JSON.stringify(_data),\r\n user: localStorage.getItem(\"user\") || localStorage.getItem(\"user_ad\") || \"WITHOUT USER INFO\"\r\n }\r\n\r\n let lr = sessionStorage.getItem(\"NG_lastReported\");\r\n let send = false;\r\n if (!lr) {\r\n send = true;\r\n } else {\r\n lr = new Date(Number(lr));\r\n let today = new Date();\r\n if (today.getMinutes() - lr.getMinutes() > 3 || lr.getDate() !== today.getDate()) {\r\n send = true;\r\n }\r\n }\r\n if (send) {\r\n return AXIOS_REQUEST(null, \"post\", data, false, ERROR_REPORTING_URL, progressCallback).then(() => {\r\n sessionStorage.setItem(\"NG_lastReported\", new Date().getTime())\r\n return successCallback()\r\n }).catch(err => {\r\n return errorCallback()\r\n })\r\n } else {\r\n return successCallback();\r\n }\r\n }\r\n}\r\n\r\nclass ErrorHandler extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { hasError: false, error: null, timer: null, loading: null };\r\n }\r\n\r\n static getDerivedStateFromError(error) {\r\n // Actualiza el estado para que el siguiente renderizado muestre la interfaz de repuesto\r\n return { hasError: true };\r\n }\r\n\r\n reloadChildren = () => { window.location.reload() }\r\n\r\n componentDidCatch(error, errorInfo) {\r\n // Registrar el error en un servicio de reporte de errores\r\n // logErrorToMyService(error, errorInfo);\r\n\r\n console.log(\"========ERROR========\");\r\n console.log({ error, errorInfo });\r\n console.log(\"=====================\");\r\n if ((error?.message && /Loading [A-Z\\s]*chunk [\\d]+ failed/ig.test(error.message))\r\n || (error?.stack && /Loading [A-Z]*chunk [\\d]+ failed/ig.test(error.stack))) {\r\n console.log(\"chunk failed\");\r\n window.location.reload(true);\r\n } else {\r\n this.setState({ error, loading: 1 });\r\n\r\n let data = {\r\n error,\r\n stack: error.stack || \"NG\",\r\n errorInfo,\r\n path: window.location.href\r\n }\r\n\r\n sendReport(data, this.reloadWithTimer, this.reloadWithTimer, (progress) => {\r\n this.setState({ loading: Math.round((progress.loaded * 100) / progress.total) })\r\n })\r\n }\r\n }\r\n\r\n reloadWithTimer = () => {\r\n this.setState({ timer: timerValue, loading: null })\r\n let interval = setInterval(() => {\r\n if (this.state.timer > 0) {\r\n this.setState({ timer: this.state.timer - 1 })\r\n } else {\r\n clearInterval(interval)\r\n if (this.state.error?.message && /Loading chunk [\\d]+ failed/ig.test(this.state.error.message)) {\r\n window.location.reload(true);\r\n } else {\r\n this.setState({ hasError: false, error: null, timer: null, loading: null });\r\n timerValue = (timerValue * 2 < 60) ? timerValue * 2 : 60;\r\n }\r\n }\r\n }, 1000)\r\n }\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n if (!(window.navigator?.onLine)) {\r\n return (
\r\n
\r\n \r\n \r\n \r\n


\r\n

Conexión inestable

\r\n Verifica que estés conectado a una red\r\n

\r\n

\r\n \r\n
\r\n
)\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n


:(

\r\n

Ops, Parece que hubo un error en la aplicación

\r\n
\r\n\r\n {this.state.loading !== null ? <>\r\n

Reportando error

\r\n
\r\n
{this.state.loading}%
\r\n
\r\n \r\n :\r\n <>\r\n

Recargaremos automaticamente en {this.state.timer}

\r\n window.location.reload(true)}>Recargar ahora\r\n \r\n }\r\n
\r\n
\r\n )\r\n }\r\n\r\n return this.props.children;\r\n }\r\n}\r\n\r\nexport default ErrorHandler;\r\n","import axios from 'axios';\r\nimport adminStore from './../store/admin';\r\nimport userStore from './../store/users';\r\nimport { setUnauthorized as adminUnauthorized } from './../store/admin/actions/userAction';\r\nimport { setUnauthorized as userUnauthorized } from './../store/users/actions/userAction';\r\nimport { AXIS_API_URL } from './constantsService';\r\nimport { sendReport } from '../components/ErrorHandler';\r\n\r\n/**\r\n * Axios API request for users make requets\r\n * @param {String} endpoint // End point of API\r\n * @param {String} method //post, get, put, delete\r\n * @param {any} data Data to send\r\n * @param {boolean} formData if request must be used as formData\r\n * @param {String} completeUrl URL complete \r\n * @param {Function} onUploadProgress function for uploads \r\n */\r\nexport const AXIOS_REQUEST = (endpoint, method = \"get\", data = null, formData = true, completeUrl = null, onUploadProgress = () => { }) => {\r\n var headers = {\r\n 'Authorization': `Bearer ${JSON.parse(localStorage.getItem(\"user\"))?.token || \"\"}`,\r\n 'Content-Type': 'application/json'\r\n }\r\n let params = null;\r\n if (method !== \"get\" && method !== \"delete\" && formData) {\r\n headers = {\r\n ...headers,\r\n 'Process-Data': false,\r\n \"Content-Type\": false\r\n }\r\n } else if (method === \"get\" || method === \"delete\") {\r\n params = data;\r\n }\r\n\r\n return axios({\r\n method,\r\n url: completeUrl || `${AXIS_API_URL}${endpoint}`,\r\n data,\r\n params,\r\n headers,\r\n onUploadProgress,\r\n }).then(resp => {\r\n return resp?.data\r\n }).catch(err => {\r\n if (err.response?.status === 401) {\r\n if (window.location.href.search(/\\/[#]\\/nuevo\\?/) !== -1) {\r\n window.location.href = `${window.location.href.split(\"/#/\")[0]}/#/login`;\r\n }\r\n userStore.dispatch(userUnauthorized(true));\r\n } else if (err.response?.status === 500) {\r\n return sendReport(data, () => ({ error: true }), () => ({ error: true }))\r\n }\r\n\r\n return { error: true };\r\n })\r\n}\r\n\r\n/**\r\n * Axios API request for admins make requets\r\n * @param {String} endpoint // End point of API\r\n * @param {String} method //post, get, put, delete\r\n * @param {any} data Data to send\r\n * @param {boolean} formData if request must be used as formData\r\n * @param {String} completeUrl URL complete \r\n */\r\nexport const AXIOS_REQUEST_AD = (endpoint, method = \"get\", data = null, formData = true, completeUrl = null, onUploadProgress = () => { }) => {\r\n var headers = {\r\n 'Authorization': `Bearer ${JSON.parse(localStorage.getItem(\"user_ad\"))?.token || \"\"}`,\r\n 'Content-Type': 'application/json'\r\n }\r\n let params = null;\r\n if (method !== \"get\" && method !== \"delete\" && formData) {\r\n headers = {\r\n ...headers,\r\n 'Process-Data': false,\r\n \"Content-Type\": false\r\n }\r\n } else if (method === \"get\" || method === \"delete\") {\r\n params = data;\r\n }\r\n\r\n return axios({\r\n method,\r\n url: completeUrl || `${AXIS_API_URL}${endpoint}`,\r\n data,\r\n params,\r\n headers,\r\n onUploadProgress\r\n }).then(resp => {\r\n return resp.data\r\n }).catch(err => {\r\n if (err.response.status === 401) {\r\n adminStore.dispatch(adminUnauthorized(true));\r\n } else if (err.response?.status === 500) {\r\n return sendReport(data, () => ({ error: true }), () => ({ error: true }))\r\n }\r\n // return []\r\n return { error: true };\r\n })\r\n}\r\n","import React, { lazy, Suspense } from 'react';\r\nimport lazyLoaderComponents from '../services/lazyLoaderComponents';\r\nimport {\r\n HashRouter as Router,\r\n Switch,\r\n Route\r\n} from \"react-router-dom\";\r\nimport { Provider } from 'react-redux';\r\nimport userStore from './../store/users';\r\nimport adminStore from './../store/admin';\r\n\r\n// Screens\r\nconst UserScreensRoot = lazy(() => lazyLoaderComponents(()=>import('./UserScreens')));\r\nconst AdminScreensRoot = lazy(() => lazyLoaderComponents(() => import('./AdminScreens')));\r\n\r\nfunction ScreensRoot() {\r\n\r\n return (\r\n \r\n \r\n
\r\n
Cargando
\r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n

404 Not Found

\r\n

:(

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ScreensRoot;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './../node_modules/bootstrap/dist/css/bootstrap.min.css'\r\nimport ScreensRoot from \"./screens\";\r\nimport { AXIOS_REQUEST } from './services/axiosService'\r\nimport './styles.css'\r\n\r\nAXIOS_REQUEST(null, 'get', null, false, \"https://axis.uninunez.edu.co/apiaxis/api/mantenimiento/procesos\")\r\n.then(resp => {\r\n if (!!(resp) && typeof resp === 'string') {\r\n window.location = resp;\r\n }\r\n}).catch(()=>{})\r\n\r\nReactDOM.render(\r\n ,\r\n document.getElementById('root')\r\n);"],"sourceRoot":""}