{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./simularCotizacion/src/components/mensajes.js","webpack:///./base/components/tools.js","webpack:///./simularCotizacion/src/components/cotizarFormulario.js","webpack:///./simularCotizacion/src/components/enviarSimulacionFormulario.js","webpack:///./simularCotizacion/src/components/enviarSimulacionModal.js","webpack:///./simularCotizacion/src/components/cotizarResumen.js","webpack:///./simularCotizacion/src/components/alertModal.js","webpack:///./simularCotizacion/src/components/formularioEntrada.js","webpack:///./simularCotizacion/src/components/cotizar.js","webpack:///./simularCotizacion/src/components/beneficiosCondicionesItem.js","webpack:///./simularCotizacion/src/components/beneficiosCondiciones.js","webpack:///./simularCotizacion/src/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","Mensajes","_React$Component","props","_this","_classCallCheck","_callSuper","handleHide","handleShow","state","showModal","_inherits","React","Component","this","setState","createElement","id","Modal","show","container","onHide","bsSize","backdrop","aria-labelledby","Header","type","className","onClick","Body","msg","ReactBootstrap","Tools","getDaysInMonth","validateWholeDate","data","fieldName","newData","map","item","toLowerCase","split","word","charAt","toUpperCase","slice","join","push","upperCaseName","contentType","compTools","autenticadoWindows","estaAutenticado","authenticatedUser","obtenerInformacionUsuario","Error","validarDerechosCliente","Programa","validationService","ServicioProxy","Promise","resolve","reject","getElements","then","isAsesor","error","file","reader","FileReader","base64File","readAsDataURL","onload","result","onerror","event","inputValue","target","checked","selected","field","month","year","y","param","splitParam","location","protocol","window","origin","pathname","document","href","text","test","list","order","sort","a","b","propsTabIndex","arguments","length","undefined","addClass","el","classList","add","removeClass","remove","replace","RegExp","$","hide","tabIndex","actualId","concat","itemScroll","querySelectorAll","scrollLeftMax","scrollWidth","clientWidth","dist","Math","round","scrollLeft","min","activeDots","forEach","dot","element","duration","animate","scrollTop","position","top","separator","String","CotizarFormulario","advancedOptionsExpanded","advancedOptionsActiveKey","messages","required","alphabetical","email","cajaCategory","handleChange","handleBlur","handleFocus","handleSwitch","handleSelect","handlePanelSelect","subscribedCleanAll","subscribedRemove","calculator","setCursorAtBegin","handleFormSubmit","keyup","e","keyCode","which","val","getElementById","setSelectionRange","hostname","port","tools","planvital","currentForm","JSON","parse","stringify","form","updateFormState","string","removeNonLetters","elementId","saludValidaciones","validateField","moreOrLessThan60","isOlder","showMessagesPlanVital","preventDefault","index","_this2","subscribed","currentOptions","options","advancedOptions","updateOptionsState","operation","_this3","_this4","categoria","cajaCategories","filter","CSTituloCategoriaText","subscribedCleanData","title","valid","htmlFor","placeholder","maxLength","onBlur","subscribedHandleBlur","onChange","subscribedHandleChange","caja","subscribedHandleSwitch","DropdownButton","bsStyle","onSelect","subscribedHandleSelect","MenuItem","eventKey","popovers","OverlayTrigger","trigger","rootClose","placement","overlay","getPopover","Button","eps","console","log","refs","messagePlanvital","_this5","loginURL","keys","configurations","getLoginURL","isAuthenticated","lessthan60","disabled","includeMe","morethan60","buttonText","showWarning","onFocus","age","PanelGroup","accordion","activeKey","Panel","Heading","Title","toggle","collapsible","getSubscribed","ref","EnviarSimulacionFormulario","pnpService","ServicioPnp","createForm","isSubmitted","typeDocList","shedule","isDisabled","carousel","settings","dots","arrows","speed","initialSlide","slidesToShow","slidesToScroll","nextArrow","NextArrow","prevArrow","PrevArrow","variableWidth","focusOnSelect","infinite","centerMode","responsive","breakpoint","isActive","itemSelected","hourSelected","currentMessage","monthName","registeredNumber","errorMessages","maxlength","equalTo","number","isEmailRequired","minlength","alphanumeric","setRulesForm","SaludValidaciones","callPNPService","handleInputChange","handleSubmit","setFormdata","selectedDate","activeHours","updateName","getsubscribed","getDocType","getListWithTop","sheduleSortLength","sheduleSort","currentDate","Date","moment","format","CSCalendarioDateTime","date","createdDate","Created","weekStart","getTime","getTimezoneOffset","setDate","getDate","getDay","weekEnd","setHours","hours","CSHorarioMultiChoice","results","monthVisible","arr","unique_array","arraySize","removeDuplicateDate","checkWeek","line","getList","formObject","identificationType","identificationNumber","phone","documentType","typeDoc","find","elem","CSIdDocumentoText","CSDocumentoIdentidadText","subscribedTemp","person","Nombre","Categoria","EPSCompensar","TipoDeDocumento","NumeroDeDocumento","documentNumber","Edad","Genero","gender","Parentesco","relationship","docType","CSSiglaText","fullName","confirmEmail","trim","FormValues","valueSelected","body","NotificacionExterna","CodigoTipoNotificacion","CodigoMedioNotificacion","Asunto","TipoDocumento","sigla","NumeroDocumento","Destino","Parametros","Key","Value","precio","Documentos","response","_this6","userInfoCheck","dataLayer","user_id","Nautcli","log_status","login_type","TipoIdentificacion","affiliation","bread_crumbs","UrlCatcher","step","option","action","validateForm","idCotizacion","sessionStorage","getItem","params","IdLista","getIdsListas","trazabilidadCotizador","IdListaBeneficiario","trazabilidadCotizadorDetalle","UrlSitio","_spPageContextInfo","webAbsoluteUrl","Datos","TarifaMes","summary","monthlyFare","ValorContrato","total","ContactoTelefonoMovil","Simulacion","PrecioMensualDesde","DescuentoEps","epsDiscount","DescuentoCajaCompensacion","cajaDiscount","UsuariosMenorEdadDefinida","CantidadUsuarios","lessthan60quantity","ValorTotal","lessthan60total","UsuariosMayorEdadDefinida","morethan60quantity","morethan60total","UsuariosTotal","totalQuantity","Interesado","Beneficiario","IdCotizacion","handleNotificaciones","confirmEmailMessage","traceabilityQuoting","confirmPersonalData","confirmTextMessage","lessThan60","moreThan60","nit","isContacted","hour","ultimaPosicion","nivelAnterior","decodeURI","_this7","data-list-name","autocomplete","pattern","minLength","onPaste","MensajeCorreoRequerido","MensajeCorreoInvalido","MensajeCorreoConfirmacion","Slider","style","width","indexOf","TextoAgradecimiento","TextoEnvioCorreoRadicadoPlanVital","TextoEnvioCorreoRadicado","TextoNumeroRadicadoPlanVital","TextoMensajeTuRadicado","TextoEnvioCorreoPlanVital","TextoEnvioCorreo","TextoEnvioCorreoNoAceptoRecibirInformacion","finishStep","_objectSpread","EnviarSimulacionModal","showCotizador","CotizarResumen","_defineProperty","summaryDetailsExpanded","scrollY","panelTopBeneficies","initialStickyPanel","initialStickyPanelOldDesktop","initialTopPanel","overlayTriggerPlacement","showError","startShopping","changePanelStatus","numberWithDots","getSummary","getElementOffset","toString","modal","setTimeout","generalErrorModal","expanded","rect","getBoundingClientRect","pageYOffset","left","pageXOffset","bottom","errorMsg","renderErrorModal","message","Popover","startShoppingProperties","component","getStartPurchaseButtonMessage","data-addsize","loadingSummary","onToggle","renderPurchaseComponent","AlertModal","Footer","planVital","FormularioEntrada","formIsValid","politicaTratamientoDatos","showModalPlanVital","removeEmojis","removeLetters","getListByTitle","planComplementario","Funcionalidad","politicaTratamientoDatosPlanVital","identificationTypeSigla","nameValidated","idValidated","IdSigla","boolean","updateState","__html","dangerouslySetInnerHTML","innerHtml","TerminosCondiciones","AceptoInformacionCorreo","AceptoMensajesTexto","handlePlanVital","Cotizar","tarifaPlanVital","isValid","temporaryForm","iva","loadingAuthUser","showFormularioEntrada","showPlanVital","rules","subscribedRules","userMoreThan60","subscribedSaludValidaciones","categoriaCaja","scrollTo","showMessages","getLogedUserData","showCotizadorAtCloseModal","handleComponent","requestBody","NombreCompleto","Email","Documento","Sigla","Telefono","compensar","quitarLoading","LegalID","userData","MayorEdadDefinida","newState","CorreoElectronico","CajaCompensacionCompensar","Titulo","AfiliarInteresado","NIT","BeneficiariosMenores","newSubscribed","BeneficiariosMayores","IVA","getDataUserPlanVital","dataUserPlanVital","updateSubscriberPlanVital","setItem","ObtenerDatosAfiliacionPlanVitalResult","DatosInteresado","CategoriaCaja","DatosBeneficiariosMenores","Beneficiarios","afiliado","TieneCajaCompensacion","TieneEpsCompensar","callback","sum","removeSubscribed","addSubscribed","calculateRequest","subscribedList","splice","newForm","_this8","_this9","allSubscribedValids","_loop","subscribedValidation","_this10","currentState","indexOfSubscribed","_this11","currentSubscribed","resetForm","_this12","_this13","_this14","description","offset","height","_this15","subscribedQuantity","cantidadTotal","valorTotal","calculateRequestBody","TituloConsorcio","Descripcion","Id","reduce","filtered","formState","_this16","guardarCotizacion","_this17","reset","guadarCotizacion","userPlanVital","formularioEntrada","cotizarFormulario","PuedeContinuarAfiliacion","puedeCotizarPlanVital","filterByCathegory","_this18","src","siteAbsoluteUrl","BeneficiosCondicionesItem","random","titleColorClass","icon","CSTituloSeccionText","CSImagenIconoText","CSTituloText","CSDescripcionRichTextNote","BeneficiosCondiciones","beneficiosItems","beneficiosItemsPlanVital","isPlanVital","resetItemsTitle","parseResponse","beneficiosItemsPlanVitale","Accordion","App","loginUrl","CSValorNote","CSNombreText","CSVisibleBool","CSIDPopOverText","CSPosicionPopOverChoice","CSTextoBotonText","CSTituloPopOverText","CSTextoAyudaNote","tipoIdentificacion","indentificacion","PuedeIniciarAutogestion","PuedeIniciarCalendario","userInfo","callMainService","appId","ReactDOM","render"],"mappings":"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","file":"index.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","\r\nexport default class Mensajes extends React.Component {\r\n \r\n constructor(props) {\r\n super(props);\r\n this.handleHide = this.handleHide.bind(this);\r\n this.handleShow = this.handleShow.bind(this);\r\n\r\n this.state = {\r\n showModal: false\r\n };\r\n \r\n }\r\n\r\n handleHide() {\r\n this.setState({ showModal: false });\r\n }\r\n \r\n handleShow() {\r\n this.setState({ showModal: true });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {this.props.msg || 'Discúlpenos, por favor intente más tarde'}\r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n/******************** BUILD ********************/\r\nvar Modal = ReactBootstrap.Modal;\r\n/******************** BUILD ********************/\r\n\r\n","class Tools {\r\n constructor() {\r\n\r\n this.getDaysInMonth = this.getDaysInMonth.bind(this);\r\n this.validateWholeDate = this.validateWholeDate.bind(this);\r\n }\r\n\r\n capitalizeName(data, fieldName) {\r\n let newData = [];\r\n let name = '';\r\n data.map((item) => {\r\n if (item[fieldName]) {\r\n name = item[fieldName].toLowerCase().split(' ')\r\n .map((word) => {\r\n return (word.charAt(0).toUpperCase() + word.slice(1));\r\n });\r\n item[fieldName] = name.join(' ');\r\n newData.push(item);\r\n }\r\n });\r\n return newData;\r\n }\r\n\r\n setNameToCapitalize(upperCaseName) {\r\n let name = '';\r\n name = upperCaseName.toLowerCase().split(' ')\r\n .map((word) => {\r\n return (word.charAt(0).toUpperCase() + word.slice(1));\r\n });\r\n upperCaseName = name.join(' ');\r\n return upperCaseName;\r\n }\r\n\r\n setContentType() {\r\n let contentType = 'Anonimo';\r\n if (!compTools.autenticadoWindows() && compTools.estaAutenticado()) {\r\n const authenticatedUser = compTools.obtenerInformacionUsuario();\r\n if (authenticatedUser['ValidacionDerechos'] && authenticatedUser.Error === null) {\r\n const validarDerechosCliente = authenticatedUser['ValidacionDerechos'];\r\n contentType = validarDerechosCliente.Programa !== 'CE' || validarDerechosCliente.Programa !== 'EP' ? validarDerechosCliente.Programa : 'Anonimo';\r\n }\r\n }\r\n return contentType;\r\n }\r\n\r\n isAuthenticated() {\r\n if (compTools.estaAutenticado()) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n isAsesor() {\r\n const validationService = new ServicioProxy('ObtenerTipoUsuario', 'ServicioConsorcio.svc'); return new Promise((resolve, reject) => {\r\n validationService.getElements('POST', {})\r\n .then(isAsesor => {\r\n resolve(isAsesor);\r\n })\r\n .catch(error => reject(error));\r\n })\r\n }\r\n\r\n getBase64(file) {\r\n const reader = new FileReader();\r\n let base64File = '';\r\n reader.readAsDataURL(file);\r\n\r\n return new Promise((resolve, reject) => {\r\n reader.onload = function () {\r\n base64File = reader.result;\r\n\r\n resolve(base64File);\r\n }\r\n\r\n reader.onerror = function (error) {\r\n reject(error);\r\n }\r\n\r\n });\r\n }\r\n\r\n handleInputChange(event) {\r\n let inputValue = '';\r\n if (event) {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n inputValue = value;\r\n }\r\n return inputValue;\r\n }\r\n\r\n handleSwitch(selected, field) {\r\n const valueSelected = selected ? true : false;\r\n return valueSelected;\r\n }\r\n\r\n getDaysInMonth(month, year) {\r\n switch (month) {\r\n case 2:\r\n return (year % 4 == 0 && year % 100) || year % 400 == 0 ? 29 : 28;\r\n case 9: case 4: case 6: case 11:\r\n return 30;\r\n default:\r\n return 31\r\n }\r\n }\r\n validateWholeDate(d, m, y) {\r\n return m >= 0 && m <= 12 && y >= 0 && d >= 0 && d <= this.getDaysInMonth(m, y);\r\n }\r\n\r\n getLoginURL(param) {\r\n if (param) {\r\n const splitParam = param.split('|');\r\n\r\n return location.protocol == 'https:' ? (window.location.origin + '/_trust/default.aspx?trust=' + splitParam[1] + '&ReturnUrl=' + window.location.pathname) : (window.location.origin + '/_layouts/15/Authenticate.aspx?Source=' + document.location.href);\r\n } else {\r\n return '';\r\n }\r\n }\r\n isOnlyNumbers(text) {\r\n if (/^[0-9]*$/.test(text) && text !== '') {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n isOnlyNumbersWithCurrency(text) {\r\n if (/^[0-9$.]*$/.test(text) && text !== '') {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n /*\r\n Funcion que ordena una lista de objetos por una propiedad especifica dada, y en un orden dado\r\n @params list - Array a ordenar\r\n @params property - String de la propiedad de cada objeto item del arreglo por la que se quiere ordenar\r\n @params order - boolean: true - ordenar ascendentemente, false - ordenar descendentemente\r\n @return orderedArray - Array ordenado\r\n */\r\n sortByProperty(list, property, order) {\r\n let value = 0;\r\n return list.sort((a, b) => {\r\n if (typeof a[property] === 'string' && typeof b[property] === 'string') {\r\n a[property] = a[property].toUpperCase();\r\n b[property] = b[property].toUpperCase();\r\n }\r\n\r\n if (a[property] < b[property]) {\r\n value = order ? -1 : 1;\r\n }\r\n if (a[property] > b[property]) {\r\n value = order ? 1 : -1;\r\n }\r\n\r\n return value;\r\n })\r\n }\r\n\r\n\r\n /* Handle scroll */\r\n handleScroll(event, propsTabIndex = 1, id = '') {\r\n const addClass = (el, className) => {\r\n if (el.classList)\r\n el.classList.add(className);\r\n else\r\n el.className += ' ' + className;\r\n }\r\n const removeClass = (el, className) => {\r\n if (el.classList)\r\n el.classList.remove(className);\r\n else\r\n el.className = el.className.replace(new RegExp('(^|\\\\b)' + className.split(' ').join('|') + '(\\\\b|$)', 'gi'), ' ');\r\n }\r\n $('.popover').hide();\r\n const tabIndex = !id ? propsTabIndex - 1 : 0;\r\n const actualId = id ? `#${id}` : '';\r\n const itemScroll = document.querySelectorAll(`${actualId}.tableContentBorder`)[tabIndex];\r\n\r\n const scrollLeftMax = itemScroll.scrollWidth - itemScroll.clientWidth;\r\n const dist = Math.round(2 * itemScroll.scrollLeft / scrollLeftMax);\r\n const min = dist === 0 ? 'first' : dist === 1 ? 'second' : 'third';\r\n const activeDots = document.querySelectorAll(`.scroll_item.tab_${propsTabIndex}`);\r\n activeDots.forEach(dot => {\r\n if (dot.id === min) {\r\n addClass(dot, 'scroll_active');\r\n } else {\r\n removeClass(dot, 'scroll_active');\r\n }\r\n })\r\n }\r\n\r\n /*\r\n Funcion que realiza un scroll a un elemento dado, con un tiempo de animación dado\r\n @params elemnt - string con el elemento para hacer scroll\r\n @params duration - number con la cantidad de milisegundos que se quiere que dura la animación\r\n */\r\n scrollToDiv(element, duration) {\r\n $('html, body').animate({\r\n scrollTop: $(`#${element}`).position().top\r\n }, duration);\r\n }\r\n /*\r\n Funcion que formatea un string dandole un formato de moneda: agrega el signo $ y le pone un separador de miles\r\n @params text - string numero a formatear\r\n @params separator - string con el separador de miles que se quiere poner. por defecto = '.'\r\n @return formattedString - string con el numero formatead\r\n */\r\n textToCurrency(text, separator = '.') {\r\n return text ? `$${text.replace(/\\B(?=(\\d{3})+(?!\\d))/g, separator)}` : '';\r\n }\r\n validateEmailInput(text) {\r\n const re = /^(([^<>()[\\]{\\}\\\\\\/.,;:#$%&=~+¿?¡!^*¨'`´áéíóúñÁÉÍÓÚÑ\\s@\\\"]+(\\.[^<>()[\\]{\\}\\\\\\/.,;:#$%&=~+¿?¡!^*¨'`´áéíóúñÁÉÍÓÚ\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/i;\r\n\r\n return re.test(String(text).toLowerCase());\r\n }\r\n}\r\n\r\nexport default Tools;","import Mensajes from \"./mensajes\";\r\nimport Tools from \"../../../base/components/tools\";\r\nexport default class CotizarFormulario extends React.Component {\r\n constructor() {\r\n super();\r\n\r\n this.state = {\r\n advancedOptionsExpanded: false,\r\n advancedOptionsActiveKey: null,\r\n };\r\n\r\n this.messages = {\r\n name: {\r\n required: \"El nombre es requerido\",\r\n alphabetical: \"El nombre no es correcto\",\r\n },\r\n email: {\r\n required: \"El email es requerido\",\r\n email: \"Por favor ingrese una dirección de correo\",\r\n },\r\n cajaCategory: {\r\n required: \"El campo categoría de caja es requerido\",\r\n },\r\n };\r\n\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleBlur = this.handleBlur.bind(this);\r\n this.handleFocus = this.handleFocus.bind(this);\r\n this.handleSwitch = this.handleSwitch.bind(this);\r\n this.handleSelect = this.handleSelect.bind(this);\r\n this.handlePanelSelect = this.handlePanelSelect.bind(this);\r\n //this.changePanelStatus = this.changePanelStatus.bind(this);\r\n this.subscribedCleanAll = this.subscribedCleanAll.bind(this);\r\n this.subscribedRemove = this.subscribedRemove.bind(this);\r\n this.calculator = this.calculator.bind(this);\r\n this.setCursorAtBegin = this.setCursorAtBegin.bind(this);\r\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n\r\n $(window).keyup((e) => {\r\n var code = e.keyCode ? e.keyCode : e.which;\r\n if (code == 9 && $(\"#email:focus\").length && $(\"#email\").val() == \"@\") {\r\n const input = document.getElementById(\"email\");\r\n input.setSelectionRange(0, 0);\r\n }\r\n });\r\n if (!window.location.origin) {\r\n window.location.origin =\r\n window.location.protocol +\r\n \"//\" +\r\n window.location.hostname +\r\n (window.location.port ? \":\" + window.location.port : \"\");\r\n }\r\n\r\n this.tools = new Tools();\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.planvital) {\r\n let currentForm = JSON.parse(JSON.stringify(this.props.form));\r\n currentForm[\"caja\"][\"value\"] = true;\r\n currentForm[\"eps\"][\"value\"] = true;\r\n this.props.updateFormState(currentForm, true);\r\n }\r\n let currentForm = JSON.parse(JSON.stringify(this.props.form));\r\n this.props.updateFormState(currentForm, true);\r\n }\r\n\r\n removeEmojis(string) {\r\n const regex = /([\\uD800-\\uDBFF][\\uDC00-\\uDFFF])/g;\r\n return string.replace(regex, \"\");\r\n }\r\n\r\n removeNonLetters(string) {\r\n const regex = /[^a-zA-Z\\s]/gi;\r\n return string.replace(regex, \"\");\r\n }\r\n\r\n handleChange(event) {\r\n let currentForm = JSON.parse(JSON.stringify(this.props.form));\r\n currentForm[event.target.id].value = event.target.value;\r\n if (event.target.id === \"name\") {\r\n currentForm[event.target.id].value = this.removeNonLetters(\r\n event.target.value\r\n );\r\n }\r\n this.props.updateFormState(currentForm);\r\n }\r\n\r\n handleBlur(event, elementId) {\r\n let currentForm = JSON.parse(JSON.stringify(this.props.form));\r\n let element = event.target;\r\n this.props.saludValidaciones.validateField(element, currentForm);\r\n this.props.updateFormState(currentForm);\r\n }\r\n\r\n handleFocus(event) {\r\n let currentForm = JSON.parse(JSON.stringify(this.props.form));\r\n if (!event.target.value) {\r\n currentForm[event.target.id].value = \"@\";\r\n }\r\n this.props.updateFormState(currentForm);\r\n if (\r\n currentForm[event.target.id] == \"email\" &&\r\n currentForm[event.target.id].value == \"@\"\r\n )\r\n this.setCursorAtBegin();\r\n }\r\n\r\n setCursorAtBegin() {\r\n let currentForm = JSON.parse(JSON.stringify(this.props.form));\r\n if (currentForm[\"email\"].value == \"@\") {\r\n const input = document.getElementById(\"email\");\r\n input.setSelectionRange(0, 0);\r\n }\r\n }\r\n\r\n handleSwitch(value, field) {\r\n let currentForm = JSON.parse(JSON.stringify(this.props.form));\r\n if (field == \"includeMe\" && currentForm[field].value != value) {\r\n const moreOrLessThan60 = currentForm.isOlder.value\r\n ? \"morethan60\"\r\n : \"lessthan60\";\r\n currentForm[moreOrLessThan60].value = value\r\n ? currentForm[moreOrLessThan60].value + 1\r\n : currentForm[moreOrLessThan60].value - 1;\r\n if (field == \"includeMe\") {\r\n currentForm[field].value = value;\r\n this.props.updateFormState(currentForm, true);\r\n }\r\n }\r\n currentForm[field].value = value;\r\n if (!this.props.planvital || field === \"includeMe\") {\r\n this.props.updateFormState(currentForm, true);\r\n } else {\r\n this.showMessagesPlanVital();\r\n // alert('no puede cambiar estado en plan vital')\r\n }\r\n }\r\n\r\n handleSelect(field, value) {\r\n let currentForm = JSON.parse(JSON.stringify(this.props.form));\r\n currentForm[field].value = value;\r\n this.props.saludValidaciones.validateField(\r\n { id: field, value: value },\r\n currentForm\r\n );\r\n this.props.updateFormState(currentForm, true);\r\n }\r\n\r\n subscribedCleanAll(event) {\r\n event.preventDefault();\r\n this.props.subscribedCleanAll(event);\r\n this.handlePanelSelect();\r\n }\r\n\r\n subscribedRemove(index, type, event) {\r\n event.preventDefault();\r\n this.props.subscribedRemove(index, type, () => {\r\n if (\r\n this.props.subscribed[\"lessthan60\"].length +\r\n this.props.subscribed[\"morethan60\"].length ==\r\n 0\r\n ) {\r\n this.handlePanelSelect();\r\n }\r\n });\r\n }\r\n\r\n handlePanelSelect(advancedOptionsActiveKey) {\r\n let currentOptions = JSON.parse(JSON.stringify(this.props.options));\r\n if (advancedOptionsActiveKey) {\r\n currentOptions.advancedOptions =\r\n this.props.subscribed[\"lessthan60\"].length +\r\n this.props.subscribed[\"morethan60\"].length >\r\n 0; //expanded && (this.props.subscribed['lessthan60'].length + this.props.subscribed['morethan60'].length > 0);\r\n this.props.updateOptionsState(currentOptions, true);\r\n this.setState({ advancedOptionsExpanded: true });\r\n } else {\r\n this.setState({ advancedOptionsExpanded: false });\r\n }\r\n this.setState({ advancedOptionsActiveKey });\r\n }\r\n\r\n calculator(type, operation, event) {\r\n event.preventDefault();\r\n this.props.calculator(type, operation, () => {\r\n if (\r\n this.props.subscribed[\"lessthan60\"].length +\r\n this.props.subscribed[\"morethan60\"].length ==\r\n 0\r\n ) {\r\n this.handlePanelSelect();\r\n }\r\n });\r\n }\r\n\r\n /*changePanelStatus (expanded) {\r\n let currentOptions = JSON.parse(JSON.stringify(this.props.options));\r\n if (expanded) {\r\n currentOptions.advancedOptions = true;//expanded && (this.props.subscribed['lessthan60'].length + this.props.subscribed['morethan60'].length > 0);\r\n this.props.updateOptionsState(currentOptions, true);\r\n }\r\n this.setState({ advancedOptionsExpanded: expanded });\r\n }*/\r\n\r\n getSubscribed(type) {\r\n let categoria = this.props.planvital\r\n ? this.props.options.cajaCategories.filter(\r\n (item) =>\r\n item.CSTituloCategoriaText === \"A\" ||\r\n item.CSTituloCategoriaText === \"B\"\r\n )\r\n : this.props.options.cajaCategories;\r\n return this.props.subscribed[type].map((subscribed, index) => {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n {index + 1}\r\n \r\n
\r\n
\r\n \r\n this.props.subscribedCleanData(index, type, event)\r\n }\r\n >\r\n Limpiar datos\r\n \r\n this.subscribedRemove(index, type, event)}\r\n title=\"Eliminar Afiliado\"\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n this.props.subscribedHandleBlur(index, type, event)\r\n }\r\n onChange={(event) =>\r\n this.props.subscribedHandleChange(index, type, event)\r\n }\r\n value={this.props.subscribed[type][index].form.name.value}\r\n />\r\n \r\n {\r\n this.messages.name[\r\n this.props.subscribed[type][index].form.name.error\r\n ]\r\n }\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n this.props.subscribedHandleSwitch(\r\n index,\r\n true,\r\n \"caja\",\r\n type\r\n )\r\n }\r\n >\r\n Si\r\n
\r\n {\r\n this.props.planvital\r\n ? this.showMessagesPlanVital()\r\n : this.props.subscribedHandleSwitch(\r\n index,\r\n false,\r\n \"caja\",\r\n type\r\n );\r\n }}\r\n >\r\n No\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Categoría de Caja de Compensación\r\n \r\n
\r\n \r\n this.props.subscribedHandleSelect(\r\n index,\r\n \"cajaCategory\",\r\n type,\r\n value\r\n )\r\n }\r\n >\r\n {categoria.map((cajaCategory) => {\r\n return (\r\n \r\n {cajaCategory.CSTituloCategoriaText}\r\n \r\n );\r\n })}\r\n \r\n {this.props.popovers[\"CategoriaCaja\"] && (\r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n this.props.subscribedHandleSwitch(\r\n index,\r\n true,\r\n \"eps\",\r\n type\r\n )\r\n }\r\n >\r\n Si\r\n
\r\n {\r\n this.props.planvital\r\n ? this.showMessagesPlanVital()\r\n : this.props.subscribedHandleSwitch(\r\n index,\r\n false,\r\n \"eps\",\r\n type\r\n );\r\n }}\r\n >\r\n No\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n });\r\n return subscribed;\r\n }\r\n\r\n handleFormSubmit(e) {\r\n e.preventDefault();\r\n console.log(\"enter...\");\r\n }\r\n\r\n showMessagesPlanVital() {\r\n this.refs.messagePlanvital.handleShow();\r\n }\r\n\r\n render() {\r\n let categoria = this.props.planvital\r\n ? this.props.options.cajaCategories.filter(\r\n (item) =>\r\n item.CSTituloCategoriaText === \"A\" ||\r\n item.CSTituloCategoriaText === \"B\"\r\n )\r\n : this.props.options.cajaCategories;\r\n let loginURL = \"\";\r\n if (Object.keys(this.props.configurations).length) {\r\n loginURL = this.tools.getLoginURL(this.props.configurations[\"FBA_CLAIM\"]);\r\n }\r\n return (\r\n
\r\n \r\n Si tienes un usuario y contraseña Compensar{\" \"}\r\n Inicia Sesión para una respuesta más detallada\r\n y para poder iniciar tu compra.\r\n
\r\n \r\n

\r\n Ingresa el número de personas a cotizar por grupo de edad\r\n

\r\n

\r\n {this.props.configurations[\"TextoIntroductorioSubSección\"]}\r\n

\r\n
\r\n
\r\n \r\n
\r\n \r\n {this.props.form.lessthan60.value}\r\n \r\n
\r\n \r\n this.calculator(\"lessthan60\", \"remove\", event)\r\n }\r\n disabled={\r\n this.props.form.lessthan60.value == 0 ||\r\n (this.props.form.lessthan60.value == 1 &&\r\n this.props.form.includeMe.value &&\r\n !this.props.form.isOlder.value)\r\n }\r\n >\r\n -\r\n \r\n \r\n this.calculator(\"lessthan60\", \"add\", event)\r\n }\r\n >\r\n +\r\n \r\n
\r\n
\r\n
\r\n {!this.props.planvital ? (\r\n
\r\n \r\n
\r\n \r\n {this.props.form.morethan60.value}\r\n \r\n
\r\n \r\n this.calculator(\"morethan60\", \"remove\", event)\r\n }\r\n disabled={\r\n this.props.form.morethan60.value == 0 ||\r\n (this.props.form.morethan60.value == 1 &&\r\n this.props.form.includeMe.value &&\r\n this.props.form.isOlder.value)\r\n }\r\n >\r\n -\r\n \r\n \r\n this.calculator(\"morethan60\", \"add\", event)\r\n }\r\n >\r\n +\r\n \r\n
\r\n {this.props.popovers && this.props.popovers[\"Mayores\"] && (\r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n ) : null}\r\n\r\n

\r\n Señor usuario, la cotización solo se realizará para un número\r\n máximo de 20 afiliados\r\n

\r\n
\r\n

Datos del interesado

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

\r\n {this.messages.name[this.props.form.name.error]}\r\n

\r\n
\r\n \r\n \r\n \r\n Correo electrónico *\r\n \r\n
\r\n \r\n

\r\n {this.messages.email[this.props.form.email.error]}\r\n

\r\n
\r\n \r\n {(this.props.isAuthenticated ||\r\n this.props.options.advancedOptions ||\r\n !this.props.options.advancedOptions) && (\r\n
\r\n \r\n
\r\n
\r\n this.handleSwitch(true, \"caja\")}\r\n >\r\n Si\r\n
\r\n this.handleSwitch(false, \"caja\")}\r\n >\r\n No\r\n
\r\n
\r\n \r\n \r\n )}\r\n {(this.props.isAuthenticated ||\r\n this.props.options.advancedOptions ||\r\n !this.props.options.advancedOptions) && (\r\n \r\n \r\n Categoría de Caja de Compensación\r\n \r\n
\r\n \r\n this.handleSelect(\"cajaCategory\", value)\r\n }\r\n >\r\n {categoria.map((cajaCategory) => {\r\n return (\r\n \r\n {cajaCategory.CSTituloCategoriaText}\r\n \r\n );\r\n })}\r\n \r\n {this.props.popovers && this.props.popovers[\"CategoriaCaja\"] && (\r\n \r\n \r\n \r\n )}\r\n \r\n {\r\n this.messages.cajaCategory[\r\n this.props.form.cajaCategory.error\r\n ]\r\n }\r\n

\r\n
\r\n \r\n )}\r\n {(this.props.isAuthenticated ||\r\n this.props.options.advancedOptions ||\r\n !this.props.options.advancedOptions) && (\r\n
\r\n \r\n
\r\n
\r\n this.handleSwitch(true, \"eps\")}\r\n >\r\n Si\r\n
\r\n this.handleSwitch(false, \"eps\")}\r\n >\r\n No\r\n
\r\n
\r\n \r\n \r\n )}\r\n {this.props.isAuthenticated && this.props.form.age && (\r\n
\r\n \r\n
\r\n
\r\n this.handleSwitch(true, \"includeMe\")}\r\n >\r\n Si\r\n
\r\n this.handleSwitch(false, \"includeMe\")}\r\n >\r\n No\r\n
\r\n
\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Opciones avanzadas\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Limpiar todos los datos\r\n \r\n
\r\n {this.props.options.advancedOptions && (\r\n

\r\n {this.props.configurations[\"IngresaDatosBeneficiarios\"]}\r\n

\r\n )}\r\n

Afiliados Menores de 60 años

\r\n {this.getSubscribed(\"lessthan60\")}\r\n {!this.props.planvital ? (\r\n

Afiliados Mayores de 60 años

\r\n ) : null}\r\n {this.getSubscribed(\"morethan60\")}\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n IMPORTANTE: {this.props.configurations[\"Importante\"]}\r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n/******************** BUILD ********************/\r\nlet Panel = ReactBootstrap.Panel;\r\nlet PanelGroup = ReactBootstrap.PanelGroup;\r\nlet OverlayTrigger = ReactBootstrap.OverlayTrigger;\r\nlet DropdownButton = ReactBootstrap.DropdownButton;\r\nlet MenuItem = ReactBootstrap.MenuItem;\r\nlet Modal = ReactBootstrap.Modal;\r\nlet Button = ReactBootstrap.Button;\r\n/******************** BUILD ********************/\r\n","\r\nexport default class EnviarSimulacionFormulario extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.pnpService = new ServicioPnp();\r\n\r\n this.state = {\r\n container: true,\r\n form: this.createForm(),\r\n isSubmitted: false,\r\n typeDocList: [],\r\n shedule: {},\r\n isDisabled: true,\r\n carousel: {\r\n settings: {\r\n dots: false,\r\n arrows: true,\r\n speed: 500,\r\n initialSlide: 0,\r\n slidesToShow: 3,\r\n slidesToScroll: 1,\r\n nextArrow: ,\r\n prevArrow: ,\r\n variableWidth: false,\r\n focusOnSelect: false,\r\n infinite: false,\r\n centerMode: false,\r\n responsive: [\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 7,\r\n slidesToScroll: 2\r\n }\r\n },\r\n {\r\n breakpoint: 992,\r\n settings: {\r\n slidesToShow: 4\r\n }\r\n },\r\n {\r\n breakpoint: 812,\r\n settings: {\r\n slidesToShow: 4\r\n }\r\n },\r\n {\r\n breakpoint: 736,\r\n settings: {\r\n slidesToShow: 3\r\n }\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 2\r\n }\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2\r\n }\r\n },\r\n {\r\n breakpoint: 375,\r\n settings: {\r\n slidesToShow: 2\r\n }\r\n },\r\n {\r\n breakpoint: 360,\r\n settings: {\r\n slidesToShow: 2\r\n }\r\n },\r\n {\r\n breakpoint: 320,\r\n settings: {\r\n slidesToShow: 2\r\n }\r\n }\r\n ]\r\n },\r\n isActive: false,\r\n itemSelected: {},\r\n hourSelected: ''\r\n },\r\n currentMessage: true,\r\n monthName: '',\r\n registeredNumber: 0\r\n };\r\n\r\n this.errorMessages = {\r\n required: 'es requerido',\r\n maxlength: 'ha excedido del valor maximo permitido',\r\n email: 'Por favor ingrese una dirección de correo',\r\n equalTo: 'No es igual al correo personal',\r\n number: 'solo permite números',\r\n isEmailRequired: 'es requerida',\r\n minlength: 'debe contener un mínimo de 10 dígitos',\r\n alphanumeric: 'No permite caracteres especiales'\r\n }\r\n\r\n this.createForm = this.createForm.bind(this);\r\n this.setRulesForm = this.setRulesForm.bind(this);\r\n this.saludValidaciones = new SaludValidaciones(this.state.form, this.setRulesForm());\r\n this.callPNPService = this.callPNPService.bind(this);\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.handleSelect = this.handleSelect.bind(this);\r\n this.handleSwitch = this.handleSwitch.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.handleBlur = this.handleBlur.bind(this);\r\n this.setFormdata = this.setFormdata.bind(this);\r\n this.selectedDate = this.selectedDate.bind(this);\r\n this.activeHours = this.activeHours.bind(this);\r\n this.updateName = this.updateName.bind(this);\r\n this.handleFocus = this.handleFocus.bind(this);\r\n this.getsubscribed = this.getsubscribed.bind(this);\r\n this.getDocType = this.getDocType.bind(this);\r\n this.setCursorAtBegin = this.setCursorAtBegin.bind(this);\r\n\r\n $(window).keyup((e) => {\r\n var code = (e.keyCode ? e.keyCode : e.which);\r\n if (code == 9 && $('#confirmEmail:focus').length && $('#confirmEmail').val() == '@') {\r\n const input = document.getElementById(\"confirmEmail\");\r\n input.setSelectionRange(0, 0);\r\n }\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n this.callPNPService();\r\n }\r\n\r\n callPNPService() {\r\n\r\n this.pnpService.getListWithTop('horarioContacto', (list) => {\r\n let shedule = [];\r\n let sheduleSort = [];\r\n const currentDate = new Date();\r\n let sheduleSortLength = 0;\r\n let monthName = moment(currentDate).format('MMMM', true);\r\n this.setState({ monthName: monthName });\r\n\r\n function compare(a, b) {\r\n var dateA = new Date(a.CSCalendarioDateTime), dateB = new Date(b.CSCalendarioDateTime);\r\n return dateA - dateB;\r\n }\r\n\r\n function removeDuplicateDate(arr) {\r\n let unique_array = [];\r\n let arraySize = 0;\r\n if (arr.length >= 7) {\r\n arraySize = 7;\r\n } else {\r\n arraySize = arr.length;\r\n }\r\n\r\n for (let i = 0; i < arraySize; i++) {\r\n if (arr[i + 1]) {\r\n if (arr[i + 1].date.getDate() !== arr[i].date.getDate()) {\r\n unique_array.push(arr[i]);\r\n }\r\n } else {\r\n unique_array.push(arr[i]);\r\n }\r\n }\r\n return unique_array;\r\n }\r\n\r\n list.sort(compare).map((item, key) => {\r\n let date = new Date(item.CSCalendarioDateTime);\r\n let createdDate = new Date(item.Created);\r\n const monthName = moment(date).format('MMMM', true);\r\n let weekStart = new Date(item.CSCalendarioDateTime);\r\n date = new Date(date.getTime() - date.getTimezoneOffset() * -60000);\r\n createdDate = new Date(createdDate.getTime() - createdDate.getTimezoneOffset() * -60000);\r\n weekStart.setDate(weekStart.getDate() - weekStart.getDay());\r\n let weekEnd = new Date(+weekStart);\r\n weekEnd.setDate(weekEnd.getDate() + 6);\r\n if (date.setHours(0, 0, 0, 0) > currentDate.setHours(0, 0, 0, 0) && date.setHours(0, 0, 0, 0) - currentDate.setHours(0, 0, 0, 0) !== 0) {\r\n sheduleSort.push({ month: monthName, date: date, hours: item.CSHorarioMultiChoice.results, weekStart: weekStart, weekEnd: weekEnd, monthVisible: true });\r\n }\r\n });\r\n\r\n sheduleSort = removeDuplicateDate(sheduleSort);\r\n sheduleSortLength = sheduleSort.length;\r\n\r\n sheduleSort.map((item, key) => {\r\n let date = item.date;\r\n let checkWeek = key + 1 !== sheduleSortLength && sheduleSort[key + 1].weekStart ? sheduleSort[key + 1].weekStart : sheduleSort[key].weekStart;\r\n if (item.weekStart - checkWeek === 0 && item.weekStart) {\r\n shedule.push({ month: item.month, date: date, hours: item.hours, line: false, monthVisible: item.monthVisible });\r\n } else {\r\n shedule.push({ month: item.month, date: date, hours: item.hours, line: true, monthVisible: item.monthVisible });\r\n }\r\n });\r\n this.setState({\r\n shedule\r\n });\r\n }, 365);\r\n\r\n this.pnpService.getList('tiposDocumento', (list) => {\r\n this.setState({ typeDocList: list }, (() => {\r\n if (this.props.form) {\r\n this.setFormdata(this.props.form);\r\n }\r\n }));\r\n\r\n });\r\n\r\n }\r\n\r\n createForm() {\r\n const formProperties = ['fullName', 'identificationType', 'identificationNumber', 'phone', 'email', 'confirmEmail', 'isContacted', 'confirmPersonalData', 'confirmEmailMessage', 'confirmTextMessage'];\r\n let formObject = {};\r\n let formArray = formProperties.map((property) => {\r\n formObject[property] = { value: '' };\r\n\r\n if (property === 'identificationType') {\r\n formObject['identificationType']['value'] = 'Seleccionar';\r\n formObject['identificationType']['valid'] = false;\r\n }\r\n if (property === 'isContacted') { formObject['isContacted']['value'] = true; }\r\n if (property === 'confirmPersonalData') { formObject['confirmPersonalData']['value'] = true; }\r\n if (property === 'confirmEmailMessage') { formObject['confirmEmailMessage']['value'] = true; }\r\n if (property === 'confirmTextMessage') { formObject['confirmTextMessage']['value'] = true; }\r\n });\r\n formObject['isValid'] = false;\r\n return formObject;\r\n }\r\n\r\n setFormdata(data) {\r\n let form = this.state.form;\r\n data.name ? form['fullName'].value = data.name.value : form['fullName'].value = '';\r\n data.email ? form['email'].value = data.email.value : form['email'].value = '';\r\n data.identificationType ? form['identificationType'] = data.identificationType : form['identificationType'].value = '';\r\n data.identificationNumber ? form['identificationNumber'].value = data.identificationNumber.value : form['identificationNumber'].value = '';\r\n data.phone ? form['phone'].value = data.phone.value : form['phone'].value = '';\r\n // data.documentNumber ? form['identificationNumber'].value = data.documentNumber.value : form['identificationNumber'].value = '';\r\n if (data.documentType) {\r\n const typeDocList = this.state['typeDocList'];\r\n let typeDoc = typeDocList.find(elem => elem.CSIdDocumentoText === data.documentType.value);\r\n form['identificationType'].value = typeDoc.CSDocumentoIdentidadText;\r\n form['identificationType'].valid = true;\r\n }\r\n this.setState({ form: form });\r\n }\r\n\r\n getsubscribed(subscribed) {\r\n let subscribedTemp = [];\r\n subscribed.map((person) => {\r\n subscribedTemp.push(\r\n {\r\n Nombre: person.form.name.value,\r\n Categoria: person.form.cajaCategory.value,\r\n EPSCompensar: person.form.eps.value ? '8' : '111',\r\n TipoDeDocumento: person.form.documentType ? this.getDocType(person.form.documentType.value) : null,\r\n NumeroDeDocumento: person.form.documentNumber ? person.form.documentNumber.value : '',\r\n Edad: person.form.age ? person.form.age.value : 0,\r\n Genero: person.form.gender ? person.form.gender.value : null,\r\n Parentesco: person.form.relationship ? person.form.relationship.value : ''\r\n }\r\n )\r\n });\r\n return subscribedTemp;\r\n }\r\n\r\n getDocType(docType) {\r\n if (docType !== 'Seleccionar') {\r\n const typeDocList = this.state['typeDocList'];\r\n let typeDoc = typeDocList.find(elem => elem.CSDocumentoIdentidadText === docType || elem.CSIdDocumentoText === docType);\r\n return typeDoc.CSSiglaText;\r\n } else {\r\n return null;\r\n }\r\n\r\n }\r\n\r\n setRulesForm() {\r\n const email = this.state.form.email.value;\r\n const rules = {\r\n fullName: {\r\n required: true,\r\n maxlength: 105\r\n },\r\n email: {\r\n email: true\r\n },\r\n confirmEmail: {\r\n email: true,\r\n equalTo: (value) => {\r\n return value.trim().toLowerCase() === this.state.form.email.value.trim().toLowerCase() && this.state.form.email.value.trim().toLowerCase();\r\n },\r\n required: () => {\r\n return this.state.form.email.value;\r\n }\r\n },\r\n identificationNumber: {\r\n maxlength: 60,\r\n required: true,\r\n alphanumeric: (value) => {\r\n return /^[ _]*[a-zA-Z0-9 áéíóúÁÉÍÓÚñÑ]*$/.test(value) && value.trim() != '';\r\n }\r\n },\r\n identificationType: {\r\n required: true\r\n },\r\n phone: {\r\n required: true,\r\n maxlength: 10,\r\n number: true,\r\n minlength: 10\r\n }\r\n };\r\n return rules;\r\n }\r\n\r\n removeNonLetters(string) {\r\n const regex = /[^a-zA-Z\\s]/gi;\r\n return string.replace(regex, '');\r\n }\r\n\r\n handleInputChange(event) {\r\n if (event) {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n let FormValues = this.state.form;\r\n FormValues[name].value = value;\r\n if (target.name === \"fullName\") {\r\n FormValues[name].value = this.removeNonLetters(value);\r\n }\r\n this.setState({\r\n form: FormValues\r\n });\r\n }\r\n }\r\n\r\n handleSwitch(selected, field) {\r\n let FormValues = this.state.form;\r\n let valueSelected = selected ? true : false;\r\n let carousel = this.state.carousel;\r\n this.setState({ currentMessage: valueSelected });\r\n if (!valueSelected) {\r\n carousel['isActive'] = false;\r\n carousel['itemSelected'] = {};\r\n carousel['hourSelected'] = '';\r\n this.setState({ carousel: carousel });\r\n }\r\n\r\n FormValues[field]['value'] = valueSelected;\r\n this.setState({ form: FormValues });\r\n }\r\n\r\n handleSelect(item) {\r\n let FormValues = this.state.form;\r\n FormValues['identificationType'].value = item.CSDocumentoIdentidadText;\r\n this.setState({\r\n form: FormValues\r\n });\r\n }\r\n\r\n handleNotificaciones() {\r\n let tipoDocumento = this.state.typeDocList.filter(item => item.CSSiglaText == this.props.form.identificationType.sigla)\r\n let body = {\r\n NotificacionExterna: {\r\n CodigoTipoNotificacion: 119,\r\n CodigoMedioNotificacion: 2,\r\n Asunto: \"Informacion de cotizacion Plan Vital Compensar\",\r\n TipoDocumento: tipoDocumento[0].CSIdDocumentoText,\r\n NumeroDocumento: this.props.form.identificationNumber.value,\r\n Destino: this.props.form.email.value,\r\n Parametros: [\r\n {\r\n Key: \"NombreContratante\",\r\n Value: this.props.form.name.value,\r\n },\r\n {\r\n Key: \"PrecioMesual\",\r\n Value: this.props.precio\r\n },\r\n {\r\n Key: \"NumeroAfiliados\",\r\n Value: this.props.form.lessthan60.value\r\n },\r\n {\r\n Key: \"TotalAfiliados\",\r\n Value: this.props.form.lessthan60.value * this.props.precio\r\n },\r\n {\r\n Key: \"ValorTotal\",\r\n Value: this.props.form.lessthan60.value * this.props.precio\r\n }\r\n ],\r\n Documentos: []\r\n }\r\n \r\n }\r\n const traceabilityQuoting = new ServicioProxy('NotificacionExterna');\r\n traceabilityQuoting.getElements('POST', body).then((response) => {console.log(response)}) \r\n }\r\n\r\n handleSubmit(event) {\r\n event.preventDefault();\r\n let userInfoCheck = compTools.obtenerInformacionUsuario();\r\n\r\n dataLayer.push({\r\n event: \"cotizacion_plan\",\r\n user_id: userInfoCheck.Nautcli,\r\n log_status: \"true\",\r\n login_type: userInfoCheck.TipoIdentificacion == 2 ? \"Empresas\" : \"Personas\",\r\n affiliation:\"Salud\",\r\n bread_crumbs: this.UrlCatcher(),\r\n step: \"Paso 3\",\r\n option: this.props.planvital ? \"Cotiza Plan Vital\" : \"Cotiza Plan Complementario Especial\",\r\n action: \"Enviar\"\r\n });\r\n\r\n this.setState({ isSubmitted: true });\r\n let errors = 0;\r\n let currentForm = JSON.parse(JSON.stringify(this.state.form));\r\n this.saludValidaciones.validateForm(currentForm);\r\n this.setState({ form: currentForm });\r\n let idCotizacion = sessionStorage.getItem('idCotizacion');\r\n\r\n let params = {\r\n IdLista: this.pnpService.getIdsListas().trazabilidadCotizador.id,\r\n IdListaBeneficiario: this.pnpService.getIdsListas().trazabilidadCotizadorDetalle.id,\r\n UrlSitio: _spPageContextInfo.webAbsoluteUrl,\r\n Datos: {\r\n TarifaMes: this.props.summary.monthlyFare,\r\n ValorContrato: this.props.summary.total,\r\n ContactoTelefonoMovil: this.state.form.phone ? this.state.form.phone.value : ''\r\n },\r\n Simulacion: {\r\n PrecioMensualDesde: this.props.summary.monthlyFare,\r\n DescuentoEps: this.props.summary.epsDiscount,\r\n DescuentoCajaCompensacion: this.props.summary.cajaDiscount,\r\n UsuariosMenorEdadDefinida: {\r\n CantidadUsuarios: this.props.summary.lessthan60quantity,\r\n ValorTotal: this.props.summary.lessthan60total\r\n },\r\n UsuariosMayorEdadDefinida: {\r\n CantidadUsuarios: this.props.summary.morethan60quantity,\r\n ValorTotal: this.props.summary.morethan60total\r\n },\r\n UsuariosTotal: {\r\n CantidadUsuarios: this.props.summary.totalQuantity,\r\n ValorTotal: this.props.summary.total\r\n }\r\n },\r\n Interesado: {\r\n TipoDeDocumento: this.state.form.identificationType.sigla,\r\n NumeroDeDocumento: this.state.form.identificationNumber.value,\r\n Nombre: this.state.form.fullName.value\r\n },\r\n Beneficiario: [],\r\n IdCotizacion: idCotizacion\r\n };\r\n if (this.props.planvital) {\r\n params[\"EsPlanVital\"] = true;\r\n params['PlanVitalRequest'] = {\r\n \"NombreContratante\": this.state.form.fullName.value,\r\n \"PrecioMensualDesde\": this.props.precio,\r\n \"CantidadAfiliados\": this.props.form.lessthan60.value,\r\n \"Email\": this.state.form.email.value\r\n }\r\n this.handleNotificaciones();\r\n }\r\n if (this.state.form.confirmEmailMessage.value) {\r\n params['Datos']['ContactoCorreo'] = this.state.form.email ? this.state.form.email.value : ''\r\n }\r\n\r\n const traceabilityQuoting = new ServicioProxy('GuardarSimulacionCotizador');\r\n const date = new Date(this.state.carousel.itemSelected.date);\r\n if (currentForm['isValid'] && !this.state.form.confirmPersonalData.value) {\r\n //Data Origen Información - Básico\r\n params['Datos']['TipoConsulta'] = 'Simulaciones No autorizadas';\r\n\r\n } else if (currentForm['isValid']) {\r\n params['Datos']['TipoConsulta'] = 'Simulaciones autorizadas';\r\n params['Datos']['Categoria'] = this.props.form && this.props.form.cajaCategory ? this.props.form.cajaCategory.value : null;\r\n params['Datos']['EPSCompensar'] = this.props.form && this.props.form.eps.value ? '8' : '111';\r\n params['Datos']['AceptoInfoMensMovil'] = this.state.form.confirmTextMessage.value ? 'Si' : 'No';\r\n params['Datos']['AutorizoDatosPersonales'] = this.state.form.confirmPersonalData.value ? 'Si' : 'No';\r\n params['Datos']['CSAceptoInfoEmailText'] = this.state.form.confirmEmailMessage.value ? 'Si' : 'No';\r\n\r\n params['Datos']['ContactoFecha'] = this.state.carousel.itemSelected.date ? '\\/Date(' + date.getTime() + ')\\/' : null;\r\n params['Datos']['ContactoHorario'] = this.state.carousel.hourSelected ? this.state.carousel.hourSelected : null;\r\n\r\n params['Interesado'] = {\r\n TipoDeDocumento: this.state.form.identificationType.value ? this.getDocType(this.state.form.identificationType.value) : this.state.form.identificationType.value,\r\n NumeroDeDocumento: this.state.form.identificationNumber.value,\r\n Nombre: this.state.form.fullName.value\r\n };\r\n\r\n let moreThan60 = [];\r\n let lessThan60 = [];\r\n moreThan60 = this.getsubscribed(this.props.subscribed.morethan60);\r\n lessThan60 = this.getsubscribed(this.props.subscribed.lessthan60);\r\n params['Beneficiario'] = moreThan60.concat(lessThan60);\r\n\r\n if (compTools.estaAutenticado()) {\r\n params['Datos']['Parentesco'] = this.props.form && this.props.form.relationship ? this.props.form.relationship.value : '';\r\n params['Datos']['Nit'] = this.props.form && this.props.form.nit.value ? this.props.form.nit.value : null;\r\n\r\n params['Interesado']['Edad'] = this.props.form && this.props.form.age ? this.props.form.age.value : 0;\r\n params['Interesado']['Genero'] = this.props.form && this.props.form.gender ? this.props.form.gender.value : null;\r\n\r\n }\r\n }\r\n\r\n if (currentForm['isValid'] && !this.state.form.isContacted.value || currentForm['isValid'] && this.state.form.isContacted.value && this.state.carousel.itemSelected.date && this.state.carousel.hourSelected !== '' && this.state.form.confirmPersonalData.value) {\r\n this.setState({ isDisabled: false });\r\n traceabilityQuoting.getElements('POST', params).then((response) => {\r\n this.setState({ registeredNumber: response });\r\n this.setState({ container: false });\r\n }).catch(error => console.error(error));\r\n }\r\n }\r\n\r\n handleBlur(event, elementId) {\r\n let currentForm = JSON.parse(JSON.stringify(this.state.form));\r\n let element = event.target;\r\n this.saludValidaciones.validateField(element, currentForm);\r\n this.setState({ form: currentForm });\r\n }\r\n\r\n handleFocus(event) {\r\n let currentForm = JSON.parse(JSON.stringify(this.state.form));\r\n if (!event.target.value) {\r\n currentForm[event.target.id].value = '@';\r\n this.setCursorAtBegin();\r\n }\r\n this.setState({ form: currentForm });\r\n }\r\n\r\n setCursorAtBegin() {\r\n let currentForm = JSON.parse(JSON.stringify(this.state.form));\r\n if (currentForm['email'].value == '@') {\r\n const input = document.getElementById(\"email\");\r\n input.setSelectionRange(0, 0);\r\n } else if (currentForm['confirmEmail'].value == '@') {\r\n const input = document.getElementById(\"confirmEmail\");\r\n input.setSelectionRange(0, 0);\r\n }\r\n }\r\n\r\n selectedDate(item) {\r\n let carousel = this.state.carousel;\r\n carousel['isActive'] = true;\r\n carousel['itemSelected'] = item;\r\n this.setState({ carousel: carousel });\r\n this.updateName(item);\r\n }\r\n\r\n activeHours(hour) {\r\n let carousel = this.state.carousel;\r\n carousel['hourSelected'] = hour;\r\n this.setState({ currentMessage: false });\r\n this.setState({ carousel: carousel });\r\n }\r\n\r\n updateName(item) {\r\n let monthName = moment(new Date(item.date)).format('MMMM', true);\r\n this.setState({ monthName: monthName });\r\n }\r\n\r\n UrlCatcher() {\r\n var ultimaPosicion = window.location.pathname.split(\"/\");\r\n var nivelAnterior = ultimaPosicion.slice(ultimaPosicion.length - 1);\r\n var text = \"\";\r\n nivelAnterior.forEach((item) => {\r\n text = text + \"/\" + item;\r\n });\r\n return decodeURI(text).slice(1);\r\n }\r\n\r\n finishStep() {\r\n let userInfoCheck = compTools.obtenerInformacionUsuario();\r\n\r\n dataLayer.push({\r\n event: \"cotizacion_plan\",\r\n user_id: userInfoCheck.Nautcli,\r\n log_status: \"true\",\r\n login_type: userInfoCheck.TipoIdentificacion == 2 ? \"Empresas\" : \"Personas\",\r\n affiliation: \"Salud\",\r\n bread_crumbs: this.UrlCatcher(),\r\n option: this.props.planvital ? \"Cotiza Plan Vital\" : \"Cotiza Plan Complementario Especial\",\r\n step: \"Paso 4\",\r\n })\r\n this.props.handleHide();\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n {this.state.container ?\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n

Nombre completo {this.errorMessages[this.state.form.fullName.error]}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {\r\n this.state.typeDocList.map(item => {\r\n return (\r\n this.handleSelect(item)}>\r\n {item.CSDocumentoIdentidadText}\r\n \r\n )\r\n })\r\n }\r\n \r\n

Tipo de documento es requerido

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

Documento de Identidad {this.errorMessages[this.state.form.identificationNumber.error]}

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

Teléfono Móvil {this.errorMessages[this.state.form.phone.error]}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n e.preventDefault()}\r\n onChange={this.handleInputChange}\r\n onBlur={this.handleBlur}\r\n onFocus={this.handleFocus}\r\n onClick={this.setCursorAtBegin}\r\n placeholder=\"Ingresa tu correo electrónico\" autocomplete=\"off\" />\r\n {this.state.form.email.valid && this.state.form.email.value !== '' ? : ''}\r\n {this.state.form.email.value === '@' ?\r\n

{this.props.configurations.MensajeCorreoRequerido}

\r\n :\r\n

{this.props.configurations.MensajeCorreoInvalido}

\r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n e.preventDefault()}\r\n type=\"text\"\r\n id=\"confirmEmail\"\r\n name=\"confirmEmail\"\r\n className=\"form-control input-med-size\"\r\n tabIndex=\"5\"\r\n maxLength=\"245\"\r\n value={this.state.form.confirmEmail.value}\r\n onChange={this.handleInputChange}\r\n onBlur={this.handleBlur}\r\n onFocus={(e) => this.handleFocus(e)}\r\n onClick={this.setCursorAtBegin}\r\n placeholder=\"Confirma tu correo electrónico\"\r\n autocomplete=\"off\" />\r\n {this.state.form.confirmEmail.valid && this.state.form.confirmEmail.value !== '' && this.state.form.confirmEmail.value !== '@' ?\r\n : ''}\r\n {this.state.form.confirmEmail.value === '@' ?\r\n

\r\n {this.props.configurations.MensajeCorreoRequerido}\r\n

\r\n :\r\n

\r\n {this.state.form.confirmEmail.error === 'equalTo' && this.state.form.email.value ?\r\n \r\n {this.props.configurations.MensajeCorreoConfirmacion}\r\n \r\n :\r\n \r\n {this.props.configurations.MensajeCorreoInvalido}\r\n \r\n }\r\n

\r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
this.handleSwitch(true, 'isContacted')}>Si
\r\n
this.handleSwitch(false, 'isContacted')}>No
\r\n
\r\n
\r\n {\r\n this.state.form.isContacted.value ?\r\n
\r\n
\r\n \r\n
\r\n : ''\r\n }\r\n\r\n
\r\n
\r\n
\r\n
\r\n {\r\n this.state.form.isContacted.value ?\r\n
\r\n {\r\n this.state.shedule.length > 0 ?\r\n
\r\n

Selecciona un dia para contactarte*

\r\n {/*

{ this.state.monthName }

*/}\r\n
\r\n : null\r\n }\r\n {\r\n this.state.shedule.length > 0 ?\r\n \r\n {\r\n this.state.shedule.map((item, key) => {\r\n return (\r\n
\r\n

{item.monthVisible ? moment(new Date(item.date)).format('MMM', true) : ''}

\r\n this.selectedDate(item)}>\r\n
\r\n
{moment(new Date(item.date)).format('ddd', true)}
\r\n
{moment(new Date(item.date)).format('DD', true)}
\r\n
{moment(new Date(item.date)).format('YYYY', true)}
\r\n
\r\n \r\n
\r\n )\r\n })\r\n }\r\n
\r\n :\r\n

En este momento no hay una Agenda disponible, por favor pongase en contacto con un Administrador.

\r\n }\r\n {\r\n this.state.carousel.isActive ?\r\n
\r\n
\r\n

Selecciona un hora ideal contactarte*

\r\n {\r\n this.state.carousel.itemSelected && this.state.carousel.itemSelected.hours && this.state.carousel.itemSelected.hours.map(el => {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n })\r\n }\r\n
\r\n
\r\n :\r\n null\r\n }\r\n
\r\n :\r\n null\r\n }\r\n
\r\n {/*
\r\n
\r\n
\r\n \r\n \r\n

Autorización de tratamiento de los datos personales { this.errorMessages['required'] }

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
*/}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n :\r\n
\r\n

{this.state.form.fullName.value}

\r\n

{this.props.configurations.TextoAgradecimiento}

\r\n {\r\n this.state.form.confirmEmailMessage.value ?\r\n
\r\n
\r\n {this.state.form.isContacted.value ?\r\n
\r\n

{this.props.planvital ? this.props.configurations.TextoEnvioCorreoRadicadoPlanVital : this.props.configurations.TextoEnvioCorreoRadicado}

\r\n

{this.props.planvital ? this.props.configurations.TextoNumeroRadicadoPlanVital + ' ' + this.state.registeredNumber : this.props.configurations.TextoMensajeTuRadicado + ' ' + this.state.registeredNumber}

\r\n
\r\n :\r\n

{this.props.planvital ? this.props.configurations.TextoEnvioCorreoPlanVital : this.props.configurations.TextoEnvioCorreo}

\r\n }\r\n
\r\n
\r\n
\r\n :\r\n
\r\n {this.state.form.isContacted.value ?\r\n
\r\n

{this.props.configurations.TextoEnvioCorreoNoAceptoRecibirInformacion}

\r\n

{this.props.planvital ? this.props.configurations.TextoEnvioCorreoPlanVital : this.props.configurations.TextoMensajeTuRadicado + ' ' + this.state.registeredNumber}

\r\n
\r\n :\r\n ''\r\n }\r\n
\r\n }\r\n {\r\n this.state.carousel.itemSelected.date ?\r\n
\r\n
    \r\n
  • \r\n
  • \r\n
    \r\n

    Día

    \r\n

    {moment(new Date(this.state.carousel.itemSelected.date)).format('DD', true)}

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

    Mes

    \r\n

    {moment(new Date(this.state.carousel.itemSelected.date)).format('MMM', true)}

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

    Hora

    \r\n

    {this.state.carousel.hourSelected}

    \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n :\r\n null\r\n }\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nfunction NextArrow(props) {\r\n const { className, style, onClick } = props;\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction PrevArrow(props) {\r\n const { className, style, onClick } = props;\r\n return (\r\n \r\n\r\n );\r\n}\r\n\r\n/******************** BUILD ********************/\r\nconst DropdownButton = ReactBootstrap.DropdownButton;\r\nconst MenuItem = ReactBootstrap.MenuItem;\r\n/******************** BUILD ********************/\r\n\r\n","import EnviarSimulacionFormulario from \"./enviarSimulacionFormulario\";\r\n\r\nexport default class EnviarSimulacionModal extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.handleHide = this.handleHide.bind(this);\r\n this.handleShow = this.handleShow.bind(this);\r\n\r\n this.state = {\r\n showModal: false\r\n };\r\n\r\n }\r\n\r\n handleHide() {\r\n this.setState({ showModal: false });\r\n this.props.showCotizador(event);\r\n }\r\n\r\n handleShow() {\r\n this.setState({ showModal: true });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\n/******************** BUILD ********************/\r\nconst Modal = ReactBootstrap.Modal;\r\n/******************** BUILD ********************/\r\n\r\n","import EnviarSimulacionModal from \"./enviarSimulacionModal\";\r\nimport Mensajes from \"./mensajes\";\r\n\r\nexport default class CotizarResumen extends React.Component {\r\n constructor() {\r\n super();\r\n\r\n this.state = {\r\n summaryDetailsExpanded: false,\r\n scrollY: 0,\r\n panelTopBeneficies: 0,\r\n initialStickyPanel: 83,\r\n initialStickyPanelOldDesktop: 113,\r\n initialTopPanel: 404,\r\n overlayTriggerPlacement: 'right',\r\n showError: false\r\n }\r\n\r\n this.showModal = this.showModal.bind(this);\r\n this.startShopping = this.startShopping.bind(this);\r\n this.changePanelStatus = this.changePanelStatus.bind(this);\r\n this.numberWithDots = this.numberWithDots.bind(this);\r\n this.getSummary = this.getSummary.bind(this);\r\n this.getElementOffset = this.getElementOffset.bind(this);\r\n this.showCotizador = this.showCotizador.bind(this);\r\n }\r\n\r\n numberWithDots(value) {\r\n return (value).toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, '.');\r\n }\r\n\r\n UrlCatcher() {\r\n var ultimaPosicion = window.location.pathname.split(\"/\");\r\n var nivelAnterior = ultimaPosicion.slice(ultimaPosicion.length - 1);\r\n var text = \"\";\r\n nivelAnterior.forEach((item) => {\r\n text = text + \"/\" + item;\r\n });\r\n return decodeURI(text).slice(1);\r\n }\r\n\r\n showModal() {\r\n let userInfoCheck = compTools.obtenerInformacionUsuario();\r\n\r\n dataLayer.push({\r\n event: \"cotizacion_plan\",\r\n user_id: userInfoCheck.Nautcli,\r\n log_status: \"true\",\r\n login_type: userInfoCheck.TipoIdentificacion == 2 ? \"Empresas\" : \"Personas\",\r\n affiliation: \"Salud\",\r\n bread_crumbs: this.UrlCatcher(),\r\n step: \"Paso 2\",\r\n option: this.props.planvital ? \"Cotiza Plan Vital\" : \"Cotiza Plan Complementario Especial\",\r\n action: \"Enviar Información\"\r\n })\r\n\r\n this.props.handleSubmit(() => {\r\n this.refs.modal.handleShow();\r\n });\r\n }\r\n\r\n startShopping(event) {\r\n event.preventDefault();\r\n let userInfoCheck = compTools.obtenerInformacionUsuario();\r\n\r\n dataLayer.push({\r\n event: \"cotizacion_plan\",\r\n user_id: userInfoCheck.Nautcli,\r\n log_status: \"true\",\r\n login_type: userInfoCheck.TipoIdentificacion == 2 ? \"Empresas\" : \"Personas\",\r\n affiliation: \"Salud\",\r\n bread_crumbs: this.UrlCatcher(),\r\n step: \"Paso 2\",\r\n option: this.props.planvital ? \"Cotiza Plan Vital\" : \"Cotiza Plan Complementario Especial\",\r\n action: \"Inicia tu Compra\"\r\n })\r\n /* \r\n Register click for security matters. \r\n This service doesnt reply anything and won't change any other proccess\r\n */\r\n const registerClickService = new ServicioProxy('RegistraUltimoClic?ultimoclic=iniciacompra', 'ServicioConsorcio.svc');\r\n\r\n registerClickService.getElements('POST', {})\r\n .then(response => {\r\n window.location.href = _spPageContextInfo.webAbsoluteUrl + this.props.configurations['UrlPasoCeroClliente'];\r\n })\r\n .catch(error => {\r\n this.setState({ showError: true });\r\n setTimeout(() => this.refs.generalErrorModal.handleShow(), 0);\r\n })\r\n\r\n }\r\n\r\n changePanelStatus(expanded) {\r\n this.setState({ summaryDetailsExpanded: expanded });\r\n }\r\n\r\n getElementOffset(el) {\r\n const rect = el.getBoundingClientRect();\r\n\r\n return {\r\n top: rect.top + window.pageYOffset,\r\n left: rect.left + window.pageXOffset,\r\n bottom: rect.bottom + window.pageYOffset,\r\n };\r\n }\r\n\r\n resetPanelFloat() {\r\n // const simulationFormBox = document.getElementById('box-cotizar');\r\n // const topSimulationForm = this.getElementOffset(simulationFormBox).top;\r\n // const summaryPanel = document.getElementById('cotizar-summary');\r\n // const footerPanelTop = this.getElementOffset(document.getElementById('beneficios')).top; \r\n // this.setState({panelTopBeneficies: footerPanelTop})\r\n\r\n // return {\r\n // simulationFormBox: simulationFormBox,\r\n // topSimulationForm: topSimulationForm,\r\n // summaryPanel: summaryPanel,\r\n // footerPanelTop: footerPanelTop\r\n // }\r\n }\r\n\r\n setPanel = (top, position) => {\r\n // const summaryPanel = this.resetPanelFloat().summaryPanel;\r\n // summaryPanel.style[\"top\"] = top + 'px';\r\n // summaryPanel.style[\"position\"] = position;\r\n }\r\n\r\n handleScroll = () => {\r\n // const simulationFormBox = this.resetPanelFloat().simulationFormBox.offsetHeight;\r\n // const summaryPanel = this.resetPanelFloat().summaryPanel;\r\n // const panelHeight = document.getElementById('cotizar-summary').offsetHeight;\r\n // const scrolltop = window.scrollY + panelHeight;\r\n // const footerPanelTop = this.resetPanelFloat().footerPanelTop;\r\n // const topSimulationForm = this.resetPanelFloat().topSimulationForm;\r\n\r\n // this.setState({ scrollY: window.scrollY});\r\n\r\n // if (screen.width >= 992 && this.ieVersion() === 0) {\r\n // if( this.state.scrollY > 306) {\r\n // this.setPanel(0, 'absolute');\r\n // if(scrolltop + this.state.initialStickyPanel < this.state.panelTopBeneficies) {\r\n // this.setPanel( this.state.initialStickyPanel, 'fixed');\r\n // } else {\r\n // this.setPanel( this.state.panelTopBeneficies - panelHeight - this.state.initialTopPanel, 'relative');\r\n // } \r\n // } else {\r\n // summaryPanel.style[\"position\"] = 'relative';\r\n // summaryPanel.style[\"top\"] = 0;\r\n // }\r\n // } else if (screen.width === 1024 && screen.height === 768 && this.ieVersion() === 0) {\r\n // if( this.state.scrollY > 306) {\r\n // this.setPanel(0, 'absolute');\r\n // if(scrolltop + this.state.initialStickyPanel < this.state.panelTopBeneficies - 30) {\r\n // this.setPanel( this.state.initialStickyPanelOldDesktop, 'fixed');\r\n // } else {\r\n // this.setPanel( this.state.panelTopBeneficies - panelHeight - this.state.initialTopPanel - 18, 'relative');\r\n // } \r\n // } else {\r\n // summaryPanel.style[\"position\"] = 'relative';\r\n // summaryPanel.style[\"top\"] = 0;\r\n // }\r\n // } else{\r\n // this.setState({ overlayTriggerPlacement: 'top' });\r\n // summaryPanel.style[\"position\"] = 'relative';\r\n // summaryPanel.style[\"top\"] = 0;\r\n // }\r\n }\r\n renderErrorModal() {\r\n return (\r\n \r\n );\r\n }\r\n getSummary() {\r\n return (\r\n
\r\n {this.state.showError && this.renderErrorModal()}\r\n {!this.props.planvital ?\r\n
\r\n
\r\n
\r\n Descuento por EPS\r\n
\r\n
\r\n $ {this.numberWithDots(this.props.summary.epsDiscount)}\r\n
\r\n
\r\n
\r\n
\r\n Descuento por Caja de compensación\r\n
\r\n
\r\n $ {this.numberWithDots(this.props.summary.cajaDiscount)}\r\n
\r\n
\r\n
\r\n : null}\r\n {!this.props.planvital ?\r\n
\r\n
\r\n
\r\n {this.props.summary.lessthan60quantity} Afiliados
Menores de 60\r\n
\r\n
\r\n $ {this.numberWithDots(this.props.summary.lessthan60total)}\r\n
\r\n
\r\n
\r\n
\r\n {this.props.summary.morethan60quantity} Afiliados
Mayores de 60\r\n
\r\n
\r\n $ {this.numberWithDots(this.props.summary.morethan60total)}\r\n
\r\n
\r\n
\r\n : null\r\n }\r\n
\r\n );\r\n }\r\n\r\n getStartPurchaseButtonMessage(message) {\r\n return {message} \r\n }\r\n\r\n renderPurchaseComponent() {\r\n let component;\r\n\r\n if (!this.props.startShoppingProperties['PuedeIniciarCalendarioValue']) {\r\n component = \r\n \r\n ;\r\n } else if (!this.props.startShoppingProperties['AutenticadoValue']) {\r\n component = \r\n \r\n ;\r\n } else if (this.props.startShoppingProperties['AutenticadoValue'] && !this.props.startShoppingProperties['PuedeIniciarAutogestionValue']) {\r\n component =
\r\n \r\n

{this.props.configurations['MensajeValidacionAutogestionSimulador']}

\r\n
;\r\n } else {\r\n component = \r\n }\r\n\r\n return component;\r\n }\r\n\r\n showCotizador(event) {\r\n this.props.showCotizador(event);\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
cargando...
\r\n
\r\n

Precio Mensual Desde

\r\n

\r\n ${this.numberWithDots(this.props.summary.monthlyFare)}\r\n

\r\n
\r\n
\r\n {this.getSummary()}\r\n
\r\n
\r\n
\r\n {this.props.planvital ? \"TOTAL MES \" : \"TOTAL AÑO \"}
{this.props.summary.totalQuantity} Afiliados\r\n
\r\n
\r\n $ {this.numberWithDots(this.props.summary.total)}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n this.changePanelStatus(expanded)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Plan complementario
Valor total anual
$ {this.numberWithDots(this.props.summary.total)}
\r\n
\r\n
\r\n \r\n {this.getSummary()}\r\n \r\n
\r\n
\r\n
\r\n
\r\n IMPORTANTE: {this.props.configurations['Importante']}\r\n
\r\n
\r\n {this.props.configurations['IniciarCompraLinkCSVisibleBool'] && (\r\n
\r\n {this.renderPurchaseComponent()}\r\n
\r\n
\r\n )}\r\n \r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\n/******************** BUILD ********************/\r\nlet Panel = ReactBootstrap.Panel;\r\nlet PanelGroup = ReactBootstrap.PanelGroup;\r\nlet Modal = ReactBootstrap.Modal;\r\nlet Popover = ReactBootstrap.Popover;\r\nlet OverlayTrigger = ReactBootstrap.OverlayTrigger;\r\n/******************** BUILD ********************/\r\n\r\n","\r\n\r\nexport default class AlertModal extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleHide = this.handleHide.bind(this);\r\n this.handleShow = this.handleShow.bind(this);\r\n\r\n this.state = {\r\n showModal: this.props.showModal === undefined ? true : this.props.showModal\r\n // this.props.showModal === undefined ? true : this.props.showModal\r\n };\r\n }\r\n\r\n handleHide() {\r\n this.setState({ showModal: false });\r\n this.props.handleHide(false);\r\n }\r\n\r\n handleShow() {\r\n this.setState({ showModal: this.props.showModal });\r\n }\r\n\r\n componentWillReceiveProps(props) {\r\n this.setState({ showModal: props.showModal });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n {this.props.title}\r\n \r\n \r\n
\r\n
\r\n {this.props.msg}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nconst Modal = ReactBootstrap.Modal;\r\nconst Button = ReactBootstrap.Button;","import AlertModal from \"./alertModal\";\r\nimport Tools from \"../../../base/components/tools\";\r\n\r\nexport default class FormularioEntrada extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.pnpService = new ServicioPnp();\r\n this.tools = new Tools();\r\n\r\n this.state = {\r\n form: {\r\n fullName: { error: \"\", valid: \"\", value: \"\" },\r\n identificationType: { error: \"\", valid: \"\", value: \"Seleccione un documento\", sigla: \"\" },\r\n identificationNumber: { error: \"\", valid: \"\", value: \"\" },\r\n phone: { error: \"\", valid: \"\", value: \"\" },\r\n email: { error: \"\", valid: \"\", value: \"\" },\r\n confirmEmail: { error: \"\", valid: \"\", value: \"\" },\r\n isContacted: { error: \"\", valid: \"\", value: \"\" },\r\n confirmPersonalData: { error: \"\", valid: \"\", value: true },\r\n confirmEmailMessage: { error: \"\", valid: \"\", value: true },\r\n confirmTextMessage: { error: \"\", valid: \"\", value: true }\r\n },\r\n isSubmitted: false,\r\n typeDocList: [],\r\n isDisabled: true,\r\n formIsValid: false,\r\n politicaTratamientoDatos: null,\r\n showModal: false,\r\n showModalPlanVital: false\r\n };\r\n\r\n this.errorMessages = {\r\n required: 'es requerido',\r\n maxlength: 'ha excedido del valor maximo permitido',\r\n email: 'Por favor ingrese una dirección de correo',\r\n equalTo: 'No es igual al correo personal',\r\n number: 'solo permite números',\r\n isEmailRequired: 'es requerida',\r\n minlength: 'debe contener un mínimo de 10 dígitos',\r\n alphanumeric: 'No permite caracteres especiales'\r\n }\r\n\r\n this.setRulesForm = this.setRulesForm.bind(this);\r\n this.saludValidaciones = new SaludValidaciones(this.state.form, this.setRulesForm());\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.handleSelect = this.handleSelect.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.handleBlur = this.handleBlur.bind(this);\r\n this.handleFocus = this.handleFocus.bind(this);\r\n this.getDocType = this.getDocType.bind(this);\r\n this.setCursorAtBegin = this.setCursorAtBegin.bind(this);\r\n this.validateForm = this.validateForm.bind(this);\r\n this.removeEmojis = this.removeEmojis.bind(this);\r\n this.removeNonLetters = this.removeNonLetters.bind(this);\r\n this.removeLetters = this.removeLetters.bind(this);\r\n\r\n $(window).keyup((e) => {\r\n var code = (e.keyCode ? e.keyCode : e.which);\r\n if (code == 9 && $('#confirmEmail:focus').length && $('#confirmEmail').val() == '@') {\r\n const input = document.getElementById(\"confirmEmail\");\r\n input.setSelectionRange(0, 0);\r\n }\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n this.pnpService.getList('tiposDocumento', (list) => {\r\n this.setState({ typeDocList: list }, (() => {\r\n }));\r\n });\r\n this.pnpService.getListByTitle('AdministracionTerminosCondiciones', (item) => {\r\n let planComplementario = item.filter(item => item.Funcionalidad == \"TerminosCotizadorPlanComplementario\");\r\n let planVital = item.filter(item => item.Funcionalidad == \"TerminosCotizadorPlanVital\");\r\n this.setState({ politicaTratamientoDatos: planComplementario[0], politicaTratamientoDatosPlanVital: planVital[0] });\r\n }, \"\", \"TerminosCondiciones\", \"Title\", \"Funcionalidad\");\r\n }\r\n\r\n componentWillReceiveProps(props) {\r\n const showModalPlanVital = props.showModalPlanVital;\r\n const name = { ...this.state.form }; name.fullName.value = props.form.name.value;\r\n const email = { ...this.state.form }; email.email.value = props.form.email.value;\r\n const identificationType = { ...this.state.form }; identificationType.identificationType.value = props.form.identificationType.value;\r\n const identificationTypeSigla = { ...this.state.form }; identificationType.identificationType.sigla = props.form.identificationType.sigla;\r\n const identificationNumber = { ...this.state.form }; identificationNumber.identificationNumber.value = props.form.identificationNumber.value;\r\n const phone = { ...this.state.form }; phone.phone.value = props.form.phone.value;\r\n this.setState({ form: name, form: email, form: identificationType, form: identificationTypeSigla, form: identificationNumber, form: phone, showModalPlanVital })\r\n // this.setState({ form: props.form });\r\n }\r\n\r\n\r\n getDocType(docType) {\r\n if (docType !== 'Seleccionar') {\r\n const typeDocList = this.state['typeDocList'];\r\n let typeDoc = typeDocList.find(elem => elem.CSDocumentoIdentidadText === docType || elem.CSIdDocumentoText === docType);\r\n return typeDoc.CSSiglaText;\r\n } else {\r\n return null;\r\n }\r\n\r\n }\r\n\r\n UrlCatcher() {\r\n var ultimaPosicion = window.location.pathname.split(\"/\");\r\n var nivelAnterior = ultimaPosicion.slice(ultimaPosicion.length - 1);\r\n var text = \"\";\r\n nivelAnterior.forEach((item) => {\r\n text = text + \"/\" + item;\r\n });\r\n return decodeURI(text).slice(1);\r\n }\r\n\r\n setRulesForm() {\r\n const email = this.state.form.email.value;\r\n const rules = {\r\n fullName: {\r\n required: true,\r\n maxlength: 105\r\n },\r\n email: {\r\n email: true\r\n },\r\n confirmEmail: {\r\n email: true,\r\n equalTo: (value) => {\r\n return value.trim().toLowerCase() === this.state.form.email.value.trim().toLowerCase() && this.state.form.email.value.trim().toLowerCase();\r\n },\r\n required: () => {\r\n return this.state.form.email.value;\r\n }\r\n },\r\n identificationNumber: {\r\n maxlength: 60,\r\n required: true,\r\n alphanumeric: (value) => {\r\n return /^[ _]*[a-zA-Z0-9 áéíóúÁÉÍÓÚñÑ]*$/.test(value) && value.trim() != '';\r\n }\r\n },\r\n identificationType: {\r\n required: true\r\n },\r\n phone: {\r\n required: true,\r\n maxlength: 10,\r\n number: true,\r\n minlength: 10\r\n }\r\n };\r\n return rules;\r\n }\r\n\r\n handleInputChange(event) {\r\n if (event) {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n if (target.name === 'fullName') {\r\n let nameValidated = this.removeEmojis(value);\r\n nameValidated = this.removeNonLetters(value);\r\n const name = target.name;\r\n let FormValues = this.state.form;\r\n FormValues[name].value = nameValidated;\r\n this.setState({\r\n form: FormValues\r\n }, () => { this.validateForm(); });\r\n }\r\n else if (target.name === 'identificationNumber' || target.name === 'phone') {\r\n let idValidated = this.removeLetters(value);\r\n const name = target.name;\r\n let FormValues = this.state.form;\r\n FormValues[name].value = idValidated;\r\n this.setState({\r\n form: FormValues\r\n }, () => { this.validateForm(); });\r\n }\r\n else {\r\n const name = target.name;\r\n let FormValues = this.state.form;\r\n FormValues[name].value = value;\r\n this.setState({\r\n form: FormValues\r\n }, () => { this.validateForm(); });\r\n }\r\n }\r\n this.handleBlur(event)\r\n }\r\n\r\n handleSelect(item) {\r\n let FormValues = this.state.form;\r\n FormValues['identificationType'].value = item.CSDocumentoIdentidadText;\r\n let IdSigla = this.state.form;\r\n IdSigla['identificationType'].sigla = item.CSSiglaText;\r\n IdSigla['identificationType'].id = item.CSIdDocumentoText\r\n this.setState({\r\n form: FormValues, form: IdSigla\r\n }, () => { this.validateForm(); });\r\n }\r\n\r\n handleSubmit(event, boolean) {\r\n let userInfoCheck = compTools.obtenerInformacionUsuario();\r\n event.preventDefault();\r\n dataLayer.push({\r\n event: \"cotizacion_plan\",\r\n user_id: userInfoCheck.Nautcli,\r\n log_status: \"true\",\r\n login_type: userInfoCheck.TipoIdentificacion == 2 ? \"Empresas\" : \"Personas\",\r\n affiliation: \"Salud\",\r\n bread_crumbs: this.UrlCatcher(),\r\n step: \"Paso 1\",\r\n option: \"Cotiza Plan Complementario Especial\"\r\n })\r\n this.props.updateState(this.state.form, 2);\r\n }\r\n\r\n handlePlanVital() {\r\n let userInfoCheck = compTools.obtenerInformacionUsuario();\r\n dataLayer.push({\r\n event: \"cotizacion_plan\",\r\n user_id: userInfoCheck.Nautcli,\r\n log_status: \"true\",\r\n login_type: userInfoCheck.TipoIdentificacion == 2 ? \"Empresas\" : \"Personas\",\r\n affiliation: \"Salud\",\r\n bread_crumbs: this.UrlCatcher(),\r\n step: \"Paso 1\",\r\n option: \"Cotiza Plan Vital\"\r\n })\r\n this.setState({ showModalPlanVital: true });\r\n }\r\n\r\n handleBlur(event, elementId) {\r\n let currentForm = JSON.parse(JSON.stringify(this.state.form));\r\n let element = event.target;\r\n this.saludValidaciones.validateField(element, currentForm);\r\n this.setState({ form: currentForm }, () => { this.validateForm(); });\r\n }\r\n\r\n handleFocus(event) {\r\n let currentForm = JSON.parse(JSON.stringify(this.state.form));\r\n if (!event.target.value) {\r\n currentForm[event.target.id].value = '@';\r\n this.setCursorAtBegin();\r\n }\r\n this.setState({ form: currentForm });\r\n }\r\n\r\n setCursorAtBegin() {\r\n let currentForm = JSON.parse(JSON.stringify(this.state.form));\r\n if (currentForm['email'].value == '@') {\r\n const input = document.getElementById(\"email\");\r\n input.setSelectionRange(0, 0);\r\n // this.validateForm()\r\n } else if (currentForm['confirmEmail'].value == '@') {\r\n const input = document.getElementById(\"confirmEmail\");\r\n input.setSelectionRange(0, 0);\r\n }\r\n currentForm.confirmEmail.value.toLowerCase() == currentForm.email.value.toLowerCase() ? currentForm.confirmEmail.valid = true : currentForm.confirmEmail.valid = false\r\n this.setState({ form: currentForm })\r\n this.validateForm()\r\n }\r\n\r\n removeEmojis(string) {\r\n const regex = /([\\uD800-\\uDBFF][\\uDC00-\\uDFFF])/g;\r\n return string.replace(regex, '');\r\n }\r\n\r\n removeNonLetters(string) {\r\n const regex = /[^a-zA-Z\\s]/gi;\r\n return string.replace(regex, '');\r\n }\r\n\r\n removeLetters(string) {\r\n const regex = /\\D+/g;\r\n return string.replace(regex, '');\r\n }\r\n\r\n validateForm() {\r\n if (\r\n this.state.form.confirmEmail.value.toLowerCase() == this.state.form.email.value.toLowerCase() &&\r\n this.state.form.confirmEmailMessage.value === true &&\r\n this.state.form.confirmPersonalData.value === true &&\r\n this.state.form.confirmTextMessage.value === true &&\r\n this.state.form.email.valid === true && this.state.form.email.value !== '@' && this.state.form.email.value !== '' &&\r\n this.state.form.phone.valid === true && this.state.form.phone.value !== \"\" &&\r\n this.state.form.fullName.valid === true && this.state.form.fullName.value !== \"\" &&\r\n this.state.form.identificationNumber.valid === true && this.state.form.identificationNumber.value !== \"\" &&\r\n this.state.form.identificationType.valid === true && this.state.form.identificationType.value !== \"\" && this.state.form.identificationType.value !== 'Seleccione un docuemnto'\r\n ) {\r\n this.setState({ formIsValid: true });\r\n } else {\r\n this.setState({ formIsValid: false });\r\n }\r\n }\r\n\r\n handleHide(boolean) {\r\n this.setState({ showModal: boolean, showModalPlanVital: false })\r\n }\r\n\r\n innerHtml(title) {\r\n return { __html: title }\r\n }\r\n\r\n render() {\r\n let loginURL = '';\r\n if (Object.keys(this.props.configurations).length) {\r\n loginURL = this.tools.getLoginURL(this.props.configurations['FBA_CLAIM']);\r\n }\r\n return (\r\n
\r\n {this.state.showModal == true ?\r\n }\r\n title={
}\r\n />\r\n : null}\r\n\r\n {this.state.showModalPlanVital == true ?\r\n {\r\n this.handleHide.bind(this)\r\n this.props.updateState(this.state.form, 3);\r\n }}\r\n msg={
}\r\n title={
}\r\n />\r\n : null}\r\n
\r\n Si tienes un usuario y contraseña Compensar Inicia Sesión para una respuesta más detallada y para poder iniciar tu compra.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n e.preventDefault()} placeholder=\"Ingresa tus nombres\" autocomplete=\"off\" />\r\n

Nombre completo {this.errorMessages[this.state.form.fullName.error]}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {\r\n this.state.typeDocList.map(item => {\r\n return (\r\n this.handleSelect(item)}>\r\n {item.CSDocumentoIdentidadText}\r\n \r\n )\r\n })\r\n }\r\n \r\n

Tipo de documento es requerido

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

Documento de Identidad {this.errorMessages[this.state.form.identificationNumber.error]}

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

Teléfono Móvil {this.errorMessages[this.state.form.phone.error]}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n e.preventDefault()}\r\n onChange={this.handleInputChange}\r\n onBlur={this.handleBlur}\r\n onFocus={this.handleFocus}\r\n onClick={this.setCursorAtBegin}\r\n type=\"text\"\r\n id=\"email\"\r\n name=\"email\"\r\n className=\"form-control input-med-size\"\r\n tabIndex=\"4\"\r\n maxLength=\"245\"\r\n placeholder=\"Ingresa tu correo electrónico\"\r\n autocomplete=\"off\"\r\n />\r\n {this.state.form.email.valid && this.state.form.email.value !== '' ?\r\n \r\n \r\n :\r\n ''\r\n }\r\n {this.state.form.email.value === '@' ?\r\n

{this.props.configurations.MensajeCorreoRequerido}

\r\n :\r\n

{this.props.configurations.MensajeCorreoInvalido}

\r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n e.preventDefault()}\r\n onChange={this.handleInputChange}\r\n onBlur={this.handleBlur}\r\n onFocus={(e) => this.handleFocus(e)}\r\n onClick={this.setCursorAtBegin}\r\n type=\"text\"\r\n id=\"confirmEmail\"\r\n name=\"confirmEmail\"\r\n className=\"form-control input-med-size\"\r\n tabIndex=\"5\"\r\n maxLength=\"245\"\r\n placeholder=\"Confirma tu correo electrónico\"\r\n autocomplete=\"off\"\r\n />\r\n {this.state.form.confirmEmail.valid && this.state.form.confirmEmail.value !== '' && this.state.form.confirmEmail.value !== '@' ?\r\n \r\n \r\n :\r\n ''\r\n }\r\n {this.state.form.confirmEmail.value === '@' ?\r\n

\r\n {this.props.configurations.MensajeCorreoRequerido}\r\n

\r\n :\r\n

\r\n {this.state.form.confirmEmail.value !== this.state.form.email.value ?\r\n \r\n {this.props.configurations.MensajeCorreoConfirmacion}\r\n \r\n :\r\n \r\n {this.props.configurations.MensajeCorreoInvalido}\r\n \r\n }\r\n

\r\n }\r\n {/* {this.state.form.email.value === '@' ?\r\n

{this.props.configurations.MensajeCorreoRequerido}

\r\n :\r\n

{this.props.configurations.MensajeCorreoInvalido}

\r\n } */}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n

this.handleHide(true)} className={this.state.form.isContacted.value && !this.state.form.confirmPersonalData.value && this.state.isSubmitted ? 'error' : 'hidden'}>Autorización de tratamiento de los datos personales {this.errorMessages['required']}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n IMPORTANTE: {this.props.configurations['Importante']}\r\n
\r\n
\r\n );\r\n }\r\n}\r\nconst DropdownButton = ReactBootstrap.DropdownButton;\r\nconst MenuItem = ReactBootstrap.MenuItem;","import CotizarFormulario from './cotizarFormulario';\r\nimport CotizarResumen from './cotizarResumen';\r\nimport Mensajes from './mensajes';\r\nimport FormularioEntrada from './formularioEntrada';\r\n\r\nexport default class Cotizar extends React.Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n form: {\r\n lessthan60: { value: 0 },\r\n morethan60: { value: 0 },\r\n name: { value: '' },\r\n email: { value: '' },\r\n identificationType: { value: 'Seleccione un documento' },\r\n identificationNumber: { value: '' },\r\n phone: { value: '' },\r\n caja: { value: true },\r\n cajaCategory: { value: '' },\r\n eps: { value: true },\r\n includeMe: { value: false },\r\n isValid: true\r\n },\r\n temporaryForm: {},\r\n subscribed: {\r\n lessthan60: [],\r\n morethan60: []\r\n },\r\n summary: {\r\n monthlyFare: 0,\r\n epsDiscount: 0,\r\n cajaDiscount: 0,\r\n iva: 0,\r\n lessthan60quantity: 0,\r\n lessthan60total: 0,\r\n morethan60quantity: 0,\r\n morethan60total: 0,\r\n totalQuantity: 0,\r\n total: 0\r\n },\r\n options: {\r\n cajaCategories: [],\r\n showWarning: false,\r\n loadingAuthUser: false,\r\n loadingSummary: false,\r\n isAuthenticated: false,\r\n advancedOptions: false,\r\n showFormularioEntrada: true,\r\n showCotizador: false,\r\n showPlanVital: false,\r\n component: 1,\r\n },\r\n tarifaPlanVital: 0,\r\n };\r\n\r\n this.rules = {\r\n name: {\r\n required: true,\r\n alphabetical: (value) => {\r\n return /^[a-zA-Z áéíóúÁÉÍÓÚñÑ]*$/.test(value) && value.trim() != '';\r\n }\r\n },\r\n email: {\r\n required: true,\r\n email: true\r\n },\r\n cajaCategory: {\r\n required: (value) => {\r\n return this.state.form.caja.value;\r\n }\r\n }\r\n };\r\n this.subscribedRules = JSON.parse(JSON.stringify(this.rules));\r\n delete this.subscribedRules.email;\r\n delete this.subscribedRules.name.required;\r\n\r\n this.saludValidaciones = new SaludValidaciones(this.state.form, this.rules);\r\n\r\n this.userMoreThan60 = null;\r\n this.advancedOptions = false;\r\n\r\n this.subscribedSaludValidaciones = {\r\n lessthan60: [],\r\n morethan60: []\r\n };\r\n this.summary = this.state.summary;\r\n this.categoriaCaja = \"\"\r\n this.calculator = this.calculator.bind(this);\r\n this.updateFormState = this.updateFormState.bind(this);\r\n this.updateOptionsState = this.updateOptionsState.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.subscribedHandleChange = this.subscribedHandleChange.bind(this);\r\n this.subscribedHandleSelect = this.subscribedHandleSelect.bind(this);\r\n this.subscribedHandleBlur = this.subscribedHandleBlur.bind(this);\r\n this.subscribedHandleSwitch = this.subscribedHandleSwitch.bind(this);\r\n this.subscribedCleanData = this.subscribedCleanData.bind(this);\r\n this.subscribedRemove = this.subscribedRemove.bind(this);\r\n this.subscribedCleanAll = this.subscribedCleanAll.bind(this);\r\n this.scrollTo = this.scrollTo.bind(this);\r\n this.getPopover = this.getPopover.bind(this);\r\n this.showMessages = this.showMessages.bind(this);\r\n this.updateState = this.updateState.bind(this);\r\n this.getLogedUserData = this.getLogedUserData.bind(this);\r\n this.showCotizadorAtCloseModal = this.showCotizadorAtCloseModal.bind(this);\r\n this.handleComponent = this.handleComponent.bind(this);\r\n this.showMessagesPlanVital = this.showMessagesPlanVital.bind(this); \r\n }\r\n\r\n componentDidMount = () => {\r\n const options = JSON.parse(JSON.stringify(this.state.options));\r\n const pnpService = new ServicioPnp();\r\n pnpService.getList('categoriasCaja', (list) => {\r\n options.cajaCategories = list;\r\n this.setState({ options });\r\n }, null, 'ID', 'CSTituloCategoriaText', 'CSDescripcionNote');\r\n const tarifaPlanVital = new ServicioProxy('ObtenerTarifaPlanVital');\r\n tarifaPlanVital.getElements('POST', {}).then(\r\n (result) => {\r\n const data = JSON.parse(result);\r\n this.setState({ tarifaPlanVital: data })\r\n }\r\n )\r\n setTimeout(() => {\r\n this.isAuthenticated();\r\n }, 500)\r\n }\r\n\r\n getLogedUserData(documentType, documentNumber) {\r\n // requestBody anterior:\r\n // const requestBody = {\r\n // \"TipoDocumento\": this.state.form.documentType.value,\r\n // \"NumeroDocumento\": this.state.form.documentNumber.value\r\n // }\r\n const requestBody = {\r\n \"TipoDocumento\": documentType,\r\n \"NumeroDocumento\": documentNumber\r\n }\r\n const userData = new ServicioProxy('ObtenerDatosUsuarioAutenticadoCotizador');\r\n userData.getElements('POST', requestBody).then((result) => {\r\n result = JSON.parse(result);\r\n this.setState({\r\n form: {\r\n ...this.state.form,\r\n name: { ...this.state.form.name, value: result.NombreCompleto },\r\n email: { ...this.state.form.email, value: result.Email },\r\n identificationType: { ...this.state.form.identificationType, value: result.TipoDocumento.Documento, sigla: result.TipoDocumento.Sigla },\r\n identificationNumber: { ...this.state.form.identificationNumber, value: result.NumeroDocumento },\r\n phone: { ...this.state.form.phone, value: result.Telefono }\r\n }\r\n })\r\n\r\n }).catch(error => {\r\n this.showMessages();\r\n });\r\n }\r\n\r\n showMessages() {\r\n this.refs.message.handleShow();\r\n compensar.quitarLoading(\".simulation-container\")\r\n }\r\n\r\n showMessagesPlanVital() {\r\n this.refs.messagePlanvital.handleShow();\r\n }\r\n\r\n isAuthenticated() {\r\n if (!compTools.autenticadoWindows() && compTools.estaAutenticado()) {\r\n const options = JSON.parse(JSON.stringify(this.state.options));\r\n options.loadingAuthUser = true;\r\n this.setState({ options });\r\n const authenticatedUser = compTools.obtenerInformacionUsuario();\r\n const userDataService = new ServicioProxy('GetSimulacionUsuario?tipoDocumento=' + (authenticatedUser.TipoIdentificacion) + '&numeroDocumento=' + (authenticatedUser.LegalID));\r\n userDataService.getElements('POST', {}).then((userData) => {\r\n userData = JSON.parse(userData);\r\n this.userMoreThan60 = userData.Interesado.MayorEdadDefinida;\r\n let newState = JSON.parse(JSON.stringify(this.state));\r\n newState.options.isAuthenticated = true;\r\n newState.options.loadingAuthUser = false;\r\n newState.form.lessthan60.value = !userData.Interesado.MayorEdadDefinida ? (newState.form.lessthan60.value + 1) : newState.form.lessthan60.value;\r\n newState.form.morethan60.value = userData.Interesado.MayorEdadDefinida ? (newState.form.morethan60.value + 1) : newState.form.morethan60.value;\r\n newState.form.name.value = userData.Interesado.Nombre;\r\n newState.form.email.value = userData.Interesado.CorreoElectronico ? userData.Interesado.CorreoElectronico.toLowerCase() : '';\r\n newState.form.caja.value = userData.Interesado.CajaCompensacionCompensar;\r\n newState.form.cajaCategory.value = userData.Interesado.Categoria.Titulo;\r\n newState.form.eps.value = userData.Interesado.EPSCompensar;\r\n newState.form.documentType = { value: userData.Interesado.TipoDeDocumento };\r\n newState.form.documentNumber = { value: userData.Interesado.NumeroDeDocumento };\r\n newState.form.age = { value: userData.Interesado.Edad };\r\n newState.form.gender = { value: userData.Interesado.Genero };\r\n newState.form.isOlder = { value: userData.Interesado.MayorEdadDefinida };\r\n newState.form.includeMe = { value: userData.Interesado.AfiliarInteresado, valid: true, error: \"\" };\r\n newState.form.relationship = { value: userData.Interesado.Parentesco };\r\n newState.form.nit = { value: userData.Interesado.NIT };\r\n userData.BeneficiariosMenores.forEach((subscribed) => {\r\n let newSubscribed = {\r\n form: {\r\n name: { value: subscribed.Nombre },\r\n caja: { value: subscribed.CajaCompensacionCompensar },\r\n cajaCategory: { value: subscribed.Categoria.Titulo },\r\n eps: { value: subscribed.EPSCompensar },\r\n documentType: { value: subscribed.TipoDeDocumento },\r\n documentNumber: { value: subscribed.NumeroDeDocumento },\r\n age: { value: subscribed.Edad },\r\n gender: { value: subscribed.Genero },\r\n relationship: { value: subscribed.Parentesco },\r\n nit: { value: subscribed.NIT },\r\n email: { value: subscribed.CorreoElectronico }\r\n }\r\n };\r\n newState.subscribed.lessthan60.push(newSubscribed);\r\n this.subscribedSaludValidaciones['lessthan60'].push(new SaludValidaciones(newSubscribed.form, this.subscribedRules));\r\n newState.form.lessthan60.value++;\r\n });\r\n userData.BeneficiariosMayores.forEach((subscribed) => {\r\n let newSubscribed = {\r\n form: {\r\n name: { value: subscribed.Nombre },\r\n caja: { value: subscribed.CajaCompensacionCompensar },\r\n cajaCategory: { value: subscribed.Categoria.Titulo },\r\n eps: { value: subscribed.EPSCompensar },\r\n documentType: { value: subscribed.TipoDeDocumento },\r\n documentNumber: { value: subscribed.NumeroDeDocumento },\r\n age: { value: subscribed.Edad },\r\n gender: { value: subscribed.Genero },\r\n relationship: { value: subscribed.Parentesco },\r\n nit: { value: subscribed.NIT },\r\n email: { value: subscribed.CorreoElectronico }\r\n }\r\n };\r\n newState.subscribed.morethan60.push(newSubscribed);\r\n newState.form.morethan60.value++;\r\n this.subscribedSaludValidaciones['morethan60'].push(new SaludValidaciones(newSubscribed.form, this.subscribedRules));\r\n });\r\n //if(userData.BeneficiariosMenores.length > 0 || userData.BeneficiariosMayores.length > 0) {\r\n newState.options.advancedOptions = true;\r\n //} \r\n if (this.state.options.component !== 1) {\r\n newState.summary.monthlyFare = userData.Simulacion.PrecioMensualDesde;\r\n newState.summary.epsDiscount = userData.Simulacion.DescuentoEps;\r\n newState.summary.cajaDiscount = userData.Simulacion.DescuentoCajaCompensacion;\r\n newState.summary.iva = userData.Simulacion.IVA;\r\n newState.summary.lessthan60quantity = userData.Simulacion.UsuariosMenorEdadDefinida.CantidadUsuarios;\r\n newState.summary.lessthan60total = userData.Simulacion.UsuariosMenorEdadDefinida.ValorTotal;\r\n newState.summary.morethan60quantity = userData.Simulacion.UsuariosMayorEdadDefinida.CantidadUsuarios;\r\n newState.summary.morethan60total = userData.Simulacion.UsuariosMayorEdadDefinida.ValorTotal;\r\n newState.summary.totalQuantity = userData.Simulacion.UsuariosTotal.CantidadUsuarios;\r\n newState.summary.total = userData.Simulacion.UsuariosTotal.ValorTotal;\r\n }\r\n this.setState(newState);\r\n this.getLogedUserData(authenticatedUser.TipoIdentificacion, authenticatedUser.LegalID);\r\n this.getDataUserPlanVital()\r\n this.categoriaCaja = userData.Interesado.Categoria.Titulo;\r\n }).catch(error => {\r\n console.log(\"error\", error);\r\n this.showMessages();\r\n });\r\n }\r\n }\r\n\r\n getDataUserPlanVital() {\r\n const authenticatedUser = compTools.obtenerInformacionUsuario();\r\n let body = {\r\n \"TipoDocumento\": authenticatedUser.TipoIdentificacion,\r\n \"NumeroDocumento\": authenticatedUser.LegalID,\r\n \"CategoriasPlanVital\": \"A,B\",\r\n \"EstadosVinculacion\": \"AF,CI,SU,MO\"\r\n }\r\n const dataUserPlanVital = new ServicioProxy('ObtenerDatosAfiliacionPlanVital');\r\n dataUserPlanVital.getElements('POST', body).then(\r\n (result) => {\r\n const data = JSON.parse(result);\r\n // data.ObtenerDatosAfiliacionPlanVitalResult.DatosInteresado.PuedeContinuarAfiliacion = true\r\n // data.ObtenerDatosAfiliacionPlanVitalResult.DatosBeneficiariosMenores.Beneficiarios = []\r\n this.setState({ dataUserPlanVital: data }, () => this.updateSubscriberPlanVital())\r\n sessionStorage.setItem('planVital_cajaCetegory', data.ObtenerDatosAfiliacionPlanVitalResult.DatosInteresado.CategoriaCaja);\r\n\r\n }\r\n )\r\n }\r\n\r\n updateSubscriberPlanVital() {\r\n let subscribed = this.state.subscribed;\r\n subscribed.lessthan60.map(item => {\r\n this.state.dataUserPlanVital.ObtenerDatosAfiliacionPlanVitalResult.DatosBeneficiariosMenores.Beneficiarios.map(afiliado => {\r\n if (item.form.documentNumber.value === afiliado.NumeroDocumento) {\r\n item.form.cajaCategory.valid = afiliado.CategoriaCaja\r\n item.form.caja.value = afiliado.TieneCajaCompensacion\r\n item.form.eps.value = afiliado.TieneEpsCompensar\r\n }\r\n })\r\n })\r\n let lessthan60 = { ...this.state.subscribed }\r\n lessthan60.lessthan60 = subscribed.lessthan60\r\n this.setState({ subscribed: lessthan60 })\r\n }\r\n\r\n calculator(type, operation, callback) {\r\n let newState = JSON.parse(JSON.stringify(this.state));\r\n let sum = this.state.form['lessthan60'].value + this.state.form['morethan60'].value;\r\n if ((this.state.form[type].value > 0 && operation == 'remove') || (sum < 20 && operation == 'add')) {\r\n if (operation == 'remove') {\r\n newState.form[type].value--;\r\n this.removeSubscribed(newState.subscribed[type], type);\r\n } else if (operation == 'add') {\r\n newState.form[type].value++;\r\n this.addSubscribed(newState.subscribed[type], type);\r\n }\r\n newState.options.showWarning = false;\r\n this.setState(newState, () => {\r\n this.calculateRequest();\r\n if (callback) callback();\r\n });\r\n } else if (operation == 'add' && sum == 20 && !this.state.options.showWarning) {\r\n newState.options.showWarning = true;\r\n this.setState(newState);\r\n }\r\n if (newState.form.lessthan60.value + newState.form.morethan60.value == 0) newState.options.advancedOptions = false;\r\n }\r\n\r\n addSubscribed(subscribedList, type) {\r\n let newSubscribed = {\r\n form: {\r\n name: { value: '' },\r\n caja: { value: this.state.options.component === 3 ? true : false },\r\n cajaCategory: { value: '' },\r\n eps: { value: this.state.options.component === 3 ? true : false },\r\n isValid: true\r\n }\r\n };\r\n subscribedList.push(newSubscribed);\r\n this.subscribedSaludValidaciones[type].push(new SaludValidaciones(newSubscribed.form, this.subscribedRules));\r\n }\r\n\r\n removeSubscribed(subscribedList, type) {\r\n subscribedList.splice(subscribedList.length - 1, 1);\r\n this.subscribedSaludValidaciones[type].splice(this.subscribedSaludValidaciones[type].length - 1, 1);\r\n }\r\n\r\n updateFormState(newForm, calculateRequest) {\r\n if (!calculateRequest) {\r\n this.setState({ form: newForm });\r\n } else if (calculateRequest) {\r\n this.setState({ form: newForm }, () => {\r\n this.calculateRequest();\r\n });\r\n }\r\n this.categoriaCaja = newForm.cajaCategory.value\r\n }\r\n\r\n updateOptionsState(options, calculateRequest) {\r\n if (!calculateRequest) {\r\n this.setState({ options });\r\n } else if (calculateRequest) {\r\n this.setState({ options }, () => {\r\n this.calculateRequest();\r\n });\r\n }\r\n }\r\n\r\n handleSubmit(callback) {\r\n let currentForm = JSON.parse(JSON.stringify(this.state.form));\r\n this.saludValidaciones.validateForm(currentForm);\r\n let allSubscribedValids = true;\r\n for (let type in this.subscribedSaludValidaciones) {\r\n this.subscribedSaludValidaciones[type].forEach((subscribedValidation, index) => {\r\n subscribedValidation.validateForm(this.state.subscribed[type][index].form);\r\n if (!this.state.subscribed[type][index].form.isValid) allSubscribedValids = false;\r\n });\r\n }\r\n this.setState({ form: currentForm }, () => {\r\n if (this.state.form.isValid && allSubscribedValids) {\r\n callback();\r\n }\r\n });\r\n }\r\n\r\n subscribedCleanAll(event) {\r\n event.preventDefault();\r\n this.subscribedSaludValidaciones.lessthan60 = [];\r\n this.subscribedSaludValidaciones.morethan60 = [];\r\n let currentState = JSON.parse(JSON.stringify(this.state));\r\n currentState.form.lessthan60.value = 0;\r\n currentState.form.morethan60.value = 0;\r\n // currentState.form.name.value = '';\r\n // currentState.form.email.value = '';\r\n // currentState.form.caja.value = false;\r\n // currentState.form.cajaCategory.value = '';\r\n // currentState.form.eps.value = false;\r\n // currentState.form.includeMe.value = false;\r\n // this.saludValidaciones.resetForm(currentState.form);\r\n currentState.subscribed.lessthan60 = [];\r\n currentState.subscribed.morethan60 = [];\r\n currentState.options.advancedOptions = false;\r\n this.setState(currentState, () => {\r\n this.calculateRequest();\r\n });\r\n }\r\n\r\n subscribedCleanData(indexOfSubscribed, type, event) {\r\n event.preventDefault();\r\n let currentSubscribed = JSON.parse(JSON.stringify(this.state.subscribed));\r\n currentSubscribed[type][indexOfSubscribed].form = {\r\n name: { value: '' },\r\n caja: { value: this.state.options.component === 3 ? true : false },\r\n cajaCategory: { value: '' },\r\n eps: { value: this.state.options.component === 3 ? true : false }\r\n };\r\n this.subscribedSaludValidaciones[type][indexOfSubscribed].resetForm(currentSubscribed[type][indexOfSubscribed].form);\r\n this.setState({ form: this.state.form, subscribed: currentSubscribed }, () => {\r\n this.calculateRequest();\r\n });\r\n }\r\n\r\n subscribedRemove(indexOfSubscribed, type, callback) {\r\n let currentState = JSON.parse(JSON.stringify(this.state));\r\n currentState.form[type].value--;\r\n currentState.subscribed[type].splice(indexOfSubscribed, 1);\r\n this.subscribedSaludValidaciones[type].splice(indexOfSubscribed, 1);\r\n if (currentState.form.lessthan60.value + currentState.form.morethan60.value == 0) currentState.options.advancedOptions = false;\r\n this.setState(currentState, () => {\r\n this.calculateRequest();\r\n if (callback) callback();\r\n });\r\n }\r\n\r\n removeNonLetters(string) {\r\n const regex = /[^a-zA-Z\\s]/gi;\r\n return string.replace(regex, '');\r\n }\r\n\r\n subscribedHandleChange(indexOfSubscribed, type, event) {\r\n let currentSubscribed = JSON.parse(JSON.stringify(this.state.subscribed));\r\n currentSubscribed[type][indexOfSubscribed].form[event.target.id].value = event.target.value;\r\n if (event.target.id === \"name\") {\r\n currentSubscribed[type][indexOfSubscribed].form[event.target.id].value = this.removeNonLetters(event.target.value);\r\n }\r\n this.setState({ form: this.state.form, subscribed: currentSubscribed });\r\n }\r\n\r\n subscribedHandleSelect(indexOfSubscribed, field, type, value) {\r\n let currentSubscribed = JSON.parse(JSON.stringify(this.state.subscribed));\r\n currentSubscribed[type][indexOfSubscribed].form[field].value = value;\r\n this.setState({ form: this.state.form, subscribed: currentSubscribed }, () => {\r\n this.calculateRequest();\r\n });\r\n }\r\n\r\n subscribedHandleBlur(indexOfSubscribed, type, event) {\r\n let currentSubscribed = JSON.parse(JSON.stringify(this.state.subscribed));\r\n //let currentOptions = JSON.parse(JSON.stringify(this.state.options));\r\n let element = event.target;\r\n this.saludValidaciones.validateField(element, currentSubscribed[type][indexOfSubscribed].form);\r\n /*let lastAdvancedOptions = currentOptions.advancedOptions;\r\n if (element.value) currentOptions.advancedOptions = true;*/\r\n this.setState({ form: this.state.form, subscribed: currentSubscribed/*, options: currentOptions*/ }, () => {\r\n //(!lastAdvancedOptions && currentOptions.advancedOptions) && this.calculateRequest();\r\n });\r\n }\r\n\r\n subscribedHandleSwitch(indexOfSubscribed, value, field, type) {\r\n let currentSubscribed = JSON.parse(JSON.stringify(this.state.subscribed));\r\n //let currentOptions = JSON.parse(JSON.stringify(this.state.options));\r\n currentSubscribed[type][indexOfSubscribed].form[field].value = value;\r\n //currentOptions.advancedOptions = true;\r\n if (this.state.options.component !== 3) {\r\n this.setState({ form: this.state.form, subscribed: currentSubscribed/*, options: currentOptions*/ }, () => {\r\n this.calculateRequest();\r\n });\r\n }\r\n }\r\n\r\n getPopover(key) {\r\n return (\r\n \r\n
\r\n \r\n )\r\n }\r\n\r\n scrollTo(elementId, event) {\r\n event.preventDefault();\r\n let windowWidth = $(window).width();\r\n $('html, body').animate({\r\n scrollTop: $(elementId).offset().top - $('header').height()\r\n }, 'fast');\r\n }\r\n\r\n calculateRequest() {\r\n //if (!this.state.form.caja.value || (this.state.form.caja.value && this.state.form.cajaCategory.value)) {\r\n if (this.state.options.component === 3) {\r\n let subscribedQuantity = this.state.subscribed.lessthan60.length\r\n let cantidadTotal = this.state.form.includeMe.value ? (subscribedQuantity + 1) : subscribedQuantity\r\n let valorTotal = this.state.form.includeMe.value ? (this.state.tarifaPlanVital * (subscribedQuantity + 1)) : this.state.tarifaPlanVital * subscribedQuantity\r\n this.setState({\r\n summary: {\r\n monthlyFare: this.state.tarifaPlanVital,\r\n lessthan60quantity: this.state.subscribed.lessthan60.length,\r\n lessthan60total: this.state.tarifaPlanVital * this.state.subscribed.lessthan60.length,\r\n totalQuantity: cantidadTotal,\r\n total: valorTotal,\r\n morethan60total: 0,\r\n morethan60quantity: 0,\r\n epsDiscount: 0,\r\n cajaDiscount: 0,\r\n }\r\n });\r\n } else {\r\n const calculateRequestBody = {\r\n Interesado: {\r\n MayorEdadDefinida: this.userMoreThan60,\r\n NumeroDeDocumento: null,\r\n TipoDeDocumento: null,\r\n Nombre: this.state.form.name.value,\r\n CorreoElectronico: this.state.form.email.value,\r\n CajaCompensacionCompensar: this.state.form.caja.value && this.state.form.cajaCategory.value ? true : false,\r\n Categoria: this.state.form.caja.value && this.state.form.cajaCategory.value ? {\r\n Titulo: this.state.form.cajaCategory.value,\r\n TituloConsorcio: null,\r\n Descripcion: null,\r\n Id: 1,\r\n Title: this.state.form.cajaCategory.value\r\n } : null,\r\n EPSCompensar: this.state.form.eps.value,\r\n AfiliarInteresado: this.userMoreThan60 !== null ? this.state.form.includeMe.value : null\r\n },\r\n BeneficiariosMayores: this.state.subscribed.morethan60.reduce((filtered, subscribed) => {\r\n //if (!subscribed.form.caja.value || (subscribed.form.caja.value && subscribed.form.cajaCategory.value)) {\r\n filtered.push({\r\n MayorEdadDefinida: true,\r\n NumeroDeDocumento: null,\r\n TipoDeDocumento: null,\r\n Nombre: subscribed.form.name.value,\r\n CorreoElectronico: null,\r\n CajaCompensacionCompensar: (this.state.options.isAuthenticated || this.state.options.advancedOptions) ? (subscribed.form.caja.value && subscribed.form.cajaCategory.value ? true : false) : (this.state.form.caja.value && this.state.form.cajaCategory.value ? true : false),\r\n Categoria: (this.state.options.isAuthenticated || this.state.options.advancedOptions) ? (subscribed.form.caja.value && subscribed.form.cajaCategory.value ? {\r\n Titulo: subscribed.form.cajaCategory.value,\r\n TituloConsorcio: null,\r\n Descripcion: null,\r\n Id: 1,\r\n Title: subscribed.form.cajaCategory.value\r\n } : null) : (this.state.form.caja.value && this.state.form.cajaCategory.value ? {\r\n Titulo: this.state.form.cajaCategory.value,\r\n TituloConsorcio: null,\r\n Descripcion: null,\r\n Id: 1,\r\n Title: this.state.form.cajaCategory.value\r\n } : null),\r\n EPSCompensar: (this.state.options.isAuthenticated || this.state.options.advancedOptions) ? subscribed.form.eps.value : this.state.form.eps.value\r\n });\r\n //}\r\n return filtered;\r\n }, []),\r\n // BeneficiariosMenores: initialBeneficiarioMayor ? initialBeneficiarioMayor : this.state.subscribed.lessthan60.reduce((filtered, subscribed) => {\r\n BeneficiariosMenores: this.state.subscribed.lessthan60.reduce((filtered, subscribed) => {\r\n //if (!subscribed.form.caja.value || (subscribed.form.caja.value && subscribed.form.cajaCategory.value)) {\r\n filtered.push({\r\n MayorEdadDefinida: false,\r\n NumeroDeDocumento: null,\r\n TipoDeDocumento: null,\r\n Nombre: subscribed.form.name.value,\r\n CorreoElectronico: null,\r\n CajaCompensacionCompensar: (this.state.options.isAuthenticated || this.state.options.advancedOptions) ? (subscribed.form.caja.value && subscribed.form.cajaCategory.value ? true : false) : (this.state.form.caja.value && this.state.form.cajaCategory.value ? true : false),\r\n Categoria: (this.state.options.isAuthenticated || this.state.options.advancedOptions) ? (subscribed.form.caja.value && subscribed.form.cajaCategory.value ? {\r\n Titulo: subscribed.form.cajaCategory.value,\r\n TituloConsorcio: null,\r\n Descripcion: null,\r\n Id: 1,\r\n Title: subscribed.form.cajaCategory.value\r\n } : null) : (this.state.form.caja.value && this.state.form.cajaCategory.value ? {\r\n Titulo: this.state.form.cajaCategory.value,\r\n TituloConsorcio: null,\r\n Descripcion: null,\r\n Id: 1,\r\n Title: this.state.form.cajaCategory.value\r\n } : null),\r\n EPSCompensar: (this.state.options.isAuthenticated || this.state.options.advancedOptions) ? subscribed.form.eps.value : this.state.form.eps.value\r\n });\r\n //}\r\n return filtered;\r\n }, [])\r\n };\r\n if (calculateRequestBody.BeneficiariosMayores.length == 0) calculateRequestBody.BeneficiariosMayores = null;\r\n if (calculateRequestBody.BeneficiariosMenores.length == 0) calculateRequestBody.BeneficiariosMenores = null;\r\n const options = JSON.parse(JSON.stringify(this.state.options));\r\n options.loadingSummary = true;\r\n this.setState({ options });\r\n const calcularTarifaService = new ServicioProxy('CalcularTarifa');\r\n calcularTarifaService.getElements('POST', calculateRequestBody).then((result) => {\r\n result = JSON.parse(result);\r\n options.loadingSummary = false;\r\n this.setState({\r\n summary: {\r\n monthlyFare: result.PrecioMensualDesde,\r\n epsDiscount: result.DescuentoEps,\r\n cajaDiscount: result.DescuentoCajaCompensacion,\r\n lessthan60quantity: result.UsuariosMenorEdadDefinida.CantidadUsuarios,\r\n lessthan60total: result.UsuariosMenorEdadDefinida.ValorTotal,\r\n morethan60quantity: result.UsuariosMayorEdadDefinida.CantidadUsuarios,\r\n morethan60total: result.UsuariosMayorEdadDefinida.ValorTotal,\r\n totalQuantity: result.UsuariosTotal.CantidadUsuarios,\r\n total: result.UsuariosTotal.ValorTotal\r\n }, options\r\n });\r\n\r\n }).catch(error => {\r\n this.showMessages();\r\n });\r\n }\r\n // }\r\n }\r\n\r\n updateState(formState, component) {\r\n this.setState({ options: { ...this.state.options, showCotizador: true, component } });\r\n let form = this.state.form\r\n form.name.value = formState.fullName.value\r\n form.email.value = formState.email.value\r\n form.identificationType.value = formState.identificationType.value\r\n form.identificationType.sigla = formState.identificationType.sigla\r\n form.identificationNumber.value = formState.identificationNumber.value\r\n form.phone.value = formState.phone.value\r\n form.confirmPersonalData = formState.confirmPersonalData\r\n form.confirmEmailMessage = formState.confirmEmailMessage\r\n form.confirmTextMessage = formState.confirmTextMessage\r\n form.cajaCategory.value = form.cajaCategory.value\r\n\r\n this.setState({ form:form }, () => this.guardarCotizacion(component === 3 ? true : false))\r\n // this.setState({\r\n // form: {\r\n // ...this.state.form,\r\n // name: { value: formState.fullName.value },\r\n // email: { ...this.state.form.email, value: formState.email.value },\r\n // identificationType: { ...this.state.form.identificationType, value: formState.identificationType.value, sigla: formState.identificationType.sigla },\r\n // identificationNumber: { ...this.state.form.identificationNumber, value: formState.identificationNumber.value },\r\n // phone: { ...this.state.form.phone, value: formState.phone.value },\r\n // confirmPersonalData: formState.confirmPersonalData,\r\n // confirmEmailMessage: formState.confirmEmailMessage,\r\n // confirmTextMessage: formState.confirmTextMessage\r\n // }\r\n // }, () => {\r\n // this.guardarCotizacion(this.state.options.component === 3 ? true : false)\r\n // })\r\n }\r\n\r\n showCotizadorAtCloseModal(event) {\r\n let reset = { ...this.state.form }\r\n reset.name.value = \"\";\r\n reset.email.value = \"\";\r\n reset.identificationType.value = \"Seleccione un documento\";\r\n reset.identificationNumber.value = \"\";\r\n reset.phone.value = \"\";\r\n // this.setState({ options: { ...this.state.options, showCotizador: false } });\r\n this.setState({ form: reset, options: { ...this.state.options, component: 1, showCotizador: false } },\r\n () =>\r\n this.subscribedCleanAll(event));\r\n }\r\n\r\n guardarCotizacion(planVital) {\r\n const data = {\r\n \"NombreCompleto\": this.state.form.name.value,\r\n \"TipoDocumento\": this.state.form.identificationType.sigla,\r\n \"NumeroDocumento\": this.state.form.identificationNumber.value,\r\n \"Telefono\": this.state.form.phone.value,\r\n \"Email\": this.state.form.email.value,\r\n \"AutorizaTratamientoDatos\": this.state.form.confirmPersonalData.value,\r\n \"AceptaRecibirInformacion\": this.state.form.confirmEmailMessage.value,\r\n \"AceptaMensajes\": this.state.form.confirmTextMessage.value,\r\n \"EsPlanVital\": planVital\r\n }\r\n const guadarCotizacion = new ServicioProxy('GuardarCotizacion');\r\n if (this.state.form.confirmPersonalData) {\r\n guadarCotizacion.getElements('POST', data).then(\r\n (result) => {\r\n const data = JSON.parse(result);\r\n sessionStorage.setItem('idCotizacion', data.IdCotizacion)\r\n }\r\n )\r\n }\r\n }\r\n\r\n formularioEntrada(showModalPlanVital) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n cotizarFormulario(planvital) {\r\n let form = this.state.form\r\n if (planvital && compTools.estaAutenticado()) {\r\n form.cajaCategory.value = this.categoriaCaja == form.cajaCategory.value ? form.cajaCategory.value : this.categoriaCaja\r\n }\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n\r\n handleComponent() {\r\n let component = null;\r\n let userPlanVital = this.state.dataUserPlanVital ? this.state.dataUserPlanVital.ObtenerDatosAfiliacionPlanVitalResult : null\r\n if (this.state.options.component === 1) {\r\n component = this.formularioEntrada();\r\n } else if (this.state.options.component === 2) {\r\n component = this.cotizarFormulario();\r\n } else if (this.state.options.component === 3) {\r\n if (!compTools.autenticadoWindows() && compTools.estaAutenticado()) {\r\n if (userPlanVital.DatosInteresado.PuedeContinuarAfiliacion) {\r\n let puedeCotizarPlanVital = userPlanVital.DatosBeneficiariosMenores.Beneficiarios.filter(item => item.PuedeContinuarAfiliacion == false)\r\n let filterByCathegory = this.state.form.cajaCategory.value = 'A' || 'B'\r\n if (puedeCotizarPlanVital.length === 0 && filterByCathegory) {\r\n component = this.cotizarFormulario(true);\r\n } else {\r\n component = this.formularioEntrada(false);\r\n this.setState({ options: { ...this.state.options, component: 1 } });\r\n this.showMessagesPlanVital();\r\n }\r\n } else {\r\n component = this.formularioEntrada(false);\r\n this.setState({ options: { ...this.state.options, component: 1 } });\r\n this.showMessagesPlanVital();\r\n }\r\n } else {\r\n component = this.cotizarFormulario(true);\r\n }\r\n // component = this.cotizarFormulario(true);\r\n }\r\n return component\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n
\r\n

Inicia la afiliación cotizando tu plan

\r\n

{this.props.configurations['TextoIntroductorio']}

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

{this.props.configurations['ConoceLosBeneficiosDelPlanComplementario']}

\r\n {this.props.configurations['ConoceLosBeneficiosDelPlanComplementarioIcono'] &&\r\n this.scrollTo('#beneficios', event)}>\r\n }\r\n
\r\n
\r\n
\r\n\r\n
cargando...
\r\n\r\n
\r\n {this.handleComponent()}\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n {\r\n this.props.configurations['noContinuaPlanVital'] || \r\n \r\n }\r\n {\r\n this.props.configurations['MensajeErrorDeServicios'] ||\r\n \r\n }\r\n
\r\n );\r\n }\r\n}\r\n\r\n/******************** BUILD ********************/\r\nlet Popover = ReactBootstrap.Popover;\r\n/******************** BUILD ********************/\r\n","\r\nexport default class BeneficiosCondicionesItem extends React.Component {\r\n constructor() {\r\n super();\r\n\r\n this.state = {\r\n eventKey: Math.random(),\r\n titleColorClass: 'titulo-beneficio-item',\r\n icon: \r\n }\r\n \r\n }\r\n\r\n changePanelStatus(e)\r\n {\r\n if(this.state.titleColorClass == 'titulo-beneficio-item'){\r\n this.setState({ titleColorClass: 'titulo-beneficio-item-seleccionado', icon: })\r\n } else {\r\n this.setState({ titleColorClass: 'titulo-beneficio-item', icon: })\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n this.changePanelStatus(e)} >\r\n \r\n \r\n {this.props.item.CSTituloSeccionText}\r\n
\r\n { this.state.icon }\r\n
\r\n
\r\n \r\n
\r\n \r\n

\r\n { this.props.item.CSImagenIconoText ? (\r\n {this.props.item.CSTituloText}\r\n ) : (\r\n this.props.item.CSTituloText\r\n ) }\r\n

\r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n/******************** BUILD ********************/\r\nconst Panel = ReactBootstrap.Panel;\r\n/******************** BUILD ********************/\r\n\r\n","import BeneficiosCondicionesItem from './beneficiosCondicionesItem'\r\nexport default class BeneficiosCondiciones extends React.Component {\r\n constructor() {\r\n super();\r\n\r\n this.state = {\r\n beneficiosItems: \"\",\r\n beneficiosItemsPlanVital: \"\",\r\n };\r\n\r\n this.scrollTo = this.scrollTo.bind(this);\r\n this.pnpService = new ServicioPnp();\r\n }\r\n\r\n resetItemsTitle(e) {\r\n console.log(e);\r\n }\r\n\r\n parseResponse(data, isPlanVital) {\r\n if (!isPlanVital) {\r\n this.setState({\r\n beneficiosItems: data.map((item) => (\r\n this.resetItemsTitle(e)}\r\n />\r\n )),\r\n });\r\n } else {\r\n this.setState({\r\n beneficiosItemsPlanVital: data.map((item) => (\r\n this.resetItemsTitle(e)}\r\n />\r\n )),\r\n });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.pnpService.getList(\r\n \"beneficiosCondiciones\",\r\n (data) => this.parseResponse(data),\r\n \"CSVisibleBool eq 1\",\r\n \"CSTituloSeccionText\",\r\n \"CSTituloText\",\r\n \"CSDescripcionRichTextNote\",\r\n \"CSImagenIconoText\"\r\n );\r\n this.pnpService.getList(\r\n \"beneficiosCondiciones\",\r\n (data) => this.parseResponse(data, true),\r\n \"Plan_x0020_Vital eq 1\",\r\n \"CSTituloSeccionText\",\r\n \"CSTituloText\",\r\n \"CSDescripcionRichTextNote\",\r\n \"CSImagenIconoText\"\r\n );\r\n }\r\n\r\n scrollTo(elementId, event) {\r\n event.preventDefault();\r\n let windowWidth = $(window).width();\r\n $(\"html, body\").animate(\r\n {\r\n scrollTop: $(elementId).offset().top - $(\"header\").height() + 60,\r\n },\r\n \"fast\"\r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Beneficios y Condiciones Del Plan Complementario\r\n

\r\n \r\n {this.state.beneficiosItems}\r\n \r\n
\r\n
\r\n

\r\n Beneficios y Condiciones Del Plan Vital\r\n

\r\n \r\n \r\n \r\n\r\n
\r\n {this.props.configurations[\"CotizaPlanComplementarioIcono\"] && (\r\n this.scrollTo(\"#cotizar\", event)}\r\n >\r\n \r\n \r\n )}\r\n

\r\n {this.props.configurations[\"CotizaPlanComplementario\"]}\r\n

\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\n/******************** BUILD ********************/\r\nconst Accordion = ReactBootstrap.Accordion;\r\nconst Panel = ReactBootstrap.Panel;\r\nconst PanelGroup = ReactBootstrap.PanelGroup;\r\n/******************** BUILD ********************/\r\n","import Cotizar from './components/cotizar';\r\nimport BeneficiosCondiciones from './components/beneficiosCondiciones';\r\n/******************** BUILD ********************/\r\nimport less from \"../index.less\";\r\n/******************** BUILD ********************/\r\nclass App extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n configurations: {},\r\n popovers: {},\r\n startShoppingProperties: {}\r\n }\r\n\r\n this.loginUrl = '';\r\n }\r\n\r\n componentDidMount() {\r\n const configurations = { ...this.state.configurations };\r\n const popovers = {};\r\n const pnpService = new ServicioPnp();\r\n pnpService.getListWithTop('configuraciones', (list) => {\r\n configurations['ErrorServicio'] = list[0] ? list[0].CSValorNote : 'Discúlpenos, por favor intente más tarde';\r\n\r\n list.forEach((item) => {\r\n configurations[item.CSNombreText] = item.CSValorNote;\r\n });\r\n\r\n this.setState({ configurations: configurations }, () => {\r\n })\r\n }, 400, null, 'CSNombreText', 'CSValorNote');\r\n\r\n pnpService.getListWithTop('parametrosPaginas', (list) => {\r\n list.forEach((item) => {\r\n configurations[item.CSNombreText] = item.CSValorNote == 'false' ? false : item.CSValorNote;\r\n configurations[item.CSNombreText + 'CSVisibleBool'] = item.CSVisibleBool;\r\n\r\n (item.CSNombreText == \"MensajeValidacionAutogestionSimulador\" || item.CSNombreText == \"MensajeValidacionAutenticadoSimulador\" || item.CSNombreText == 'MensajeValidacionCalendarioSimulador') ? popovers[item.CSNombreText] = item.CSValorNote : null\r\n\r\n });\r\n this.setState({ configurations: configurations });\r\n }, 400, \"CSFormularioChoice eq 'Simulaci%C3%B3n'\", 'CSDescripcionNote', 'CSFormularioChoice', 'CSNombreText', 'CSValorNote', 'CSVisibleBool');\r\n\r\n pnpService.getList('popovers', (list) => {\r\n list.forEach((item) => {\r\n popovers[item.CSIDPopOverText] = {\r\n position: item.CSPosicionPopOverChoice,\r\n buttonText: item.CSTextoBotonText,\r\n title: item.CSTituloPopOverText,\r\n description: item.CSTextoAyudaNote.split('\\n').join('
')\r\n };\r\n });\r\n this.setState({ popovers: popovers });\r\n }, null, 'CSCampoFormNote', 'CSIDPopOverText', 'CSPosicionPopOverChoice', 'CSTextoAyudaNote', 'CSTextoBotonText', 'CSTituloPopOverText');\r\n\r\n setTimeout(() => {\r\n this.isAuthenticated(configurations)\r\n }, 500);\r\n\r\n }\r\n\r\n callMainService(tipoIdentificacion, indentificacion) {\r\n\r\n const startShoppingProperties = { ...this.state.startShoppingProperties };\r\n\r\n const url = 'ValidarVisualizacionInicioCompraVentaVinculacion?tipoDocumento=' + tipoIdentificacion + '&numeroDocumento=' + indentificacion;\r\n const validarVisualizacionInicioCompraVentaVinculacion = new ServicioProxy(url, 'ServicioConsorcio.svc');\r\n validarVisualizacionInicioCompraVentaVinculacion.getElements('POST', {}).then((response) => {\r\n const data = JSON.parse(response);\r\n\r\n /*data = {\r\n \"Error\": null,\r\n \"Autenticado\": true,\r\n \"PuedeIniciarAutogestion\": true,\r\n \"PuedeIniciarCalendario\": true\r\n }*/\r\n\r\n startShoppingProperties['AutenticadoValue'] = indentificacion != 0 ? true : false;\r\n startShoppingProperties['PuedeIniciarAutogestionValue'] = data.PuedeIniciarAutogestion;\r\n startShoppingProperties['PuedeIniciarCalendarioValue'] = data.PuedeIniciarCalendario;\r\n //startShoppingProperties['PuedeIniciarCalendarioValue'] = true;\r\n\r\n this.setState({ startShoppingProperties }, () => { console.log('startShoppingProperties ==> ', this.state.startShoppingProperties['PuedeIniciarCalendarioValue']) });\r\n }).catch(error => {\r\n //this.setState({ });\r\n });\r\n }\r\n\r\n isAuthenticated() {\r\n\r\n\r\n if (!compTools.autenticadoWindows() && compTools.estaAutenticado()) {\r\n const userInfo = compTools.obtenerInformacionUsuario();\r\n this.callMainService(userInfo.TipoIdentificacion, userInfo.LegalID);\r\n } else {\r\n this.callMainService(0, 0);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n {this.state.configurations['CompensarSaludPlanComplementario'] &&\r\n \r\n }\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\n/******************** BUILD ********************/\r\nconst appId = document.getElementById('app');\r\nReactDOM.render(, appId);\r\n/******************** BUILD ********************/\r\n\r\n/******************** TEST ********************/\r\n//export default App;\r\n/******************** TEST ********************/"],"sourceRoot":""}