{"version":3,"sources":["services/login.services.js","types/types.js","utils/helpers.js","polyfill.js","serviceWorker.js","assets/icons/sygnet.js","assets/icons/index.js","assets/icons/logo.js","assets/icons/logo-negative.js","redux/reducers/authReducer.js","redux/reducers/dataInitialReducer.js","redux/reducers/mantenimientoReducer.js","redux/reducers/templateReducer.js","redux/reducers/uiReducer.js","redux/store/store.js","routers/AuthRouter.js","routers/PublicRoute.js","routers/PrivateRoute.js","routers/DashboardRoutes.js","routers/AppRouter.js","index.js"],"names":["AuthLogin","remember","parameters","Promise","resolve","reject","a","sendPostHttp","api","route","response","error","message","externos","validarExternos","id_aplicacion","toString","nomb_empresa","empresa","sendGetHttpWithParameters","token_access","token","responseCartografias","token_encrypted","EncryptText","empresa_encrypted","usuario_encrypted","usuario","id_aplicacion_encrypted","perfil_encrypted","dataUsuarioEmpresa","id_perfil","ids","localStorage","getItem","JSON","parse","find","x","id","setItem","stringify","setLocalStorage","name","value","data","InformacionCargaInicial","Fundos","Lotes","Cultivos","Cultivos_a","Campanas_a","Fundos_a","TiposTrampas","Umbrales","Cartillas","Trampas","Niveles","Carts","message_error_server_500","verifyJWTApi","API","ROUTE","TokenLocalStorage","length","TOKEN_ACCESS","DecryptText","sendGetHttp","clear","window","location","reload","validateKeysLocalStorage","validateJson","storeInitial","confirmation","i","validateInitialKeysLocalStorage","fundos","cultivos","tipo_trampas","lotes","app","AuthLogout","sendGetHttpClean","types","auth_Login","auth_Logout","auth_load_data","auth_load_dataCombos","auth_Finish","API_REPORTES","ui_SetError","ui_RemoveError","ui_StartLoading","ui_FinishLoading","mantenimiento_Usuarios_ADD","mantenimiento_Usuarios_UPDATE","mantenimiento_Usuarios_DELETE","mantenimiento_Evaluadores_ADD","mantenimiento_Evaluadores_UPDATE","mantenimiento_Evaluadores_DELETE","mantenimiento_InsertStatus_On","mantenimiento_InsertStatus_Off","mantenimiento_UpdateStatus_On","mantenimiento_UpdateStatus_Off","mapasLotesCargado","mapasGpsCargado","mapasVistaLotesLabels","mapasVistaGpsLabels","URL_CLIENT","URL_API","KeyCrypto","url","params","method","body","mode","redirect","headers","Headers","request","Request","fetch","then","json","catch","sendPostHttpWithToken","Authorization","sendPutHttpWithToken","sendDeleteHttpWithToken","URL","Object","keys","forEach","key","searchParams","append","sessionStorage","list","lt","Array","isArray","validateNumber","number_text","test","generateUuidv4","replace","c","r","Math","random","getDateNow","nFecha","Date","anio","getFullYear","mes","getMonth","dia","getDate","tableToExcel","prototype","isProp","this","prop","parser","optionsExcel","ctx","nombreReporte","tabla","firstProperty","secondProperty","elementoA","document","createElement","href","s","btoa","unescape","encodeURIComponent","base64","m","p","download","target","click","Val","CryptoJS","AES","encrypt","decrypt","enc","Utf8","randomStringGenerate","chars","randomstring","charCount","numCount","floor","rnum","substring","toUpperCase","toLowerCase","validatePassword","passwordText","setSelectRecorsDataTable","itemsPerPage","selectDOM","$","label","filter","parent","addClass","positions","k","itemsPerPageSelect","val","CustomEvent","event","bubbles","cancelable","detail","undefined","evt","createEvent","initCustomEvent","Event","isLocalhost","Boolean","hostname","match","registerValidSW","swUrl","config","navigator","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","state","controller","console","log","onUpdate","onSuccess","icons","assign","sygnet","logo","logoNegative","cilAlignCenter","cilAlignLeft","cilAlignRight","cilApplicationsSettings","cilArrowRight","cilArrowTop","cilAsterisk","cilBan","cilBasket","cilBell","cilBold","cilBookmark","cilCalculator","cilCalendar","cilCloudDownload","cilChartPie","cilCheck","cilChevronBottom","cilChevronLeft","cilChevronRight","cilChevronTop","cilCircle","cilCheckCircle","cilCode","cilCommentSquare","cilCreditCard","cilCursor","cilCursorMove","cilDrop","cilDollar","cilEnvelopeClosed","cilEnvelopeLetter","cilEnvelopeOpen","cilEuro","cilGlobeAlt","cilGrid","cilFile","cilFullscreen","cilFullscreenExit","cilGraph","cilHome","cilInbox","cilIndentDecrease","cilIndentIncrease","cilInputPower","cilItalic","cilJustifyCenter","cilJustifyLeft","cilLaptop","cilLayers","cilLightbulb","cilList","cilListNumbered","cilListRich","cilLocationPin","cilLockLocked","cilMagnifyingGlass","cilMap","cilMoon","cilNotes","cilOptions","cilPaperclip","cilPaperPlane","cilPencil","cilPeople","cilPhone","cilPrint","cilPuzzle","cilSave","cilScrubber","cilSettings","cilShare","cilShareAll","cilShareBoxed","cilShieldAlt","cilSpeech","cilSpeedometer","cilSpreadsheet","cilStar","cilSun","cilTags","cilTask","cilTrash","cilUnderline","cilUser","cilUserFemale","cilUserFollow","cilUserUnfollow","cilX","cilXCircle","cilWarning","cifUs","cifBr","cifIn","cifFr","cifEs","cifPl","cibSkype","cibFacebook","cibTwitter","cibLinkedin","cibFlickr","cibTumblr","cibXing","cibGithub","cibStackoverflow","cibYoutube","cibDribbble","cibInstagram","cibPinterest","cibVk","cibYahoo","cibBehance","cibReddit","cibVimeo","cibCcMastercard","cibCcVisa","cibStripe","cibPaypal","cibGooglePay","cibCcAmex","initialState","mapacargado","vistaLote","gpscargado","initial_state","api_reportes","mode_update","mode_insert","sidebarShow","loading","messageError","reducers","combineReducers","auth","action","type","uid","payload","username","init","load_data","campanas","lote","cod_campana","cod_lote","niveles","nivel","cod_cultivo","cartillas","cartilla","id_cartilla","elementos","elemento","activo","evaluadores","id_evaluador","ui","mantenimiento","map","evaluador","usuarios","id_usuario","changeState","rest","store","createStore","applyMiddleware","thunk","className","Login","React","lazy","AuthRouter","Suspense","fallback","exact","path","render","props","to","Component","PublicRoute","isAutenticated","component","PrivateRoute","TheLayout","DashboardRoutes","AppRouter","useState","isLoggedIn","setIsLoggedIn","verifySession","useEffect","ReactDOM","getElementById","process","origin","addEventListener","status","get","indexOf","ready","unregister","checkValidServiceWorker"],"mappings":"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SAASC,EAAgBC,EAAOC,GAC9BC,UAAUC,cACPC,SAASJ,GACT7G,MAAK,SAAAkH,GACJA,EAAaC,cAAgB,WAC3B,IAAMC,EAAmBF,EAAaG,WACtCD,EAAiBE,cAAgB,WACA,cAA3BF,EAAiBG,QACfR,UAAUC,cAAcQ,YAK1BC,QAAQC,IAAI,6CAGRZ,EAAOa,UACTb,EAAOa,SAAST,KAMlBO,QAAQC,IAAI,sCAGRZ,EAAOc,WACTd,EAAOc,UAAUV,IAIxB,CACF,CACF,IACAhH,OAAM,SAAAnH,GACL0O,QAAQ1O,MAAM,4CAA6CA,EAC5D,GACJ,CC3FM,I,6oCCoIM8O,GAAQrH,OAAOsH,OAAO,CAAC,EAAG,CACrCC,ODrIoB,CAAC,UAAD,w7BCsIpBC,KCtIkB,CAAC,UAAD,owNDuIlBC,aEvI0B,CAAC,UAAD,2wNFwIzB,CACDC,mBACAC,iBACAC,kBACAC,4BACAC,kBACAC,gBACAC,gBACAC,WACAC,cACAC,YACAC,YACAC,gBACAC,kBACAC,gBACAC,qBACAC,iBACAC,cACAC,sBACAC,oBACAC,qBACAC,mBACAC,eACAC,oBACAC,aACAC,sBACAC,mBACAC,eACAC,mBACAC,aACAC,eACAC,uBACAC,uBACAC,qBACAC,aACAC,iBACAC,aACAC,aACAC,mBACAC,uBACAC,cACAC,aACAC,cACAC,uBACAC,uBACAC,mBACAC,eACAC,sBACAC,oBACAC,eACAC,eACAC,kBACAC,aACAC,qBACAC,iBACAC,oBACAC,mBACAC,wBACAC,YACAC,aACAC,cACAC,gBACAC,kBACAC,mBACAC,eACAC,eACAC,cACAC,cACAC,eACAC,aACAC,iBACAC,iBACAC,cACAC,iBACAC,mBACAC,kBACAC,eACAC,oBACAC,oBACAC,aACAC,YACAC,aACAC,aACAC,cACAC,kBACAC,aACAC,mBACAC,mBACAC,qBACAC,UACAC,gBACAC,iBACC,CACDC,UACAC,UACAC,UACAC,UACAC,UACAC,WACC,CACDC,aACAC,gBACAC,eACAC,gBACAC,cACAC,cACAC,YACAC,cACAC,qBACAC,eACAC,gBACAC,iBACAC,iBAC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","file":"static/js/main.b15eaff3.chunk.js","sourcesContent":["import {\n DecryptText,\n validarExternos,\n EncryptText,\n sendGetHttp,\n sendGetHttpClean,\n sendGetHttpWithParameters,\n sendPostHttp,\n setLocalStorage,\n validateJson,\n} from \"../utils/helpers\";\n\nexport function AuthLogin({ parameters }, remember) {\n return new Promise(async (resolve, reject) => {\n const API = \"configuracion\";\n const ROUTE = \"login\";\n\n try {\n const response = await sendPostHttp({\n parameters,\n api: API,\n route: ROUTE,\n });\n\n if (response.error) {\n return reject(response.message);\n }\n\n const externos = validarExternos(response.id_aplicacion.toString());\n const nomb_empresa = !externos ? response.empresa : externos;\n const responseCartografias = await sendGetHttpWithParameters({\n api: \"monitoreo/api_reportes\",\n route: \"cartografias\",\n token_access: response.token,\n parameters: { nomb_empresa },\n });\n\n const token_encrypted = EncryptText(response.token);\n const empresa_encrypted = EncryptText(response.empresa);\n const usuario_encrypted = EncryptText(response.usuario);\n const id_aplicacion_encrypted = EncryptText(\n response.id_aplicacion.toString()\n );\n const perfil_encrypted = EncryptText(\n response.dataUsuarioEmpresa.id_perfil.toString()\n );\n\n if (remember) {\n const ids = localStorage.getItem(\"ids_recordados_mosca\")\n ? JSON.parse(localStorage.getItem(\"ids_recordados_mosca\"))\n : [];\n const isCreated = ids.find((x) => x.id === response.id_aplicacion);\n if (!isCreated) {\n localStorage.setItem(\n \"ids_recordados_mosca\",\n JSON.stringify([\n ...ids,\n { id: response.id_aplicacion, empresa: response.empresa },\n ])\n );\n }\n }\n\n setLocalStorage([\n { name: \"known_signed\", value: token_encrypted },\n { name: \"app\", value: EncryptText(\"mosca_fruta\") },\n { name: \"id_aplicacion\", value: id_aplicacion_encrypted },\n { name: \"usuario\", value: usuario_encrypted },\n { name: \"empresa\", value: empresa_encrypted },\n { name: \"perfil\", value: perfil_encrypted },\n { name: \"cartografias\", value: responseCartografias.data },\n ]);\n\n setLocalStorage([\n { name: \"fundos\", value: response.InformacionCargaInicial.Fundos },\n { name: \"lotes\", value: response.InformacionCargaInicial.Lotes },\n {\n name: \"cultivos\",\n value: response.InformacionCargaInicial.Cultivos,\n },\n {\n name: \"cultivos_a\",\n value: response.InformacionCargaInicial.Cultivos_a,\n },\n {\n name: \"campanas_a\",\n value: response.InformacionCargaInicial.Campanas_a,\n },\n {\n name: \"fundos_a\",\n value: response.InformacionCargaInicial.Fundos_a,\n },\n {\n name: \"tipo_trampas\",\n value: response.InformacionCargaInicial.TiposTrampas ?? [],\n },\n { name: \"umbrales\", value: response.InformacionCargaInicial.Umbrales },\n {\n name: \"cartillas\",\n value: response.InformacionCargaInicial.Cartillas,\n },\n {\n name: \"trampas\",\n value: response.InformacionCargaInicial.Trampas ?? [],\n },\n {\n name: \"niveles\",\n value: response?.InformacionCargaInicial?.Niveles ?? [],\n },\n {\n name: \"Carts\",\n value: response?.InformacionCargaInicial?.Carts ?? [],\n },\n ]);\n\n resolve(true);\n } catch (error) {\n const message_error_server_500 =\n error === \"Failed to fetch\"\n ? \"Hay problemas con la conexión. Intentelo más tarde.\"\n : error;\n reject(message_error_server_500);\n }\n });\n}\n\nexport function verifyJWTApi() {\n return new Promise(async (resolve, reject) => {\n const API = \"configuracion\";\n const ROUTE = \"jwtVerifiyClients\";\n const TokenLocalStorage = localStorage.getItem(\"known_signed\");\n\n if (localStorage.length === 0) {\n return reject(false);\n }\n\n if (!TokenLocalStorage) {\n return reject(false);\n }\n\n const TOKEN_ACCESS = DecryptText(localStorage.getItem(\"known_signed\"));\n\n try {\n const response = await sendGetHttp({\n api: API,\n route: ROUTE,\n token_access: TOKEN_ACCESS,\n });\n\n if (response.error) {\n return reject(response.message);\n }\n\n resolve(\"\");\n } catch (error) {\n const ids = localStorage.getItem(\"ids_recordados_mosca\")\n ? JSON.parse(localStorage.getItem(\"ids_recordados_mosca\"))\n : [];\n localStorage.clear();\n localStorage.setItem(\"ids_recordados_mosca\", JSON.stringify(ids));\n window.location.reload();\n const message_error_server_500 =\n error === \"Failed to fetch\"\n ? \"Hay problemas con la conexión. Intentelo más tarde.\"\n : error;\n reject(message_error_server_500);\n }\n });\n}\n\nexport function validateKeysLocalStorage() {\n if (!validateJson(localStorage.getItem(\"maquinas\"))) {\n return false;\n }\n\n const storeInitial = [\n localStorage.getItem(\"empresa\"),\n localStorage.getItem(\"id_aplicacion\"),\n localStorage.getItem(\"known_signed\"),\n localStorage.getItem(\"usuario\"),\n ];\n\n let confirmation = true;\n\n for (let i = 0; i < storeInitial.length; i++) {\n if (!storeInitial[i]) {\n confirmation = null;\n break;\n }\n }\n\n if (!confirmation) {\n return false;\n } else {\n return true;\n }\n}\n\nexport function validateInitialKeysLocalStorage() {\n const fundos = localStorage.getItem(\"fundos\")\n ? JSON.parse(localStorage.getItem(\"fundos\"))\n : null;\n const cultivos = localStorage.getItem(\"cultivos\")\n ? JSON.parse(localStorage.getItem(\"cultivos\"))\n : null;\n const tipo_trampas = localStorage.getItem(\"tipo_trampas\")\n ? JSON.parse(localStorage.getItem(\"tipo_trampas\"))\n : null;\n const lotes = localStorage.getItem(\"lotes\")\n ? JSON.parse(localStorage.getItem(\"lotes\"))\n : null;\n // const cartografias = localStorage.getItem(\"cartografias\")\n // ? JSON.parse(localStorage.getItem(\"cartografias\"))\n // : null;\n const cartografias = [];\n const app = localStorage.getItem(\"app\")\n ? DecryptText(localStorage.getItem(\"app\"))\n : \"\";\n\n if (\n !fundos ||\n !cultivos ||\n !tipo_trampas ||\n !lotes ||\n !cartografias ||\n app !== \"mosca_fruta\"\n ) {\n const ids = localStorage.getItem(\"ids_recordados_mosca\")\n ? JSON.parse(localStorage.getItem(\"ids_recordados_mosca\"))\n : [];\n localStorage.clear();\n localStorage.setItem(\"ids_recordados_mosca\", JSON.stringify(ids));\n }\n}\n\nexport function AuthLogout() {\n sendGetHttpClean();\n}\n","export const types = {\n auth_Login: '[Auth] Login',\n auth_Logout: '[Auth] Logout',\n auth_load_data: '[Auth] Load Data',\n auth_load_dataCombos: '[Auth] Load Data Combos',\n auth_Finish: '[Auth] Finish',\n\n API_REPORTES: \"API\",\n\n ui_SetError: '[UI] Set Error',\n ui_RemoveError: '[UI] Set Remove Error',\n \n ui_StartLoading: '[UI] Start Loading',\n ui_FinishLoading: '[UI] Finish Loading',\n\n mantenimiento_Usuarios_ADD: '[MantenimientoUsuarios] Add',\n mantenimiento_Usuarios_UPDATE: '[MantenimientoUsuarios] UPDATE',\n mantenimiento_Usuarios_DELETE: '[MantenimientoUsuarios] DELETE',\n \n mantenimiento_Evaluadores_ADD: '[MantenimientoEvaluadores] Add',\n mantenimiento_Evaluadores_UPDATE: '[MantenimientoEvaluadores] UPDATE',\n mantenimiento_Evaluadores_DELETE: '[MantenimientoEvaluadores] DELETE',\n\n mantenimiento_InsertStatus_On: '[Mantenimiento] InsertStatusOn',\n mantenimiento_InsertStatus_Off: '[Mantenimiento] InsertStatusOff',\n\n mantenimiento_UpdateStatus_On: '[Mantenimiento] UpdateStatusOn',\n mantenimiento_UpdateStatus_Off: '[Mantenimiento] UpdateStatusOff',\n\n mapasLotesCargado: '[Mapa] Lotes Cargado',\n mapasGpsCargado: '[Mapa] GPS Cargado',\n\n mapasVistaLotesLabels: '[Mapa] Lotes Vista Lotes',\n mapasVistaGpsLabels: '[Mapa] GPS Vista Labels'\n};","import CryptoJS from \"crypto-js\";\n\n//Development\n// export const URL_CLIENT = \"http://localhost:3001\";\n// const URL_API = \"http://localhost:3000\";\n\n//Test\n// export const URL_CLIENT = \"https://monitoreo.agrosoftapp.com\";\n// const URL_API = \"https://api.agrosoftweb.com\";\n\n//Production\nexport const URL_CLIENT = \"https://monitoreo.agrosoftweb.com\";\nconst URL_API = \"https://api.agrosoftweb.com\";\n\nconst KeyCrypto = \"RgUkXp2s5v8y/B?E(H+KbPeShVmYq3t6w9z$C&F)\";\n\nexport const recordsPerPageSelect = 10;\n\nexport const sendPostHttp = ({ parameters, api, route }) => {\n return new Promise((resolve, reject) => {\n const url = `${URL_API}/${api}/${route}`;\n const params = {\n method: \"POST\",\n body: JSON.stringify(parameters),\n mode: \"cors\",\n redirect: \"follow\",\n headers: new Headers({\n \"Content-Type\": \"application/json\",\n }),\n };\n\n const request = new Request(url, params);\n\n fetch(request)\n .then((response) => response.json())\n .then((response) => resolve(response))\n .catch((error) => reject(error.message));\n });\n};\n\nexport const sendPostHttpWithToken = ({\n parameters,\n api,\n route,\n token_access,\n}) => {\n return new Promise((resolve, reject) => {\n const url = `${URL_API}/${api}/${route}`;\n const params = {\n method: \"POST\",\n body: JSON.stringify(parameters),\n mode: \"cors\",\n redirect: \"follow\",\n headers: new Headers({\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token_access}`,\n }),\n };\n\n const request = new Request(url, params);\n\n fetch(request)\n .then((response) => response.json())\n .then((response) => resolve(response))\n .catch((error) => reject(error.message));\n });\n};\n\nexport const sendPutHttpWithToken = ({\n parameters,\n api,\n route,\n token_access,\n}) => {\n return new Promise((resolve, reject) => {\n const url = `${URL_API}/${api}/${route}/${parameters.id}`;\n const params = {\n method: \"PUT\",\n body: JSON.stringify(parameters),\n mode: \"cors\",\n redirect: \"follow\",\n headers: new Headers({\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token_access}`,\n }),\n };\n\n const request = new Request(url, params);\n\n fetch(request)\n .then((response) => response.json())\n .then((response) => resolve(response))\n .catch((error) => reject(error.message));\n });\n};\n\nexport const sendDeleteHttpWithToken = ({\n parameters,\n api,\n route,\n token_access,\n}) => {\n return new Promise((resolve, reject) => {\n const url = `${URL_API}/${api}/${route}/${parameters.id}`;\n const params = {\n method: \"DELETE\",\n mode: \"cors\",\n redirect: \"follow\",\n headers: new Headers({\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token_access}`,\n }),\n };\n\n const request = new Request(url, params);\n\n fetch(request)\n .then((response) => response.json())\n .then((response) => {\n if (response.error) {\n reject(response.message);\n } else {\n resolve(response);\n }\n })\n .catch((error) => reject(error.message));\n });\n};\n\nexport const sendGetHttp = ({ api, route, token_access }) => {\n return new Promise((resolve, reject) => {\n const url = `${URL_API}/${api}/${route}`;\n const params = {\n method: \"GET\",\n mode: \"cors\",\n redirect: \"follow\",\n headers: new Headers({\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token_access}`,\n }),\n };\n\n const request = new Request(url, params);\n\n fetch(request)\n .then((response) => response.json())\n .then((response) => {\n if (response.error) {\n reject(response.message);\n } else {\n resolve(response);\n }\n })\n .catch((error) => reject(error.message));\n });\n};\n\nexport const sendGetHttpWithParameters = ({\n api,\n route,\n token_access,\n parameters,\n}) => {\n return new Promise((resolve, reject) => {\n const url = new URL(`${URL_API}/${api}/${route}`);\n Object.keys(parameters).forEach((key) =>\n url.searchParams.append(key, parameters[key])\n );\n const params = {\n method: \"GET\",\n mode: \"cors\",\n redirect: \"follow\",\n headers: new Headers({\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token_access}`,\n }),\n };\n\n const request = new Request(url, params);\n\n fetch(request)\n .then((response) => response.json())\n .then((response) => {\n if (response.error) {\n reject(response.message);\n } else {\n resolve(response);\n }\n })\n .catch((error) => {\n reject(error.message);\n });\n });\n};\n\nexport const sendGetHttpClean = () => {\n const ids = localStorage.getItem(\"ids_recordados_mosca\")\n ? JSON.parse(localStorage.getItem(\"ids_recordados_mosca\"))\n : [];\n\n localStorage.clear();\n localStorage.setItem(\"ids_recordados_mosca\", JSON.stringify(ids));\n sessionStorage.clear();\n window.location.reload();\n};\n\nexport const setLocalStorage = (list) => {\n list.forEach((lt) => {\n if (Array.isArray(lt.value)) {\n localStorage.setItem(lt.name, JSON.stringify(lt.value));\n } else {\n localStorage.setItem(lt.name, lt.value);\n }\n });\n};\n\nexport const validateNumber = (number_text) => {\n return /^-?[\\d.]+(?:e-?\\d+)?$/.test(number_text);\n};\n\nexport const generateUuidv4 = () => {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0,\n v = c === \"x\" ? r : r && 0x3 | 0x8;\n return v.toString(16);\n });\n};\n\nexport const validateJson = (value) => {\n try {\n JSON.parse(value);\n } catch (error) {\n return false;\n }\n\n return true;\n};\n\nexport const getDateNow = () => {\n let nFecha = new Date();\n\n let anio = nFecha.getFullYear(),\n mes = nFecha.getMonth() + 1,\n dia = nFecha.getDate();\n\n if (mes < 10) {\n mes = `0${mes}`;\n }\n\n if (dia < 10) {\n dia = `0${dia}`;\n }\n\n return `${anio}-${mes}-${dia}`;\n};\n\nexport const convertStringToDateHour = (fecha) => {\n return (\n fecha.substr(8, 2) + \"/\" + fecha.substr(5, 2) + \"/\" + fecha.substr(0, 4)\n );\n};\n\nexport const sortBy = (function () {\n var toString = Object.prototype.toString,\n // default parser function\n parse = function (x) {\n return x;\n },\n // gets the item to be sorted\n getItem = function (x) {\n var isObject = x != null && typeof x === \"object\";\n var isProp = isObject && this.prop in x;\n return this.parser(isProp ? x[this.prop] : x);\n };\n\n /**\n * Sorts an array of elements.\n *\n * @param {Array} array: the collection to sort\n * @param {Object} cfg: the configuration options\n * @property {String} cfg.prop: property name (if it is an Array of objects)\n * @property {Boolean} cfg.desc: determines whether the sort is descending\n * @property {Function} cfg.parser: function to parse the items to expected type\n * @return {Array}\n */\n return function sortby(array, cfg) {\n if (!(array instanceof Array && array.length)) return [];\n if (toString.call(cfg) !== \"[object Object]\") cfg = {};\n if (typeof cfg.parser !== \"function\") cfg.parser = parse;\n cfg.desc = !!cfg.desc ? -1 : 1;\n return array.sort(function (a, b) {\n a = getItem.call(cfg, a);\n b = getItem.call(cfg, b);\n return cfg.desc * (a < b ? -1 : +(a > b));\n });\n };\n})();\n\nexport const getUniqueArray = (array) => {\n return array.filter(function (el, index, arr) {\n return index === arr.indexOf(el);\n });\n};\n\nexport const tableToExcel = (function () {\n var uri = \"data:application/vnd.ms-excel;base64,\",\n template = `\n \n \n \n \n \n

{nombreReporte}

\n \n \n \n
{firstProperty}
{secondProperty}
\n
\n \n {tabla}\n
\n \n `,\n base64 = function (s) {\n return window.btoa(unescape(encodeURIComponent(s)));\n },\n format = function (s, c) {\n return s.replace(/{(\\w+)}/g, function (m, p) {\n return c[p];\n });\n };\n return function (optionsExcel) {\n //if (!table.nodeType) table = document.getElementById(table)\n //var ctx = { worksheet: name || 'Worksheet', table: table.innerHTML }\n var ctx = {\n nombreReporte: optionsExcel.nombreReporte,\n tabla: optionsExcel.tabla,\n firstProperty:\n optionsExcel.firstProperty.key +\n \": \" +\n optionsExcel.firstProperty.value,\n secondProperty:\n optionsExcel.secondProperty.key +\n \": \" +\n optionsExcel.secondProperty.value,\n };\n\n var elementoA = document.createElement(\"a\");\n elementoA.href = uri + base64(format(template, ctx));\n elementoA.download = `${optionsExcel.nombreReporte}.xls`;\n elementoA.target = \"_blank\";\n\n elementoA.click();\n };\n})();\n\nexport const getFechaActualLetras = () => {\n var fecha = new Date();\n\n var diaNumero = parseInt(fecha.getDay());\n var dia = null;\n var diaDelMes = fecha.getDate();\n\n var mesNumero = parseInt(fecha.getMonth());\n var mes = null;\n\n var anio = fecha.getFullYear();\n\n switch (diaNumero) {\n case 0:\n dia = \"Domingo\";\n break;\n case 1:\n dia = \"Lunes\";\n break;\n case 2:\n dia = \"Martes\";\n break;\n case 3:\n dia = \"Miércoles\";\n break;\n case 4:\n dia = \"Jueves\";\n break;\n case 5:\n dia = \"Viernes\";\n break;\n case 6:\n dia = \"Sábado\";\n break;\n\n default:\n break;\n }\n\n switch (mesNumero) {\n case 0:\n mes = \"Enero\";\n break;\n case 1:\n mes = \"Febrero\";\n break;\n case 2:\n mes = \"Marzo\";\n break;\n case 3:\n mes = \"Abril\";\n break;\n case 4:\n mes = \"Mayo\";\n break;\n case 5:\n mes = \"Junio\";\n break;\n case 6:\n mes = \"Julio\";\n break;\n case 7:\n mes = \"Agosto\";\n break;\n case 8:\n mes = \"Setiembre\";\n break;\n case 9:\n mes = \"Octubre\";\n break;\n case 10:\n mes = \"Noviembre\";\n break;\n case 11:\n mes = \"Diciembre\";\n break;\n\n default:\n break;\n }\n\n return dia + \", \" + diaDelMes + \" de \" + mes + \" de \" + anio;\n};\n\nexport const EncryptText = (Val) => {\n try {\n return CryptoJS.AES.encrypt(Val, KeyCrypto).toString();\n } catch (error) {\n throw error;\n }\n};\n\nexport const DecryptText = (Val) => {\n try {\n return CryptoJS.AES.decrypt(Val, KeyCrypto).toString(CryptoJS.enc.Utf8);\n } catch (error) {\n throw error;\n }\n};\n\nexport const randomStringGenerate = () => {\n let chars = \"ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz\";\n let string_length = 8;\n let randomstring = \"\";\n let charCount = 0;\n let numCount = 0;\n\n for (var i = 0; i < string_length; i++) {\n if (\n (Math.floor(Math.random() * 2) === 0 && numCount < 3) ||\n charCount >= 5\n ) {\n let rnum = Math.floor(Math.random() * 10);\n randomstring += rnum;\n numCount += 1;\n } else {\n let rnum = Math.floor(Math.random() * chars.length);\n randomstring += chars.substring(rnum, rnum + 1);\n charCount += 1;\n }\n }\n\n if (randomstring === randomstring.toUpperCase()) {\n return randomStringGenerate();\n } else if (randomstring === randomstring.toLowerCase()) {\n return randomStringGenerate();\n }\n\n return randomstring;\n};\n\nexport const validatePassword = (passwordText) => {\n let regexValidate = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[a-zA-Z]).{8,}$/;\n return regexValidate.test(passwordText);\n};\n\nexport const setSelectRecorsDataTable = (itemsPerPage) => {\n // eslint-disable-next-line no-undef\n const selectDOM = $(\"select\");\n\n // eslint-disable-next-line no-undef\n const label = $('label[class=\"mr-2\"]');\n\n // eslint-disable-next-line no-undef\n const filter = $(label)[0];\n // eslint-disable-next-line no-undef\n $(filter).parent().parent().addClass(\"col-md-12\");\n\n if (selectDOM) {\n const keysSelect = Object.keys(selectDOM);\n const positions = keysSelect.filter(\n (k) => k !== \"length\" && k !== \"prevObject\"\n );\n // eslint-disable-next-line no-undef\n const itemsPerPageSelect = $(selectDOM)[positions.length - 1];\n // eslint-disable-next-line no-undef\n $(itemsPerPageSelect).val(!itemsPerPage ? \"10\" : itemsPerPage.toString());\n }\n};\n\nexport const validarFecha = (fecha) => {\n var regex = new RegExp(\n \"([0-9]{4}[-](0[1-9]|1[0-2])[-]([0-2]{1}[0-9]{1}|3[0-1]{1})|([0-2]{1}[0-9]{1}|3[0-1]{1})[-](0[1-9]|1[0-2])[-][0-9]{4})\"\n );\n let result = regex.test(fecha);\n return result;\n};\n\nexport const formatTime = (fecha) => {\n let hours = fecha.substr(11, 2);\n let minutes = fecha.substr(14, 2);\n let seconds = fecha.substr(17, 2);\n var isAm = true;\n if (hours > 12) {\n isAm = false;\n hours -= 12;\n } else if (hours === 12) {\n isAm = false;\n }\n let time = `${hours}:${minutes}:${seconds} ` + (isAm ? \"a.m.\" : \"p.m.\");\n return time;\n};\n\nexport const formatDates = (fecha_inicio, hora_inicio) => {\n let fechaInicio = fecha_inicio;\n let fechaFin = fechaInicio + \" \" + \"23\" + \":\" + \"59\" + \":\" + \"00\";\n\n let horaInicio = hora_inicio;\n\n fechaInicio = (fechaInicio + \" \" + horaInicio).toString().trim();\n\n return {\n fechaInicio,\n fechaFin,\n };\n};\n\nexport const getDateTimeActual = () => {\n const dateNow = new Date();\n dateNow.setMinutes(dateNow.getMinutes() - dateNow.getTimezoneOffset());\n\n const fecha = dateNow.toISOString().slice(0, 10);\n const hora_init = \"T00:00\";\n const hora_fin = \"T23:59\";\n\n const dateInit = `${fecha}${hora_init}`;\n const dateFinish = `${fecha}${hora_fin}`;\n\n return { dateInit, dateFinish };\n};\n\nexport const organizarFechaHora = (fechaHora = \"\") => {\n const fecha = fechaHora.substr(0, 10);\n const hora = fechaHora.substr(11, 5);\n\n return `${fecha} ${hora}:00`;\n};\n\nexport const verifiedAccessAdmin = (history) => {\n const isAdmin = DecryptText(localStorage.getItem(\"perfil\"));\n if (parseInt(isAdmin) !== 1) {\n history.push(\"/dashboard\");\n return;\n }\n};\n\nexport const validarExternos = (id) => {\n let empresa = null;\n if (id === \"875462841\") {\n empresa = \"pampa baja\";\n }\n if (id === \"410639283\") {\n empresa = \"agrogonzamex\";\n }\n return empresa;\n // return (id === '627426817' || id == '111111111') ? 'agricola chapi' : id === '698417438' ? \"cao\" : id === '654852142' ? 'agrovision' : null;\n};\n\nexport const tableToExcelGeneral = (function () {\n var uri = \"data:application/vnd.ms-excel;base64,\",\n template = `\n \n \n \n \n \n

{nombreReporte}

\n \n \n\t\t\t\t\t\n\t\t\t\t\t\n
{fundo}
{fechaInicio}
{fechaFin}
\n
\n \n {tabla}\n
\n \n `,\n base64 = function (s) {\n return window.btoa(unescape(encodeURIComponent(s)));\n },\n format = function (s, c) {\n return s.replace(/{(\\w+)}/g, function (m, p) {\n return c[p];\n });\n };\n return function (optionsExcel) {\n //if (!table.nodeType) table = document.getElementById(table)\n //var ctx = { worksheet: name || 'Worksheet', table: table.innerHTML }\n var ctx = {\n nombreReporte: optionsExcel.nombreReporte,\n tabla: optionsExcel.tabla,\n fundo: \"Fundo: \" + optionsExcel.fundo,\n fechaInicio: \"Fecha Inicio: \" + optionsExcel.fechaInicio,\n fechaFin: \"Fecha Fin: \" + optionsExcel.fechaFin,\n };\n\n var elementoA = document.createElement(\"a\");\n elementoA.href = uri + base64(format(template, ctx));\n elementoA.download = `${optionsExcel.nombreReporte}.xls`;\n elementoA.target = \"_blank\";\n\n elementoA.click();\n };\n})();\n\nexport const ConvertStringToDateHourLarge = (fecha) => {\n return (\n fecha.substr(8, 2) +\n \"/\" +\n fecha.substr(5, 2) +\n \"/\" +\n fecha.substr(0, 4) +\n \" \" +\n fecha.substr(11, 2) +\n \":\" +\n fecha.substr(14, 2)\n );\n};\n","/*\n* required polyfills\n*/\nimport \"core-js\";\nimport 'core-js/features/set/map';\nimport 'core-js/features/map';\n\n/** IE9, IE10 and IE11 requires all of the following polyfills. **/\n// import 'core-js/es6/symbol'\n// import 'core-js/es6/object'\n// import 'core-js/es6/function'\n// import 'core-js/es6/parse-int'\n// import 'core-js/es6/parse-float'\n// import 'core-js/es6/number'\n// import 'core-js/es6/math'\n// import 'core-js/es6/string'\n// import 'core-js/es6/date'\n// import 'core-js/es6/array'\n// import 'core-js/es6/regexp'\n// import 'core-js/es6/map'\n// import 'core-js/es6/weak-map'\n// import 'core-js/es6/set'\n// import 'core-js/es7/object'\n\n/** IE10 and IE11 requires the following for the Reflect API. */\n// import 'core-js/es6/reflect'\n\n/** Evergreen browsers require these. **/\n// Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove.\n// import 'core-js/es7/reflect'\n\n// CustomEvent() constructor functionality in IE9, IE10, IE11\n(function () {\n\n if ( typeof window.CustomEvent === \"function\" ) return false\n\n function CustomEvent ( event, params ) {\n params = params || { bubbles: false, cancelable: false, detail: undefined }\n var evt = document.createEvent( 'CustomEvent' )\n evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail )\n return evt\n }\n\n CustomEvent.prototype = window.Event.prototype\n\n window.CustomEvent = CustomEvent\n})()\n","// In production, we register a service worker to serve assets from local cache.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\n// cached resources are updated in the background.\n\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\n// This link also includes instructions on opting out of this behavior.\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://goo.gl/SC7cgQ'\n );\n });\n } else {\n // Is not local host. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and\n // the fresh content will have been added to the cache.\n // It's the perfect time to display a \"New content is\n // available; please refresh.\" message in your web app.\n console.log('New content is available; please refresh.');\n\n // Execute callback\n if (config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n if (\n response.status === 404 ||\n response.headers.get('content-type').indexOf('javascript') === -1\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","export const sygnet = ['160 160', `\n coreui logo\n \n \n \n \n \n \n`]\n","import { sygnet } from './sygnet'\nimport { logo } from './logo'\nimport { logoNegative } from './logo-negative'\n\nimport {\n cibSkype,\n cibFacebook,\n cibTwitter,\n cibLinkedin,\n cibFlickr,\n cibTumblr,\n cibXing,\n cibGithub,\n cibStackoverflow,\n cibYoutube,\n cibDribbble,\n cibInstagram,\n cibPinterest,\n cibVk,\n cibYahoo,\n cibBehance,\n cibReddit,\n cibVimeo,\n cibCcMastercard,\n cibCcVisa,\n cibStripe,\n cibPaypal,\n cibGooglePay,\n cibCcAmex\n} from '@coreui/icons'\nimport {\n cifUs,\n cifBr,\n cifIn,\n cifFr,\n cifEs,\n cifPl\n} from '@coreui/icons'\nimport {\n cilAlignCenter,\n cilAlignLeft,\n cilAlignRight,\n cilApplicationsSettings,\n cilArrowRight,\n cilArrowTop,\n cilAsterisk,\n cilBan,\n cilBasket,\n cilBell,\n cilBold,\n cilBookmark,\n cilCalculator,\n cilCalendar,\n cilCloudDownload,\n cilChartPie,\n cilCheck,\n cilChevronBottom,\n cilChevronLeft,\n cilChevronRight,\n cilChevronTop,\n cilCircle,\n cilCheckCircle,\n cilCode,\n cilCommentSquare,\n cilCreditCard,\n cilCursor,\n cilCursorMove,\n cilDrop,\n cilDollar,\n cilEnvelopeClosed,\n cilEnvelopeLetter,\n cilEnvelopeOpen,\n cilEuro,\n cilGlobeAlt,\n cilGrid,\n cilFile,\n cilFullscreen,\n cilFullscreenExit,\n cilGraph,\n cilHome,\n cilInbox,\n cilIndentDecrease,\n cilIndentIncrease,\n cilInputPower,\n cilItalic,\n cilJustifyCenter,\n cilJustifyLeft,\n cilLaptop,\n cilLayers,\n cilLightbulb,\n cilList,\n cilListNumbered,\n cilListRich,\n cilLocationPin,\n cilLockLocked,\n cilMagnifyingGlass,\n cilMap,\n cilMoon,\n cilNotes,\n cilOptions,\n cilPaperclip,\n cilPaperPlane,\n cilPencil,\n cilPeople,\n cilPhone,\n cilPrint,\n cilPuzzle,\n cilSave,\n cilScrubber,\n cilSettings,\n cilShare,\n cilShareAll,\n cilShareBoxed,\n cilShieldAlt,\n cilSpeech,\n cilSpeedometer,\n cilSpreadsheet,\n cilStar,\n cilSun,\n cilTags,\n cilTask,\n cilTrash,\n cilUnderline,\n cilUser,\n cilUserFemale,\n cilUserFollow,\n cilUserUnfollow,\n cilX,\n cilXCircle,\n cilWarning\n} from '@coreui/icons'\n\nexport const icons = Object.assign({}, {\n sygnet,\n logo,\n logoNegative\n}, {\n cilAlignCenter,\n cilAlignLeft,\n cilAlignRight,\n cilApplicationsSettings,\n cilArrowRight,\n cilArrowTop,\n cilAsterisk,\n cilBan,\n cilBasket,\n cilBell,\n cilBold,\n cilBookmark,\n cilCalculator,\n cilCalendar,\n cilCloudDownload,\n cilChartPie,\n cilCheck,\n cilChevronBottom,\n cilChevronLeft,\n cilChevronRight,\n cilChevronTop,\n cilCircle,\n cilCheckCircle,\n cilCode,\n cilCommentSquare,\n cilCreditCard,\n cilCursor,\n cilCursorMove,\n cilDrop,\n cilDollar,\n cilEnvelopeClosed,\n cilEnvelopeLetter,\n cilEnvelopeOpen,\n cilEuro,\n cilGlobeAlt,\n cilGrid,\n cilFile,\n cilFullscreen,\n cilFullscreenExit,\n cilGraph,\n cilHome,\n cilInbox,\n cilIndentDecrease,\n cilIndentIncrease,\n cilInputPower,\n cilItalic,\n cilJustifyCenter,\n cilJustifyLeft,\n cilLaptop,\n cilLayers,\n cilLightbulb,\n cilList,\n cilListNumbered,\n cilListRich,\n cilLocationPin,\n cilLockLocked,\n cilMagnifyingGlass,\n cilMap,\n cilMoon,\n cilNotes,\n cilOptions,\n cilPaperclip,\n cilPaperPlane,\n cilPencil,\n cilPeople,\n cilPhone,\n cilPrint,\n cilPuzzle,\n cilSave,\n cilScrubber,\n cilSettings,\n cilShare,\n cilShareAll,\n cilShareBoxed,\n cilShieldAlt,\n cilSpeech,\n cilSpeedometer,\n cilSpreadsheet,\n cilStar,\n cilSun,\n cilTags,\n cilTask,\n cilTrash,\n cilUnderline,\n cilUser,\n cilUserFemale,\n cilUserFollow,\n cilUserUnfollow,\n cilX,\n cilXCircle,\n cilWarning\n}, {\n cifUs,\n cifBr,\n cifIn,\n cifFr,\n cifEs,\n cifPl\n}, {\n cibSkype,\n cibFacebook,\n cibTwitter,\n cibLinkedin,\n cibFlickr,\n cibTumblr,\n cibXing,\n cibGithub,\n cibStackoverflow,\n cibYoutube,\n cibDribbble,\n cibInstagram,\n cibPinterest,\n cibVk,\n cibYahoo,\n cibBehance,\n cibReddit,\n cibVimeo,\n cibCcMastercard,\n cibCcVisa,\n cibStripe,\n cibPaypal,\n cibGooglePay,\n cibCcAmex\n})\n","export const logo = ['608 134', `\n coreui react pro\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","export const logoNegative = ['608 134', `\n coreui react pro logo\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n`]\n","import { types } from \"../../types/types\";\nimport { DecryptText, generateUuidv4 } from \"../../utils/helpers\";\n\nconst initialState = {\n mapacargado: false,\n vistaLote: false,\n gpscargado: false\n};\n\nexport const authReducer = (state = initialState, action) => {\n switch (action.type) {\n case types.auth_Login:\n return {\n ...state,\n uid: generateUuidv4(),\n id: action.payload.id_aplicacion,\n name: action.payload.username\n };\n\n case types.auth_Finish:\n return {\n ...state,\n init: true\n };\n\n case types.auth_load_data: {\n return {\n ...state,\n load_data: true,\n fundos: action.payload.fundos,\n cultivos: action.payload.cultivos,\n campanas: action.payload.campanas\n };\n }\n\n case types.auth_load_dataCombos: {\n return {\n ...state,\n lotes: JSON.parse(localStorage.getItem('lotes')).filter(lote => {\n return lote.cod_campana === DecryptText(localStorage.getItem('cod_campana')) || lote.cod_lote === '-1'\n }),\n niveles: JSON.parse(localStorage.getItem('niveles')).filter(nivel => {\n return nivel.cod_cultivo === DecryptText(localStorage.getItem('cod_cultivo'))\n }),\n cartillas: JSON.parse(localStorage.getItem('cartillas')).filter(cartilla => {\n return cartilla.cod_cultivo === DecryptText(localStorage.getItem('cod_cultivo')) || cartilla.id_cartilla === '-1'\n }),\n elementos: JSON.parse(localStorage.getItem('elementos')).filter(elemento => {\n return elemento.activo === true\n }),\n evaluadores: JSON.parse(localStorage.getItem('evaluadores')).filter(elemento => {\n return elemento.activo === true || elemento.id_evaluador === '-1'\n })\n };\n }\n\n case types.mapasLotesCargado: {\n return {\n ...state,\n mapacargado: !state.mapacargado\n }\n }\n\n case types.mapasGpsCargado: {\n return {\n ...state,\n gpscargado: !state.gpscargado\n }\n }\n\n case types.mapasVistaLotesLabels: {\n return {\n ...state,\n vistaLote: action.payload\n }\n }\n\n case types.auth_Logout:\n return { };\n\n default:\n return state;\n }\n}","import { types } from \"../../types/types\";\n\nconst initial_state = {\n api_reportes: \"agrotrack/api_reportes\"\n};\n\nexport const dataInitialReducer = (state = initial_state, action) => {\n switch (action.type) {\n case types.API_REPORTES:\n return { ...state };\n\n default:\n return state;\n }\n}\n","import { types } from \"../../types/types\";\n\nconst initial_state = {\n mode_update: null,\n mode_insert: true\n};\n\nexport const mantenimientoReducer = (state = initial_state, action) => {\n switch (action.type) {\n //#region Evaluadores\n case types.mantenimiento_Evaluadores_ADD:\n return {\n ...state,\n evaluadores: [action.payload, ...state.evaluadores]\n };\n\n case types.mantenimiento_Evaluadores_UPDATE:\n return {\n ...state,\n evaluadores: state.evaluadores.map(evaluador => {\n return evaluador.id_evaluador === action.payload.id_evaluador\n ? action.payload\n : evaluador\n })\n };\n\n case types.mantenimiento_Evaluadores_DELETE:\n return {\n ...state,\n evaluadores: state.evaluadores.filter(evaluador => evaluador.id_evaluador !== action.payload.id_evaluador)\n };\n //#endregion\n\n //#region Usuarios\n case types.mantenimiento_Usuarios_ADD:\n return {\n ...state,\n usuarios: [action.payload, ...state.usuarios]\n };\n\n case types.mantenimiento_Usuarios_UPDATE:\n return {\n ...state,\n usuarios: state.usuarios.map(usuario => {\n return usuario.id_usuario === action.payload.id_usuario\n ? action.payload\n : usuario\n })\n };\n\n case types.mantenimiento_Usuarios_DELETE:\n return {\n ...state,\n usuarios: state.usuarios.filter(usuario => usuario.id_usuario !== action.payload.id_usuario)\n };\n //#endregion\n\n\n case types.mantenimiento_InsertStatus_On:\n return {\n ...state,\n mode_insert: true,\n mode_update: false\n };\n\n case types.mantenimiento_InsertStatus_Off:\n return {\n ...state,\n mode_insert: false,\n mode_update: false\n };\n\n case types.mantenimiento_UpdateStatus_On:\n return {\n ...state,\n mode_insert: false,\n mode_update: true\n };\n\n case types.mantenimiento_UpdateStatus_Off:\n return {\n ...state,\n mode_insert: false,\n mode_update: false\n };\n default:\n return state;\n }\n}","const initialState = {\n sidebarShow: 'responsive'\n}\n\nexport const changeStateReducer = (state = initialState, { type, ...rest }) => {\n switch (type) {\n case 'set':\n return { ...state, ...rest }\n default:\n return state\n }\n}","import { types } from \"../../types/types\";\n\nconst initial_state = {\n loading: false,\n messageError: null\n};\n\nexport const uiReducer = (state = initial_state, action) => {\n switch (action.type) {\n case types.ui_StartLoading:\n return { ...state, loading: true };\n\n case types.ui_FinishLoading:\n return { ...state, loading: false };\n\n case types.ui_SetError:\n return { ...state, messageError: action.payload.message };\n\n case types.ui_RemoveError:\n return { ...state, messageError: null };\n\n default:\n return state;\n }\n}","import { createStore, combineReducers, applyMiddleware, compose } from 'redux'\nimport thunk from \"redux-thunk\"\n\nimport { authReducer } from \"../reducers/authReducer\"\nimport { dataInitialReducer } from '../reducers/dataInitialReducer';\nimport { mantenimientoReducer } from '../reducers/mantenimientoReducer';\nimport { changeStateReducer } from '../reducers/templateReducer';\nimport { uiReducer } from \"../reducers/uiReducer\"\n\n//const composeEnhancers = (typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__) || compose;\nconst reducers = combineReducers({\n auth: authReducer,\n ui: uiReducer,\n api: dataInitialReducer,\n mantenimiento: mantenimientoReducer,\n changeState: changeStateReducer\n});\n\nconst store = createStore(\n reducers,\n applyMiddleware(thunk)\n)\nexport default store","import React, { Component } from 'react';\nimport { HashRouter, Redirect, Route, Switch } from 'react-router-dom';\nimport '../scss/style.scss';\n\nconst loading = (\n
\n
\n
\n)\n\nconst Login = React.lazy(() => import('../components/login/Login'));\n\nclass AuthRouter extends Component {\n render() {\n return (\n \n \n \n } />\n\n \n \n \n \n );\n }\n}\n\nexport default AuthRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Redirect, Route } from \"react-router-dom\";\n\nconst PublicRoute = ({\n isAutenticated,\n component: Component,\n ...rest\n}) => {\n return (\n (\n (isAutenticated)\n ? ()\n : ()\n )}\n />\n );\n}\n\nPublicRoute.propTypes = {\n isAutenticated: PropTypes.bool.isRequired,\n component: PropTypes.func.isRequired\n};\n\nexport default PublicRoute;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Redirect, Route } from \"react-router-dom\";\n\nconst PrivateRoute = ({\n isAutenticated,\n component: Component,\n ...rest\n}) => {\n return (\n (\n (isAutenticated) ? ()\n : ()\n )}\n />\n );\n}\n\nPrivateRoute.propTypes = {\n isAutenticated: PropTypes.bool.isRequired,\n component: PropTypes.func.isRequired\n};\n\nexport default PrivateRoute;\n","import React, { Component } from 'react';\nimport { HashRouter, Redirect, Route, Switch } from 'react-router-dom';\nimport '../scss/style.scss';\n\nconst loading = (\n
\n
\n
\n)\n\nconst TheLayout = React.lazy(() => import('../containers/TheLayout'));\n\nclass DashboardRoutes extends Component {\n render() {\n return (\n \n \n \n } />\n\n \n \n \n \n );\n }\n}\n\nexport default DashboardRoutes;\n\n\n","import React, { useEffect, useState } from \"react\";\nimport { BrowserRouter as Router, Switch, Redirect } from \"react-router-dom\";\n\nimport AuthRouter from \"./AuthRouter\";\nimport PublicRoute from \"./PublicRoute\";\nimport PrivateRoute from \"./PrivateRoute\";\nimport DashboardRoutes from \"./DashboardRoutes\";\nimport {\n validateKeysLocalStorage,\n verifyJWTApi,\n validateInitialKeysLocalStorage,\n} from \"../services/login.services\";\n\nexport const AppRouter = () => {\n const [isLoggedIn, setIsLoggedIn] = useState(false);\n\n validateInitialKeysLocalStorage();\n\n const verifySession = async () => {\n try {\n await verifyJWTApi();\n setIsLoggedIn(true);\n } catch (error) {\n setIsLoggedIn(false);\n }\n };\n\n const loadApplication = () => {\n return (\n
\n

Espere un momento....

\n
\n );\n };\n\n useEffect(() => {\n verifySession();\n }, []);\n\n if (validateKeysLocalStorage() && !isLoggedIn) {\n return loadApplication();\n }\n\n return (\n \n \n \n\n \n\n \n \n \n );\n};\n","import 'react-app-polyfill/ie11'; // For IE 11 support\nimport 'react-app-polyfill/stable';\nimport './polyfill'\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport * as serviceWorker from './serviceWorker';\n\nimport { icons } from './assets/icons'\n\nimport { Provider } from 'react-redux'\nimport store from './redux/store/store'\nimport { AppRouter } from './routers/AppRouter';\n\nReact.icons = icons\n\nReactDOM.render(\n \n \n , \n document.getElementById('root')\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: http://bit.ly/CRA-PWA\nserviceWorker.register();\n"],"sourceRoot":""}