{"version":3,"sources":["Context/User/index.js","Components/BarChart.js","base/section-type/styles.js","themes/Theme1.js","Components/GraphicView.js","Components/IndicatorDetail.js","base/Section.js","commonStyles.js","base/styles.js","base/EditModule.js","base/section-type/HorizontalTabs.js","base/section-type/VerticalTabs.js","Components/SweetAlert.js","modules/html/content/addIndicator.js","modules/html/content/addPopup.js","modules/html/content/addSign.js","modules/html/Editor/index.js","modules/html/Editor/styles.js","modules/html/Editor/text.js","modules/html/Edit.js","modules/html/IndicatorValue.js","modules/html/content/getPopup.js","modules/html/styles.js","modules/html/SignValue.js","modules/html/View.js","modules/html/index.js","modules/strategic-map/Edit.js","Components/SignYellowIndicator.js","modules/strategic-map/styles.js","modules/strategic-map/Indicator.js","modules/strategic-map/Objective.js","modules/strategic-map/Perspective.js","modules/strategic-map/View.js","modules/strategic-map/index.js","modules/graphic/Edit.js","Components/DoughnutChart.js","Components/WaterfallChart.js","Components/StackedBarChart.js","modules/graphic/View.js","modules/graphic/index.js","modules/user-graphic/Edit.js","Components/BarChartUser.js","Components/SelectInfo.js","modules/user-graphic/styles.js","modules/user-graphic/View.js","modules/user-graphic/index.js","modules/indicator-relevant/Edit.js","Components/TendenceSign.js","modules/indicator-relevant/styles.js","modules/indicator-relevant/View.js","modules/indicator-relevant/index.js","modules/value-map/Edit.js","modules/value-map/mapa-e.png","modules/value-map/styles.js","modules/value-map/View.js","modules/value-map/index.js","modules/table/Edit.js","Components/CreateTable.js","modules/table/styles.js","modules/table/View.js","modules/table/index.js","modules/PlantillaWeb/Edit.js","modules/PlantillaWeb/functions/styles.js","modules/PlantillaWeb/functions/Plantillas.js","modules/PlantillaWeb/View.js","modules/PlantillaWeb/index.js","modules/menu/Edit.js","modules/menu/styles.js","modules/menu/View.js","modules/menu/index.js","modules/tableCostumer/Edit.js","Components/CreateTableCostumer.js","modules/tableCostumer/View.js","modules/tableCostumer/index.js","modules/admin-report/View.js","modules/admin-report/index.js","modules/admin-report/Edit.js","index.js","config.js","base/CustomModal.js","Components/styles.js","modules/Components/ButtonConfig/styles.js","modules/Components/ButtonConfig/index.js","Components/Sign.js","Components/Circle.js","themes/themeSelect.js","utils/index.js","utils/Petition.js","utils/Security.js","Components/Loading/style.js","Components/Loading/index.js","modules/graphic/styles.js","account/styles.js","account/Login.js","base/RedirectAdminComponent.js","templates/Blank.js","base/custom-page-components/popups/view/Popup.js","templates/styles.js","templates/Default.js","templates/EnvironmentAnalysis.js","templates/SalesContribution.js","templates/Pyg.js","templates/Components/ChangeProfile/styles.js","templates/Components/ChangeProfile/index.js","templates/Home.js","templates/index.js","base/custom-page-components/CustomPageComponent.js","base/custom-page-components/styles.js","base/custom-page-components/CustomPageComponentGroup.js","base/custom-page-components/popups/admin/Item.js","base/custom-page-components/popups/admin/AdminPopups.js","base/custom-page-components/comments/admin/AdminComments.js","base/Editor/index.js","base/Editor/styles.js","base/Editor/text.js","base/custom-page-components/hide-filters/admin/AdminFilters.js","Components/Loading/ButtonLoading.js","base/custom-page-components/copy-modules/admin/ListModules.js","base/custom-page-components/copy-modules/admin/CopyModules.js","utils/RegisterVisit.js","base/PageRoute.js","base/PageNotFound.js","base/Templates.js","base/Sidebar/components/styles.js","base/Sidebar/components/ItemSidebar.js","base/Sidebar/styles.js","base/Sidebar/index.js","base/Head/styles.js","base/Head/search.js","base/AdminSection.js","base/Filtros.js","base/Head/index.js","base/MasterPage.js","globalStyles.js","account/PreLogin.js","account/AutologinSSO.js","account/Logout.js","App.js"],"names":["UserContext","createContext","UserInfo","children","useState","roles","setRoles","pageId","setPageId","edit","showAllPages","filterRegion","hasPermission","setHasPermission","idFilter","setIdFilter","Theme1","colorPalette","setColorPalette","data","validateShowComponent","a","b","useEffect","config","JSON","parse","localStorage","getItem","primary","color_primary","secondary","color_secondary","length","validatePermission","find","el","idpage","idfilter","Number","setItem","everypages","filter","Provider","value","BarChart","dataConfig","chartData","setChartData","meses","stacked","setStacked","otherAxis","setOtherAxis","format_number","Utils","getConfigPortal","format_percent","currentMonth","parseInt","findOrderArray","temp","order","i","j","type","push","dataSetInfo","xLabels","dashNumber","indicators","option","fechas","map","indicatorValue","month","year","indicator","index","data_label","aux_label","info","hasOwnProperty","labelIndicator","trim","label","name","aux_left","id","stage","ind","backgroundColor","color","borderDash","fill","indexOf","borderRadius","borderColor","datalabels","formatter","ctx","yAxisID","dataLabelTop","undefined","stageBarSelected","complete","aux_temp_label","stringify","Array","concat","colorLabel","label_legend","nameLabel","anchor","align","offset","font","weight","size","dataIndex","formatNumber","percent","totalIndicators","indicatorsComplete","orderN","cont_left","cont_right","cont_gen","dataC","completeYearInd","stack","dataTotal","num_years","years","reverse","aux","dataYear","labels","datasets","chart","height","width","plugins","ChartDataLabels","options","responsive","maintainAspectRatio","scales","y","beginAtZero","display","hideY","position","grid","ticks","callback","Math","abs","yLeft","suggestedMin","minYL","y1","yRight","minYR","x","legend","hideLegend","legendPosition","generateLabels","text","pointStyle","fillStyle","strokeStyle","lineDash","lineWidth","usePointStyle","padding","boxWidth","title","tooltip","enabled","hideTooltip","callbacks","dataset","valuePre","TabVerticalWrapper","styled","div","props","borderTwo","TabHorizontalWrapper","orange","red","border","radius","grayText","grayLight","shadow","shadowContainer","blue","success","dark","GraphicView","setData","_config","setConfig","end_point","indicators_temp","indicators_complete_temp","multiStages","info_ind","completeYear","ite","today","Date","to","getMonth","getFullYear","fecha_SinDia","cont","from","infoIndicator","toBefore","Petition","get","response","fromComplete","setMonth","toComplete","className","IndicatorDetail","idindicator","useContext","table","months","dataIndicators","setDataIndicators","idIndicator","setIdIndicator","setIndicator","infoMes","setCallback","change","setChange","dataTable","setDataTable","isLoading","setIsLoading","_dataTable","dataI","getColor","view","responseRelations","stages","stage1","relation","code","idstage","stage2","newDataTable","stage3","newDataTable2","err","console","log","layer","dataMes","tablaMeses","post","real","ppto","rf","parseFloat","replace","rfColor","changeIndicator","Container","fluid","style","Wd","colors","textAlign","marginRight","onClick","Loading","fontSize","toString","allModules","Html","ValueMap","AdminReport","Graphic","Table","Menu","UserGraphic","StrategicMap","PlantillaWeb","IndicatorRelevant","TableCostumer","Section","globalProps","popupStructure","templateZonesLoading","page","setPopupStructure","hideTabs","modules","setModules","orders","setOrders","setIsMenuAddModule","editMode","setEditMode","horizontalMode","setHorizontalMode","tabsMode","setTabsMode","tabsModeType","setTabsModeType","mountedRef","useRef","amountModules","setAmountModules","current","loaded","reloadContent","_orders","setReloadContent","setLoaded","configuration","page_section_configurations","section_code","tabs","tabs_type","horizontal","handleAddModule","event","preventDefault","pageModule","section","target","moduleCode","module_code","idpopup","Toggle","moduleList","module","Item","data-module-code","checked","onChange","disabled","htmlFor","status","ComponentTagName","componentRender","Button","button","boxShadow","margin","StyleCheckbox","Dashboard","DashboardHeader","header","DashboardWrapper","DashboardContent","DashboardSidebar","DashboardContentWrapper","DashboardContainertWrapper","PageIdWrapper","SectionSettings","SectionTitle","SectionPestañas","ModuleWrapper","ModuleTitle","ModuleType","ModuleOptions","ModuleOrder","ModuleTabs","ModuleActions","AggButtonWrapper","AggWrapper","AggWrapperContainer","AggWrapperClose","FiltrosWrapper","FiltrosMenu","FiltrosWrapperSelect","hidden","FiltrosLabel","ModalWrapper","StylesDiv","animation","keyframes","StyleComentario","ContainerPage","ContainerEditor","DivEditor","DivClose","BreadcrumbWrapper","PageNotFoundWrapper","PageNotFoundImage","PageNotFoundTitle","PageNotFoundDescription","SeccionWrapperHorizontal","EditModule","setIsMenuMove","nameEditMode","setNameEditMode","yearMonth","setYearMonth","setName","viewType","setViewType","toogleViewFilter","setToggleViewFilter","setFilter","setEveryPages","handleMoveZone","innerText","_","findOrder","newOrders","io","findOrderById","ioi","isValidDelete","valid","delete","newModules","_module","isValid","check","Object","keys","zone","createdAt","updatedAt","amountOrders","AlertConfirm","ICON","WARNING","oldOrderNumber","split","newOrderNumber","oldOrder","_order","new_filter","new_yearMonth","newViewType","HorizontalTabs","defaultActiveKey","eventKey","VerticalTabs","sm","variant","Link","Content","Pane","SUCCESS","ERROR","INFO","QUESTION","AlertForm","icon","timer","confirmButtonText","Toast","Swal","mixin","toast","showConfirmButton","timerProgressBar","confirmButtonColor","fire","textButton","fallback","showCancelButton","cancelButtonColor","then","result","isConfirmed","dismiss","AddIndicator","addIndicator","optionsIndicator","setOptionsIndicator","optionsStage","setOptionsStage","setSelectedIndicator","setSelectedStage","res","_options","names","pos","evt","theme","styleTheme","AddPopup","addPopup","popupOption","setPopupOption","popupDescription","setPopupDescription","AddSign","EditorText","content","setContent","idModule","inline","menubar","editorRef","showModal","setShowModal","showSign","setShowSign","showCustomPageComponent","setShowCustomPageComponent","selectorsHandler","removeItem","execCommand","popUpId","popUpDescription","apiKey","onInit","editor","initialValue","init","selector","resize","statusbar","language","image_title","automatic_uploads","file_picker_types","file_picker_callback","cb","meta","input","document","createElement","setAttribute","onchange","file","this","files","slice","reader","FileReader","onload","e","filetype","alt","readAsDataURL","click","templates","description","toolbar","tinydrive_token_provider","failure","token","content_style","getContent","CustomModal","show","setShow","handleSaveButton","ContainerCustom","Text","showText","ref","dangerouslySetInnerHTML","__html","Edit","globalParams","showEditor","textbtn","textbtn2","addEventListener","handleAccordion","removeEventListener","classList","contains","parentNode","querySelector","getAttribute","$id","getElementById","opacity","transform","window","setTimeout","remove","add","toggle","url","IndicatorValue","idStage","totalValue","setTotalValue","date","GetPopup","idPopup","setModalPopup","HtmlWrapper","SignValue","isLoaded","setIsLoaded","Sign","base","unit","View","attrRelation","setAttrRelation","updateTable","setUpdateTable","dataConverter","changeColor","getElementsByClassName","element","suma","entradas","getElementsByTagName","_tr","presupuesto","innerHTML","promedio","regexSearch","regexSearchIndicator","regexSign","match","dataForReplace","dataReplaced","dataResults","objs","obj","nameStage","regex","RegExp","idOfPopup","attribs","class","origin","ADMIN_URL","ButtonConfig","onPress","src","getAdminUrl","SignYellowIndicator","isDescendingIndicator","percentYellow","Circle","ButtonsContent","PerspectiveWrapper","design","PerspectiveTitleWrapper","PerspectiveTitle","PerspectiveTitleHandle","ObjetiveWrapperCollapse","ObjetiveContainerCollapse","ObjetiveWrapper","ObjetiveContainer","backGroundColor","IndicatorLabel","StyleArrow","image","Indicator","indicatorData","setShowIndicatorsDetailModal","setSelectedIndicatorDetail","comment","setComment","includeYellow","unitPercent","descendingIndicator","sign","col1","col2","col3","col4","Objective","objective","showObjective","designSecondary","colorBG","setColorBG","greens","reds","finalColor","_color","calculateColor","Col","transversal","unique","Row","striped","Perspective","perspective","idx","designStrategicMap","showIndicadoresH","setShowIndicadoresH","_class","grouped","getClassName","setIndicatorData","isConfigured","setIsConfigured","setShowObjective","showIndicatorsDetailModal","selectedIndicatorDetail","ids","k","includes","key","ViewValues","columns","join","_data","DoughnutChart","xlabels","dataY","total","d","backgroundColors","layout","pointerStyle","WaterfallChart","minChart","setMinChart","dataSet","mayor","menor","contador","addTotalColumn","vStart","negative","toFixed","colorNegative","colorPositive","aux_min","floor","barPercentage","context","isArray","str","format","min","StackedBarChart","box","setBox","column","columnLabel","numbersTotal","colorLabelsTotal","infoTotal","otherIndTotal","clave","othersIndForTotal","aux_total","data_total","colorAux","totalColor","peso","indicatorTotalSelected","stagesTotalSelected","aux_labelsSerie","stagesSerie","otherIndSerie","stagesSerieSelected","serieLabel","series","serie","numbersSerie","labelsSerie","labelSerie","dataTemp","col","indexC","columnsOfSerie","indicatorsStages","indStage","colorMatch","aux_numbers","aux_labels","info_col","multipleColors","background","serieColor","othersIndForLabels","dataM","nameLabels","colorV","serieLabelColor","dataT","hideLabel","val","resp","bodyFont","titleFont","labels_serie","bandera","setBandera","currentYear","otherYears","numYears","infoYears","labelYear","colorYear","aux_cont","fromBefore","info_values","posTitle","BarChartUser","data_stage","labelStage","SelectInfo","form","setForm","setStages","iduser","setStage","flagUser","setFlagUser","users","default","selectStage","onSubmit","configUser","changeStage","cacheOptions","defaultOptions","loadOptions","inputValue","Promise","resolve","GraphicWrapper","GraphicWrapperContent","GraphicContainer","setTitle","idstages","setIdstages","aux_2","getInfo","hideFooter","Card","TendenceSign","styles","baseNumber","setBaseNumber","valueNumber","setValueNumber","inside","CustomCard","Comments","ViewContainer","values","setValues","setEdit","commentInput","setCommentInput","viewsSign","viewsStage","cardComponent","prefix","postfix","link","pathname","newTab","rel","Form","Control","as","placeholder","rows","maxLength","typeModel","idtype","Image","selectedShapeName","NameIndicator","span","setIdObjetive","_idIndicator","dataObjetive","setDataObjetive","setImage","showIndicatorsModal","setIndicatorsModal","setIndicatorsDetailModal","img","Mapa","handleLoad","objetives","_newDataIndicators","newDataObjetive","IDObjetive","ID","IDIndicator","DSNumber","r","v","index2","semaforo","handlePopupIndicators","porcentaje","cp","asyncUpdateIndicator","handlePopupDetail","bind","var","objetive","left","NMX","top","NMY","NMWidth","NMRotation","DSColor","transformOrigin","number","classes","DSText","CreateTable","configPopup","setConfigPopup","tableData","setTableData","headersTable","setHeadersTable","hiddenRowsForm","setHiddenRowsForm","hiddenColsForm","setHiddenColsForm","hiddenCols","sethiddenCols","hiddenRows","setHiddenRows","handlePopup","handleHideRows","row","_hiddenRowsForm","handleShowRows","splice","handleHideCols","_hiddenColsForm","handleShowCols","htmlTr","headers","title_column","scope","widthFirstCol","th","popup","popUpSelected","urlSelected","path","lastYear","lastDec","stage_label","spaceAbove","labelSpaceAbove","indexI","othersInd","lessInd","posLessInd","amountLessInd","newIndicators","compliance","compliance_stages","variacion","semaphore","disableDesendingSign","spaceBelow","labelSpaceBelow","ind_label","indexS","highlight","Dropdown","marginTop","otherStyle","TableTitle","h3","flag","setFlag","idstages_temp","dataNewInd","idCompliances","ContainerBanner","imgData","BtnLink","BtnLinkSingle","ContainerHorizontal","ContainerVertical","ContainerSimple","Plantillas","template","base64","imageTemplate","typeTemplate","headerTemplate","descriptionTemplate","newTabTemplate","href","linkTemplate","linkDescription","zIndex","DivMenu","StyledMenu","ul","location","useLocation","menu","tMenu","Fragment","CreateTableCostumer","data_now","sort","data_pre","htmlHeaders","colSpan","hideLastYear","dataN","pos_pre","name_customer","name_Canal","labelCanal","data_var","ind_data_pre","dif","responseM","ReactDOM","render","StrictMode","API_URL","VERSION_SESSION","CENTRIFY_LOGOUT","OLD_SITE","handleClose","onHide","backdrop","keyboard","enforceFocus","Header","closeButton","Title","Body","Footer","saveButtonText","TableWrapper","ConfigTable","ConfigTable2","IndicatorHeadWrapper","IndicatorConvensiones","IndicatorConvensionesTwo","IndicatorHeadContain","IndicatorHeadContainer","IndicatorHeadLabel","ButtonWrapper","paddingLeft","paddingRight","alignItems","justifyContent","primary25","publicGet","_finally","axios","responseType","catch","finally","publicGetExternal","publicPost","timeInitial","performance","now","counter","Authorization","timeEnd","startTime","endTime","postFile","FormData","append","Security","checkRoleGroup","rol","setStartLocalStorage","department","user","idportal","portal","business","client","permissionsContent","permissionsAdmin","idrol_admin","idrol_content","rol_admin","rol_content","_filter","adminAutologinData","encoded","encodeURIComponent","adminAutologin","iframe","property","_format","_number","_f","removeOptions","selectElement","StyleLoading","Spinner","GraphicCustomWrapper","GraphicCustomWrapperContent","GraphicCustomContainer","BgContainer","p","imgLogin","OptionsContainer","IntroContainer","CtaContainer","PrimaryBtn","SecondaryBtn","TertiaryBtn","LoginContainer","Login","logged","setLogged","loginDefaultMessage","setLoginDefaultMessage","username","password","message","setMessage","guess","setGuess","redirectUrl","setImgLogin","urlCentrify","setUrlCentrify","handleInputForm","domain","toLowerCase","allowOutsideClick","showLoading","portal_config","splash","centrify_login","error","close","autoComplete","role","RedirectAdminComponent","useParams","Blank","templateZonesLoadingPageRoute","loadedContainer","setLoadedContainer","container","popupIzquierda","popupDerecha","popupIzquierdaA","popupDerechaA","popupIzquierdaB","popupCentroB","popupDerechaB","popupCentroC","Popup","isShow","md","SubContainer","StyleCard","ButtonClose","WrapperPadding","Default","loadedSuperiorCompleto","setLoadedSuperiorCompleto","loadedCentroA","setLoadedCentroA","loadedIzquierdaB","setLoadedIzquierdaB","loadedDerechaB","setLoadedDerechaB","loadedIzquierdaC","setLoadedIzquierdaC","loadedCentroC","setLoadedCentroC","loadedDerechaC","setLoadedDerechaC","loadedCentroD","setLoadedCentroD","loadedIzquierdaE1","setLoadedIzquierdaE1","loadedIzquierdaE2","setLoadedIzquierdaE2","loadedDerechaE1","setLoadedDerechaE1","loadedDerechaE2","setLoadedDerechaE2","loadedCentroF","setLoadedCentroF","superiorCompleto","centroA","izquierdaB","derechaB","izquierdaC","centroC","derechaC","centroD","izquierdaE1","izquierdaE2","derechaE1","derechaE2","centroF","EnvironmentAnalysis","loadedContentA","setLoadedContentA","loadedMacroeconomicKey","setLoadedMacroeconomicKey","loadedMarketKey","setLoadedMarketKey","loadedCateringKey","setLoadedCateringKey","loadedMacroeconomicValue","setLoadedMacroeconomicValue","loadedMarketValue","setLoadedMarketValue","loadedCateringValue","setLoadedCateringValue","contenedorCompletoSuperior","macroeconomicoSuperior","mercadoSuperior","abastecimientoSuperior","macroeconomicoContenido","mercadoContenido","abastecimientoContenido","contenedorCompletoInferior","openContent","setOpenContent","handleShowContent","aria-hidden","SalesContribution","loadedCentroContribucionA","setLoadedCentroContribucionA","loadedIzquierdaContribucionB","setLoadedIzquierdaContribucionB","loadedDerechaContribucionB","setLoadedDerechaContribucionB","loadedCentroContribucionC","setLoadedCentroContribucionC","loadedIzquierdaContribucionC","setLoadedIzquierdaContribucionC","loadedDerechaContribucionC","setLoadedDerechaContribucionC","loadedIzquierdaContribucionD","setLoadedIzquierdaContribucionD","loadedDerechaContribucionD0","setLoadedDerechaContribucionD0","loadedDerechaContribucionD","setLoadedDerechaContribucionD","loadedDerechaContribucionD2","setLoadedDerechaContribucionD2","loadedCentroContribucionE0","setLoadedCentroContribucionE0","loadedCentroContribucionE","setLoadedCentroContribucionE","loadedCentroContribucionF","setLoadedCentroContribucionF","centroContribucionA","izquierdaContribucionB","derechaContribucionB","centroContribucionC","izquierdaContribucionC","derechaContribucionC","izquierdaContribucionD","derechaContribucionD0","derechaContribucionD","derechaContribucionD2","centroContribucionE0","centroContribucionE","centroContribucionF","paddingTop","loadedIzquierdaB2","setLoadedIzquierdaB2","loadedDerechaB1","setLoadedDerechaB1","loadedDerechaB2","setLoadedDerechaB2","loadedDerechaB3","setLoadedDerechaB3","loadedCentroD0","setLoadedCentroD0","loadedCentroE","setLoadedCentroE","izquierdaB2","derechaB1","derechaB2","derechaB3","centroD0","centroE","ShowChange","ChangeWrapper","showChage","ChangeOverlay","ChangeProfile","homePage","setHomePage","setShowChage","history","useHistory","handleHomePage","valor","handleChange","Home","Pyg","CustomPageComponent","WrapperModule","WrapperModuleNav","WrapperModuleContainer","CustomPageComponentGroup","selectedComponent","component","setComponent","activeName","setActiveName","handleChangeComponent","_component","Nav","activeKey","Component","popups","setPopups","popupName","setPopupName","ButtonGroup","_popups","AdminPopups","Group","Label","Alert","AdminComments","includeComment","FormGroup","AdminFilters","sections","setSections","filters","_form","ButtonLoading","ListModules","containerComponent","modulesChecked","setModulesChecked","isLoadingTable","setIsLoadingTable","isLoadingSave","setisLoadingSave","checkModule","_modulesChecked","saveModules","idmodule","hover","bordered","CopyModules","setFilters","Allpages","setAllpages","pageSeleted","setPageSeleted","pageTemplateActual","setPageTemplateActual","showListModule","setShowListModule","filterOfModules","setFilterOfModules","setTemplates","filter_name","validate","isClearable","searchPages","objPage","searchFilter","required","monthsResponse","registerVisit","timeSpent","amountEndpoint","inactivity","reportByHour","ocupation","tiempoRebote","tiempo_rebote","rolAdmin","rolContent","idUserPlatform","cargaPagina","permanencia","tasaRebote","calcInitialTime","calcEndTime","max","PageRoute","breadcrumbs","setBreadcrumbs","loadedPopup","setLoadedPopup","loadedPopupIzquierda","setLoadedPopupIzquierda","loadedPopupDerecha","setLoadedPopupDerecha","loadedPopupIzquierdaA","setLoadedPopupIzquierdaA","loadedPopupDerechaA","setLoadedPopupDerechaA","loadedPopupIzquierdaB","setLoadedPopupIzquierdaB","loadedPopupCentroB","setLoadedPopupCentroB","loadedPopupDerechaB","setLoadedPopupDerechaB","loadedPopupCentroC","setLoadedPopupCentroC","btnComment","showComment","timeActiveFinal","timeActive","timeActiveInitial","isInactiveByTime","tiempoInactividad","tiempo_inactividad","programarTiempo","handleVisibility","visibilityState","inactivityByTime","handleClickEvent","clearTimeout","$mainContent","handleBeforeUnload","_filters","filterTag","Option","hide_filters","useDefault","handleMenuCustomPageComponent","handleComments","Helmet","Breadcrumb","item","PageNotFound","Templates","pages","setPages","load","setload","AllTemplates","exact","ItemWrapper","ItemContainWrapper","ItemContain","ItemContainNoLink","ItemSidebar","Icon","child","external","open","setOpen","Collapse","in","SideWrapper","SideContent","SideSupp","icons","FaHome","FaNetworkWired","FaChartBar","FaCog","FaUsers","FaBell","FaGraduationCap","FaLifeRing","FaExternalLinkAlt","Sidebar","SideOptions","SectionLogo","SectionAccount","Logo","ContainerSearch","ContainerRelative","Search","setUpdateLocalStorage","setIndicators","wordToSearch","setWordToSearch","dateDefault","isLoadingIndicator","setIsLoadingIndicator","isLoadingPages","setIsLoadingPages","isLoadingContent","setIsLoadingContent","Mes","InputGroup","FormControl","handleSearch","handleLocalStorage","page_name","region","AdminSection","setIsMenuAdmin","Filtros","updateLocalStorage","setMonths","setYears","views","setViews","filterSelects","setFilterSelects","_views","forEach","_years","_months","handleFilterSelect","selectedIndex","_localname","Head","logo","setLogo","w","MasterPage","showPage","showSidebar","GlobalStyle","createGlobalStyle","PreLogin","AutologinSSO","Logout","clear","App","setModuleList","loadedEditMode","setLoadedEditMode","configGeneral","setInterval","toLocaleTimeString","at","User"],"mappings":"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","file":"static/js/main.e6adadf0.chunk.js","sourcesContent":["import { createContext, useState, useEffect } from \"react\";\nimport { Theme1 } from \"../../themes/Theme1\";\n\nexport const UserContext = createContext();\n\nexport function UserInfo({ children }) {\n \n const [roles, setRoles] = useState([]);\n const [pageId, setPageId] = useState(null);\n /**\n * @edit tiene permisos de editar, de lo contrario no puede editar y se oculta opcion editar\n * aplica para la tabla la misma configuración, editor y comentarios\n * @showAllPages tiene permisos en la opcion mostrar todas paginas en Editar\n * @filterRegion tiene permisos en la opcion filtrar por Region\n */\n const [hasPermission, setHasPermission] = useState({edit: false, showAllPages: false, filterRegion: false}); \n const [idFilter, setIdFilter] = useState(null);\n const [colorPalette, setColorPalette] = useState(Theme1);\n const data = {\n \n setPageId,\n hasPermission,\n setIdFilter,\n validateShowComponent: function(a, b) {return validateShowComponent(a,b)},\n colorPalette,\n };\n \n useEffect(() => {\n let config = JSON.parse(localStorage.getItem('config'));\n setColorPalette({...Theme1, primary: config.color_primary, secondary: config.color_secondary});\n \n setRoles(JSON.parse(localStorage.getItem('content_permissions')))\n \n }, [])\n useEffect(() => {\n\n if(roles.length === 0 || pageId === null) return;\n let validatePermission = {edit: false, showAllPages: false, filterRegion: false};\n if(roles.find(el => el.idpage === 0 && el.idfilter === 0)) {\n validatePermission = {edit: true, showAllPages: true, filterRegion: true};\n } else if (roles.find(el => el.idpage === pageId && el.idfilter === 0)) {\n validatePermission = {edit: true, showAllPages: false, filterRegion: true};\n } else {\n for (const el of roles) {\n if((el.idpage === 0 && el.idfilter === Number(idFilter)) || (el.idpage === pageId && el.idfilter === Number(idFilter))) {\n validatePermission = {edit: true, showAllPages: false, filterRegion: false};\n break;\n }\n }\n }\n \n if(!validatePermission.edit && localStorage.getItem(\"editable\") === \"1\") {\n localStorage.setItem(\"editable\", 0);\n }\n setHasPermission(validatePermission);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pageId, idFilter]);\n\n const validateShowComponent = (everypages, filter) => {\n return (!everypages || (hasPermission.showAllPages && hasPermission.filterRegion))\n && (filter || hasPermission.filterRegion);\n }\n return {children};\n}\n","import React, { useState, useEffect } from \"react\";\nimport { Bar } from 'react-chartjs-2'\nimport ChartDataLabels from 'chartjs-plugin-datalabels';\nimport Utils from \"../utils\";\n\n\nfunction BarChart({dataConfig, data}) {\n\n const [chartData, setChartData] = useState({});\n const meses = [ \"Ene\", \"Feb\", \"Mar\", \"Abr\", \"May\", \"Jun\", \"Jul\", \"Ago\", \"Sep\", \"Oct\", \"Nov\", \"Dic\"];\n const [stacked, setStacked] = useState(false);\n const [otherAxis, setOtherAxis] = useState(false);\n const format_number = Utils.getConfigPortal('format_number');\n const format_percent = Utils.getConfigPortal('format_percent');\n const currentMonth = useState(parseInt(localStorage.getItem('month')));\n\n const findOrderArray = (temp) => {\n let order = [];\n for(let i=0; i<2; i++) {\n for(let j=0; j {\n const dataSetInfo = [];\n let xLabels = [];\n const dashNumber = [4, 4];\n\n let order = findOrderArray(dataConfig.indicators);\n\n if(dataConfig.option === \"lastMonths\") {\n \n let fechas = data[0].data.map( indicatorValue => meses[indicatorValue.month - 1] + ' ' + indicatorValue.year);\n \n dataConfig.indicators.map( (indicator, index) => {\n let data_label = [];\n let aux_label = {};\n let info = {};\n if( indicator.hasOwnProperty('labelIndicator') && indicator.labelIndicator && indicator.labelIndicator.trim() !== \"\") info.label = indicator.labelIndicator;\n else info.label = indicator.name;\n let aux_left = data.filter( indicatorValue => indicatorValue.indicator === indicator.id && indicatorValue.stage === indicator.stage.id )[0];\n info.data = aux_left.data.map(ind => ind.value);\n info.backgroundColor = indicator.color;\n info.type = indicator.type === 'PorDefecto'? 'bar' : indicator.type || 'bar';\n \n if( info.type === 'line' && indicator.borderDash ) {\n info.borderDash = dashNumber;\n }\n\n info.fill = \"false\";\n info.order = order.indexOf(index)\n info.borderRadius = 10; \n info.borderColor = indicator.color;\n info.datalabels = {\n formatter: function(value, ctx) {\n return \"\"\n }\n };\n if( indicator.otherAxis ) {\n info.yAxisID = 'y1';\n setOtherAxis(true);\n }\n else info.yAxisID = 'y';\n\n if(indicator.dataLabelTop && indicator.hasOwnProperty('stageBarSelected') && indicator.stageBarSelected !== undefined ) {\n aux_label = data.filter( indicatorValue => indicatorValue.indicator === indicator.id && indicatorValue.stage === indicator.stageBarSelected.id && indicatorValue.year === indicator.year)[0];\n data_label = aux_label.data.map(ind => ind.value);\n if( indicator.complete ) {\n const aux_temp_label = JSON.parse(JSON.stringify(data_label));\n data_label = new Array(12 - aux_temp_label.length);\n data_label = data_label.concat(aux_temp_label) \n }\n };\n let color = \"black\";\n if(indicator.hasOwnProperty('colorLabel') && indicator.colorLabel !== \"#777273\" ) color = indicator.colorLabel\n\n if( indicator.dataLabelTop && indicator.hasOwnProperty('stageBarSelected') && indicator.stageBarSelected !== undefined ) {\n let label_legend = {\n type: \"line\",\n backgroundColor: color,\n label: indicator.hasOwnProperty('nameLabel') && indicator.nameLabel !== \"\" ? indicator.nameLabel : indicator.stageBarSelected.name\n };\n dataSetInfo.push(label_legend) \n }\n\n info.datalabels = {\n color,\n anchor: 'end',\n align: 'top',\n offset: 5,\n font: {\n weight: 'bold',\n size: 13\n },\n formatter: function(value, ctx) {\n if(indicator.dataLabelTop && indicator.hasOwnProperty('stageBarSelected') && indicator.stageBarSelected !== undefined && data_label[ctx.dataIndex] !== undefined && data_label[ctx.dataIndex] !== null ) {\n let value = Utils.formatNumber(format_number, data_label[ctx.dataIndex]);\n if(indicator.percent) value = Utils.formatNumber(format_percent, data_label[ctx.dataIndex]) + \"%\";\n return value\n } else return \"\" \n }\n }\n\n\n dataSetInfo.push(info)\n });\n\n xLabels = fechas;\n\n } else if ( dataConfig.option === \"currentYear\") {\n\n setStacked(true)\n let fechas = meses;\n let totalIndicators = []\n if( currentMonth[0] === 11) totalIndicators = dataConfig.indicators\n else totalIndicators = dataConfig.indicators.concat(dataConfig.indicatorsComplete);\n let orderN = findOrderArray(totalIndicators);\n let cont_left = 0;\n let cont_right = 0;\n let cont_gen = 0;\n \n totalIndicators.map( (indicator, index) => {\n let info = {};\n if( indicator.hasOwnProperty('labelIndicator') && indicator.labelIndicator && indicator.labelIndicator.trim() !== \"\") info.label = indicator.labelIndicator;\n else info.label = indicator.name;\n let aux = data.filter( indicatorValue => indicatorValue.indicator === indicator.id && indicatorValue.stage === indicator.stage.id && indicatorValue.year === indicator.year )[0];\n let dataC = aux.data.map(ind => ind.value);\n let aux_label = {};\n let data_label = [];\n \n if(indicator.dataLabelTop && indicator.hasOwnProperty('stageBarSelected') && indicator.stageBarSelected !== undefined ) {\n aux_label = data.filter( indicatorValue => indicatorValue.indicator === indicator.id && indicatorValue.stage === indicator.stageBarSelected.id && indicatorValue.year === indicator.year)[0];\n data_label = aux_label.data.map(ind => ind.value);\n if( indicator.complete ) {\n const aux_temp_label = JSON.parse(JSON.stringify(data_label));\n data_label = new Array(12 - aux_temp_label.length);\n data_label = data_label.concat(aux_temp_label) \n }\n }\n \n if( !indicator.completeYearInd) {\n let dataTotal = new Array(12 - dataC.length);\n if( indicator.complete ){\n dataTotal = dataTotal.concat(dataC); \n if( indicator.type !== 'line') {\n info.stack = 'Stack ' + cont_right;\n cont_right++;\n }\n else info.stack = 'Line ' + index;\n \n } else {\n dataTotal = dataC.concat(dataTotal)\n if( indicator.type !== 'line'){\n info.stack = 'Stack ' + cont_left;\n cont_left++;\n } \n else info.stack = 'Line' + index;\n }\n info.data = dataTotal;\n } else {\n info.data = dataC\n info.stack = 'Alone ' + cont_gen;\n cont_gen++;\n }\n if( indicator.otherAxis ) {\n info.yAxisID = 'y1';\n setOtherAxis(true);\n }\n else info.yAxisID = 'y';\n\n info.backgroundColor = indicator.color;\n info.type = indicator.type === 'PorDefecto'? 'bar' : indicator.type || 'bar';\n if( info.type === 'line' && indicator.borderDash) {\n info.borderDash = dashNumber;\n }\n info.fill = \"false\";\n info.order = orderN.indexOf(index)\n info.borderRadius = 10; \n info.borderColor = indicator.color;\n \n let color = \"black\";\n if(indicator.hasOwnProperty('colorLabel') && indicator.colorLabel !== \"#777273\" ) color = indicator.colorLabel\n\n if( indicator.dataLabelTop && indicator.hasOwnProperty('stageBarSelected') && indicator.stageBarSelected !== undefined ) {\n let label_legend = {\n type: \"line\",\n backgroundColor: color,\n label: indicator.hasOwnProperty('nameLabel') && indicator.nameLabel !== \"\" ? indicator.nameLabel : indicator.stageBarSelected.name\n };\n dataSetInfo.push(label_legend) \n }\n\n info.datalabels = {\n color,\n anchor: 'end',\n align: 'top',\n offset: 5,\n font: {\n weight: 'bold',\n size: 13\n },\n formatter: function(value, ctx) {\n if(indicator.dataLabelTop && indicator.hasOwnProperty('stageBarSelected') && indicator.stageBarSelected !== undefined && data_label[ctx.dataIndex] !== undefined && data_label[ctx.dataIndex] !== null ) {\n let value = Utils.formatNumber(format_number, data_label[ctx.dataIndex]);\n if(indicator.percent) value = Utils.formatNumber(format_percent, data_label[ctx.dataIndex]) + \"%\";\n return value\n } else return \"\" \n }\n }\n dataSetInfo.push(info);\n\n });\n xLabels = fechas;\n\n } else if (dataConfig.option === \"lastYears\") {\n\n let year = parseInt(localStorage.getItem('year'));\n let num_years = dataConfig.years;\n let years = [];\n for(let i=0; i < num_years; i++){\n years.push(year - i);\n xLabels.push(year - i);\n }\n\n xLabels = xLabels.reverse();\n years = years.reverse();\n \n dataConfig.indicators.map((indicator, index) => {\n let info = {};\n if( indicator.hasOwnProperty('labelIndicator') && indicator.labelIndicator && indicator.labelIndicator.trim() !== \"\") info.label = indicator.labelIndicator;\n else info.label = indicator.name;\n let aux = data.filter( indicatorValue => indicatorValue.indicator === indicator.id && indicatorValue.stage === indicator.stage.id );\n \n info.data = years.map(year => {\n let dataYear = aux.filter( data => data.year === year)\n if(dataYear.length > 0 && dataYear.value !== null) {\n return dataYear[0].value;\n } else {\n return 0;\n }\n })\n info.backgroundColor = indicator.color;\n info.type = indicator.type === 'PorDefecto'? 'bar' : indicator.type || 'bar';\n if( info.type === 'line' && indicator.borderDash === 1) {\n info.borderDash = dashNumber;\n }\n info.fill = \"false\";\n info.order = order.indexOf(index)\n info.borderRadius = 10; \n info.borderColor = indicator.color;\n dataSetInfo.push(info)\n })\n }\n setChartData({\n labels: xLabels,\n datasets: dataSetInfo\n })\n }\n \n useEffect(() => {\n chart();\n }, []);\n\n return (\n
\n \n
\n )\n}\nexport default BarChart","import styled from 'styled-components';\nimport { Theme1 } from './../../themes/Theme1';\n\nexport const TabVerticalWrapper = styled.div`\n padding: 0 15px;\n .row{\n &>div{\n padding: 0 !important;\n }\n }\n .nav-pills{\n background-color: white;\n border-top-left-radius: 10px;\n border-top-right-radius: 10px;\n box-shadow: -15px 12px 16px rgba(0,0,0,0.2);\n .nav-item{\n a{\n color: ${props => props.color};\n font-weight:500;\n font-size: 12px;\n padding: 0px 20px 0px 40px;\n position:relative;\n &.active{\n background-color: white;\n box-shadow: -12px 0px 16px rgba(0,0,0,0.2);\n z-index: 2;\n .space{\n display: block;\n position: absolute;\n width: 20px;\n background-color: white;\n top: 0;\n bottom: 0;\n right: -10px;\n }\n span{\n border: none;\n }\n }\n span{\n padding: 20px 0;\n display: block;\n text-align: center;\n border-bottom: ${Theme1.borderTwo};\n }\n\n }\n }\n }\n .tab-content{\n padding: 20px;\n background-color: white;\n box-shadow: -15px 12px 16px rgba(0,0,0,0.2);\n min-height: 100%;\n img{\n max-width: 100%;\n }\n }\n`;\n\n\nexport const TabHorizontalWrapper = styled.div`\n padding-top: 20px ;\n .nav-tabs{\n border: none;\n .nav-link{\n color: ${props => props.color};\n font-size: 14px;\n font-weight: 500;\n position: relative;\n padding: 10px 30px;\n &::after{\n content:\"\";\n width: 1px;\n height:Calc(100% - 20px);\n position: absolute;\n top:10px;\n right: -2px;\n background-color: #555;\n display: block;\n }\n &.active{\n border: none;\n box-shadow: 0px -7px 10px rgba(0,0,0,0.2);\n &::after{\n content:\"\";\n display: none;\n }\n &::before{\n content: \"\";\n display: block;\n width: 100%;\n height: 5px;\n position: absolute;\n bottom: -2.5px;\n left: 0;\n background-color: white;\n }\n }\n }\n }\n .tab-content{\n margin-top: 0px;\n padding: 20px;\n box-shadow: 0px 0px 12px rgba(0,0,0,0.2);\n }\n`;\n","\nexport const Theme1 = {\n font: \"'Montserrat', sans-serif\",\n orange: '#EF8220',\n red: '#F12929',\n border: 'solid 1px #B3B1B2',\n borderTwo: 'solid 1px rgba(0, 0, 0, 0.1)',\n radius: '10px',\n grayText: '#555555',\n grayLight: '#d6d3d4',\n shadow: '0px 0px 20px 3px rgba(0, 0, 0, 0.08)',\n shadowContainer: '0px 0px 20px 3px rgba(0, 0, 0, 0.25)',\n blue: \"#0A87E6\",\n success: \"#28a745\",\n dark: \"#111111\"\n}\n","import React, { useState, useEffect } from \"react\";\nimport BarChart from \"./BarChart\";\nimport Utils from '../utils';\nimport { GraphicCustomWrapper, GraphicCustomWrapperContent, GraphicCustomContainer } from \"../modules/graphic/styles\";\n\nfunction GraphicView({config}){\n const [data, setData] = useState([]);\n const [_config, setConfig]=useState(config);\n useEffect(() => {\n let end_point = ''; \n let indicators_temp = [];\n let indicators_complete_temp = []\n \n config.indicators.map(ind => {\n if( ind.multiStages ) {\n for( let i=0; i {\n if( ind.multiStages ) {\n for( let i=0; i {\n\n const toBefore = to;\n if(infoIndicator.completeYearInd) {\n to = today.getFullYear() + '-12-01';\n };\n\n end_point = '/indicator-value/indicator/' + infoIndicator.id + '/stage/' + infoIndicator.stage.id + '/range/' + from + '/' + to;\n Utils.Petition.get(end_point,\n (response) => {\n temp.push({\n indicator: infoIndicator.id,\n stage: infoIndicator.stage.id,\n data: response.data\n });\n ite++;\n if(ite === cont){\n setData(temp);\n } \n } \n );\n to = toBefore\n }); \n\n if( indicators_complete_temp !== undefined && indicators_complete_temp.length > 0) {\n \n let fromComplete = '';\n const aux = new Date(fecha_SinDia.setMonth(fecha_SinDia.getMonth()+1))\n\n if( aux.getMonth() + 1 < 10){\n fromComplete = aux.getFullYear() + '-0' + (aux.getMonth()+1) + '-01';\n } else {\n fromComplete = aux.getFullYear() + '-' + (aux.getMonth()+1) + '-01';\n }\n let toComplete = today.getFullYear() + '-12-01';\n\n indicators_complete_temp.map( (infoIndicator) => {\n end_point = '/indicator-value/indicator/' + infoIndicator.id + '/stage/' + infoIndicator.stage.id + '/range/' + fromComplete + '/' + toComplete;\n Utils.Petition.get(end_point,\n (response) => {\n temp.push({\n indicator: infoIndicator.id,\n stage: infoIndicator.stage.id,\n data: response.data\n })\n ite++;\n if(ite === cont){\n setData(temp);\n } \n } \n )\n });\n } \n setConfig({..._config,indicators:indicators_temp,indicatorsComplete:indicators_complete_temp})\n }, []);\n\n return(\n \n \n \n \n

{config.title}

\n \n { \n data.length > 0 && \n }\n
\n
\n
\n \n )\n}\n\nexport default GraphicView;","import React, { useState, useEffect } from \"react\";\nimport { useContext } from \"react\";\nimport { UserContext } from \"../Context/User\";\nimport Utils from \"../utils\";\nimport { Col, Container, Row, Form, ButtonGroup } from 'react-bootstrap';\nimport GraphicView from './GraphicView';\nimport { IndicatorHeadContainer, IndicatorConvensiones, IndicatorHeadContain, IndicatorHeadWrapper, IndicatorHeadLabel } from \"./styles\";\nimport Swal from \"sweetalert2\";\nimport { Loading } from \"./Loading\";\n\n\nfunction IndicatorDetail({ idindicator }) {\n const { colorPalette } = useContext(UserContext);\n const table = {\n \"type\": \"BarChart\",\n \"title\": \"Ejemplo\",\n \"legendPosition\":\"bottom\",\n \"indicators\": [],\n \"completeYear\": true,\n \"indicatorsComplete\": [],\n \"stages\": [],\n \"series\": [],\n \"columns\": [],\n \"indicatorsStages\": [],\n \"option\": \"currentYear\"\n }\n const months = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre' ];\n const [dataIndicators, setDataIndicators] = useState([]);\n const [idIndicator, setIdIndicator] = useState(idindicator);\n const [indicator, setIndicator] = useState([]);\n const [infoMes, setCallback] = useState([]);\n const [change, setChange] = useState(true);\n const [dataTable,setDataTable] = useState({...table});\n const [isLoading, setIsLoading] = useState(false);\n const format_number = Utils.getConfigPortal('format_number');\n const format_percent = Utils.getConfigPortal('format_percent');\n const _dataTable = {...table}\n useEffect(() => {\n \n if(change){\n setIsLoading(true);\n Utils.Petition.get(\n '/indicator-relations/id/' + idindicator,\n (response) => {\n let dataI = response.data.map((data) => {\n return data.idindicator\n })\n if (dataI !== [] && dataI.length !== 0) {\n const indicatorValue = {\n indicators: dataI,\n view: \"A\",//localStorage.getItem('view'), ---- ${localStorage.getItem('view')}\n year: localStorage.getItem('year'),\n month: parseInt(localStorage.getItem('month'))+1\n };\n getColor(indicatorValue)\n }\n }\n );\n Utils.Petition.get('/stages_relation/codes/R,VR,P/type/A', (responseRelations)=>{\n Utils.Petition.get(\n '/indicators/id/' + idIndicator,\n (response) => {\n var stage=[]\n var stages=[]\n var stage1={\n \"value\": \"2 Real acumulado\",\n \"label\": \"2 Real acumulado\",\n \"id\": responseRelations.data.filter(relation=>relation.code==='R')[0]?.idstage,\n \"name\": \"Real acumulado\",\n \"color\": \"#f5a623\",\n \"labelStage\": \"Real Acum\"\n };\n var stage2={\n \"value\": \"14 Variación real acumulado %\",\n \"label\": \"14 Variación real acumulado %\",\n \"id\": responseRelations.data.filter(relation=>relation.code==='VR')[0]?.idstage,\n \"name\": \"Variación real acumulado %\",\n \"color\": \"#000000\",\n \"type\": \"line\",\n \"borderDash\": true,\n \"otherAxis\": true,\n \"labelStage\": \"Var Real\"\n }\n stage.push(stage1)\n stage.push(stage2)\n var newDataTable = {\n \"value\": response.data.id,\n \"label\": \"1_21_00655 Ventas de nuevas categorías carnes marinadas | Colombia\",\n \"id\": response.data.id,\n \"code\": response.data.code,\n \"name\": response.data.name,\n \"filter\": {\n \"id\": response.data.id,\n \"name\": response.data.value\n },\n \"complete\": 0,\n \"color\": \"#777273\",\n \"multiStages\": true,\n \"stage\": stage\n }\n var stage3 = {\n \"value\": \"4 Presupuesto acumulado\",\n \"label\": \"4 Presupuesto acumulado\",\n \"id\": responseRelations.data.filter(relation=>relation.code==='P')[0]?.idstage,\n \"name\": \"Presupuesto acumulado\",\n \"color\": \"#DF7210\",\n \"labelStage\": \"Ppto acum\"\n };\n \n _dataTable.indicators.push(newDataTable);\n _dataTable.title = '';\n stages.push(stage3)\n var newDataTable2 = {\n \"value\": response.data.id,\n \"label\": \"1_21_00655 Ventas de nuevas categorías carnes marinadas | Colombia\",\n \"id\": response.data.id,\n \"code\": response.data.code,\n \"name\": response.data.name,\n \"filter\": {\n \"id\": response.data.id,\n \"name\": response.data.value\n },\n \"complete\": 1,\n \"color\": \"#777273\",\n \"multiStages\": true,\n \"stage\": stages\n }\n _dataTable.indicatorsComplete.push(newDataTable2)\n // console.log(_dataTable)\n const indicatorValue = {\n indicators: [response.data.id],\n view: \"A\",// localStorage.getItem('view'),\n year: localStorage.getItem('year'),\n month: parseInt(localStorage.getItem('month'))+1\n };\n if (indicatorValue.indicators.length !== 0 && indicatorValue.indicators !== []) {\n getColor(indicatorValue, \"I\")\n }\n setDataTable(_dataTable)\n }, (err) => console.log(err),\n () => {\n setIsLoading(false);\n });\n tablaMeses()\n setChange(false);\n\n });\n\n }\n }, [change]);\n\n\n let dataMes = []\n\n function tablaMeses() {\n let year = localStorage.getItem('year');\n let lastYear = (parseInt(localStorage.getItem('year')) - 1)\n const data = [['R', year, \"Real\"], ['CP', year, \"Cumplimiento PPTO %\"], ['VR', year, \"Variación %\"]]\n for (let i in data) {\n Utils.Petition.get(`/indicator-value/idindicator/${idIndicator}/stage/${data[i][0]}/view/A/year/${data[i][1]}`,\n (response) => {\n response.data[0].layer = data[i][2]\n dataMes.push(response.data[0])\n if (dataMes.length === 3) {\n setCallback(dataMes)\n }\n })\n }\n }\n\n\n function getColor(indicatorValue, type) {\n if (indicatorValue.indicators.length !== 0 && indicatorValue.indicators !== []) {\n Utils.Petition.post('/indicator-value/indicators_table_values',\n indicatorValue,\n (response) => {\n response.data.map((data, index) => {\n var real = 0;\n var ppto = 0;\n var rf = 0;\n if (data.real !== null) { real = parseFloat(data.real.replace(\".\", \"\").replace(\",\", \".\")) };\n if (data.ppto !== null) { ppto = parseFloat(data.ppto.replace(\".\", \"\").replace(\",\", \".\")) };\n if (data.rf !== null) { rf = parseFloat(data.rf.replace(\".\", \"\").replace(\",\", \".\")) };\n var color = \"\"\n var rfColor = \"\"\n if (real === 0 && ppto === 0) {\n color = \"gris\"\n response.data[index].real = \"0.00\"\n response.data[index].ppto = \"0.00\"\n } else\n if (real === ppto) { color = \"verde\"; }\n else {\n if (data.type === \"C\") {\n if (real > ppto) { color = \"verde\" }\n else { color = \"rojo\" }\n } else {\n if (real > ppto) { color = \"rojo\" }\n else { color = \"verde\" }\n }\n }\n\n if (real === 0 && rf === 0) {\n rfColor = \"gris\"\n response.data[index].real = \"0.00\"\n response.data[index].rf = \"0.00\"\n } else\n if (real === rf) { rfColor = \"verde\"; }\n else {\n if (data.type === \"C\") {\n if (real > rf) { rfColor = \"verde\" }\n else { rfColor = \"rojo\" }\n } else {\n if (real > rf) { rfColor = \"rojo\" }\n else { rfColor = \"verde\" }\n }\n }\n response.data[index].color = color\n response.data[index].rfColor = rfColor\n })\n if (type === \"I\" && idindicator == idIndicator) {\n setIndicator(response.data[0])\n } else {\n setDataIndicators(response.data)\n }\n })\n }\n }\n\n const changeIndicator = (id) => {\n if(id === idIndicator) return;\n setIdIndicator(id);\n setChange(true)\n }\n return (\n
\n \n \n \n
Convenciones:
\n
Cumple
\n
No cumple
\n
\n \n \n
\n Hecho\n

{Utils.formatNumber(format_number,indicator.real)}

\n
\n
\n \n
\n Detalle Indicadores\n

changeIndicator(indicator.id)}>{indicator.name}

\n
    \n {\n dataIndicators.map((indicator, index) => {\n return (<>\n

    changeIndicator(indicator.id)}>{indicator.name}

    \n )\n })\n }\n
\n
\n
\n
\n
\n \n \n \n
\n Grafica\n {isLoading && }\n {!isLoading && dataTable.indicators.length > 0 && } \n \n
\n
\n
\n
\n \n \n \n {isLoading && }\n {!isLoading && \n
\n \n \n \n {\n months.map((month,i)=> )\n }\n \n \n {\n !change &&\n infoMes.map((data, index) => {\n return (<>\n \n \n {\n months.map((month,i)=> )\n }\n \n )\n })\n }\n \n
{month}
{data.layer}{Utils.formatNumber(format_number,data[month])}
\n
\n }\n \n
\n
\n
\n
\n \n \n
\n );\n}\n\nexport default IndicatorDetail;","import { useState, useEffect, useRef, useContext } from 'react';\nimport ValueMap from '../modules/value-map';\nimport Html from '../modules/html';\nimport AdminReport from '../modules/admin-report';\nimport Graphic from '../modules/graphic';\nimport Table from '../modules/table';\nimport TableCostumer from '../modules/tableCostumer'\nimport Menu from '../modules/menu';\nimport StrategicMap from '../modules/strategic-map';\nimport Utils from '../utils';\nimport EditModule from './EditModule';\nimport { FaPlus, FaRedo } from 'react-icons/fa';\nimport HorizontalTabs from './section-type/HorizontalTabs';\nimport VerticalTabs from './section-type/VerticalTabs';\nimport UserGraphic from '../modules/user-graphic';\nimport PlantillaWeb from '../modules/PlantillaWeb';\nimport IndicatorRelevant from '../modules/indicator-relevant';\nimport { Dropdown } from 'react-bootstrap';\nimport { SectionSettings, SectionTitle, SectionPestañas, StylesDiv, SeccionWrapperHorizontal } from './styles';\nimport { UserContext } from '../Context/User';\nimport { Button, StyleCheckbox } from '../commonStyles';\n\nconst allModules = {\n Html,\n ValueMap,\n AdminReport,\n Graphic,\n Table,\n Menu,\n UserGraphic,\n StrategicMap,\n PlantillaWeb,\n IndicatorRelevant,\n TableCostumer\n}\n\nfunction Section({ globalProps, popupStructure, templateZonesLoading, page, code, setPopupStructure, hideTabs }) {\n const { hasPermission, colorPalette } = useContext(UserContext);\n const [modules, setModules] = useState([]);\n const [orders, setOrders] = useState([]);\n const [isMenuAddModule, setIsMenuAddModule] = useState(false);\n const [editMode, setEditMode] = useState(false);\n const [horizontalMode, setHorizontalMode] = useState(false);\n const [tabsMode, setTabsMode] = useState(false);\n const [tabsModeType, setTabsModeType] = useState('horizontal');\n const mountedRef = useRef(false);\n const [amountModules, setAmountModules] = useState(0);\n useEffect(() => {\n mountedRef.current = true\n return () => {\n mountedRef.current = false\n }\n }, []);\n useEffect(() => {\n if (localStorage.getItem('editable') === '1') {\n setEditMode(true);\n }\n if (!templateZonesLoading[code].loaded || globalProps.reloadContent) {\n let _orders = [];\n if(popupStructure){\n Utils.Petition.get(\n '/pages-modules/popup/' + popupStructure.id + '/section/' + code + '/year/' + localStorage.getItem('year')+ '/month/' + localStorage.getItem('month') + '/filter/' + localStorage.getItem('idfilter') + '/view/' + localStorage.getItem('view'),\n (response) => {\n for (let i = 0; i < response.data.length; i++) {\n _orders.push({ id: response.data[i].id, order: (i + 1) });\n }\n if (mountedRef.current) {\n setOrders(_orders);\n setModules(response.data);\n setAmountModules( response.data.length );\n }\n }\n );\n }else{\n Utils.Petition.get(\n '/pages-modules/page/' + page.id + '/section/' + code + '/year/' + localStorage.getItem('year') + '/month/' + localStorage.getItem('month') + '/filter/' + localStorage.getItem('idfilter') + '/view/' + localStorage.getItem('view'),\n (response) => {\n for (let i = 0; i < response.data.length; i++) {\n _orders.push({ id: response.data[i].id, order: (i + 1) });\n }\n if (mountedRef.current) {\n setOrders(_orders);\n setModules(response.data);\n setAmountModules( response.data.length );\n }\n }\n );\n }\n }\n globalProps.setReloadContent(false);\n templateZonesLoading[code].setLoaded(true);\n const configuration = page.page_section_configurations.filter((configuration => configuration.section_code === code));\n if (configuration.length) {\n if (configuration[0].tabs === '1') {\n setTabsMode(true);\n }\n setTabsModeType(configuration[0].tabs_type);\n if(configuration[0].horizontal==='1') setHorizontalMode(true);\n }\n\n\n }, [templateZonesLoading[code].loaded, popupStructure, globalProps.reloadContent]);\n\n const handleRefreshSection = () => {\n templateZonesLoading[code].setLoaded(false);\n }\n const handleAddModule = (event) => {\n event.preventDefault();\n\n const pageModule = {\n section: code,\n name: event.target.dataset.moduleCode,\n module_code: event.target.dataset.moduleCode,\n config: {},\n order: 0,\n idfilter: localStorage.getItem('idfilter')\n };\n if(popupStructure){\n pageModule.idpopup = popupStructure.id;\n }else{\n pageModule.idpage = page.id;\n }\n \n Utils.Petition.post('/pages-modules',\n pageModule,\n (response) => {\n setAmountModules( modules.length + 1 );\n setModules([...modules, response.data]);\n templateZonesLoading[code].setLoaded(false);\n setIsMenuAddModule(false);\n })\n }\n const handleTabsMode = (event) => {\n setTabsMode(event.target.checked);\n Utils.Petition.post('/page-section-configuration/update', { idpage: page.id, section_code: code, tabs: (event.target.checked) ? '1' : '0', tabs_type: tabsModeType })\n }\n const handleHorizontalMode = (event) => {\n setHorizontalMode(event.target.checked);\n Utils.Petition.post('/page-section-configuration/update', { idpage: page.id, section_code: code, horizontal: (event.target.checked) ? '1' : '0' })\n }\n const handleTabsModeType = (event) => {\n setTabsModeType(event.target.value);\n Utils.Petition.post('/page-section-configuration/update', { idpage: page.id, section_code: code, tabs_type: event.target.value })\n }\n const componentRender = () => {\n const status = editMode ? 'Edit' : 'View';\n if (status === 'Edit' || !tabsMode) {\n return (\n \n {\n\n modules.map((module, index) => {\n const ComponentTagName = allModules[module.module_code][status];\n if (status === 'Edit') {\n return \n }\n return (\n\n
\n {\n \n }\n
\n )\n })\n }\n
\n )\n } else {\n return (\n modules.length > 0 &&\n (\n <>\n {tabsModeType === 'vertical' && }\n {tabsModeType !== 'vertical' && }\n \n )\n )\n }\n }\n return (\n \n {\n editMode &&\n
\n \n \n \n \n \n\n \n {\n globalProps.moduleList.length &&\n globalProps.moduleList.map((module) => {\n return (\n\n {module.name}\n\n )\n })\n }\n \n \n \n\n\n \n \n {code}\n \n \n \n
\n {\n popupStructure === undefined &&\n \n \n \n \n }\n
\n {\n !hideTabs &&\n popupStructure === undefined &&\n <>\n \n \n \n \n
\n {\n tabsMode &&\n \n }\n \n }\n
\n\n
\n }\n {componentRender()}\n
\n );\n}\n\nexport default Section;","import styled from \"styled-components\";\nimport { Theme1 } from \"./themes/Theme1\";\n\nexport const Button = styled.button`\n color: white;\n background-color: ${props => props.color};\n border: solid 1px ${props => props.color};\n font-size: 14px;\n font-weight: 500;\n border-radius: 0.3rem;\n box-shadow: ${props => props.boxShadow && \"1px 0px 20px 10px #00000020\"};\n padding: 0.4rem 0.8rem;\n width: fit-content;\n display: block;\n margin: ${props => props.margin};\n &:hover{\n color: ${props => props.color} ;\n background-color: transparent;\n }\n\n &:disabled{\n cursor: not-allowed;\n opacity: 0.7;\n }\n &:focus {\n box-shadow: 0 0 12px 0 ${props => props.color}40;\n }\n & .btn-inactive {\n display: none;\n }\n \n`;\n\nexport const StyleCheckbox = styled.div`\nmargin-bottom: 6px;\n/*** CHECK AND RADIO INPUT CUSTOM **/\n& .custom-control-input:checked ~ .custom-control-label::before {\n color: white !important;\n border: ${props => props.colors?.primary} !important;\n background-color: ${props => props.colors?.primary} ;\n}\n\n& .custom-control-input:checked:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem ${props => props.colors?.primary}30;\n}\n& .custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 0, 0, 0.25)\n}\n& .custom-control-input:active ~ .custom-control-label::before {\n background-color: ${props => props.colors?.primary}; \n}\n& .custom-control-input:disabled:checked~.custom-control-label::before {\n background-color: ${Theme1.grayLight}; \n}\n\n`; \n\n\n","import styled, { keyframes } from \"styled-components\";\nimport { Theme1 } from \"./../themes/Theme1\";\nlocalStorage.setItem('config', JSON.stringify({color_primary: \"orange\", color_secondary: \"gray\"}));\n\nexport const Dashboard = styled.div`\n position: relative;\n width: 100vw;\n height: 100vh;\n \n`;\nexport const DashboardHeader = styled.header`\n width: 100%;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 3;\n box-shadow: ${Theme1.shadow};\n`;\nexport const DashboardWrapper = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n padding-top: 66.5px;\n \n`;\nexport const DashboardContent = styled.div`\n width: 100%;\n height: 100%;\n position: relative;\n transition: padding-left 1.7s ease-in-out;\n padding-left: 0px;\n overflow: hidden;\n &.active-Menu {\n padding-left: 241px;\n }\n`;\nexport const DashboardSidebar = styled.div`\n transition: transform 1.5s ease-in-out;\n width: 241px;\n position: absolute;\n height: 100%;\n top: 0;\n left: 0;\n z-index: 2;\n transform: translateX(-241px);\n &.active-Menu {\n transform: translateX(0px);\n }\n`;\nexport const DashboardContentWrapper = styled.div`\n width: 100%;\n height: 100%;\n \n position: relative;\n overflow-y: auto;\n \n`;\nexport const DashboardContainertWrapper = styled.div`\n width: 100%;\n max-width: 1400px;\n margin: auto;\n padding-bottom: 30px;\n`;\nexport const PageIdWrapper = styled.div`\n &.page-10{\n .graphic-custom{\n box-shadow: ${Theme1.shadow};\n }\n }\n &.page-14{\n .module-ValueMap{\n box-shadow: ${Theme1.shadow};\n }\n }\n\n`;\n\n// Secciones del template\nexport const SectionSettings = styled.div`\n width: 100%;\n text-align: right;\n font-size: 12px;\n display: flex;\n justify-content: flex-end;\n .dropdown{\n button{\n &:after{\n display: none;\n }\n &:focus {\n color: ${props => props.colors?.grayText} !important;\n }\n }\n .dropdown-menu{\n font-size: 14px;\n color: ${props => props.colors?.grayText};\n display: flex;\n flex-wrap: wrap;\n a{\n color: ${props => props.colors?.grayText};\n order: 2;\n font-size: 12px;\n &.actual{\n order:1;\n color: ${props => props.colors?.primary};\n span{\n display: block;\n font-size: 10px;\n }\n }\n }\n }\n }\n button{\n font-size: 15px;\n padding: 0;\n color: ${props => props.colors?.grayText};\n margin-left: 5px;\n background-color: transparent !important;\n border: none !important;\n &:hover, &:active{\n color: ${ props => props.colors?.primary} !important;\n }\n &.trash{\n color: ${Theme1.red};\n }\n }\n span{\n margin-left: 5px;\n cursor:pointer;\n &:hover{\n color: ${ props => props.colors?.primary};\n }\n }\n`;\n\nexport const SectionTitle = styled.div`\n width: 100%;\n font-weight: bold;\n font-size: 14px;\n`;\nexport const SectionPestañas = styled.div`\n width: 100%;\n label{\n font-size: 12px;\n }\n\n `;\n\nexport const ModuleWrapper = styled.div`\n padding:15px;\n border-left: 2px solid #fff;\n background-color: #f8f8f8;\n border-color: #ccc;\n margin-bottom: 10px;\n border-radius: 10px;\n &:hover{\n border-color: ${props => props.color};\n }\n`;\nexport const ModuleTitle = styled.div`\n width: 100%;\n font-size: 14px;\n font-weight: bold;\n`;\nexport const ModuleType = styled.div`\n font-size: 14px;\n font-style: italic;\n font-weight: bold;\n color: ${props => props.color};\n`;\n\nexport const ModuleOptions = styled.div`\n width: 100%;\n text-align: right;\n font-size: 12px;\n display: flex;\n justify-content: flex-end;\n .dropdown{\n button{\n &:after{\n display: none;\n }\n &:focus {\n color: ${ props => props.colors?.grayText} !important;\n }\n }\n .dropdown-menu{\n font-size: 14px;\n color: ${ props => props.colors?.grayText} !important;\n display: flex;\n flex-wrap: wrap;\n a{\n color: ${ props => props.colors?.grayText};\n order: 2;\n font-size: 12px;\n &.actual{\n order:1;\n color: ${ props => props.colors?.primary};\n span{\n display: block;\n font-size: 10px;\n }\n }\n }\n }\n }\n button{\n font-size: 16px;\n padding: 0;\n color: ${ props => props.colors?.grayText};\n margin-left: 5px;\n background-color: transparent !important;\n border: none !important;\n &:hover, &:active{\n color: ${ props => props.colors?.primary} !important;\n }\n &.trash{\n color: ${Theme1.red};\n }\n }\n\n`;\n\nexport const ModuleOrder = styled.div`\n width: 100%;\n font-size: 12px;\n`;\n\nexport const ModuleTabs = styled.div`\n width: 100%;\n font-size: 12px;\n`;\n\nexport const ModuleActions = styled.div`\n width: 240px;\n font-size: 12px;\n margin-bottom: 1rem;\n .buton-filter{\n background-color: #333;\n font-size: 12px;\n }\n .section-filter{\n background-color: white;\n padding: 10px;\n border-radius: 10px;\n margin-top: 5px;\n border:1px solid ${Theme1.grayLight};\n }\n`;\n\n// Agregar modulos personalizados\n\nexport const AggButtonWrapper = styled.div`\n width: 100%;\n font-size: 12px;\n margin: 20px 0 10px 0;\n display: flex;\n justify-content: flex-end;\n`;\n\nexport const AggWrapper = styled.div`\n width: 100%;\n display: block;\n position: relative;\n z-index: 99;\n`;\n\nexport const AggWrapperContainer = styled.div`\n width: 100%;\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n background-color: white;\n box-shadow: 0px 10px 20px rgba(0,0,0,0.6);\n padding:20px;\n border-radius: 10px;\n`;\nexport const AggWrapperClose = styled.div`\n display: block;\n display: flex;\n justify-content: flex-end;\n padding-bottom: 1rem;\n`;\n\n\n// filttos\nexport const FiltrosWrapper = styled.div`\n display: table;\n margin: 0;\n padding: 0px;\n background-color: white;\n border-radius: ${Theme1.radius};\n`;\n\nexport const FiltrosMenu = styled.div`\n display: flex;\n`;\n\nexport const FiltrosWrapperSelect = styled.div`\n padding-right: 10px;\n display: ${props => !props.hidden ? \"block\": \"none\"};\n select{\n background-color: white;\n border: ${Theme1.border};\n border-radius: 4px;\n font-size: 14px;\n min-width: 100px;\n }\n`;\n\nexport const FiltrosLabel = styled.label`\n font-size: 12px;\n color: ${ props => props.color};\n display: block;\n font-weight: bold;\n margin-bottom: 0;\n`;\n// content modal\nexport const ModalWrapper = styled.div`\n .modal-sm{\n max-width: 450px;\n }\n`;\n\n//home \n\nexport const HomeWrapper = styled.div`\n width: 100vw;\n height: 100vh;\n padding: 20px;\n background-color: white;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n align-items: center;\n`;\n\nexport const HomeContent = styled.div`\n width: 100%;\n max-width: 1000px;\n`;\n\nexport const HomeWrapperSelect = styled.div`\n display: flex;\n width: 100%;\n flex-wrap: wrap;\n align-items: flex-start;\n justify-content: space-between;\n`;\nexport const HomeContainerSelect = styled.div`\n width: 48%;\n`;\n\nexport const HomeCheckWrapper = styled.div`\n display: flex;\n width: 100%;\n align-items: center;\n margin-bottom: 10px;\n \n`;\n\nexport const HomeCheck = styled.div`\n width: 30px;\n height: 30px;\n border: solid 3px #B3B1B2;\n border-radius: 100px;\n padding: 5px;\n span{\n width: 100%;\n height: 100%;\n border-radius: 100px;\n display: block;\n }\n`;\n\n\nexport const StylesDiv = styled.div`\n \n`;\n\nconst animation = keyframes`\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(180deg);\n }\n`\nexport const StyleComentario = styled.button`\n position: fixed;\n bottom: 1rem;\n right: 0;\n display: none;\n flex-direction: column;\n align-items: center;\n color: black;\n font-weight: bold;\n border: none;\n box-shadow: ${Theme1.shadowContainer};\n background-color: white;\n border-radius: 1rem 0 0 1rem;\n padding: 0.5rem;\n justify-content: center;\n font-size:0.8rem;\n transition: width 1s;\n width: 120px;\n\n &.active {\n height: 64px;\n width: 50px;\n z-index: 20;\n & img {\n animation-name: ${animation};\n animation-duration: 1s;\n animation-iteration-count: 1;\n animation-fill-mode: forwards;\n }\n & span {\n display: none;\n }\n }\n\n &.visible {\n display:flex;\n }\n`;\nexport const ContainerPage = styled.div`\n position: relative;\n`;\nexport const ContainerEditor = styled.div`\n position: fixed;\n bottom: 16px;\n right: 50px;\n z-index: 10;\n width: 600px;\n height: 90vh;\n max-height: 500px;\n background-color: white;\n box-shadow: ${Theme1.shadowContainer};\n border-radius: 0.5rem;\n padding: 1rem;\n visibility: hidden;\n opacity: 0;\n text-align: center;\n \n &.active {\n visibility: visible;\n transition: all 2s;\n opacity: 1;\n }\n\n & > button {\n position: absolute;\n bottom: 1rem;\n left: 42%;\n }\n`;\n\nexport const DivEditor = styled.div`\n text-align: start;\n overflow: auto;\n height: Calc(100% - 60px);\n`;\n\nexport const DivClose = styled.div`\n text-align: end;\n\n & img {\n cursor: pointer;\n }\n`;\n\n// Breadcrums\n\nexport const BreadcrumbWrapper = styled.div`\n margin-top: 1rem;\n .breadcrumb{\n background-color: transparent;\n li{\n a{\n color: ${props => props.colors?.grayText};\n font-size: 14px;\n\n &:hover {\n color: ${props => props.colors?.secondary};\n }\n }\n &:last-child{\n a{\n font-weight: bold;\n color: ${props => props.colors?.primary};\n }\n }\n }\n }\n`;\n\n// PageNotFound\n\nexport const PageNotFoundWrapper = styled.div`\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n padding: 20px;\n`;\nexport const PageNotFoundImage = styled.div`\n width: 100%;\n text-align: center;\n margin-top: 30px;\n img{\n max-width: 115px;\n width: 100%;\n display: inline-block;\n }\n`;\nexport const PageNotFoundTitle = styled.div`\n width: 100%;\n color: ${props => props.color};\n text-align: center;\n text-transform: uppercase;\n font-weight: bold;\n font-size: 38px;\n margin-top: 15px;\n`;\n\nexport const PageNotFoundDescription = styled.div`\n width: 100%;\n color: ${props => props.color};\n text-align: center;\n font-size: 24px;\n margin-top: 0px;\n`;\n\n// horizontal seccion \n\nexport const SeccionWrapperHorizontal = styled.div`\n \n &.horizontal-mode{\n display: flex;\n align-items: flex-end;\n padding: 0 10px;\n & > div{\n width: ${props => props.amountModules!== 0 ? 100 / props.amountModules : 100 }%;\n .graphic-custom{\n padding: 0px !important;\n }\n\n &>div{\n padding: 0px !important;\n }\n }\n }\n &.horizontal-edit{\n display: flex;\n align-items: flex-end;\n padding: 0 10px;\n flex-wrap: wrap;\n justify-content: space-between;\n & > div{\n width: 32.0%;\n }\n }\n \n`;","import { useContext, useEffect, useState } from 'react';\nimport { FaRegTrashAlt, FaArrowsAlt, FaRegClone, FaEdit, FaSave, FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport Utils from '../utils';\nimport { ModuleWrapper, ModuleTitle, ModuleOptions, ModuleOrder, ModuleTabs, ModuleActions,ModuleType } from './styles';\nimport { Dropdown} from 'react-bootstrap';\nimport {AlertConfirm, ICON} from \"../Components/SweetAlert\";\nimport { UserContext } from '../Context/User';\nimport { Button, StyleCheckbox } from '../commonStyles';\n\nfunction EditModule({order, orders, setOrders, templateZonesLoading, ComponentTagName, page, modules, setModules, module}){\n const { hasPermission, colorPalette } = useContext(UserContext);\n const [isMenuMove, setIsMenuMove] = useState(false);\n \n const [nameEditMode, setNameEditMode] = useState(false);\n const [yearMonth, setYearMonth] = useState('no-filter');\n const [name, setName] = useState('');\n const [viewType, setViewType] = useState(false);\n const [toogleViewFilter, setToggleViewFilter] = useState(false);\n const [filter, setFilter] = useState(false);\n const [everypages, setEveryPages] = useState(false);\n useEffect(() => {\n if(module.idfilter!==null){\n setFilter(true);\n }\n if(module.year!==null && module.month ===null){\n setYearMonth('year');\n }else if(module.year!==null && module.month !==null){\n setYearMonth('year-month');\n }\n if(module.view!==null){\n setViewType(true);\n }\n if(module.idpage===null){\n setEveryPages(true);\n \n }\n setName(module.name);\n \n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const handleMenuFaArrowsAlt = ()=>{\n setIsMenuMove(!isMenuMove);\n }\n const handleNameEditMode = ()=>{\n setNameEditMode(true);\n };\n const handleChangeName = (event)=>{\n setName(event.target.value);\n }\n const handleToogleViewFilter = ()=>{\n setToggleViewFilter(!toogleViewFilter);\n }\n const handleSaveName = () => {\n let newModules = [...modules];\n for(let i =0; i{\n event.preventDefault();\n Utils.Petition.post(\n '/pages-modules/update',\n {\n id:module.id,\n section: event.target.innerText\n },\n (_)=>{\n templateZonesLoading[event.target.innerText].setLoaded(false);\n templateZonesLoading[module.section].setLoaded(false);\n setIsMenuMove(false);\n }\n );\n })\n const handleChangeOrder = ((event)=>{\n let newOrders = [...orders];\n const oldOrderNumber = parseInt(event.target.name.split('-')[1]);\n const newOrderNumber = parseInt(event.target.value);\n const oldOrder = findOrder(newOrders, oldOrderNumber);\n \n if(oldOrderNumber>newOrderNumber){\n for(let i = oldOrderNumber-1; i>=newOrderNumber;i--){\n const selectedOrder = findOrder(newOrders, i);\n selectedOrder.order++;\n }\n }else{\n for(let i=oldOrderNumber+1; i<=newOrderNumber; i++){\n const selectedOrder = findOrder(newOrders, i);\n selectedOrder.order--;\n }\n }\n oldOrder.order = newOrderNumber;\n setOrders(newOrders);\n Utils.Petition.post('/pages-modules/update/multiple-order', newOrders);\n\n });\n function findOrder(newOrders, index){\n for(let io=0;io {\n if(valid){\n Utils.Petition.delete(\n '/pages-modules/id/'+module.id,\n (_)=>{ \n let newOrders = [...orders];\n \n const oldOrder = findOrderById(module.id);\n const oldOrderNumber =oldOrder.order;\n \n for(let i=oldOrderNumber+1; i<=newOrders.length; i++){\n const selectedOrder = findOrder(newOrders, i);\n selectedOrder.order--;\n }\n \n newOrders = newOrders.filter((order)=> order.id !== module.id);\n setOrders(newOrders);\n \n const newModules = modules.filter((_module)=>_module.id!==module.id);\n setModules(newModules);\n \n }\n );\n }\n }\n const handleDelete = ()=>{\n console.log(\"delete\", everypages)\n if(everypages){\n AlertConfirm(ICON.WARNING, 'Este módulo está agregado en varias páginas, si lo elimina, se eliminará de todas las páginas', \"¿seguro que desea continuar?\",\n () => isValidDelete(true), \"Si\",() => isValidDelete(false));\n } else {\n isValidDelete(true);\n }\n }\n const handleDuplicate = ()=>{\n let year = null;\n let month = null;\n let idfilter = null;\n if(filter){\n idfilter = localStorage.getItem('idfilter');\n }\n\n if(yearMonth==='year'){\n year = localStorage.getItem('year');\n }else if(yearMonth==='year-month'){\n year = localStorage.getItem('year');\n month = localStorage.getItem('month');\n }\n\n const pageModule = { ...module, year, month, idfilter };\n\n delete pageModule.id;\n delete pageModule.createdAt;\n delete pageModule.updatedAt;\n Utils.Petition.post('/pages-modules',\n pageModule,\n (response)=>{\n setModules([...modules, response.data]);\n const amountOrders = orders.length;\n setOrders([...orders, {id:response.data.id, order:amountOrders+1}]);\n })\n }\n const handleIdFilter = (event)=>{\n const new_filter = (!filter);\n setFilter(new_filter);\n if(new_filter===true){\n Utils.Petition.post('/pages-modules/update',\n {\n id:module.id,\n idfilter: localStorage.getItem('idfilter')\n });\n }else{\n Utils.Petition.post('/pages-modules/update',\n {\n id:module.id,\n idfilter: null\n });\n }\n }\n const handleYearMonth = (event)=>{\n const new_yearMonth = event.target.value\n let year = null;\n let month = null;\n setYearMonth(new_yearMonth);\n \n if(new_yearMonth==='year'){\n year = localStorage.getItem('year');\n }else if(new_yearMonth==='year-month'){\n year = localStorage.getItem('year');\n month = localStorage.getItem('month');\n }\n Utils.Petition.post('/pages-modules/update',\n {\n id:module.id,\n year,\n month\n });\n }\n const handleViewType = (event)=>{\n const newViewType = (!viewType);\n setViewType(newViewType);\n if(newViewType===true){\n Utils.Petition.post('/pages-modules/update',\n {\n id:module.id,\n view: localStorage.getItem('view')\n });\n }else{\n Utils.Petition.post('/pages-modules/update',\n {\n id:module.id,\n view: null\n });\n }\n }\n\n const isValid = (check, valid) => {\n if(valid){\n setEveryPages(check);\n if(check){\n Utils.Petition.post('/pages-modules/update',{\n id:module.id,\n idpage: null\n });\n }else{\n Utils.Petition.post('/pages-modules/update',{\n id:module.id,\n idpage: page.id\n });\n }\n }\n }\n const handleEveryPages = (event)=>{\n console.log(event)\n if(!event.target.checked){\n AlertConfirm(ICON.WARNING, 'Deshabilitar esta opción, significa que el módulo dejará de mostrarse en las demás páginas y únicamente se mostrará en la página '+page.name, \"¿seguro que desea continuar?\",\n () => isValid(false, true), \"Si\", () => isValid(false, false));\n } else {\n isValid(true, true)\n }\n }\n const validateShowComponent = () => {\n // Mostrar en todas las páginas en la sección si esta activo \n // y si idPage y idFilter estan en 0 se muestra componente\n // mostrar todas las paginas esta desactivado se muestra componente\n\n // filtrar por region esta desactivado y si filterRegion esta en 0 se muestra\n // filtrar por region esta activo se muestra\n\n return ((!everypages || (module.idpopup && hasPermission.filterRegion)) || (hasPermission.showAllPages && hasPermission.filterRegion)) && (filter || hasPermission.filterRegion);\n }\n return (\n \n \n {(validateShowComponent() || module.idpopup !== null ) \n &&\n \n \n \n \n\n \n {\n Object.keys(templateZonesLoading).map((zone)=>{\n return (\n zone === module.section ?\n {zone}Actual\n :{zone}\n )\n })\n }\n \n }\n {(validateShowComponent() || module.idpopup !== null ) && }\n {(validateShowComponent() || module.idpopup !== null) && }\n \n \n {\n module.module_code\n }\n \n
\n { !nameEditMode && } \n { nameEditMode && <> }\n
\n
\n \n \n {\n (module.idpage !== null || module.idpopup === null ) && \n \n \n \n \n }\n \n \n \n \n \n \n \n
\n
\n \n {\n toogleViewFilter &&\n
\n
\n
\n \n \n \n \n
\n
\n \n
\n
\n \n \n \n \n
\n
\n
\n\n }\n
\n
\n
\n \n
\n )\n}\nexport default EditModule;","import { useContext } from \"react\";\nimport { Tab, Tabs } from \"react-bootstrap\";\nimport { UserContext } from \"../../Context/User\";\nimport { TabHorizontalWrapper } from \"./styles\";\n\nfunction HorizontalTabs({allModules, modules, code, page, status}){\n const { colorPalette } = useContext(UserContext);\n return (\n \n \n {\n modules.map((module, index) => {\n const ComponentTagName = allModules[module.module_code][status];\n return (\n \n
\n \n
\n
\n )\n })\n }\n
\n
\n \n )\n}\nexport default HorizontalTabs;","import { useContext } from \"react\";\nimport { Col, Nav, Row, Tab } from \"react-bootstrap\";\nimport { UserContext } from \"../../Context/User\";\nimport { TabVerticalWrapper } from \"./styles\";\n\nfunction VerticalTabs({allModules, modules, code, page, status}){\n const { colorPalette } = useContext(UserContext);\n return (\n \n \n \n \n \n \n \n \n {\n modules.map((module, index) => {\n const ComponentTagName = allModules[module.module_code][status];\n return (\n \n
\n \n
\n
\n )\n })\n }\n
\n \n
\n
\n
\n \n )\n}\nexport default VerticalTabs;","import Swal from 'sweetalert2';\nimport {Theme1} from './../themes/Theme1'\n\nexport const ICON = {\n SUCCESS: 'success',\n ERROR: 'error',\n WARNING: 'warning',\n INFO: 'info',\n QUESTION: 'question'\n}\n\nexport const AlertForm = (icon = ICON.INFO, title = \"\", text = \"\", position = \"center\", timer = 5000, confirmButtonText) => {\n const Toast = Swal.mixin({\n toast: true,\n position,\n showConfirmButton: confirmButtonText,\n timer,\n timerProgressBar: true,\n confirmButtonColor: Theme1.orange, \n confirmButtonText: confirmButtonText\n })\n\n Toast.fire({\n icon,\n title,\n text\n })\n}\n\nexport const AlertFormLarge = (icon = ICON.INFO, title = \"\", text = \"\", footer = null) => {\n Swal.fire({\n icon,\n title,\n text,\n footer\n })\n}\n\nexport const AlertConfirm = (icon = ICON.WARNING, title = \"\", text = \"\", callback = () => { }, textButton = 'Si', fallback = () => { }) => {\n Swal.fire({\n title,\n text,\n icon,\n showCancelButton: true,\n confirmButtonColor: Theme1.orange,\n cancelButtonColor: Theme1.red,\n confirmButtonText: textButton\n }).then((result) => {\n if (result.isConfirmed) {\n callback();\n } else if (result.dismiss === \"cancel\") {\n fallback();\n }\n })\n}\n\nexport const AlertHtml = (icon = ICON.INFO, title = \"\", html = \"\", footer = null) => {\n Swal.fire({\n title,\n html,\n icon,\n footer\n });\n}","import React, { useContext, useEffect, useState } from \"react\";\r\nimport Utils from \"../../../utils\";\r\nimport Select from \"react-select\";\r\nimport { styleTheme } from \"../../../themes/themeSelect\";\r\nimport { UserContext } from \"../../../Context/User\";\r\n\r\nfunction AddIndicator({ addIndicator }) {\r\n const { colorPalette } = useContext(UserContext);\r\n //obtains data from DB\r\n const [optionsIndicator, setOptionsIndicator] = useState([]);\r\n const [optionsStage, setOptionsStage] = useState([]);\r\n const [selectedIndicator, setSelectedIndicator] = useState(null);\r\n const [selectedStage, setSelectedStage] = useState(\"\");\r\n\r\n const indicatorHandler = (evt) => {\r\n setSelectedIndicator(evt.value);\r\n localStorage.setItem(\"selectedIndicator\", evt.value);\r\n };\r\n\r\n const stageHandler = (evt) => {\r\n setSelectedStage(evt.value);\r\n localStorage.setItem(\"selectedStage\", evt.value);\r\n };\r\n\r\n useEffect(() => {\r\n Utils.Petition.get(\r\n \"/indicators/getNames\",\r\n (res) => {\r\n let data = res.data;\r\n let _options = [];\r\n for (let name in data) {\r\n let label = `${data[name].code} ${data[name].name}`;\r\n let value = data[name].id;\r\n\r\n _options.push({ value: value, label: label });\r\n }\r\n setOptionsIndicator(_options);\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n\r\n Utils.Petition.get(\r\n \"/stages_relation/filterbyname/montly\",\r\n (res) => {\r\n let _options = [];\r\n let data = res.names;\r\n for (let pos in data) {\r\n _options.push({ value: data[pos].code, label: data[pos].name });\r\n }\r\n setOptionsStage(_options);\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n Generador de Indicadores\r\n
\r\n
\r\n
\r\n \r\n (styleTheme(theme, colorPalette?.primary))}\r\n />\r\n
\r\n
\r\n \r\n (styleTheme(theme, colorPalette?.primary))}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default AddIndicator;\r\n","import React, { useContext, useEffect, useState } from \"react\";\nimport Utils from \"../../../utils\";\nimport Select from \"react-select\";\nimport { styleTheme } from \"../../../themes/themeSelect\";\nimport { UserContext } from \"../../../Context/User\";\n\nfunction AddPopup({ idpage, addPopup }) {\n const { colorPalette } = useContext(UserContext);\n const [popupOption, setPopupOption] = useState([]);\n const [popupDescription, setPopupDescription] = useState(\"\");\n\n const popupOptionHandler = (event) => {\n setPopupOption(event.value);\n };\n\n const popupDescriptionHandler = (event) => {\n setPopupDescription(event.target.value);\n };\n\n useEffect(() => {\n Utils.Petition.get(\n `/popups/idpage/${idpage}`,\n (res) => {\n let data = res.data;\n let _options = [];\n for (let pos in data) {\n let label = `${data[pos].id} - ${data[pos].name}`;\n let value = data[pos].id;\n\n _options.push({ value: value, label: label });\n }\n setPopupOption(_options);\n },\n (err) => {\n console.log(err);\n }\n );\n }, []);\n return (\n localStorage.setItem(\"popupOption\", popupOption) ||\n localStorage.setItem(\"popupDescription\", popupDescription) || (\n
\n
\n Generar PopUp\n
\n
\n
\n \n \n
\n
\n \n (styleTheme(theme, colorPalette?.primary))}\n />\n
\n
\n
\n )\n );\n}\n\nexport default AddPopup;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport Utils from \"../../../utils\";\nimport Select from \"react-select\";\nimport { styleTheme } from \"../../../themes/themeSelect\";\nimport { UserContext } from \"../../../Context/User\";\n\nfunction AddSign() {\n const { colorPalette } = useContext(UserContext);\n //obtains data from DB\n const [optionsIndicator, setOptionsIndicator] = useState([]);\n const [optionsStage, setOptionsStage] = useState([]);\n const [selectedIndicator, setSelectedIndicator] = useState(null);\n const [selectedStage, setSelectedStage] = useState(\"\");\n\n const indicatorHandler = (evt) => {\n setSelectedIndicator(evt.value);\n localStorage.setItem(\"signIndicator\", evt.value);\n };\n\n const stageHandler = (evt) => {\n setSelectedStage(evt.value);\n localStorage.setItem(\"signStage\", evt.value);\n };\n\n useEffect(() => {\n Utils.Petition.get(\n \"/indicators/getNames\",\n (res) => {\n let data = res.data;\n let _options = [];\n for (let name in data) {\n let label = `${data[name].code} ${data[name].name}`;\n let value = data[name].id;\n\n _options.push({ value: value, label: label });\n }\n setOptionsIndicator(_options);\n },\n (err) => {\n console.log(err);\n }\n );\n\n Utils.Petition.get(\n \"/stages_relation/filterbyname/montly\",\n (res) => {\n let _options = [];\n let data = res.names;\n for (let pos in data) {\n _options.push({ value: data[pos].code, label: data[pos].name });\n }\n setOptionsStage(_options);\n },\n (err) => {\n console.log(err);\n }\n );\n }, []);\n\n return (\n
\n
\n Generador de Semaforos\n
\n
\n
\n \n (styleTheme(theme, colorPalette?.primary))}\n />\n
\n
\n \n (styleTheme(theme, colorPalette?.primary))}\n />\n
\n
\n
\n );\n}\n\nexport default AddSign;\n","import { Editor } from \"@tinymce/tinymce-react\";\nimport * as tinymce from \"@tinymce/tinymce-react\";\nimport React, { useContext, useRef, useState } from \"react\";\nimport { Button } from \"../../../commonStyles\";\nimport { AlertForm, ICON } from \"../../../Components/SweetAlert\";\nimport Utils from \"../../../utils\";\n\n//Indicator Convert Selector\nimport CustomModal from \"../../../base/CustomModal\";\nimport AddIndicator from \"../content/addIndicator\";\n\n//custom popups\nimport AddPopup from \"../content/addPopup\";\n\n//add sign\nimport AddSign from \"../content/addSign\"\nimport { UserContext } from \"../../../Context/User\";\nexport const EditorText = ({\n content,\n setContent,\n page,\n idModule,\n inline = false,\n menubar = true,\n}) => {\n const { colorPalette } = useContext(UserContext);\n //state vars for indicator Adder\n const editorRef = useRef(null);\n const [showModal, setShowModal] = useState(false);\n const [showSign, setShowSign] = useState(false);\n const [showCustomPageComponent, setShowCustomPageComponent] = useState(false);\n\n const selectorsHandler = () => {\n localStorage.removeItem(\"selectedIndicator\");\n localStorage.removeItem(\"selectedStage\");\n localStorage.removeItem(\"signIndicator\");\n localStorage.removeItem(\"signStage\");\n };\n\n //Saves data of the component\n const log = () => {\n if (editorRef.current) {\n setContent(editorRef.current.getContent());\n\n //petition to save data\n let data = editorRef.current.getContent();\n let id = idModule;\n\n let result = {\n id: id,\n config: { data: data },\n };\n\n Utils.Petition.post(\n \"/pages-modules/update\",\n result,\n (res) => {\n AlertForm(ICON.SUCCESS, \"Guardado Correctamente\", \"\");\n },\n (err) => {\n console.log(err);\n }\n );\n }\n };\n\n //Custom Popups\n\n const handleMenuCustomPageComponent = (event) => {\n event.preventDefault();\n setShowCustomPageComponent(true);\n };\n\n const handlePopup = (event) => {\n event.preventDefault();\n setShowModal(true);\n };\n\n const handleSign = (event) => {\n event.preventDefault();\n setShowSign(true);\n };\n\n\n const addIndicator = () => {\n let indicator = localStorage.getItem(\"selectedIndicator\");\n let stage = localStorage.getItem(\"selectedStage\");\n\n if (indicator && stage) {\n editorRef.current.execCommand('mceInsertContent', false, `Indicador@indicador:${indicator},escenario:${stage}@`)\n AlertForm(ICON.SUCCESS, \"Guardado Correctamente\", \"\");\n } else {\n AlertForm(ICON.ERROR, \"Se deben seleccionar los 2 campos\", \"\");\n }\n };\n\n const addPopup = () => {\n let popUpId = localStorage.getItem(\"popupOption\");\n let popUpDescription = localStorage.getItem(\"popupDescription\");\n\n if (popUpId && popUpDescription) {\n editorRef.current.execCommand('mceInsertContent', false, `PopUp@descripcion:${popUpDescription},id:${popUpId}@`)\n AlertForm(ICON.SUCCESS, \"PopUp Añadido\", \"\");\n } else {\n AlertForm(ICON.ERROR, \"Se deben seleccionar los 2 campos\", \"\");\n }\n };\n\n const addSign = () => {\n let indicator = localStorage.getItem(\"signIndicator\");\n let stage = localStorage.getItem(\"signStage\");\n\n if (indicator && stage) {\n editorRef.current.execCommand('mceInsertContent', false, `Semaforo@indicador:${indicator},escenario:${stage}@`)\n AlertForm(ICON.SUCCESS, \"Guardado Correctamente\", \"\");\n } else {\n AlertForm(ICON.ERROR, \"Se deben seleccionar los 2 campos\", \"\");\n }\n };\n\n return (\n <>\n (editorRef.current = editor)}\n initialValue={content}\n init={{\n selector: \"textarea#classic\",\n width: \"100%\",\n height: 500,\n resize: false,\n inline,\n statusbar: false,\n language: \"es\",\n image_title: true,\n /* enable automatic uploads of images represented by blob or data URIs*/\n automatic_uploads: true,\n file_picker_types: \"image\",\n /* and here's our custom image picker*/\n file_picker_callback: function (cb, value, meta) {\n var input = document.createElement(\"input\");\n input.setAttribute(\"type\", \"file\");\n input.setAttribute(\"accept\", \"image/*\");\n input.onchange = function () {\n var file = this.files[0];\n if (file.type.slice(0, 5) === \"image\") {\n let reader = new FileReader();\n reader.onload = function (e) {\n if (meta.filetype === \"image\") {\n cb(e.target.result, { alt: file.name });\n }\n };\n reader.readAsDataURL(file);\n }\n };\n input.click();\n },\n\n menubar: menubar ? \"file edit view insert format tools table\" : false,\n plugins: [\n \" advlist anchor autolink codesample fullscreen help image imagetools charmap print\",\n \" lists link media noneditable preview emoticons insertdatetime hr\",\n \" searchreplace table template visualblocks wordcount code pagebreak \",\n ],\n templates: [\n {\n title: \"Non-editable Example\",\n description: \"Non-editable example.\",\n content: \"table1\",\n },\n {\n title: \"Simple Table Example\",\n description: \"Simple Table example.\",\n content: \"table2\",\n },\n ],\n\n toolbar:\n \"undo redo | bold italic | forecolor backcolor | template codesample | link image | alignleft aligncenter alignright alignjustify | bullist numlist | code pagebreak | fontselect fontsizeselect styleselect \",\n\n tinydrive_token_provider: function (success, failure) {\n success({\n token:\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqb2huZG9lIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.Ks_BdfH4CWilyzLNk8S2gDARFhuxIauLa8PwhdEQhEo\",\n });\n },\n content_style:\n \"body { font-family:Helvetica,Arial,sans-serif; font-size:16px }\",\n }}\n />\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n {showModal && }\n {selectorsHandler()}\n \n\n \n {showCustomPageComponent && (\n \n )}\n \n\n \n {showSign && }\n {selectorsHandler()}\n \n \n );\n};\n","import styled from \"styled-components\";\nimport { Theme1 } from \"../../../themes/Theme1\";\n\nexport const ContainerCustom = styled.div`\n display: none;\n overflow-y: auto;\n overflow-x: hidden;\n margin-top: 1.5rem;\n margin-bottom: 0.6rem;\n box-shadow: ${Theme1.shadowContainer};\n background-color: #ffffff;\n &.active {\n display: block;\n\n }\n h3{\n font-size: 18px;\n }\n`;","import { ContainerCustom } from \"./styles\"\n\nexport const Text = ({ showText, content }) => {\n return (\n \n )\n}\n","import React, { useState, useEffect, useRef, useContext } from \"react\";\n\n//Editor of hell component imports and Styles\n\nimport { EditorText } from \"./Editor\";\nimport { Text } from \"./Editor/text\";\nimport { ContainerCustom } from \"./Editor/styles\";\nimport { Button } from \"../../commonStyles\";\nimport { UserContext } from \"../../Context/User\";\nimport \"./View.css\";\n\nfunction Edit({ globalParams, page, module,everypages, filter }) {\n const { validateShowComponent, colorPalette } = useContext(UserContext);\n const [content, setContent] = useState(\"\");\n const showEditor = useRef(null);\n const showText = useRef(null);\n const textbtn = useRef(null);\n const textbtn2 = useRef(null);\n\n //Loads info saved in the dataBase\n useEffect(() => {\n setContent(module.config.data)\n document.addEventListener('click', handleAccordion);\n return () => document.removeEventListener(\"click\", handleAccordion);\n }, [])\n\n const handleEditor = () => {\n showEditor.current.classList.toggle(\"active\");\n showText.current.classList.toggle(\"active\");\n textbtn.current.classList.toggle(\"btn-inactive\");\n textbtn2.current.classList.toggle(\"btn-inactive\");\n };\n\n const handleAccordion = (e) => {\n if(e.target.classList.contains('titulo-acrodeon') || e.target.classList.contains('desplegable')){\n e.preventDefault();\n let id = e.target.parentNode.querySelector('.desplegable').getAttribute('href').replace('#', '');\n let $id = document.getElementById(id);\n if ($id.classList.contains('show') ) {\n $id.style.opacity = 0;\n $id.style.transform = 'scale(0)';\n \n window.setTimeout(function(){\n $id.classList.remove('show');\n $id.classList.add('hide');\n $id.style.display = 'none';\n },700); // timed to match animation-duration\n }\n else {\n $id.style.display = 'block';\n window.setTimeout(function(){\n $id.classList.remove('hide');\n $id.classList.add('show');\n $id.style.opacity = 1;\n $id.style.transform = 'scale(1)';\n },0);\n }\n }\n}\n return (\n <>\n \n \n \n \n\n {(module.idpopup !== null || validateShowComponent(everypages, filter)) &&\n }\n\n \n );\n}\n\nexport default Edit;\n","import React, { useState, useEffect } from \"react\";\r\nimport Utils from \"../../utils\";\r\nlet url = \"\";\r\nfunction IndicatorValue({ idIndicator, idStage }) {\r\n const [totalValue, setTotalValue] = useState();\r\n //TODO: Sólo se usa format number, permitir cambiar a format_percent desde la edición\r\n const format_number = Utils.getConfigPortal('format_number');\r\n const format_percent = Utils.getConfigPortal('format_percent');\r\n\r\n let year = localStorage.getItem(\"year\");\r\n let month = (1+parseInt(localStorage.getItem(\"month\"))).toString();\r\n let date = `${year}-${month < 10 ? 0 + month : month}-01`;\r\n\r\n\r\n useEffect(() => {\r\n url = `/indicator-value/indicator/${idIndicator}/stage/${idStage}/range/${date}/${date}`;\r\n\r\n Utils.Petition.get(\r\n url,\r\n (res) => {\r\n if (res.data[0].value === null) {\r\n setTotalValue(\"0\");\r\n } else {\r\n setTotalValue(res.data[0].value);\r\n }\r\n },\r\n (err) => {\r\n console.log(err);\r\n }\r\n );\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const valueFormat = (value) => {\r\n return Utils.formatNumber(format_number, value);\r\n };\r\n\r\n return {valueFormat(totalValue)};\r\n}\r\n\r\nexport default IndicatorValue;\r\n","import React, { useEffect, useState } from \"react\";\nimport { Button } from \"react-bootstrap\";\nimport { Link } from \"react-router-dom\";\n\nfunction GetPopup({\n idPopup,\n popUpDescription,\n setPopupStructure,\n templateZonesLoading,\n}) {\n const [modalPopup, setModalPopup] = useState(false);\n\n const handlePopup = (event) => {\n event.preventDefault();\n setPopupStructure({\n id: idPopup,\n title: popUpDescription,\n show: true,\n });\n templateZonesLoading['popup'].setLoaded(false);\n templateZonesLoading['popupIzquierda'].setLoaded(false);\n templateZonesLoading['popupDerecha'].setLoaded(false);\n templateZonesLoading['popupIzquierdaA'].setLoaded(false);\n templateZonesLoading['popupDerechaA'].setLoaded(false);\n templateZonesLoading['popupIzquierdaB'].setLoaded(false);\n templateZonesLoading['popupCentroB'].setLoaded(false);\n templateZonesLoading['popupDerechaB'].setLoaded(false);\n templateZonesLoading['popupCentroC'].setLoaded(false);\n setModalPopup(true);\n };\n\n return (\n \n \n {popUpDescription}\n \n \n );\n}\n\nexport default GetPopup;\n","import styled from 'styled-components';\n\nexport const ButtonGroup = styled.div`\n display: flex;\n flex-wrap: wrap;\n\n & button {\n margin-top: 1rem;\n }\n`;\n\nexport const ButtonWrapper = styled.div`\n \n font-size: 15px;\n padding: 5px 10px;\n \n button{\n color: white;\n background-color: ${props => props.color} !important;\n border: solid 1px ${props => props.color} !important;\n font-size: 14px;\n font-weight: bold;\n box-shadow: 1px 0px 20px 10px #00000020;\n &:hover{\n color: ${props => props.color} !important;\n background-color: transparent !important;\n }\n &:focus {\n box-shadow: 0 0 12px 0 ${props => props.color};\n }\n }\n`;\n\nexport const StyleEditor = styled.div`\n margin-top: 0.6rem;\n padding: 0.5rem;\n box-shadow: 1px 0px 20px 10px #00000020;\n border-radius: 0.6rem;\n\n \n\n & .rdw-editor-toolbar > [class$='wrapper'], & .rdw-editor-toolbar > [class$='dropdown'] {\n border: 1px solid #aeaeae;\n border-radius: 0.3rem;\n margin: 0.2rem;\n box-shadow: 1px 0px 20px 10px #aeaeae20;\n\n & > .rdw-option-wrapper {\n border: none;\n }\n }\n\n & .rdw-editor-main {\n border: 1px solid #aeaeae;\n border-radius: 0.3rem;\n }\n`;\n\nexport const HtmlWrapper = styled.div`\n font-size: 14px;\n h1{\n font-size: 24px;\n margin-bottom: 0px;\n }\n h2{\n font-size: 22px;\n margin-bottom: 0px;\n }\n h3{\n font-size: 18px;\n margin-bottom: 0px;\n }\n h4{\n font-size: 16px;\n margin-bottom: 0px;\n }\n h5{\n font-size: 14px;\n margin-bottom: 0px;\n }\n h6{\n font-size: 12px;\n margin-bottom: 0px;\n }\n .desplegable.collapsed{\n color: ${props => props.color};\n text-decoration: underline;\n font-weight: bold;\n &:after{\n content: \"\";\n display: inline-block;\n width: 12px;\n height: 12px;\n background-image: url('/assets/chevron.png');\n background-size: cover;\n background-position: center;\n margin-left: 5px;\n position:relative;\n top:7px;\n }\n }\n a:not(.desplegable){\n color: ${ props => props.color};\n text-decoration: underline;\n font-weight: bold;\n &:after{\n content: \"\";\n display: inline-block;\n width: 12px;\n height: 12px;\n background-image: url('/assets/hipervinculo.png');\n background-size: cover;\n background-position: center;\n margin-left: 5px;\n }\n }\n`;\n","import React, { useState, useEffect } from \"react\";\nimport Sign from \"../../Components/Sign\";\nimport Utils from \"../../utils\";\nlet url = \"\";\nfunction SignValue({ idIndicator, idStage }) {\n const [totalValue, setTotalValue] = useState([]);\n const [isLoaded, setIsLoaded] = useState(false);\n\n let year = localStorage.getItem(\"year\");\n let month = localStorage.getItem(\"month\");\n\n\n useEffect(() => {\n url = `/indicator-value/sign/idIndicator/${idIndicator}/stageId/${idStage}/year/${year}/month/${month}`\n\n Utils.Petition.get(\n url,\n (res) => {\n setTotalValue(res.data[0])\n setIsLoaded(true)\n }\n );\n }, []);\n\n return isLoaded && ;\n}\n\nexport default SignValue;","import React, { useEffect, useState, useContext } from \"react\";\nimport Utils from \"../../utils\";\nimport IndicatorValue from \"./IndicatorValue\";\nimport parse from \"html-react-parser\";\nimport GetPopup from \"./content/getPopup\";\nimport { HtmlWrapper } from \"./styles\";\nimport SignValue from \"./SignValue\";\nimport { UserContext } from \"../../Context/User\";\nimport \"./View.css\";\n\nfunction View({ page, module, setPopupStructure, templateZonesLoading }) {\n const { colorPalette } = useContext(UserContext);\n const [totalValue, setTotalValue] = useState(\"\");\n const [attrRelation, setAttrRelation] = useState([]);\n const [updateTable, setUpdateTable] = useState(false);\n\n useEffect(() => {\n //consulta mia debe devolver\n\n let view = localStorage.getItem(\"view\");\n let url = `/stages_relation/filterbycode/${view}`;\n Utils.Petition.get(\n url,\n (res) => {\n setAttrRelation(res.data);\n dataConverter();\n \n },\n (err) => {\n console.log(err);\n }\n );\n document.addEventListener('click', handleAccordion);\n return () => document.removeEventListener(\"click\", handleAccordion);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if(totalValue || updateTable) {\n setTimeout(changeColor, 2000);\n setUpdateTable(false);\n }\n }, [totalValue , updateTable])\n\n const handleAccordion = (e) => {\n if(e.target.classList.contains('titulo-acrodeon') || e.target.classList.contains('desplegable')){\n e.preventDefault();\n let id = e.target.parentNode.querySelector('.desplegable').getAttribute('href').replace('#', '');\n let $id = document.getElementById(id);\n if ($id.classList.contains('show') ) {\n $id.style.opacity = 0;\n $id.style.transform = 'scale(0)';\n \n window.setTimeout(function(){\n $id.classList.remove('show');\n $id.classList.add('hide');\n $id.style.display = 'none';\n },700); // timed to match animation-duration\n }\n else {\n $id.style.display = 'block';\n window.setTimeout(function(){\n $id.classList.remove('hide');\n $id.classList.add('show');\n $id.style.opacity = 1;\n $id.style.transform = 'scale(1)';\n },0);\n \n }\n }\n }\n const changeColor = () => {\n if(document.getElementsByClassName(\"colors\").length && document.getElementsByClassName(\"panel-default\").length){\n for (let index = 0; index < document.getElementsByClassName(\"panel-default\").length; index++) {\n const element = document.getElementsByClassName(\"panel-default\")[index];\n let suma = 0;\n let entradas = 0;\n if( element.getElementsByClassName(\"fecha\")[0].getElementsByTagName(\"table\").length) {\n for (let i = 0; i < element.getElementsByClassName(\"fecha\")[0].getElementsByTagName(\"table\")[0].getElementsByTagName(\"tr\").length; i++) {\n const el = element.getElementsByClassName(\"fecha\")[0].getElementsByTagName(\"table\")[0].getElementsByTagName(\"tr\")[i];\n let _tr = el.getElementsByTagName(\"td\");\n if(_tr.length > 0){\n let real = 0;\n let presupuesto = 0;\n if(_tr[1].getElementsByTagName(\"span\")[1]) {\n real = parseFloat(_tr[1].getElementsByTagName(\"span\")[1].innerHTML)\n } else {\n return setUpdateTable(true);\n }\n presupuesto = parseFloat(_tr[2].getElementsByTagName(\"span\")[0].innerHTML)\n if((real !== 0 || presupuesto !== 0)){\n entradas++;\n if(presupuesto === 0 || real/presupuesto >= 1) suma+=3;\n else if(real/presupuesto>=0.9){\n suma+=2;\n }else{\n suma += 1;\n }\n }\n }\n }\n let color = 'bg-gris';\n if(entradas>0){\n let promedio= suma/entradas;\n if(promedio===3) color = 'bg-verde';\n else if(promedio >= 2) color = 'bg-amarillo';\n else color = 'bg-rojo';\n }\n element.getElementsByClassName(\"titulo-acrodeon\")[0].classList.add(color);\n }\n }\n }\n }\n /*DataConverter - Modulo que convierte data de popups e indicadores\n a valores legibles por el usuario el prefijo debe llevar\n tipo@nombreValor:valor,nombreValor:valor@ para convertir los \n datos ya sea en un popup o en el total de un indicador*/\n const dataConverter = () => {\n let content = module.config.data;\n const regexSearch = /PopUp@(.*?)\\@/g;\n const regexSearchIndicator = /Indicador@(.*?)\\@/g;\n const regexSign = /Semaforo@(.*?)\\@/g;\n\n //Convertidor de los indicadores\n if (content.match(regexSearchIndicator)) {\n let dataForReplace = content.match(regexSearchIndicator);\n let dataReplaced = \"\";\n let dataResults = [];\n\n for (let pos in dataForReplace) {\n dataReplaced = dataForReplace[pos].replace(/Indicador@|@|<|>/g, \"\");\n dataResults.push(dataReplaced);\n }\n\n let objs = [];\n for (let pos in dataResults) {\n dataResults[pos] = dataResults[pos].split(\",\");\n\n let obj = {\n idIndicator: dataResults[pos][0].replace(\"indicador:\", \"\"),\n nameStage: dataResults[pos][1].replace(\"escenario:\", \"\"),\n };\n objs.push(obj);\n }\n\n //Remplazo\n for (let pos in objs) {\n let regex = new RegExp(\n `Indicador@indicador:${objs[pos].idIndicator},escenario:${objs[pos].nameStage}\\@`\n );\n content = content.replace(\n regex,\n `test`\n );\n }\n }\n\n //Convertidor de los popUps\n if (content.match(regexSearch)) {\n let dataForReplace = content.match(regexSearch);\n let dataReplaced = \"\";\n let dataResults = [];\n\n for (let pos in dataForReplace) {\n dataReplaced = dataForReplace[pos].replace(\n /(\\W|)(PopUp@|@|<|>)(\\W|)/gm,\n \"\"\n );\n dataResults.push(dataReplaced);\n }\n\n let objs = [];\n for (let pos in dataResults) {\n dataResults[pos] = dataResults[pos].split(\",\");\n\n let obj = {\n description: dataResults[pos][0].replace(\"descripcion:\", \"\"),\n idOfPopup: dataResults[pos][1].replace(\"id:\", \"\"),\n };\n\n objs.push(obj);\n }\n\n //Remplazo\n for (let pos in objs) {\n let regex = new RegExp(\n `PopUp@descripcion:${objs[pos].description},id:${objs[pos].idOfPopup}@`\n );\n content = content.replace(\n regex,\n `test`\n );\n }\n }\n\n //Convertidor de los semaforos\n if (content.match(regexSign)) {\n let dataForReplace = content.match(regexSign);\n let dataReplaced = \"\";\n let dataResults = [];\n\n for (let pos in dataForReplace) {\n dataReplaced = dataForReplace[pos].replace(/Semaforo@|@|<|>/g, \"\");\n dataResults.push(dataReplaced);\n }\n\n let objs = [];\n for (let pos in dataResults) {\n dataResults[pos] = dataResults[pos].split(\",\");\n\n let obj = {\n idIndicator: dataResults[pos][0].replace(\"indicador:\", \"\"),\n nameStage: dataResults[pos][1].replace(\"escenario:\", \"\"),\n };\n objs.push(obj);\n }\n\n //Remplazo\n for (let pos in objs) {\n let regex = new RegExp(\n `Semaforo@indicador:${objs[pos].idIndicator},escenario:${objs[pos].nameStage}\\@`\n );\n content = content.replace(\n regex,\n `test`\n );\n }\n }\n setTotalValue(content);\n };\n\n const options = {\n replace: ({ attribs, children }) => {\n if (!attribs) {\n return;\n }\n if (attribs.class === \"indicator-value\") {\n let stage = attrRelation.filter(\n (relation) => relation.code === attribs[\"data-stage\"]\n );\n //attribs['data-stage'] R o P\n return (\n stage.length > 0 && \n );\n }\n\n if (attribs.class === \"popUp-value\") {\n return (\n \n );\n }\n\n if (attribs.class === \"sign-value\") {\n let stage = attrRelation.filter(\n (relation) => relation.code === attribs[\"data-stage\"]\n );\n //attribs['data-stage'] R o P\n return (\n stage.length > 0 && \n );\n }\n },\n };\n return (\n <>\n
\n {parse(totalValue, options)}\n
\n \n );\n}\nexport default View;\n","import Edit from './Edit';\nimport View from './View';\nconst Html = {\n Edit, View\n}\nexport default Html;","import { useContext, useEffect, useState } from 'react';\nimport CustomModal from '../../base/CustomModal';\nimport {ADMIN_URL} from '../../config';\nimport { UserContext } from '../../Context/User';\nimport Utils from '../../utils';\nimport { ButtonConfig } from '../Components/ButtonConfig';\nfunction Edit({globalParams, page, module, everypages, filter}){\n const { validateShowComponent } = useContext(UserContext);\n const [showModal, setShowModal] = useState(false);\n useEffect(()=>{\n window.addEventListener('message', (event)=>{\n if(event.origin===ADMIN_URL && event.data==='cerrar popup'){\n setShowModal(false);\n }\n })\n }, []);\n const handlePopup = (event)=>{\n event.preventDefault();\n setShowModal(true);\n \n }\n return (\n
\n {(module.idpopup !== null || validateShowComponent(everypages, filter)) && }\n \n { showModal && \n \n \n \n }\n
\n );\n}\n\nexport default Edit;","import Circle from './Circle';\nfunction SignYellowIndicator({value, type, base = 100, percent = 90, isDescendingIndicator = false}){\n let percentYellow = Number(percent) / base;\n const validateColor = () => {\n if(value === null) return \"gray\";\n if(value === base) return \"green\"; \n if(!isDescendingIndicator) {\n if(value > base) return \"green\";\n \n if(value / base > percentYellow) return \"yellow\";\n return \"red\";\n } else {\n if(type === \"C\" ) {\n if(value > base) return \"green\";\n if(value / base > percentYellow) return \"yellow\";\n return \"red\";\n } else {\n return (value < base) ? \"green\" : \"red\"; \n }\n }\n\n } \n return(\n \n )\n}\nexport default SignYellowIndicator;","import styled from \"styled-components\";\nimport { Theme1 } from \"../../themes/Theme1\";\n\nexport const ButtonsContent = styled.div`\n width: 100%;\n display:flex;\n justify-content: flex-end;\n margin-bottom: 15px;\n\n`;\n\nexport const PerspectiveWrapper = styled.div`\n width: 100%;\n border-radius: ${Theme1.radius};\n background-color: white;\n padding: 10px;\n box-shadow: ${Theme1.shadow};\n margin-bottom: ${props => props.design ? \"20px\": \"10px\"};\n position: relative;\n :first-child{\n &.is-grouped{\n margin-top: unset !important;\n &:after{\n display: none !important;\n }\n }\n }\n &.is-grouped{\n margin-top: -20px;\n padding-top: 30px;\n &:after{\n content: \"\";\n display: block;\n width: 100%;\n height: 30px;\n background-color: white;\n top: -20px;\n left: 0;\n position: absolute;\n border-bottom: ${Theme1.borderTwo};\n }\n }\n`;\nexport const PerspectiveTitleWrapper = styled.div`\n width: 100%;\n display: flex;\n justify-content: ${props => props.design ? \"space-between\": \"center\"};\n align-items: center;\n\n & .empty {\n width: 120px;\n }\n`;\n\nexport const PerspectiveTitle = styled.div`\n width: 300px;\n font-size: 18px;\n font-weight: bold;\n position: relative;\n padding-bottom: 10px;\n text-align: ${props => props.design ? \"left\": \"center\"};\n &::after{\n content: \"\";\n width: ${props => props.design ? \"120px\": \"280px\"};\n text-align: ${props => props.design ? \"left\": \"center\"};\n height: 2px;\n background-color: ${props => props.color};\n position: absolute;\n bottom: 8px;\n left: 0;\n }\n`;\nexport const PerspectiveTitleHandle = styled.div`\n color: ${Theme1.grayText};\n font-size: 12px;\n cursor: pointer;\n min-width: 112px;\n &:hover{\n color: ${props => props.color};\n }\n`;\n\nexport const ObjetiveWrapperCollapse = styled.div`\n width: 100%;\n position: relative;\n`;\n\nexport const ObjetiveContainerCollapse = styled.div`\n display: block;\n width: 100%;\n max-width: 470px;\n border-radius: ${Theme1.radius};\n background-color: white;\n padding: 20px;\n position: absolute;\n top: 0;\n right: 0;\n z-index: 3;\n box-shadow: ${Theme1.shadow};\n .objetive_content{\n width: 100% !important;\n &>div{\n width: 100% !important;\n }\n }\n`;\n\nexport const ObjetiveWrapper = styled.div`\n width: 100%;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));\n justify-content: center;\n`;\n\nexport const ObjetiveContent = styled.div`\n width: 100%;\n padding: 10px;\n &.is-transversal{\n width: 100%;\n &>div{\n width: 100%;\n }\n }\n &.is-unique{\n width: 100%;\n &>div{\n width: 50%;\n margin: 0 auto;\n }\n }\n table{\n font-size: 12px;\n }\n`;\n\nexport const ObjetiveContainer = styled.div`\n \n width: 100%;\n border-radius: ${Theme1.radius};\n .container-table {\n border: ${Theme1.borderTwo};\n border-radius: ${Theme1.radius};\n font-size: 12px;\n max-height: 300px;\n overflow-y: auto;\n\n & table {\n position: relative;\n }\n & table > thead {\n position: sticky;\n top: 0;\n left: 0;\n background-color: white;\n }\n & table > thead th:first-child, & table> tbody > tr > td:first-child {\n width: 40%;\n }\n\n & table tbody > tr {\n border-bottom: ${Theme1.borderTwo};\n font-size: 10px;\n padding: 0.5rem;\n }\n }\n .objective-title{\n font-size: 14px;\n font-weight: bold;\n display: flex;\n justify-content: space-between;\n cursor: pointer;\n color: white;\n background-color: ${props => props.backGroundColor};\n padding: 10px 10px;\n align-items: center;\n border-radius: 10px;\n border: medium solid ${props => props.backGroundColor};\n .label{\n padding-left: 0px;\n span{\n display: inline-block;\n width: 12px;\n height: 12px;\n border-radius: 10px;\n border: 1px solid rgb(204, 204, 204);\n margin-right: 5px;\n }\n }\n &:hover{\n box-shadow: ${Theme1.shadowContainer};\n }\n \n &.color-gray{\n .label{\n span{\n background-color: gray;\n }\n }\n }\n &.color-red{\n .label{\n span{\n background-color: red;\n }\n }\n }\n &.color-green{\n .label{\n span{\n background-color: green;\n }\n }\n }\n }\n`;\n\nexport const IndicatorLabel = styled.div`\n color: ${Theme1.grayText};\n cursor: pointer;\n font-weight: bold;\n &:hover{\n text-decoration: underline;\n }\n`;\nexport const ObjetiveJerarquico = styled.div`\n display: flex;\n`;\nexport const StyleArrow = styled.div`\n background: url(${props => props.image});\n height: 25px;\n width: 100%;\n color: red\n`;\n","import { useContext, useState } from \"react\";\nimport {FaRegCommentDots} from 'react-icons/fa';\nimport CustomModal from \"../../base/CustomModal\";\nimport Sign from \"../../Components/Sign\";\nimport SignYellowIndicator from \"../../Components/SignYellowIndicator\";\nimport { UserContext } from \"../../Context/User\";\nimport Utils from \"../../utils\";\nimport { IndicatorLabel } from \"./styles\";\n\nfunction Indicator({indicator, indicatorData, setShowIndicatorsDetailModal, setSelectedIndicatorDetail, config}){\n const { colorPalette } = useContext(UserContext);\n\n const [comment, setComment] = useState(0);\n const [showModal, setShowModal] = useState(false);\n const format_number = Utils.getConfigPortal('format_number');\n const format_percent = Utils.getConfigPortal('format_percent');\n const handleCommentModal = ()=>{\n Utils.Petition.get('/comments/type-model/indicator/type-id/'+indicator+'/year/'+localStorage.getItem('year')+'/month/'+localStorage.getItem('month')+'/view/'+localStorage.getItem('view'), (response)=>{\n if(response){\n setComment(response.data.comment);\n }else{\n setComment('');\n }\n setShowModal(true);\n })\n }\n const handleDetailIndicator = (event)=>{\n event.preventDefault();\n setSelectedIndicatorDetail(indicator);\n setShowIndicatorsDetailModal(true);\n }\n\n return (\n \n \n \n {indicatorData[indicator].name} \n \n {showModal &&\n \n {comment!==''?comment:Ningun comentario ingresado en el mes}\n \n }\n \n \n {\n config.stages.includeYellow && config.stages.unitPercent &&\n <>\n {\n indicatorData[indicator].unit === '%' && \n }\n {\n indicatorData[indicator].unit !== '%' && \n }\n \n \n \n }\n {\n !config.stages.unitPercent && config.stages.includeYellow &&\n \n }\n {\n !config.stages.unitPercent && !config.stages.includeYellow &&\n \n }\n {\n !config.stages.includeYellow && config.stages.unitPercent && \n \n }\n {\n config.stages.col1.percent && indicatorData[indicator].col1 ? Utils.formatNumber(format_percent,indicatorData[indicator].col1) + \"%\" : \"\"\n }\n {\n !config.stages.col1.percent && Utils.formatNumber(format_number,indicatorData[indicator].col1)\n }\n \n \n {\n indicatorData[indicator].col2 !== \"0\" &&\n \n {\n config.stages.col2.percent && indicatorData[indicator].col2 ? Utils.formatNumber(format_percent,indicatorData[indicator].col2) + \"%\" : \"\"\n }\n {\n !config.stages.col2.percent && Utils.formatNumber(format_number,indicatorData[indicator].col2)\n }\n \n }\n {\n indicatorData[indicator].col3 !== \"0\" &&\n \n {\n config.stages.col3.percent && indicatorData[indicator].col3 ? Utils.formatNumber(format_percent,indicatorData[indicator].col3) + \"%\" : \"\"\n }\n {\n !config.stages.col3.percent && Utils.formatNumber(format_number,indicatorData[indicator].col3)\n }\n \n }\n {\n indicatorData[indicator].col4 !== \"0\" &&\n \n {\n config.stages.col4.percent && indicatorData[indicator].col4 ? Utils.formatNumber(format_percent,indicatorData[indicator].col4) + \"%\" : \"\"\n }\n {\n !config.stages.col4.percent && Utils.formatNumber(format_number,indicatorData[indicator].col4)\n }\n \n }\n \n );\n}\nexport default Indicator;","import { useEffect, useState, useContext } from \"react\";\nimport { Col, Row, Table } from \"react-bootstrap\";\nimport { FaAngleDown, FaAngleUp } from \"react-icons/fa\";\nimport Indicator from \"./Indicator\";\nimport { ObjetiveContainer } from \"./styles\";\nimport { UserContext } from \"../../Context/User\";\n\nfunction Objective({config, objective, indicatorData, setShowIndicatorsDetailModal, setSelectedIndicatorDetail, showObjective, designSecondary = false}){\n const { colorPalette } = useContext(UserContext);\n const [show, setShow] = useState(false);\n const [colorBG, setColorBG] = useState(\"\");\n useEffect(()=>{\n setShow(showObjective);\n getColor();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [showObjective])\n const getColor = ()=>{\n let greens = 0;\n let reds = 0;\n let finalColor = '#808080';\n for(let i in objective.data){\n let _color = calculateColor(indicatorData[objective.data[i]]);\n if(_color === 'yellow') return setColorBG('#e6da00');\n if(_color==='green') greens++;\n else if(_color==='red') reds++;\n }\n\n if(greens || reds){\n if(!greens) finalColor='#ff0000';\n else if(!reds) finalColor='#008000';\n else finalColor='#e6da00';\n }\n setColorBG(finalColor);\n }\n const calculateColor = (indicator)=>{\n let base = 100;\n if((config.stages.includeYellow && config.stages.unitPercent) || config.stages.unitPercent ) {\n base = indicator.unit === '%' ? 0: 100;\n }\n\n // let base = config.stages.includeYellow ? 100: indicator.unit === '%' ? 0: 100;\n if(indicator.sign===null) return 'gray';\n if(base === parseFloat(indicator.sign)) return 'green';\n\n if(config.stages.descendingIndicator) {\n if(indicator.type === 'C'){\n if(parseFloat(indicator.sign)base) return 'red';\n return 'green';\n }\n }\n if(parseFloat(indicator.sign)>base) return 'green';\n if(config.stages.includeYellow && parseFloat(indicator.sign)/base > Number(config.stages.percentYellow)/100) return 'yellow';\n return 'red';\n }\n\n return (\n \n \n \n \n \n
setShow(!show)} className={\"objective-title color-\"+ colorBG}>\n
{objective.name}
\n {show ? : }\n
\n {\n show &&\n
\n {\n \n \n \n \n \n {\n config.stages.col2.name !== '' &&\n \n }\n {\n config.stages.col3.name !== '' &&\n \n }\n {\n config.stages.col4.name !== '' && config.stages.col4.name !== undefined &&\n \n }\n \n \n \n {\n objective.data.map((indicator, index)=>{\n return (\n \n )\n })\n }\n \n
Indicador{config.stages.col1.name}{config.stages.col2.name}{config.stages.col3.name}{config.stages.col4.name}
\n }\n
\n }\n
\n \n
\n \n );\n}\nexport default Objective;","import { useContext, useState } from \"react\";\nimport Objective from \"./Objective\";\nimport { FaAngleDown, FaAngleUp } from \"react-icons/fa\";\nimport { PerspectiveWrapper, PerspectiveTitle, ObjetiveWrapper, PerspectiveTitleWrapper, PerspectiveTitleHandle, ObjetiveContainerCollapse, ObjetiveWrapperCollapse, StyleArrow } from \"./styles\";\nimport { UserContext } from \"../../Context/User\";\nimport { Row } from \"react-bootstrap\";\n\nfunction Perspective({showObjective, config, perspective, setShowIndicatorsDetailModal, setSelectedIndicatorDetail, indicatorData, idx}){\n const { colorPalette } = useContext(UserContext);\n const [design, setDesign] = useState(config.stages.designStrategicMap === undefined ? \"Default\":config.stages.designStrategicMap.value);\n\n const getClassName = ()=>{\n let _class='';\n if(perspective.grouped){\n _class += ' is-grouped'\n }\n if(perspective.horizontal){\n _class += ' is-horizontal'\n }\n return _class;\n }\n const [showIndicadoresH, setShowIndicadoresH] = useState(false);\n\n const haddleIndicadores = () => {\n setShowIndicadoresH(!showIndicadoresH);\n }\n\n return (\n <>\n {\n design === \"Jerarquico\" && idx !== 0 &&\n \n }\n \n
\n \n {perspective.horizontal &&
}\n {perspective.name}\n {\n perspective.horizontal && \n Ver indicadores {showIndicadoresH ? :}\n }\n
\n {\n perspective.horizontal ?\n \n { showIndicadoresH &&\n \n {\n \n {\n\n perspective.data.map((objective, index)=>{\n return (\n \n )\n })\n }\n \n }\n \n }\n \n \n :\n
\n {\n design === \"Default\" && \n \n {\n perspective.data.map((objective, index)=>{\n return (\n \n )\n })\n }\n \n }\n {\n design === \"Jerarquico\" && \n \n {\n perspective.data.map((objective, index)=>{\n return (\n \n )\n })\n }\n \n }\n
\n }\n
\n
\n \n \n );\n}\nexport default Perspective;","import { useContext, useEffect, useState } from \"react\";\nimport Perspective from \"./Perspective\";\nimport Utils from '../../utils';\nimport CustomModal from \"../../base/CustomModal\";\nimport IndicatorDetail from \"../../Components/IndicatorDetail\";\nimport { ButtonsContent } from \"./styles\";\nimport { FaRegComment, FaEye, FaEyeSlash } from \"react-icons/fa\";\nimport { IndicatorConvensionesTwo } from \"../../Components/styles\";\nimport { Button } from \"../../commonStyles\";\nimport { UserContext } from \"../../Context/User\";\nfunction View({page, module}){\n const { colorPalette } = useContext(UserContext);\n const [indicatorData, setIndicatorData] = useState([]);\n const [isConfigured, setIsConfigured] = useState(false);\n const [showModal, setShowModal] = useState(false);\n const [comment, setComment] = useState('');\n const [showObjective, setShowObjective] = useState(false);\n const [showIndicatorsDetailModal, setShowIndicatorsDetailModal] = useState(false);\n const [selectedIndicatorDetail, setSelectedIndicatorDetail] = useState(0);\n const handleCommentModal = ()=>{\n setShowModal(true);\n }\n useEffect(()=>{\n if( \n Object.keys(module.config).length>0 && \n module.config.data.length>0 && \n module.config.stages.col1.name && module.config.stages.col1.data &&\n //module.config.stages.col2.name && module.config.stages.col2.data &&\n //module.config.stages.col3.name && module.config.stages.col3.data &&\n //module.config.stages.col4.name && module.config.stages.col4.data &&\n module.config.stages.sign.data\n\n ){\n let ids = [];\n\n for(let i in module.config.data){\n for(let j in module.config.data[i].data){\n for(let k in module.config.data[i].data[j].data){\n if(!ids.includes(module.config.data[i].data[j].data[k])){\n ids.push(module.config.data[i].data[j].data[k]);\n }\n }\n }\n }\n\n for(let key in module.config.stages) {\n let element = module.config.stages[key];\n if(element.hasOwnProperty(\"data\")){\n element.data.ViewValues = {}\n for (let idx = 0; idx < element.data.view.length; idx++) {\n const el = element.data.view[idx];\n element.data.ViewValues[el] = element.data.value[idx]\n }\n } \n }\n let columns = [];\n \n for(let key in module.config.stages){\n if(module.config.stages[key].hasOwnProperty(\"data\")){\n columns.push(key+'-'+module.config.stages[key].data.ViewValues[localStorage.getItem('view')]);\n } \n }\n Utils.Petition.get(\n '/indicator-value/table/' + ids.join(',')+'/columns/'+columns.join(',')+'/year/'+localStorage.getItem('year')+'/month/'+ (parseInt(localStorage.getItem('month'))+1), (response)=>{\n let _data = {};\n for(let i in response.data){\n _data[response.data[i].id] = response.data[i];\n }\n setIndicatorData(_data);\n setIsConfigured(true);\n }\n );\n Utils.Petition.get('/comments/type-model/page_module/type-id/'+module.id+'/year/'+localStorage.getItem('year')+'/month/'+localStorage.getItem('month')+'/view/'+localStorage.getItem('view'), (response)=>{\n if(response){\n setComment(response.data.comment);\n }\n })\n }\n }, []);\n return (\n isConfigured ?\n <>\n \n {comment !=='' && }\n {\n \n }\n \n \n \n
Convenciones:
\n
100%
\n
Parcial
\n
No cumple
\n \n
\n { \n showModal && \n \n {comment}\n \n }\n {\n showIndicatorsDetailModal &&\n \n \n \n }\n {\n module.config.data.map((perspective, index)=>{\n return \n })\n }\n \n : null\n )\n}\nexport default View;","import Edit from './Edit';\nimport View from './View';\nconst StrategicMap = {\n Edit, View\n}\nexport default StrategicMap;","import { useContext, useEffect, useState } from 'react';\nimport CustomModal from '../../base/CustomModal';\nimport {ADMIN_URL} from '../../config';\nimport { UserContext } from '../../Context/User';\nimport Utils from '../../utils';\nimport { ButtonConfig } from '../Components/ButtonConfig';\n\nfunction Edit({globalParams, page, module, everypages, filter}){\n const { validateShowComponent } = useContext(UserContext);\n const [showModal, setShowModal] = useState(false);\n useEffect(()=>{\n window.addEventListener('message', (event)=>{\n if(event.origin===ADMIN_URL && event.data==='cerrar popup'){\n setShowModal(false);\n }\n })\n }, []);\n const handlePopup = (event)=>{\n event.preventDefault();\n setShowModal(true);\n \n }\n\n\n return (\n
\n {(module.idpopup !== null || validateShowComponent(everypages, filter)) && }\n { showModal && \n \n \n \n }\n
\n );\n}\n\nexport default Edit;","import React, { useState, useEffect } from \"react\";\nimport { Doughnut } from 'react-chartjs-2';\nimport Utils from \"../utils\";\n\nfunction DoughnutChart({dataConfig, data}) {\n\n const [chartData, setChartData] = useState({});\n const format_percent = Utils.getConfigPortal('format_percent');\n const format_number = Utils.getConfigPortal('format_number');\n\n const chart = () => {\n let xlabels = [];\n \n let dataY = dataConfig.indicators.map(ind => {\n let label = \"\"\n if( ind.hasOwnProperty('labelIndicator') && ind.labelIndicator.trim() !== \"\" ) label = ind.labelIndicator;\n else label = ind.name;\n\n let total = 0;\n data.map( d => {\n if(d.value !== null) total = total + Math.abs(parseInt(d.value))\n })\n\n let temp = 0;\n let value = 0;\n for (let i = 0; i < data.length; i ++) {\n if (data[i].indicator === ind.id && data[i].value !== null) {\n temp = data[i].value;\n value = Utils.formatNumber(format_percent,(Math.abs(temp)/total)*100);\n label = `${label} ${value}%` \n break;\n }\n }\n xlabels.push(label)\n return temp;\n });\n\n let backgroundColors = dataConfig.indicators.map(indicator => indicator.color);\n\n setChartData({\n labels:xlabels,\n datasets: [{\n data: dataY,\n backgroundColor: backgroundColors\n }]\n })\n }\n \n useEffect(() => {\n chart();\n }, []);\n\n return (\n
\n \n
\n )\n}\n\nexport default DoughnutChart;","import React, { useState, useEffect } from \"react\";\nimport { Bar } from 'react-chartjs-2';\nimport ChartDataLabels from 'chartjs-plugin-datalabels';\nimport Utils from \"../utils\";\n\nfunction WaterfallChart({dataConfig, data}) {\n\n const [chartData, setChartData] = useState({});\n const [minChart, setMinChart] = useState(0);\n\n const format_number = Utils.getConfigPortal('format_number');\n const format_percent = Utils.getConfigPortal('format_percent');\n\n const chart = () => {\n\n let xlabels = [];\n const dataSet = [];\n let total = 0.0;\n let backgroundColors = [];\n let mayor = 0;\n let menor = 0;\n let contador = 0\n\n if( !dataConfig.addTotalColumn ) {\n dataConfig.indicators.map((ind, index) => {\n const aux = data.filter( d => d.indicator === ind.id && d.stage === ind.stage.id )[0];\n if( aux.value !== null && parseFloat(aux.value) !== 0 ) {\n contador++;\n if( index === 0) {\n mayor = parseFloat(aux.value);\n menor = parseFloat(aux.value);\n }\n xlabels.push(ind.hasOwnProperty('labelIndicator') && ind.labelIndicator.trim() !== \"\" ? ind.labelIndicator : ind.name);\n const vStart = total;\n if(ind.negative){\n total -= parseFloat(aux.value);\n }else { \n total += parseFloat(aux.value);\n }\n if( index === dataConfig.indicators.length - 1) {dataSet.push(parseFloat(aux.value)); total = parseFloat(aux.value)}\n else dataSet.push([parseFloat(vStart.toFixed(2)), parseFloat(total.toFixed(2))]);\n mayor = total > mayor ? total : mayor;\n menor = total < menor ? total : menor;\n if( index > 0 && index < dataConfig.indicators.length - 1) {\n backgroundColors.push(aux.value < 0 ? dataConfig.colorNegative !== undefined ? dataConfig.colorNegative : \"#ef8220\" : dataConfig.colorPositive !== undefined ? dataConfig.colorPositive : \"#8eaadc\")\n } else {\n backgroundColors.push(ind.color)\n }\n \n };\n }) \n } else {\n /*let labelTotal = \"Label no definido\";\n if( dataConfig.hasOwnProperty('labelTotal') && dataConfig.labelTotal !== undefined && dataConfig.labelTotal.trim() !== \"\"){\n labelTotal = dataConfig.labelTotal;\n };\n let xlabels = dataConfig.indicators.map(ind => {\n if(ind.hasOwnProperty('labelIndicator') && ind.labelIndicator.trim() !== \"\"){\n return ind.labelIndicator;\n } else {\n return ind.name;\n }\n }).concat(labelTotal);\n const backgroundColors = dataConfig.indicators.map(indicator => indicator.color).concat(dataConfig.backgroundTotalLabel)\n */\n }\n\n let aux_min = Math.floor(menor - (mayor - menor)/10)\n\n setMinChart( contador > 1 ? menor < 0 ? aux_min : aux_min < 0 ? 0 : aux_min : 0)\n\n setChartData({\n labels: xlabels, \n datasets: [{\n barPercentage: 1,\n data: dataSet,\n backgroundColor: backgroundColors,\n datalabels: {\n color: 'black',\n font: {\n weight: 'bold',\n size: 15\n },\n anchor: function(context) {\n let value = context.dataset.data[context.dataIndex];\n if (Array.isArray(value)) {\n if( value[1] - value[0] > 0) {\n return \"end\"\n } else if (value[1] - value[0] < 0) {\n return \"start\"\n }\n } else {\n if(value > 0) {\n return \"end\"\n } else if (value < 0) {\n return \"start\"\n }\n };\n },\n align: function(context) {\n let value = context.dataset.data[context.dataIndex];\n if (Array.isArray(value)) {\n if( value[1] - value[0] > 0) {\n return \"top\"\n } else if (value[1] - value[0] < 0) {\n return \"bottom\"\n }\n } else {\n if(value > 0) {\n return \"top\"\n } else if (value < 0) {\n return \"bottom\"\n }\n };\n },\n offset: 5,\n formatter: function(value, context) {\n let str = \"\"\n if (Array.isArray(value)) {\n if( value[1] - value[0] === 0) {\n return str\n }\n let format = Math.abs(value[1] - value[0]) < 100 ? ',.1f' : ',.0f';\n str = dataConfig.hasOwnProperty('yLeft') && dataConfig.yLeft !== undefined && dataConfig.yLeft.trim() !== \"PorDefecto\" ? dataConfig.yLeft === '%' ? Utils.formatNumber(format_percent, value[1] - value[0]) + \"%\" : \"$\" + Utils.formatNumber(format_number, value[1] - value[0]) : Utils.formatNumber(format, value[1] - value[0]);\n return str;\n } else {\n let format = Math.abs(value) < 100 ? ',.1f' : ',.0f';\n if( value !== 0 ) str = dataConfig.hasOwnProperty('yLeft') && dataConfig.yLeft !== undefined && dataConfig.yLeft.trim() !== \"PorDefecto\" ? dataConfig.yLeft === '%' ? Utils.formatNumber(format_percent, value) + \"%\" : \"$\" + Utils.formatNumber(format_number, value) : Utils.formatNumber(format_number, value);\n return str\n };\n },\n\n }\n }]\n })\n }\n\n useEffect(() => {\n chart();\n }, []);\n\n return (\n
\n \n
\n )\n}\n\nexport default WaterfallChart","import React, { useState, useEffect } from \"react\";\nimport { Bar } from 'react-chartjs-2';\nimport ChartDataLabels from 'chartjs-plugin-datalabels';\nimport Utils from \"../utils\";\n\nfunction StackedBarChart({dataConfig, data}) { \n\n const [chartData, setChartData] = useState({});\n const colors = ['#204f79', '#3074b6', '#8597b0', '#8eaadc', '#bdd7ee', '#aad18e', '#71ad47', '#548234', '#395723', '#e1f0d8']\n const [box, setBox] = useState(true);\n const format_number = Utils.getConfigPortal('format_number');\n const format_percent = Utils.getConfigPortal('format_percent');\n const chart = () => { \n \n const dataSetInfo = []; \n let xlabels = dataConfig.columns.map(column => column.columnLabel)\n let numbersTotal = [];\n let colorLabelsTotal = {};\n if(dataConfig.infoTotal) {\n if ( dataConfig.otherIndTotal ) {\n for( let clave in dataConfig.othersIndForTotal) {\n let aux_total = new Array(dataConfig.othersIndForTotal[clave].indicator.length);\n for( let i = 0; i < aux_total.length; i++) {\n let data_total = dataConfig.othersIndForTotal[clave].indicator[i];\n let colorAux = data_total.hasOwnProperty('totalColor') ? data_total.totalColor : '#000000'\n if ( !colorLabelsTotal.hasOwnProperty(`${i}`) ) {\n colorLabelsTotal = {\n ...colorLabelsTotal,\n [`${i}`]: [colorAux]\n }\n } else {\n colorLabelsTotal[`${i}`].push(colorAux)\n }\n //console.log(data_total)\n for(let j=0; j {\n let aux_total = new Array(dataConfig.stagesTotalSelected.length);\n dataConfig.stagesTotalSelected.map((stage, index) => {\n for(let i=0; i stage.hasOwnProperty('serieLabel') && stage.serieLabel.trim() !== \"\" ? stage.serieLabel : stage.name )\n }\n\n dataConfig.series.map((serie, index) => {\n let info = {};\n info.backgroundColor = [];\n let numbersSerie = [];\n let labelsSerie = [];\n \n let labelSerie = serie.serieLabel;\n info.label = labelSerie;\n \n \n let dataTemp = dataConfig.columns.map((col, indexC) => {\n let temp = 0;\n let columnsOfSerie = dataConfig.indicatorsStages.filter(indStage => indStage.serieLabel === labelSerie && indStage.columnLabel === col.columnLabel)[0];\n if (columnsOfSerie !== undefined) {\n let aux_numbers = [];\n let aux_labels = [];\n let info_col = [];\n\n // Busca en indicador Stage su color\n let colorMatch;\n if( serie.multipleColors && !columnsOfSerie.checked){\n colorMatch = colors[indexC] || \"#B3B2B2\";\n setBox(false);\n } else if(columnsOfSerie.checked) {\n colorMatch = columnsOfSerie.background;\n } else {\n colorMatch = serie.serieColor;\n }\n info.backgroundColor.push(colorMatch);\n if(dataConfig.stagesSerie) {\n if(dataConfig.otherIndSerie) {\n info_col = dataConfig.othersIndForLabels[`${index}-${indexC}`].indicator;\n aux_numbers = new Array(info_col.length);\n aux_labels = new Array(info_col.length);\n } else {\n aux_numbers = new Array(dataConfig.stagesSerieSelected.length);\n }\n }\n\n for(let i=0; i 0 ) {\n for(let i=0; i {\n let color = 'black';\n if(stage.hasOwnProperty('totalColor') && stage.totalColor !== \"'#777273'\") color = stage.totalColor;\n\n info.datalabels.labels[\"label_\" + index] = {\n color,\n font: {\n weight: 'bold',\n size: 13\n },\n anchor: 'end',\n align: 'top',\n offset,\n textAlign: 'center',\n formatter: function(value, ctx) {\n let resp = \"\"; \n if( numbersTotal.length > 0 && Object.keys(numbersTotal[ctx.dataIndex]).length > 0 && numbersTotal[ctx.dataIndex].length > 0 && numbersTotal[ctx.dataIndex][index] !== undefined ) {\n return numbersTotal[ctx.dataIndex][index]\n }\n return resp;\n },\n }\n offset = offset - var_off + 4;\n })\n }\n else {\n\n let var_off = 22;\n let offset = var_off*(numbersTotal[0].length-1);\n\n for( let k = 0; k 0 && numbersTotal[ctx.dataIndex].length > 0 && numbersTotal[ctx.dataIndex][k] !== undefined ) {\n return numbersTotal[ctx.dataIndex][k];\n }\n return resp;\n },\n }\n offset = offset - var_off + 4;\n }\n }\n }\n \n } else {\n if ( !serie.hideLabel ) {\n let color = 'white';\n if(serie.hasOwnProperty('serieLabelColor') && serie.serieLabelColor !== '#777273' ) {\n color = serie.serieLabelColor;\n }\n info.datalabels = {\n color,\n textAlign: 'center',\n font: {\n size: 13\n },\n formatter: function(value, ctx) {\n let val = ctx.dataset.dataM[ctx.dataIndex]\n let resp = \"\";\n if( val.length > 0 && val[0] !== undefined ) {\n for(let i=0; i {\n chart();\n }, []);\n\n return (\n
\n \n
\n )\n}\n\nexport default StackedBarChart","import React, { useState, useEffect } from \"react\";\nimport DoughnutChart from \"../../Components/DoughnutChart\";\nimport BarChart from \"../../Components/BarChart\";\nimport WaterfallChart from \"../../Components/WaterfallChart\";\nimport StackedBarChart from \"../../Components/StackedBarChart\";\nimport Utils from '../../utils';\nimport { GraphicCustomWrapper, GraphicCustomWrapperContent, GraphicCustomContainer } from \"./styles\";\n\nfunction View({page, module}){\n \n const [data, setData] = useState([]);\n const [bandera, setBandera] = useState(0);\n const currentYear = useState(parseInt(localStorage.getItem('year')));\n\n useEffect(() => {\n if( Object.keys(module.config).length > 0) {\n let end_point = ''; \n let indicators_temp = [];\n let indicators_complete_temp = []\n module.config.indicators.map(ind => {\n if( ind.multiStages ) {\n for( let i=0; i 0) {\n info_ind['labelIndicator'] = ind.stage[i]['labelStage'] === undefined || ind.stage[i]['labelStage'] === \"\" ? \"\" + currentYear[0] : ind.stage[i]['labelStage'];\n for( let j=0; j < parseInt(ind.stage[i].numYears); j++) {\n let aux = JSON.parse(JSON.stringify(info_ind));\n aux['otherYears'] = ind.stage[i].otherYears;\n aux['year'] = currentYear[0] - ind.stage[i].numYears + j;\n aux['completeYearInd'] = true;\n aux['labelIndicator'] = ind.stage[i].infoYears[j].labelYear !== \"\" ? ind.stage[i].infoYears[j].labelYear : \"\" + (currentYear[0] - ind.stage[i].numYears + j);\n aux['color'] = ind.stage[i].infoYears[j].colorYear;\n aux['dataLabelTop'] = false;\n indicators_temp.push(aux);\n } \n } else {\n info_ind['labelIndicator'] = ind.stage[i]['labelStage'];\n }\n info_ind['otherYears'] = false;\n info_ind['year'] = currentYear[0];\n info_ind['color'] = ind.stage[i]['color'];\n info_ind['completeYearInd'] = ind.stage[i]['completeYearInd'];\n info_ind['dataLabelTop'] = ind.stage[i].dataLabelTop\n info_ind['stageBarSelected'] = ind.stage[i].stageBarSelected;\n info_ind['percent'] = ind.stage[i]['percent'];\n info_ind['colorLabel'] = ind.stage[i]['colorLabel']; \n info_ind['nameLabel'] = ind.stage[i]['nameLabel']; \n indicators_temp.push(info_ind);\n }\n } else {\n let info_ind = JSON.parse(JSON.stringify(ind));\n if(ind.otherYears && ind.numYears > 0 && !ind.multiStages) {\n info_ind['labelIndicator'] = ind['labelIndicator'] === undefined || ind['labelIndicator'] === \"\" ? \"\" + currentYear[0] : ind['labelIndicator'];\n for( let j=0; j < ind.numYears; j++) {\n let aux = JSON.parse(JSON.stringify(info_ind));\n aux['otherYears'] = ind.otherYears;\n aux['year'] = currentYear[0] - ind.numYears + j;\n aux['completeYearInd'] = true;\n aux['labelIndicator'] = ind.infoYears[j].labelYear !== \"\" ? ind.infoYears[j].labelYear : \"\" + (currentYear[0] - ind.numYears + j);\n aux['color'] = ind.infoYears[j].colorYear;\n aux['dataLabelTop'] = false;\n indicators_temp.push(aux);\n } \n }\n info_ind.otherYears = false;\n info_ind.year = currentYear[0];\n indicators_temp.push(info_ind);\n }\n })\n\n if( module.config.completeYear ) {\n module.config.indicatorsComplete.map(ind => {\n if( ind.multiStages ) {\n for( let i=0; i {\n if(ind.dataLabelTop && ind.hasOwnProperty('stageBarSelected') && ind.stageBarSelected !== undefined ) {\n aux_cont ++; \n }\n })\n if( module.config.completeYear && module.config.option === \"currentYear\") {\n module.config.indicatorsComplete.map( ind => {\n if(ind.dataLabelTop && ind.hasOwnProperty('stageBarSelected') && ind.stageBarSelected !== undefined ) {\n aux_cont ++; \n }\n })\n };\n\n cont = cont + aux_cont;\n const option = module.config.option;\n let from = '';\n \n if(option !== 'lastYears'){\n\n if(option === 'lastMonths') {\n const months = module.config.months;\n const aux = new Date(fecha_SinDia.setMonth(fecha_SinDia.getMonth() - months + 1))\n if( aux.getMonth() + 1 < 10){\n from = aux.getFullYear() + '-0' + (aux.getMonth()+1) + '-01';\n } else {\n from = aux.getFullYear() + '-' + (aux.getMonth()+1) + '-01';\n }\n } else if(option === 'currentYear') from = today.getFullYear()+'-01-01';\n\n module.config.indicators.map( (infoIndicator) => {\n const toBefore = to;\n const fromBefore = from;\n\n if(option === 'currentYear' && infoIndicator.completeYearInd) {\n to = today.getFullYear() + '-12-01';\n };\n\n if(option === 'currentYear' && infoIndicator.otherYears) {\n to = infoIndicator.year + \"-12-01\";\n from = infoIndicator.year + \"-01-01\";\n };\n\n end_point = '/indicator-value/indicator/' + infoIndicator.id + '/stage/' + infoIndicator.stage.id + '/range/' + from + '/' + to;\n Utils.Petition.get(end_point,\n (response) => {\n temp.push({\n year: infoIndicator.year,\n indicator: infoIndicator.id,\n stage: infoIndicator.stage.id,\n data: response.data\n });\n ite++;\n if(ite === cont){\n setData(temp);\n setBandera(1); \n } \n } \n );\n if(infoIndicator.dataLabelTop && infoIndicator.hasOwnProperty('stageBarSelected') && infoIndicator.stageBarSelected !== undefined ) {\n end_point = '/indicator-value/indicator/' + infoIndicator.id + '/stage/' + infoIndicator.stageBarSelected.id + '/range/' + from + '/' + to;\n Utils.Petition.get(end_point,\n (response) => {\n temp.push({\n year: infoIndicator.year,\n indicator: infoIndicator.id,\n stage: infoIndicator.stageBarSelected.id,\n data: response.data\n });\n ite++;\n if(ite === cont){\n setData(temp);\n setBandera(1); \n } \n } \n );\n }\n to = toBefore;\n from = fromBefore;\n }); \n\n if( module.config.indicatorsComplete !== undefined && module.config.indicatorsComplete.length > 0) {\n \n let fromComplete = '';\n const aux = new Date(fecha_SinDia.setMonth(fecha_SinDia.getMonth()+1))\n\n if( aux.getMonth() + 1 < 10){\n fromComplete = aux.getFullYear() + '-0' + (aux.getMonth()+1) + '-01';\n } else {\n fromComplete = aux.getFullYear() + '-' + (aux.getMonth()+1) + '-01';\n }\n let toComplete = today.getFullYear() + '-12-01';\n\n module.config.indicatorsComplete.map( (infoIndicator) => {\n end_point = '/indicator-value/indicator/' + infoIndicator.id + '/stage/' + infoIndicator.stage.id + '/range/' + fromComplete + '/' + toComplete;\n Utils.Petition.get(end_point,\n (response) => {\n temp.push({\n year: infoIndicator.year,\n indicator: infoIndicator.id,\n stage: infoIndicator.stage.id,\n data: response.data\n })\n ite++;\n if(ite === cont){\n setData(temp);\n setBandera(1); \n } \n } \n );\n if(infoIndicator.dataLabelTop && infoIndicator.hasOwnProperty('stageBarSelected') && infoIndicator.stageBarSelected !== undefined ) {\n end_point = '/indicator-value/indicator/' + infoIndicator.id + '/stage/' + infoIndicator.stageBarSelected.id + '/range/' + from + '/' + to;\n Utils.Petition.get(end_point,\n (response) => {\n temp.push({\n year: infoIndicator.year,\n indicator: infoIndicator.id,\n stage: infoIndicator.stageBarSelected.id,\n data: response.data\n });\n ite++;\n if(ite === cont){\n setData(temp);\n setBandera(1); \n } \n } \n );\n };\n });\n }\n\n } else if(option === 'lastYears' ) {\n\n let num_years = module.config.years;\n let year = parseInt(localStorage.getItem('year'));\n let month = parseInt(localStorage.getItem('month')) + 1;\n let info_values = [];\n \n for(let i=0; i < num_years; i++) {\n module.config.indicators.map(ind => {\n info_values.push(\"'\" + ind.id + \"-\" + ind.stage.id + \"-\" + (year - i) + \"-\" + month + \"'\");\n if(ind.dataLabelTop && ind.hasOwnProperty('stageBarSelected') && ind.stageBarSelected !== undefined ) {\n info_values.push(\"'\" + ind.id + \"-\" + ind.stageBarSelected.id + \"-\" + (year - i) + \"-\" + month + \"'\");\n }\n })\n }\n \n end_point = '/indicator-value/info_values/' + info_values;\n Utils.Petition.get(end_point,\n (response) => {\n setData(response.data)\n setBandera(1); \n } \n ) \n } \n\n } else if (module.config.type === 'WaterfallChart' || module.config.type === 'DoughnutChart' || module.config.type === 'Table' ){\n\n let year = localStorage.getItem('year');\n let month = parseInt(localStorage.getItem('month')) + 1;\n let info_values = [];\n \n module.config.indicators.map(indicator => {\n if(module.config.type === 'WaterfallChart') {\n info_values.push(\"'\" + indicator.id + \"-\" + indicator.stage.id + \"-\" + year + \"-\" + month + \"'\")\n } else {\n module.config.stages.map(stage => {\n info_values.push(\"'\" + indicator.id + \"-\" + stage.id + \"-\" + year + \"-\" + month + \"'\")\n }); \n } \n });\n\n end_point = '/indicator-value/info_values/' + info_values;\n Utils.Petition.get(end_point, \n (response) => {\n setData(response.data) \n if( module.config.type === 'WaterfallChart' ) {\n setBandera(2);\n }else if(module.config.type === 'DoughnutChart' ){\n setBandera(3);\n }\n } \n )\n \n } else if ( module.config.type === 'StackedBarChart' ) {\n\n let year = localStorage.getItem('year');\n let month = parseInt(localStorage.getItem('month')) + 1;\n let info_values = [];\n\n \n module.config.indicatorsStages.map(indStage => {\n info_values.push(\"'\" + indStage.indicator.id + \"-\" + indStage.stage.id + \"-\" + year + \"-\" + month + \"'\" );\n if(module.config.stagesSerie && !module.config.otherIndSerie) {\n module.config.stagesSerieSelected.map(stage => {\n info_values.push(\"'\" + indStage.indicator.id + \"-\" + stage.id + \"-\" + year + \"-\" + month + \"'\");\n })\n };\n });\n\n if(module.config.stagesSerie && module.config.otherIndSerie) {\n for( let clave in module.config.othersIndForLabels) {\n for( let i = 0; i < module.config.othersIndForLabels[clave].indicator.length ; i++) {\n info_values.push(\"'\" + module.config.othersIndForLabels[clave].indicator[i].id + \"-\" + module.config.othersIndForLabels[clave].indicator[i].stage.id + \"-\" + year + \"-\" + month + \"'\");\n }\n }\n }\n\n if(module.config.infoTotal && !module.config.otherIndTotal) {\n module.config.indicatorTotalSelected.map( ind => {\n module.config.stagesTotalSelected.map(stage => {\n info_values.push(\"'\" + ind.id + \"-\" + stage.id + \"-\" + year + \"-\" + month + \"'\");\n })\n })\n }\n\n if(module.config.infoTotal && module.config.otherIndTotal) {\n for( let clave in module.config.othersIndForTotal) {\n for( let i = 0; i < module.config.othersIndForTotal[clave].indicator.length ; i++) {\n info_values.push(\"'\" + module.config.othersIndForTotal[clave].indicator[i].id + \"-\" + module.config.othersIndForTotal[clave].indicator[i].stage.id + \"-\" + year + \"-\" + month + \"'\");\n }\n }\n }\n \n \n end_point = '/indicator-value/info_values/' + info_values;\n \n Utils.Petition.get(end_point, \n (response) => {\n setData(response.data)\n setBandera(4);\n }\n )\n } \n }\n }, []);\n \n return(\n \n \n \n {\n module.config.title !== undefined && module.config.title !== \"\" &&\n

{module.config.title}

\n } \n { \n data.length > 0 && bandera === 1 && \n }\n {\n data.length > 0 && bandera === 2 && \n }\n {\n data.length > 0 && bandera === 3 && \n }\n {\n data.length > 0 && bandera === 4 && \n }\n \n
\n \n
\n \n
\n \n )\n}\n\nexport default View;","import Edit from './Edit';\nimport View from './View';\nconst Graphic = {\n Edit, View\n}\nexport default Graphic;","import { useContext, useEffect, useState } from 'react';\nimport CustomModal from '../../base/CustomModal';\nimport {ADMIN_URL} from '../../config';\nimport { UserContext } from '../../Context/User';\nimport Utils from '../../utils';\nimport { ButtonConfig } from '../Components/ButtonConfig';\n\nfunction Edit({globalParams, page, module, everypages, filter}){\n const { validateShowComponent } = useContext(UserContext);\n const [showModal, setShowModal] = useState(false);\n useEffect(()=>{\n window.addEventListener('message', (event)=>{\n if(event.origin===ADMIN_URL && event.data==='cerrar popup'){\n setShowModal(false);\n }\n })\n }, []);\n \n const handlePopup = (event)=>{\n event.preventDefault();\n setShowModal(true);\n \n }\n return (\n
\n {(module.idpopup !== null || validateShowComponent(everypages, filter)) && }\n { showModal && \n \n \n \n }\n
\n );\n}\n\nexport default Edit;","import React, { useState, useEffect } from \"react\";\nimport { Bar } from 'react-chartjs-2';\nimport Utils from \"../utils\";\n\nfunction BarChartUser ({config, data, stages}) {\n\n const [chartData, setChartData] = useState({});\n const meses = [ \"Ene\", \"Feb\", \"Mar\", \"Abr\", \"May\", \"Jun\", \"Jul\", \"Ago\", \"Sep\", \"Oct\", \"Nov\", \"Dic\"]; \n\n const format_number = Utils.getConfigPortal('format_number');\n const format_percent = Utils.getConfigPortal('format_percent');\n\n const chart = () => {\n const xLabels = meses.slice(0, data[0].data.length);\n let dataSetInfo = [];\n\n stages.map((id, index) => {\n let info = {}\n const data_stage = (data.filter( d => d.indicator === config.indicator.id && d.stage === id))[0];\n info.data = data_stage.data.map( temp => temp.value );\n info.backgroundColor = config.stages[index].color;\n info.type = config.stages[index].type === 'PorDefecto'? 'bar' : config.stages[index].type || 'bar';\n info.fill = \"false\";\n info.borderColor = config.stages[index].color;\n if ( config.stages[index].hasOwnProperty('labelStage') && config.stages[index].labelStage !== \"\" ) {\n info.label = config.stages[index].labelStage;\n } else {\n info.label = config.stages[index].label;\n }\n info.borderRadius = 10; \n dataSetInfo.push(info)\n })\n\n setChartData({\n labels: xLabels,\n datasets: dataSetInfo\n })\n }\n \n useEffect(() => {\n chart();\n }, []);\n\n\n return (\n
\n \n
\n )\n}\nexport default BarChartUser","import { Col, Row } from 'react-bootstrap';\nimport React, { useState, useEffect, useContext } from \"react\";\nimport Utils from '../utils';\nimport AsyncSelect from 'react-select/async';\nimport Select from 'react-select';\nimport { Button } from '../commonStyles';\nimport { Theme1 } from '../themes/Theme1';\nimport { styleTheme } from '../themes/themeSelect';\nimport { UserContext } from '../Context/User';\n\nfunction SelectInfo({ form, setForm, setShowModal, id }) {\n const { colorPalette } = useContext(UserContext);\n const [stages, setStages] = useState([]);\n const [iduser, setIduser] = useState(localStorage.getItem('iduser'))\n const [indicator, setIndicator] = useState({});\n const [stage, setStage] = useState([]);\n const [flagUser, setFlagUser] = useState(false);\n\n useEffect(() => {\n Utils.Petition.get(\n '/stages_relation/select',\n (response) => {\n setStages(response.data);\n }\n );\n\n if (form.users.hasOwnProperty(iduser)) {\n setIndicator(form.users[iduser].indicator)\n setStage(form.users[iduser].stages)\n setFlagUser(true);\n } else {\n setIndicator(form.default.indicator)\n setStage(form.default.stages)\n }\n }, [])\n\n const loadIndicators = (inputValue) => {\n\n if (inputValue.length > 1) {\n return new Promise((resolve) => {\n setTimeout(() => {\n Utils.Petition.get(\n '/indicators/name-code-indicator/' + inputValue,\n (response) => {\n resolve(response.data)\n }\n )\n }, 100);\n });\n }\n return new Promise((resolve) => resolve([]));\n };\n\n const selectIndicators = (data) => {\n setIndicator(data);\n };\n\n const selectStage = (data, index) => {\n let temp = [...stage];\n temp[index] = data;\n setStage(temp);\n }\n\n const handleSubmit = (event) => {\n event.preventDefault();\n const configUser = { indicator, stages: stage };\n const data = {\n id,\n config: configUser\n }\n let temp = form.users;\n temp = {\n ...temp,\n [iduser]: configUser\n }\n\n if (flagUser) {\n let changeStage = false;\n for( let i=0; i {\n setForm({\n ...form,\n users: temp\n })\n }\n );\n }\n\n } else {\n let changeStage = false;\n for( let i=0; i {\n setForm({\n ...form,\n users: temp\n })\n }\n );\n }\n\n }\n setShowModal(false)\n }\n\n return (\n
\n
\n \n Indicador\n \n (styleTheme(theme, colorPalette?.primary))}\n />\n \n \n
\n
\n \n Escenario 1\n \n selectStage(e, 0)}\n theme={theme => (styleTheme(theme, colorPalette?.primary))}\n />\n \n \n
\n
\n \n Escenario 2\n \n selectStage(e, 1)}\n theme={theme => (styleTheme(theme, colorPalette?.primary))}\n />\n \n \n
\n
\n \n
\n
\n )\n\n}\n\nexport default SelectInfo;","import styled from \"styled-components\";\nimport { Theme1 } from \"./../../themes/Theme1\";\n\nexport const GraphicWrapper = styled.div`\n width: 100%;\n padding: 10px;\n`;\nexport const GraphicWrapperContent = styled.div`\n display: block;\n width: 100%;\n`;\nexport const GraphicContainer = styled.div`\n width: 100%;\n padding: 20px;\n background-color: white;\n border-radius: ${Theme1.radius};\n box-shadow: ${Theme1.shadow};\n h3{\n font-size: 18px;\n display:flex;\n justify-content: space-between;\n margin-bottom: 0 !important;\n }\n`;\n\n","import React, { useState, useEffect } from \"react\";\nimport Utils from '../../utils';\nimport BarChartUser from '../../Components/BarChartUser';\nimport { FaCog } from \"react-icons/fa\";\nimport { Col, Row } from 'react-bootstrap';\nimport CustomModal from '../../base/CustomModal'\nimport SelectInfo from \"../../Components/SelectInfo\";\nimport { GraphicWrapper, GraphicContainer, GraphicWrapperContent } from \"./styles\";\n\nfunction View({ page, module }) {\n\n const [data, setData] = useState([]);\n const [showModal, setShowModal] = useState(false);\n const [form, setForm] = useState(module.config);\n const [loaded, setLoaded] = useState(false);\n const [title, setTitle] = useState(\"\");\n const [config, setConfig] = useState({});\n const [idModule, setIdModule] = useState(module.id);\n const [idstages, setIdstages] = useState([]);\n\n\n const getInfo = ({ stages, indicator }) => {\n const view = localStorage.getItem('view');\n let contador = 0;\n let today = new Date(localStorage.getItem('year'), localStorage.getItem('month'))\n let to = '';\n\n if (today.getMonth() + 1 < 10) {\n to = today.getFullYear() + '-0' + (today.getMonth() + 1) + '-01';\n } else {\n to = today.getFullYear() + '-' + (today.getMonth() + 1) + '-01';\n }\n const from = today.getFullYear() + '-01-01';\n let aux = [];\n let aux_2 = [];\n\n for (let i = 0; i < stages.length; i++) {\n const stage = stages[i];\n let idstage = -1;\n\n for (let j = 0; j < stage.view.length; j++) {\n if (stage.view[j] === view) {\n idstage = stage.value[j];\n aux_2.push(idstage);\n break;\n }\n }\n\n const end_point = `/indicator-value/indicator/${indicator.id}/stage/${idstage}/range/${from}/${to}`;\n Utils.Petition.get(end_point,\n (response) => {\n const data = {\n indicator: indicator.id,\n stage: idstage,\n data: response.data\n }\n aux.push(data)\n contador++;\n if (contador === stages.length) {\n setData(aux);\n setLoaded(true);\n }\n }\n )\n };\n setIdstages(aux_2);\n }\n\n useEffect(() => {\n setLoaded(false);\n\n if (Object.keys(module.config).length > 0) {\n const iduser = localStorage.getItem('iduser');\n let indicator = {};\n let stages = {};\n if (form.users[iduser]) {\n indicator = form.users[iduser].indicator;\n stages = form.users[iduser].stages;\n for (let i = 0; i < form.default.stages.length; i++) {\n stages[i].color = form.default.stages[i].color;\n stages[i].type = form.default.stages[i].type;\n }\n setTitle(form.users[iduser].indicator.name)\n } else {\n indicator = form.default.indicator;\n stages = form.default.stages;\n setTitle(form.default.title === \"\" ? form.default.indicator.name : form.default.title);\n indicator.legend = form.default.legend;\n }\n setConfig({ indicator, stages, hideLegend: form.default.hideLegend, legendPosition: form.default.legendPosition, height: form.default.height, yLeft: form.default.yLeft, minYL: form.default.minYL });\n getInfo({ indicator, stages });\n }\n }, [form])\n\n const handlePopup = () => {\n setShowModal(true);\n }\n\n return (\n \n \n \n {\n loaded && Object.keys(config).length > 0 &&\n <>\n \n

{title}

\n
\n {\n data.length > 0 && \n }\n \n {\n showModal &&\n \n }\n \n \n }\n
\n
\n\n
\n )\n}\nexport default View;","import Edit from './Edit';\nimport View from './View';\nconst UserGraphic = {\n Edit, View\n}\nexport default UserGraphic;","import { useContext, useState } from \"react\";\nimport { Card } from \"react-bootstrap\";\nimport CustomModal from \"../../base/CustomModal\";\nimport { UserContext } from \"../../Context/User\";\nimport Utils from \"../../utils\";\nimport { ButtonConfig } from \"../Components/ButtonConfig\";\n\nfunction Edit({globalParams, page, module, everypages, filter}){\n const { validateShowComponent } = useContext(UserContext);\n const [showModal, setShowModal] = useState(false);\n const handlePopup = (event)=>{\n event.preventDefault();\n setShowModal(true);\n \n }\n \n return (\n
\n {\n module.config.description !== undefined && \n \n { module.config.description }\n \n } \n {(module.idpopup !== null || validateShowComponent(everypages, filter)) && }\n { \n showModal && \n \n \n \n }\n
\n );\n}\nexport default Edit;","import { useEffect, useState } from 'react';\n\nimport Circle from './Circle';\nfunction TendenceSign({value, type, base, styles}){\n const [baseNumber, setBaseNumber] = useState(100);\n const [valueNumber, setValueNumber] = useState(100);\n useEffect(() => {\n if(base === undefined) {\n setBaseNumber(0);\n } else if(Number(base) === \"NaN\") {\n setBaseNumber(null);\n } else {\n setBaseNumber(Number(base));\n }\n }, [base]);\n\n useEffect(() => {\n if(value === undefined || value === null) {\n setValueNumber(null);\n } else if(Number(value) === \"NaN\") {\n setValueNumber(null);\n } else {\n setValueNumber(Number(value));\n }\n }, [value]);\n \n return(\n (valueNumber===null || baseNumber===null)\n ? \n :(\n (valueNumber === baseNumber)\n ? \n :(\n (type === 'C')\n ?(\n (valueNumber > baseNumber) \n ?\n :\n )\n :(\n (valueNumber < baseNumber) \n ?\n :\n )\n )\n )\n\n )\n}\nexport default TendenceSign;","import styled from \"styled-components\";\nimport { Theme1 } from \"../../themes/Theme1\";\n\nexport const CustomCard = styled.div`\n\n border: 1px solid lightgray;\n border-radius: 0.5rem;\n padding: 1rem;\n box-shadow: ${Theme1.shadow};\n margin: 2.5rem 0 1rem 0;\n color: black;\n height: 170px;\n transition: transform 1s ease-in-out;\n\n &:hover {\n pointer-events: all;\n border: 1px solid green;\n cursor: pointer;\n transform: scale(1.1, 1.1);\n }\n & .number {\n display: flex;\n justify-content: space-evenly;\n margin: 1rem 0;\n & svg {\n font-size: 1.5rem;\n }\n & p {\n margin: 0;\n font-weight: bolder;\n font-size: 1.5rem;\n }\n }\n & .description {\n font-style: italic;\n font-size: 1rem;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 65px;\n }\n \n`;\n\nexport const Comments = styled.div`\n height: 50px;\n text-align: center;\n & svg {\n cursor: pointer;\n }\n\n & textarea {\n resize: none;\n font-size: 0.8rem;\n overflow: hidden;\n }\n & span.comment {\n margin-right: 1rem;\n font-size: 0.85rem;\n text-align: justify;\n overflow-wrap: break-word;\n }\n`;\n\nexport const ViewContainer = styled.div`\n \n`;","import { useContext, useEffect, useState } from \"react\";\nimport { FaEdit, FaSave } from \"react-icons/fa\";\nimport Sign from \"../../Components/Sign\";\nimport TendenceSign from \"../../Components/TendenceSign\";\nimport Utils from \"../../utils\";\nimport { Comments, CustomCard, ViewContainer } from \"./styles\";\nimport { Form} from \"react-bootstrap\";\nimport { Link } from 'react-router-dom';\nimport { UserContext } from \"../../Context/User\";\n\nfunction View({page, module}){\n const { hasPermission } = useContext(UserContext);\n const [values, setValues] = useState({});\n const [edit, setEdit] = useState(false);\n const [comment, setComment] = useState('');\n const [commentInput, setCommentInput] = useState('');\n\n const format = Utils.getConfigPortal('format_number');\n\n useEffect(()=>{\n let sign = 0;\n let stage = 0;\n let viewsSign = {};\n let viewsStage = {};\n if(module.config && Object.keys(module.config).length > 0){\n for(let i= 0; i{\n setValues(response.data[0]);\n //console.log(response.data);\n }\n )\n Utils.Petition.get(\n `/comments/type-model/page_module/type-id/${module.id}/year/${localStorage.getItem('year')}/month/${localStorage.getItem('month')}/view/${module.config.view ? module.config.view: localStorage.getItem('view')}`,\n (response)=>{\n setComment(response.data.comment);\n }\n )\n }\n \n }, []);\n const handleEditMode = () => {\n setCommentInput(comment);\n setEdit(true);\n }\n const handleSave = () => {\n //Save\n Utils.Petition.post('/comments', {\n typeModel:'page_module',\n idtype:module.id, \n year:localStorage.getItem('year'), \n month:localStorage.getItem('month'), \n view: module.config.view ? module.config.view: localStorage.getItem('view'),\n comment: commentInput\n }, (response)=>{\n setEdit(false);\n setComment(commentInput);\n })\n }\n const cardComponent = () => {\n return (\n \n
\n \n

{module.config.prefix}{Utils.formatNumber(format,values.col1)}{module.config.postfix}

\n
\n
\n {module.config.description}\n
\n
\n )\n }\n return (\n \n {\n module.config.type && \n \n {cardComponent()}\n \n }\n {\n !module.config.type && \n <>\n {cardComponent()}\n \n }\n \n {\n edit ? \n <>\n setCommentInput(event.target.value)}/>\n \n \n : \n <>\n \n {\n !comment ?\n 'Sin comentarios': \n comment\n }\n \n { hasPermission.edit && }\n \n }\n \n \n )\n}\nexport default View;","import Edit from './Edit';\nimport View from './View';\nconst IndicatorRelevant = {\n Edit, View\n}\nexport default IndicatorRelevant;","import { useState, useEffect, useContext } from 'react';\nimport CustomModal from '../../base/CustomModal';\nimport Utils from '../../utils';\nimport React from \"react\";\nimport { ButtonConfig } from '../Components/ButtonConfig';\nimport { UserContext } from '../../Context/User';\n\n\nfunction Edit({ globalParams, page, module, everypages, filter }) {\n\n const { validateShowComponent } = useContext(UserContext);\n const [_idObjetive, setIdObjetive] = useState(0)\n const [showModal, setShowModal] = useState(false);\n const [showIndicatorsModal, setIndicatorsModal] = useState(false);\n const [isMenuModule, setIsMenuModule] = useState(false);\n const [updateData, setUpdateData] = useState(false);\n const [dataObjetive, setDataObjetive] = useState([]);\n const [dataIndicators, setDataIndicators] = useState([]);\n const [image, setImage] = useState(new window.Image());\n const [state, setState] = useState({\n selectedShapeName: \"\"\n });\n const handlePopup = (event) => {\n event.preventDefault();\n setShowModal(true);\n }\n return (\n\n
\n {(module.idpopup !== null || validateShowComponent(everypages, filter)) &&}\n \n {showModal &&\n \n \n \n }\n
\n );\n}\nexport default Edit;","export default __webpack_public_path__ + \"static/media/mapa-e.83e2b3f8.png\";","import styled from \"styled-components\";\n\nexport const NameIndicator = styled.span`\n cursor: pointer;\n color: ${props => props.color};\n &:hover{\n text-decoration: underline;\n }\n`;","import { useState, useEffect, useContext } from 'react';\nimport CustomModal from '../../base/CustomModal';\nimport { Container, Row } from 'react-bootstrap';\nimport Utils from '../../utils';\nimport React from \"react\";\nimport Mapa from \"../value-map/mapa-e.png\";\nimport '../../style.css'\nimport IndicatorDetail from '../../Components/IndicatorDetail';\nimport Sign from '../../Components/Sign';\nimport { IndicatorConvensiones } from '../../Components/styles';\nimport { NameIndicator } from './styles';\nimport { UserContext } from '../../Context/User';\n\n\nfunction View({ globalParams, page, module }) {\n const { colorPalette } = useContext(UserContext);\n\n const [config, setConfig] = useState({});\n \n const [_idObjetive, setIdObjetive] = useState(0);\n const [_idIndicator, setIdIndicator] = useState(0);\n const [dataObjetive, setDataObjetive] = useState([]);\n const [image, setImage] = useState(new window.Image());\n const [showIndicatorsModal, setIndicatorsModal] = useState(false);\n const [showIndicatorsDetailModal, setIndicatorsDetailModal] = useState(false);\n const [dataIndicators, setDataIndicators] = useState([]);\n const format_number = Utils.getConfigPortal('format_number');\n const format_percent = Utils.getConfigPortal('format_percent');\n \n const img = new window.Image();\n\n useEffect(() => {\n img.src = Mapa;\n img.addEventListener('load', handleLoad);\n if (Object.keys(module.config).length === 0) {\n module.config = {\n indicator: [],\n objetives: []\n }\n }\n setConfig(module.config)\n getColor();\n }, []);\n\n const handleLoad = () => {\n setImage(img);\n }\n\n const handlePopupIndicators = (id) => {\n setIdObjetive(id)\n setDataIndicators([]);\n asyncUpdateIndicator(id);\n setIndicatorsModal(true);\n }\n\n const handlePopupDetail = (id) => {\n setIdIndicator(id)\n setIndicatorsDetailModal(true);\n }\n let v = 0;\n let r = 0;\n function getColor() {\n var _newDataIndicators = [];\n module.config.objetives.map((obj, key) => {\n let newDataObjetive = [];\n module.config.indicator.map((ind, index) => {\n if (module.config.indicator[index].IDObjetive === obj.ID) {\n newDataObjetive.push(module.config.indicator[index].IDIndicator)\n }\n })\n \n let color = \"amarillo\"\n if (obj.DSNumber !== \"\" && newDataObjetive !== []) {\n const indicatorValue = {\n indicators: newDataObjetive,\n view: \"A\",// localStorage.getItem('view'),\n year: localStorage.getItem('year'),\n month: parseInt(localStorage.getItem('month'))+1\n };\n if (indicatorValue.indicators.length !== 0 && indicatorValue.indicators !== []) {\n Utils.Petition.post('/indicator-value/indicators_table_values',\n indicatorValue,\n (response) => {\n r=0;\n v=0;\n response.data.map((data, index2) => {\n var real = 0;\n var ppto = 0;\n if (data.real !== null) { real = parseFloat(data.real.replace(\".\", \"\").replace(\",\", \".\")) };\n if (data.ppto !== null) { ppto = parseFloat(data.ppto.replace(\".\", \"\").replace(\",\", \".\")) };\n if (real === 0 || ppto === 0) {\n color = \"amarillo\"\n } else\n if (real === ppto) { color = \"verde\";v++;}\n else {\n if (data.type === \"C\") {\n if (real > ppto) { color = \"verde\";v++; }\n else { color = \"rojo\";r++; }\n } else {\n if (real > ppto) { color = \"rojo\";r++; }\n else { color = \"verde\";v++; }\n }\n }\n response.data[index2].color = color\n response.data[index2].IDObjetive = obj.ID\n _newDataIndicators.push(response.data[index2])\n })\n if (v === 0 && r > 0) color = \"rojo\";\n else if (r === 0 && v > 0) color = \"verde\";\n else color=\"amarillo\";\n \n module.config.objetives[key].semaforo = color\n setDataObjetive([...module.config.objetives]);\n })\n }else{\n module.config.objetives[key].semaforo = color\n setDataObjetive([...module.config.objetives]);\n }\n }\n \n })\n setDataIndicators(_newDataIndicators);\n }\n\n function asyncUpdateIndicator(id) {\n let newDataObjetive = [];\n config.indicator.map((data, index) => {\n if (config.indicator[index].IDObjetive == id) {\n newDataObjetive.push(config.indicator[index].IDIndicator)\n }\n })\n if (newDataObjetive !== []) {\n const indicatorValue = {\n indicators: newDataObjetive,\n view: \"A\",// localStorage.getItem('view'),\n year: localStorage.getItem('year'),\n month: parseInt(localStorage.getItem('month'))+1\n };\n if (indicatorValue.indicators.length !== 0) {\n Utils.Petition.post('/indicator-value/indicators_table_values',\n indicatorValue,\n (response) => {\n response.data.map((data, index) => {\n if(data.unit !==\"%\") response.data[index].base = 100;\n else response.data[index].base = 0;\n response.data[index].porcentaje = data.cp\n })\n setDataIndicators(response.data);\n })\n }\n }\n\n }\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n dataIndicators.map((indicator, index) => {\n return (\n \n \n \n \n \n \n \n )\n })\n }\n \n
NombreRealPptoRFVAR
{indicator.name} {Utils.formatNumber(format_number, indicator.real)} {Utils.formatNumber(format_number, indicator.ppto)}{Utils.formatNumber(format_number, indicator.rf)}{Utils.formatNumber(format_percent, indicator.var)}
\n
\n
\n
\n \n \n \n \n \n
Convenciones:
\n
100%
\n
Parcial
\n
No cumple
\n \n
\n
{\n dataObjetive.map((objetive, index) => {\n const style = {\n left: objetive.NMX,\n top: objetive.NMY,\n width: objetive.NMWidth + \"px\",\n transform: `rotate(${objetive.NMRotation}deg) `,\n color: objetive.DSColor,\n padding: \"10px\",\n transformOrigin: \"left top\"\n };\n var number = \"\"\n var classes = \"\"\n if (objetive.DSNumber !== \"\") {\n classes = `mv-dynamic-element objetives `;\n number = `number ${objetive.semaforo}`\n } else {\n classes = `mv-dynamic-element`;\n }\n if(objetive.DSNumber!== \"\"){\n return (\n
{\n <>\n
{objetive.DSNumber}
\n
{objetive.DSText}
\n \n }\n
\n )\n }else{\n return (\n
{\n <>\n
{objetive.DSNumber}
\n
{objetive.DSText}
\n \n }\n
\n )\n }\n \n })\n }\n
\n
\n );\n}\nexport default View;","import Edit from './Edit';\nimport View from './View';\nconst ValueMap = {\n Edit, View\n}\nexport default ValueMap;","import { useContext, useEffect, useState } from 'react';\nimport CustomModal from '../../base/CustomModal';\nimport {ADMIN_URL} from '../../config';\nimport { UserContext } from '../../Context/User';\nimport Utils from '../../utils';\nimport { ButtonConfig } from '../Components/ButtonConfig';\n\nfunction Edit({globalParams, page, module, everypages, filter}){\n const { validateShowComponent } = useContext(UserContext);\n const [showModal, setShowModal] = useState(false);\n useEffect(()=>{\n window.addEventListener('message', (event)=>{\n if(event.origin===ADMIN_URL && event.data==='cerrar popup'){\n setShowModal(false);\n }\n })\n }, []);\n \n const handlePopup = (event)=>{\n event.preventDefault();\n setShowModal(true);\n \n }\n\n return (\n
\n {(module.idpopup !== null || validateShowComponent(everypages, filter)) &&}\n \n { showModal && \n \n \n \n }\n
\n );\n}\nexport default Edit;","import React, { useState, useEffect, useContext } from \"react\";\nimport { Table, Dropdown } from 'react-bootstrap';\nimport Utils from \"../utils\";\nimport { Link } from \"react-router-dom\";\nimport { ConfigTable, ConfigTable2, TableWrapper } from \"./styles\";\nimport Sign from \"./Sign\";\nimport CustomModal from '../base/CustomModal';\nimport {FaCog, FaEye, FaEyeSlash, FaAngleDown} from 'react-icons/fa';\nimport { UserContext } from \"../Context/User\";\n\nfunction CreateTable({ dataConfig, data, idstages, configPopup, setConfigPopup, id }) {\n const { hasPermission, colorPalette } = useContext(UserContext);\n const [tableData, setTableData] = useState([]);\n const [headersTable, setHeadersTable] = useState([])\n //const [titleTable] = useState([dataConfig.title])\n const [showModal, setShowModal] = useState(false);\n const [hiddenRowsForm, setHiddenRowsForm] = useState([]);\n //const [hiddenRowsTable, setHiddenRowsTable] = useState([]);\n \n const [hiddenColsForm, setHiddenColsForm] = useState([]);\n \n const [hiddenCols, sethiddenCols] = useState(\n (dataConfig.hiddenCols && dataConfig.hiddenCols[localStorage.getItem('year')+'-'+localStorage.getItem('month')+'-'+localStorage.getItem('view')])? \n dataConfig.hiddenCols[localStorage.getItem('year')+'-'+localStorage.getItem('month')+'-'+localStorage.getItem('view')]\n :\n [] \n );\n \n const [hiddenRows, setHiddenRows] = useState(\n (dataConfig.hiddenRows && dataConfig.hiddenRows[localStorage.getItem('year')+'-'+localStorage.getItem('month')+'-'+localStorage.getItem('view')])? \n dataConfig.hiddenRows[localStorage.getItem('year')+'-'+localStorage.getItem('month')+'-'+localStorage.getItem('view')]\n :\n []\n );\n const format_number = Utils.getConfigPortal('format_number');\n const format_percent = Utils.getConfigPortal('format_percent');\n\n const handlePopup = (event, id, title) => {\n event.preventDefault();\n setConfigPopup({\n ...configPopup,\n id,\n title\n })\n }\n\n const handleHideRows=(row)=>{\n let _hiddenRowsForm= [...hiddenRowsForm];\n _hiddenRowsForm.push(row);\n setHiddenRowsForm(_hiddenRowsForm);\n }\n const handleShowRows=(row)=>{\n let _hiddenRowsForm= [...hiddenRowsForm];\n _hiddenRowsForm.splice(_hiddenRowsForm.indexOf(row),1);\n setHiddenRowsForm(_hiddenRowsForm);\n }\n\n const handleHideCols=(row)=>{\n let _hiddenColsForm= [...hiddenColsForm];\n _hiddenColsForm.push(row);\n setHiddenColsForm(_hiddenColsForm);\n }\n const handleShowCols=(row)=>{\n let _hiddenColsForm= [...hiddenColsForm];\n _hiddenColsForm.splice(_hiddenColsForm.indexOf(row),1);\n setHiddenColsForm(_hiddenColsForm);\n }\n\n const handleSaveRows = ()=>{\n\n if( dataConfig.hasOwnProperty('hiddenRows')) {\n dataConfig.hiddenRows[localStorage.getItem('year')+'-'+localStorage.getItem('month')+'-'+localStorage.getItem('view')] = hiddenRowsForm;\n } else {\n dataConfig.hiddenRows = {\n [localStorage.getItem('year')+'-'+localStorage.getItem('month')+'-'+localStorage.getItem('view')]: hiddenRowsForm\n }\n }\n if( dataConfig.hasOwnProperty('hiddenCols')) {\n dataConfig.hiddenCols[localStorage.getItem('year')+'-'+localStorage.getItem('month')+'-'+localStorage.getItem('view')] = hiddenColsForm;\n } else {\n dataConfig.hiddenCols = {\n [localStorage.getItem('year')+'-'+localStorage.getItem('month')+'-'+localStorage.getItem('view')]: hiddenColsForm\n }\n }\n const data = {\n id,\n config: dataConfig\n };\n\n Utils.Petition.post(\n '/pages-modules/update', data\n );\n \n setHiddenRows(hiddenRowsForm);\n sethiddenCols(hiddenColsForm);\n setShowModal(false);\n }\n useEffect(() => {\n let htmlTr = [];\n let headers = [];\n //console.log(\"dataconfig-->\",dataConfig)\n //console.log(\"data--->\",data)\n //console.log(\"idstages---->\", idstages)\n if (dataConfig.reverse) {\n headers.push(dataConfig.title_column !== \"\" ? 0 ? {width:`${dataConfig.widthFirstCol}px`} : {width:''}}>{dataConfig.title_column} : Escenarios)\n\n headers.push(dataConfig.indicators.map((ind, index) => {\n let label = ind.name;\n if (ind.hasOwnProperty('labelIndicator') && ind.labelIndicator.trim() !== \"\") {\n label = ind.labelIndicator;\n };\n let th;\n if (ind.popup) {\n th = handlePopup(e, ind.popUpSelected.id, ind.popUpSelected.name)}>{label}\n };\n if (ind.url) {\n th = {label}\n }\n if (!ind.popup && !ind.url) {\n th = {label}\n }\n return th;\n }));\n\n idstages.map((idstage, index) => {\n let month = parseInt(localStorage.getItem('month')) + 1;\n let year = parseInt(localStorage.getItem('year'));\n if( dataConfig.stages[index].lastYear ) {\n year--;\n } \n if( dataConfig.stages[index].lastDec ) {\n year--;\n month = 12;\n }\n let info = '';\n let stage_label = dataConfig.stages[index].label;\n\n if (dataConfig.stages[index].hasOwnProperty('labelStage') && dataConfig.stages[index].labelStage.trim() !== \"\") stage_label = dataConfig.stages[index].labelStage;\n if( dataConfig.stages[index].spaceAbove ) {\n htmlTr.push(\n \n {\n dataConfig.stages[index].hasOwnProperty('labelSpaceAbove') && dataConfig.stages[index].labelSpaceAbove !== \"\" ? \n {dataConfig.stages[index].labelSpaceAbove}\n :\n \n }\n {\n dataConfig.indicators.map( (indicator, indexI) => {\n return \n })\n }\n \n )\n };\n htmlTr.push(\n \n {stage_label}\n {\n dataConfig.indicators.map((indicator, indexI) => {\n if (dataConfig.stages[index].othersInd) {\n if( dataConfig.stages[index].lessInd ) {\n if( indexI + 1 >= parseInt(dataConfig.stages[index].posLessInd) && indexI + 1 < parseInt(dataConfig.stages[index].posLessInd) + parseInt(dataConfig.stages[index].amountLessInd)) {\n info = data.filter( aux => dataConfig.stages[index].newIndicators[indexI - parseInt(dataConfig.stages[index].posLessInd) + 1].id === aux.indicator && idstage.id === aux.stage && aux.year === year && aux.month === month)[0];\n if(idstage.compliance && indicator.unit !== \"%\" ) { \n let real = data.filter( aux => dataConfig.stages[index].newIndicators[indexI - parseInt(dataConfig.stages[index].posLessInd) + 1].id === aux.indicator && parseInt(idstage.compliance_stages[0]) === aux.stage && aux.year === year && aux.month === month)[0];\n let ppto = data.filter( aux => dataConfig.stages[index].newIndicators[indexI - parseInt(dataConfig.stages[index].posLessInd) + 1].id === aux.indicator && parseInt(idstage.compliance_stages[1]) === aux.stage && aux.year === year && aux.month === month)[0];\n if( real.value !== null && ppto.value !== null) {\n ppto.value = ppto.value === 0 ? 1 : ppto.value;\n let variacion = Math.abs((parseFloat(real.value)-parseFloat(ppto.value))/parseFloat(ppto.value));\n info.value = parseFloat(real.value) > parseFloat(ppto.value) ? (1 + variacion) * 100 : (1 - variacion) * 100;\n } \n }\n } else {\n return \n }\n } else {\n info = data.filter( aux => dataConfig.stages[index].newIndicators[indexI].id === aux.indicator && idstage.id === aux.stage && aux.year === year && aux.month === month)[0];\n if(idstage.compliance && indicator.unit !== \"%\" ) { \n let real = data.filter( aux => dataConfig.stages[index].newIndicators[indexI].id === aux.indicator && parseInt(idstage.compliance_stages[0]) === aux.stage && aux.year === year && aux.month === month)[0];\n let ppto = data.filter( aux => dataConfig.stages[index].newIndicators[indexI].id === aux.indicator && parseInt(idstage.compliance_stages[1]) === aux.stage && aux.year === year && aux.month === month)[0];\n if( real.value !== null && ppto.value !== null) {\n ppto.value = ppto.value === 0 ? 1 : ppto.value;\n let variacion = Math.abs((parseFloat(real.value)-parseFloat(ppto.value))/parseFloat(ppto.value));\n info.value = parseFloat(real.value) > parseFloat(ppto.value) ? (1 + variacion) * 100 : (1 - variacion) * 100;\n } \n }\n } \n } else {\n info = data.filter(aux => indicator.id === aux.indicator && idstage.id === aux.stage && aux.year === year && aux.month === month)[0];\n if(idstage.compliance && indicator.unit !== \"%\" ) { \n let real = data.filter( aux => indicator.id === aux.indicator && parseInt(idstage.compliance_stages[0]) === aux.stage && aux.year === year && aux.month === month)[0];\n let ppto = data.filter( aux => indicator.id === aux.indicator && parseInt(idstage.compliance_stages[1]) === aux.stage && aux.year === year && aux.month === month)[0];\n if( real.value !== null && ppto.value !== null) {\n ppto.value = ppto.value === 0 ? 1 : ppto.value;\n let variacion = Math.abs((parseFloat(real.value)-parseFloat(ppto.value))/parseFloat(ppto.value));\n info.value = parseFloat(real.value) > parseFloat(ppto.value) ? (1 + variacion) * 100 : (1 - variacion) * 100;\n } \n }\n }\n let value = 0;\n if(info.value!==null){\n if(indicator.percent || idstage.percent){\n value = Utils.formatNumber(format_percent, info.value)+'%';\n }else{\n value = Utils.formatNumber(format_number, info.value);\n }\n }\n /*\n if (info.value !== null) {\n let formato = Math.abs(info.value) < 100 ? ',.1f' : ',.0f';\n value = Utils.formatNumber(formato, info.value);\n }\n if (indicator.percent || idstage.percent) {\n value = info.value !== null ? Utils.formatNumber(',.1f', info.value) + \"%\" : 0.0 + '%';\n }\n //*/\n if (idstage.semaphore === true) {\n if( dataConfig.stages[index].othersInd ) {\n if(dataConfig.stages[index].lessInd ) {\n if( indexI + 1 >= parseInt(dataConfig.stages[index].posLessInd) && indexI + 1 < parseInt(dataConfig.stages[index].posLessInd) + parseInt(dataConfig.stages[index].amountLessInd)) {\n return {value}\n }\n } else {\n return {value}\n }\n } else {\n return {value}\n } \n } else {\n return {value}\n }\n })\n }\n \n );\n if( dataConfig.stages[index].spaceBelow ) {\n htmlTr.push(\n \n {\n dataConfig.stages[index].hasOwnProperty('labelSpaceBelow') && dataConfig.stages[index].labelSpaceBelow !== \"\" ? \n {dataConfig.stages[index].labelSpaceBelow}\n :\n \n }\n {\n dataConfig.indicators.map( (indicator, indexI) => {\n return \n })\n }\n \n )\n };\n })\n\n\n } else {\n\n headers.push(dataConfig.title_column !== \"\" ? 0 ? {width:`${dataConfig.widthFirstCol}px`} : {width:''}}>{dataConfig.title_column} : Indicadores)\n\n headers.push(dataConfig.stages.map((stage, index) => {\n\n if (stage.hasOwnProperty('labelStage') && stage.labelStage.trim() !== \"\") {\n return {stage.labelStage};\n } else {\n return {stage.label};\n }\n }));\n\n dataConfig.indicators.map((indicator, index) => {\n let info = '';\n let ind_label = indicator.name;\n if (indicator.hasOwnProperty('labelIndicator') && indicator.labelIndicator.trim() !== \"\") ind_label = indicator.labelIndicator;\n if( indicator.spaceAbove ) {\n \n htmlTr.push(\n \n {\n indicator.hasOwnProperty('labelSpaceAbove') && indicator.labelSpaceAbove !== \"\" ? \n {indicator.labelSpaceAbove}\n :\n \n }\n {\n idstages.map( (idstage, indexS) => { \n return \n })\n }\n \n )\n };\n \n htmlTr.push(\n \n {\n indicator.url &&\n {ind_label}\n }\n {\n indicator.popup &&\n handlePopup(e, indicator.popUpSelected.id, indicator.popUpSelected.name)}>{ind_label}\n }\n {\n !indicator.popup && !indicator.url &&\n {ind_label}\n }\n {\n idstages.map((idstage, indexS) => {\n let month = parseInt(localStorage.getItem('month')) + 1;\n let year = parseInt(localStorage.getItem('year'));\n if( dataConfig.stages[indexS].lastYear ) {\n year--;\n } \n if( dataConfig.stages[indexS].lastDec ) {\n year--;\n month = 12;\n }\n if (dataConfig.stages[indexS].othersInd) {\n if( dataConfig.stages[indexS].lessInd ) {\n if( index + 1 >= parseInt(dataConfig.stages[indexS].posLessInd) && index + 1 < parseInt(dataConfig.stages[indexS].posLessInd) + parseInt(dataConfig.stages[indexS].amountLessInd)) {\n info = data.filter( aux => dataConfig.stages[indexS].newIndicators[index - parseInt(dataConfig.stages[indexS].posLessInd) + 1].id === aux.indicator && idstage.id === aux.stage && aux.year === year && aux.month === month)[0];\n if(idstage.compliance && indicator.unit !== \"%\" ) { \n let real = data.filter( aux => dataConfig.stages[indexS].newIndicators[index - parseInt(dataConfig.stages[indexS].posLessInd) + 1].id === aux.indicator && parseInt(idstage.compliance_stages[0]) === aux.stage && aux.year === year && aux.month === month)[0];\n let ppto = data.filter( aux => dataConfig.stages[indexS].newIndicators[index - parseInt(dataConfig.stages[indexS].posLessInd) + 1].id === aux.indicator && parseInt(idstage.compliance_stages[1]) === aux.stage && aux.year === year && aux.month === month)[0];\n if( real.value !== null && ppto.value !== null) {\n ppto.value = ppto.value === 0 ? 1 : ppto.value;\n let variacion = Math.abs((parseFloat(real.value)-parseFloat(ppto.value))/parseFloat(ppto.value));\n info.value = parseFloat(real.value) > parseFloat(ppto.value) ? (1 + variacion) * 100 : (1 - variacion) * 100;\n } \n }\n } else {\n return \n }\n } else {\n info = data.filter( aux => dataConfig.stages[indexS].newIndicators[index].id === aux.indicator && idstage.id === aux.stage && aux.year === year && aux.month === month)[0];\n if(idstage.compliance && indicator.unit !== \"%\") {\n let real = data.filter( aux => dataConfig.stages[indexS].newIndicators[index].id === aux.indicator && parseInt(idstage.compliance_stages[0]) === aux.stage && aux.year === year && aux.month === month)[0];\n let ppto = data.filter( aux => dataConfig.stages[indexS].newIndicators[index].id === aux.indicator && parseInt(idstage.compliance_stages[1]) === aux.stage && aux.year === year && aux.month === month)[0];\n if( real.value !== null && ppto.value !== null) {\n ppto.value = ppto.value === 0 ? 1 : ppto.value;\n let variacion = Math.abs((parseFloat(real.value)-parseFloat(ppto.value))/parseFloat(ppto.value));\n info.value = parseFloat(real.value) > parseFloat(ppto.value) ? (1 + variacion) * 100 : (1 - variacion) * 100;\n } \n }\n }\n } else {\n info = data.filter(aux => indicator.id === aux.indicator && idstage.id === aux.stage && aux.year === year && aux.month === month)[0];\n if(idstage.compliance && indicator.unit !== \"%\") {\n let real = data.filter( aux => indicator.id === aux.indicator && parseInt(idstage.compliance_stages[0]) === aux.stage && aux.year === year && aux.month === month)[0];\n let ppto = data.filter( aux => indicator.id === aux.indicator && parseInt(idstage.compliance_stages[1]) === aux.stage && aux.year === year && aux.month === month)[0];\n if( real.value !== null && ppto.value !== null) {\n ppto.value = ppto.value === 0 ? 1 : ppto.value;\n let variacion = Math.abs((parseFloat(real.value)-parseFloat(ppto.value))/parseFloat(ppto.value));\n info.value = parseFloat(real.value) > parseFloat(ppto.value) ? (1 + variacion) * 100 : (1 - variacion) * 100;\n } \n }\n }\n let value = 0;\n if(info.value!==null){\n if(indicator.percent || idstage.percent){\n value = Utils.formatNumber(format_percent, info.value)+'%';\n }else{\n value = Utils.formatNumber(format_number, info.value);\n }\n }\n /*\n if (info.value !== null) {\n let formato = Math.abs(info.value) < 100 ? ',.1f' : ',.0f';\n value = Utils.formatNumber(formato, info.value);\n }\n if (indicator.percent || idstage.percent) {\n value = info.value !== null ? Utils.formatNumber(',.1f', info.value) + \"%\" : 0.0 + '%';\n }\n //*/\n\n \n if (idstage.semaphore === true) {\n if( dataConfig.stages[indexS].othersInd ) {\n if( dataConfig.stages[indexS].lessInd ) {\n if( index + 1 >= parseInt(dataConfig.stages[indexS].posLessInd) && index + 1 < parseInt(dataConfig.stages[indexS].posLessInd) + parseInt(dataConfig.stages[indexS].amountLessInd)) {\n return {value}\n }\n } else {\n return {value}\n }\n } else { \n return {value}\n }\n } else {\n return {value}\n }\n\n })\n }\n \n )\n if( indicator.spaceBelow ) {\n \n htmlTr.push(\n \n {\n indicator.hasOwnProperty('labelSpaceBelow') && indicator.labelSpaceBelow !== \"\" ? \n {indicator.labelSpaceBelow}\n :\n \n }\n {\n idstages.map( (idstage, indexS) => { \n return \n })\n }\n \n );\n };\n });\n\n }\n setHeadersTable(headers)\n setTableData(htmlTr)\n\n\n }, [hiddenRows,hiddenCols]);\n\n return (\n
\n \n {\n hasPermission.edit &&\n \n \n \n \n \n\n \n {setShowModal(true); setHiddenRowsForm(hiddenRows); setHiddenColsForm(hiddenCols) }}>Configurar \n \n \n \n \n }\n \n \n \n {headersTable}\n \n \n \n {tableData}\n \n
\n
\n \n \n \n \n \n \n \n \n \n { dataConfig.reverse === false ?\n dataConfig.indicators.map((ind, index)=>{\n return (\n \n \n \n \n )\n })\n :\n dataConfig.stages.map((stage,idx) => {\n return(\n \n \n \n \n )\n })\n }\n \n
FilaAcción
{(ind.hasOwnProperty('labelIndicator') && ind.labelIndicator.trim() !== \"\") ? ind.labelIndicator : ind.name}\n {\n hiddenRowsForm.includes(index)?\n \n handleShowRows(index)}>Mostrar \n :\n \n handleHideRows(index)}>Ocultar \n \n }\n
{(stage.hasOwnProperty('labelStage') && stage.labelStage.trim() !== \"\") ? stage.labelStage : stage.label}\n {\n hiddenRowsForm.includes(idx)?\n \n handleShowRows(idx)}>Mostrar \n :\n \n handleHideRows(idx)}>Ocultar \n \n }\n
\n \n \n \n \n \n \n \n \n { dataConfig.reverse === false ?\n dataConfig.stages.map((stage,idx) => {\n return(\n \n \n \n \n )\n })\n :\n dataConfig.indicators.map((ind, index)=>{\n return (\n \n \n \n \n )\n })\n }\n \n
ColumnaAcción
{(stage.hasOwnProperty('labelStage') && stage.labelStage.trim() !== \"\") ? stage.labelStage : stage.label}\n {\n hiddenColsForm.includes(idx)?\n \n handleShowCols(idx)}>Mostrar \n :\n \n handleHideCols(idx)}>Ocultar \n \n }\n
{(ind.hasOwnProperty('labelIndicator') && ind.labelIndicator.trim() !== \"\") ? ind.labelIndicator : ind.name}\n {\n hiddenColsForm.includes(index)?\n \n handleShowCols(index)}>Mostrar \n :\n \n handleHideCols(index)}>Ocultar \n \n }\n
\n
\n
\n )\n}\n\nexport default CreateTable","import styled from \"styled-components\";\nimport { Theme1 } from \"./../../themes/Theme1\";\n\nexport const TableTitle = styled.h3`\n font-size: 18px;\n text-align: left !important;\n margin-bottom: 0px !important;\n \n \n`;","import React, { useState, useEffect } from \"react\";\nimport CreateTable from \"../../Components/CreateTable\"\nimport Utils from '../../utils';\nimport { TableTitle } from \"./styles\";\n\nfunction View({ page, module, setPopupStructure, templateZonesLoading }) {\n\n const [data, setData] = useState([]);\n const [idstages, setIdstages] = useState([]);\n const [flag, setFlag] = useState(false);\n const [configPopup, setConfigPopup] = useState({ id: 0, title: '' });\n\n useEffect(() => {\n if (configPopup.id !== 0) {\n Utils.Petition.get('/popups/id/' + configPopup.id,\n response => {\n setPopupStructure({\n id: configPopup.id,\n title: response.data.name,\n show: true,\n })\n }\n )\n templateZonesLoading['popup'].setLoaded(false);\n templateZonesLoading['popupIzquierda'].setLoaded(false);\n templateZonesLoading['popupDerecha'].setLoaded(false);\n templateZonesLoading['popupIzquierdaA'].setLoaded(false);\n templateZonesLoading['popupDerechaA'].setLoaded(false);\n templateZonesLoading['popupIzquierdaB'].setLoaded(false);\n templateZonesLoading['popupCentroB'].setLoaded(false);\n templateZonesLoading['popupDerechaB'].setLoaded(false);\n templateZonesLoading['popupCentroC'].setLoaded(false);\n }\n }, [configPopup])\n\n useEffect(() => {\n if( Object.keys(module.config).length > 0) {\n setFlag(false);\n const view = module.config.hasOwnProperty('view') && module.config.view !== \"PorDefecto\" ? module.config.view : localStorage.getItem('view');\n let info_values = [];\n let idstages_temp = [];\n\n const data = {\n indicators: module.config.indicators.map(ind => ind.id)\n }\n\n let contador = 1;\n let bandera = 0\n module.config.stages.map( stage => {if( stage.othersInd ) contador ++;})\n\n Utils.Petition.post(\n '/indicators/getTypeIndicators', data,\n (response) => {\n const resp = response.data;\n for (let i = 0; i < module.config.indicators.length; i++) {\n const aux = resp.filter(ind => ind.id === module.config.indicators[i].id)[0];\n module.config.indicators[i].type = aux.type;\n module.config.indicators[i].unit = aux.unit;\n }\n setFlag(true)\n }\n );\n\n for(let k=0; k ind.id)\n }\n Utils.Petition.post(\n '/indicators/getTypeIndicators', dataNewInd,\n (response) => {\n const resp = response.data;\n for (let i=0; i < module.config.stages[k].newIndicators.length; i++) {\n const aux = resp.filter( ind => ind.id === module.config.stages[k].newIndicators[i].id)[0];\n module.config.stages[k].newIndicators[i].type = aux.type;\n module.config.stages[k].newIndicators[i].unit = aux.unit;\n }\n bandera ++;\n if (bandera === contador) setFlag(true)\n }\n );\n }\n };\n\n module.config.stages.map(stage => {\n let idstage = { id: -1, semaphore: false };\n let month = parseInt(localStorage.getItem('month')) + 1;\n let year = parseInt(localStorage.getItem('year'));\n let idCompliances = null;\n for (let i = 0; i < stage.view.length; i++) {\n if (stage.view[i] === view) {\n idstage.id = stage.values[i];\n idstage.percent = stage.percent;\n if(stage.hasOwnProperty('compliance_stages') && stage.compliance_stages !== [null, null]) {\n idCompliances = stage.compliance_stages[i].split(\",\");\n idstage.compliance = true;\n idstage.compliance_stages = idCompliances;\n }\n if (stage.semaphore) {\n idstage.semaphore = stage.semaphore;\n }\n }\n };\n \n if( stage.lastYear ) {\n year--;\n } \n if( stage.lastDec ) {\n year--;\n month = 12;\n }\n\n module.config.indicators.map((indicator, index) => {\n if(stage.othersInd) {\n if( stage.lessInd ) {\n if(index + 1 <= stage.amountLessInd) {\n info_values.push(\"'\" + stage.newIndicators[index].id + \"-\" + idstage.id + \"-\" + year + \"-\" + month + \"'\");\n if(idCompliances !== null) {\n info_values.push(\"'\" + stage.newIndicators[index].id + \"-\" + parseInt(idCompliances[0]) + \"-\" + year + \"-\" + month + \"'\");\n info_values.push(\"'\" + stage.newIndicators[index].id + \"-\" + parseInt(idCompliances[1])+ \"-\" + year + \"-\" + month + \"'\");\n }\n }\n } else {\n info_values.push(\"'\" + stage.newIndicators[index].id + \"-\" + idstage.id + \"-\" + year + \"-\" + month + \"'\");\n if(idCompliances !== null) {\n info_values.push(\"'\" + stage.newIndicators[index].id + \"-\" + parseInt(idCompliances[0]) + \"-\" + year + \"-\" + month + \"'\");\n info_values.push(\"'\" + stage.newIndicators[index].id + \"-\" + parseInt(idCompliances[1]) + \"-\" + year + \"-\" + month + \"'\");\n }\n }\n } else {\n info_values.push(\"'\" + indicator.id + \"-\" + idstage.id + \"-\" + year + \"-\" + month + \"'\");\n if(idCompliances !== null) {\n info_values.push(\"'\" + indicator.id + \"-\" + parseInt(idCompliances[0]) + \"-\" + year + \"-\" + month + \"'\");\n info_values.push(\"'\" + indicator.id + \"-\" + parseInt(idCompliances[1]) + \"-\" + year + \"-\" + month + \"'\");\n }\n }\n });\n idstages_temp.push(idstage)\n });\n setIdstages(idstages_temp);\n\n Utils.Petition.get('/indicator-value/info_values/' + info_values,\n (response) => {\n setData(response.data)\n }\n )\n }\n }, []);\n\n return (\n <>\n {module.config.title && {module.config.title}}\n {\n flag && data.length > 0 && \n }\n \n )\n}\n\n\nexport default View;","import Edit from './Edit';\nimport View from './View';\nconst Table = {\n Edit, View\n}\nexport default Table;","import React, { useState, useContext, everypages, filter } from \"react\";\nimport Utils from \"../../utils\";\nimport CustomModal from \"../../base/CustomModal\";\nimport { ButtonConfig } from \"../Components/ButtonConfig\";\nimport { UserContext } from \"../../Context/User\";\n\nfunction Edit({ globalParams, page, module }) {\n const { validateShowComponent } = useContext(UserContext);\n const [showModal, setShowModal] = useState(false);\n\n const handleShowModal = (event) => {\n event.preventDefault();\n setShowModal(true);\n };\n\n return (\n <>\n\n {(module.idpopup !== null || validateShowComponent(everypages, filter)) && }\n \n \n \n \n );\n}\n\nexport default Edit;\n\n","import styled from \"styled-components\";\nimport { Theme1 } from \"../../../themes/Theme1\";\n\nexport const ContainerBanner = styled.div`\n box-shadow: ${Theme1.shadow};\n border-radius: 1rem;\n z-index: 1;\n min-height: 200px;\n margin-bottom: 30px;\n & .row {\n margin: 0;\n padding: 0 !important;\n }\n\n & .col-sm-6 {\n padding: 0;\n }\n & .img-card {\n z-index:-3;\n background: linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 50%,rgb(255 255 255) 100%),url(${props => props.imgData}) no-repeat;\n background-size: cover;\n border-radius: 1rem;\n //background: url(\"/assets/black.jpg\") no-repeat;\n }\n \n\n & .body-card {\n \n background-color: white;\n padding: 3rem 2rem 3rem 0;\n border-radius: 1rem;\n & .title {\n font-size: 25px;\n font-weight: 500;\n }\n & .description {\n font-size: 14px;\n }\n }\n \n \n`;\n\nexport const BtnLink = styled.div`\n cursor: pointer;\n background-color: ${props => props.color};\n width: fit-content;\n padding: 0.5rem 1rem;\n border-radius: 0.4rem;\n & a {\n color: white;\n font-size: 14px;\n font-weight: bold;\n }\n &:hover {\n opacity: 0.9;\n }\n & img {\n filter: brightness(0) invert(1);\n padding-left: 1rem;\n }\n`;\n\nexport const BtnLinkSingle = styled.div`\n font-weight: bold;\n display:flex;\n align-items: center;\n justify-content: flex-end;\n & a {\n color: black;\n font-size: 12px;\n }\n & img {\n width: 14px;\n transform: rotate(180deg);\n }\n`;\nexport const ContainerHorizontal = styled.div`\n box-shadow: ${Theme1.shadow};\n border-radius: 1rem;\n z-index: 2;\n min-height: 170px;\n & .row {\n margin: 0;\n min-height: 170px;\n padding:0px !important;\n }\n\n & .col-sm-6 {\n padding: 0;\n }\n & .img-card {\n border-radius: 0.6rem;\n background: url(${props => props.imgData}) no-repeat;\n background-size: cover;\n \n }\n\n & .body-card {\n background-color: white;\n padding: 1rem;\n padding-top: 2rem;\n border-radius: 1rem;\n & .title {\n font-size: 12px;\n font-weight: 600;\n }\n & .description {\n font-size: 10px;\n }\n }\n`;\n\nexport const ContainerVertical = styled.div`\n box-shadow: ${Theme1.shadow};\n border-radius: 1rem;\n z-index: 2;\n & .img-card {\n height: 170px;\n border-radius: 0.6rem 0.6rem 0 0;\n background: url(${props => props.imgData}) no-repeat;\n background-size: cover; \n }\n & .body-card {\n background-color: white;\n padding: 1rem;\n border-radius: 1rem;\n & .title {\n font-size: 12px;\n font-weight: 600;\n }\n & .description {\n font-size: 10px;\n }\n }\n`;\n\nexport const ContainerSimple = styled.div`\n box-shadow: ${Theme1.shadow};\n border-radius: 1rem;\n z-index: 2;\n\n & .img-card {\n min-height: 170px;\n border-radius: 0.6rem 0.6rem 0 0;\n //background: url(\"/assets/black.jpg\") no-repeat;\n background: linear-gradient(to bottom,rgba(255,255,255, 50%) 0%,rgba(255,255,255, 75%) 50%,rgb(255 255 255) 100%),url(${props => props.imgData}) no-repeat;\n background-size: cover;\n \n & .title {\n font-size: 16px;\n font-weight: 500;\n color: black;\n padding: 5rem 1rem 0;\n }\n & .description {\n font-size: 12px;\n color: black;\n padding-left: 1rem;\n }\n }\n & .body-card {\n background-color: white;\n padding: 1rem;\n border-radius: 1rem;\n & .title {\n font-size: 18px;\n font-weight: 500;\n }\n & .description {\n font-size: 12px;\n }\n }\n`;","import React, { useContext } from \"react\";\nimport { API_MEDIA_URL } from \"../../../config\";\nimport { Link } from \"react-router-dom\";\nimport { BtnLink, BtnLinkSingle, ContainerBanner, ContainerHorizontal, ContainerSimple, ContainerVertical } from \"./styles\";\nimport { Col, Row } from \"react-bootstrap\";\nimport { UserContext } from \"../../../Context/User\";\n\n//const base64 = \"data:image/jpg;base64,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\"\n\nfunction Plantillas({ config }) {\n const { colorPalette } = useContext(UserContext);\n let template;\n const base64 = config.imageTemplate\n\n if (config.typeTemplate === 1) {\n \n template = (\n <>\n {/*`${API_MEDIA_URL}${config.imageTemplate}`*/}\n\n \n
\n

{config.headerTemplate}

\n

{config.descriptionTemplate}

\n
\n
\n\n \n {config.newTabTemplate ? (\n <>\n \n {config.linkDescription}\n \n \"arrow\"\n \n ) : (\n {config.linkDescription}\n )}\n\n \n
\n
\n \n );\n }\n\n if (config.typeTemplate === 2) {\n template = (\n <>\n \n \n \n\n \n \n

{config.headerTemplate}

\n

{config.descriptionTemplate}

\n\n \n {config.newTabTemplate ? (\n \n {config.linkDescription}\n \n ) : (\n {config.linkDescription}\n )}\n \"arrow\"\n \n\n \n
\n
\n \n );\n }\n\n if (config.typeTemplate === 3) {\n template = (\n <>\n \n
\n
\n
\n

{config.headerTemplate}

\n

{config.descriptionTemplate}

\n \n {config.newTabTemplate ? (\n \n {config.linkDescription}\n \n ) : (\n {config.linkDescription}\n\n )}\n \"arrow\"\n \n
\n\n
\n \n );\n }\n\n if (config.typeTemplate === 4) {\n template = (\n <>\n \n \n \n \n \n

{config.headerTemplate}

\n

{config.descriptionTemplate}

\n\n
\n \n {config.newTabTemplate ? (\n <>\n \n {config.linkDescription}\n \n \"arrow\"\n \n ) : (\n {config.linkDescription}\n )}\n \n
\n \n
\n\n
\n \n );\n }\n\n return template;\n}\n\nexport default Plantillas;\n","import React, { useState } from \"react\";\nimport Plantillas from \"./functions/Plantillas\";\nimport { Link } from \"react-router-dom\";\n\nfunction View({ page, module }) {\n let [data, setData] = useState(module.config.data);\n\n if (data) {\n return (\n
\n \n
\n );\n } else {\n return (\n
\n Sin ningún contenido\n
\n );\n }\n}\nexport default View;\n\n/*\n\n<>\n
\n

{data.headerTemplate}

\n

{data.descriptionTemplate}

\n \n
\n {data.linkDescription}\n
\n
\n \n\n*/","import Edit from './Edit';\nimport View from './View';\nconst Html = {\n Edit, View\n}\nexport default Html;","import { useContext, useEffect, useState } from \"react\";\nimport CustomModal from '../../base/CustomModal';\nimport {ADMIN_URL} from '../../config';\nimport Utils from '../../utils';\nimport { Link } from \"react-router-dom\";\nimport { Container, Row } from \"react-bootstrap\";\nimport { ButtonConfig } from \"../Components/ButtonConfig\";\nimport { UserContext } from \"../../Context/User\";\nimport { Button } from \"../../commonStyles\";\n\nfunction Edit({globalParams, page, module, everypages, filter}){\n const { validateShowComponent, colorPalette } = useContext(UserContext);\n const [showModal, setShowModal] = useState(false);\n\n useEffect(()=>{\n window.addEventListener('message', (event)=>{\n if(event.origin===ADMIN_URL && event.data==='cerrar popup'){\n setShowModal(false);\n }\n })\n }, []);\n\n return ( \n
\n \n \n {\n module.config.data !==undefined \n ?\n module.config.data.map(e=>{\n return e.newTab?( )// newTab, title, type, url\n : ( )\n })\n : Visualización del menú: aún no se ha configurado\n } \n \n {(module.idpopup !== null || validateShowComponent(everypages, filter)) && setShowModal(true)} />}\n \n { showModal && \n \n \n \n }\n
\n );\n}\n\nexport default Edit;","import styled from 'styled-components';\nimport { Theme1 } from '../../themes/Theme1';\n\nexport const DivMenu = styled.div`\n &.tmenu-tab li::after {\n content: '';\n height: calc(100% - 20px); //You can change this if you want smaller/bigger borders\n width: 1px;\n\n position: absolute;\n right: -2px;\n top: 10px; // If you want to set a smaller height and center it, change this value\n\n background-color: ${Theme1.grayLight}; // The color of your border\n }\n &.tmenu-tab li.active {\n background-color: white;\n box-shadow: 0px -10px 20px 1px rgb(0 0 0 / 15%);\n z-index: 2;\n border-radius: 0.8rem 0.8rem 0 0;\n border: none;\n font-size: 1.2rem;\n font-weight: bold;\n \n &::after {\n content: '';\n width: 0px;\n }\n }\n\n\n \n &.tmenu-tab a {\n color: ${Theme1.grayText};\n text-decoration: none;\n \n }\n &.menu-type-horizontal.tmenu-undefined {\n margin-top: -3rem;\n font-size: 0.9rem;\n margin-bottom: 1rem;\n }\n\n &.tmenu-btn{\n ul{\n padding-left: 0px;\n }\n li{\n button{\n font-size: 12px;\n background-color: ${props => props.colors?.primary};\n border-color: ${props => props.colors?.primary};\n &:hover {\n background-color: transparent;\n color: ${props => props.colors?.primary};\n } \n }\n a{\n font-size: 12px;\n background-color: ${props => props.colors?.primary};\n border-color: ${props => props.colors?.primary} ;\n &:hover{\n color: ${props => props.colors?.primary};\n background-color: transparent ;\n }\n }\n &:first-child{\n padding-left: 0px !important;\n }\n }\n li.active{\n \n button{\n color: ${props => props.colors?.primary};\n background-color: transparent;\n }\n a{\n color: ${props => props.colors?.primary} ;\n background-color: transparent ;\n }\n }\n }\n`;\n\nexport const StyledMenu = styled.ul`\n\n display: flex;\n text-decoration: none;\n list-style:none;\n margin: 0;\n\n & li {\n padding: 0.8rem 1.2rem;\n position: relative;\n \n }\n\n & img {\n filter: sepia(100%) hue-rotate(190deg) saturate(500%);\n }\n`;\n\n","\nimport { Link } from \"react-router-dom\";\nimport { StyledMenu, DivMenu } from \"./styles\";\nimport { useLocation } from \"react-router-dom\";\nimport React, { useContext } from 'react';\nimport { Button } from \"../../commonStyles\";\nimport { UserContext } from \"../../Context/User\";\n\n\nfunction View({ page, module }) {\n const { colorPalette } = useContext(UserContext);\n let location = useLocation();\n\n\n return (\n \n \n {Object.keys(module.config).length>0 && module.config.data.map((e,i) => {\n if (e.type === 'externo') {\n return
  • \n {module.config.tMenu !== 'btn'\n ? {e.title} \"export\"\n : \n }\n
  • \n }\n return (\n \n {module.config.tMenu !== 'btn'? \n
  • \n {e.title}\n
  • \n :
  • \n \n
  • \n }\n
    \n )\n })}\n
    \n
    \n );\n}\nexport default View;","import Edit from './Edit';\nimport View from './View';\nconst Menu = {\n Edit, View\n}\nexport default Menu;","import { useContext, useEffect, useState } from 'react';\nimport CustomModal from '../../base/CustomModal';\nimport {ADMIN_URL} from '../../config';\nimport { UserContext } from '../../Context/User';\nimport Utils from '../../utils';\nimport { ButtonConfig } from '../Components/ButtonConfig';\n\nfunction Edit({globalParams, page, module, everypages, filter}){\n const { validateShowComponent } = useContext(UserContext);\n const [showModal, setShowModal] = useState(false);\n useEffect(()=>{\n window.addEventListener('message', (event)=>{\n if(event.origin===ADMIN_URL && event.data==='cerrar popup'){\n setShowModal(false);\n }\n })\n }, []);\n \n const handlePopup = (event)=>{\n event.preventDefault();\n setShowModal(true);\n \n }\n\n return (\n
    \n {(module.idpopup !== null || validateShowComponent(everypages, filter)) &&}\n \n { showModal && \n \n \n \n }\n
    \n );\n}\nexport default Edit;","import React, { useState, useEffect, useContext } from \"react\";\nimport { Table } from 'react-bootstrap';\nimport { UserContext } from \"../Context/User\";\nimport Utils from \"../utils\";\nimport Sign from \"./Sign\";\nimport { TableWrapper } from \"./styles\";\n\nfunction CreateTableCostumer({dataConfig, data}) {\n \n const { colorPalette } = useContext(UserContext);\n const year = parseInt(useState(localStorage.getItem('year')));\n const [tableData, setTableData] = useState([]);\n const [headersTable, setHeadersTable] = useState([]);\n \n const format_number = Utils.getConfigPortal('format_number');\n const format_percent = Utils.getConfigPortal('format_percent');\n\n useEffect(() => {\n const real = dataConfig.stages.filter( stage => stage.code === \"R\")[0];\n const variacion = dataConfig.stages.filter( stage => stage.code === \"VR\")[0];\n const data_now = (data.filter( d => d.year === year && d.stage === real.idstage)).sort( (a, b) => parseFloat(b.value) - parseFloat(a.value));\n const data_pre = (data.filter( d => d.year === (year-1) && d.stage === real.idstage)).sort((a, b) => parseFloat(b.value) - parseFloat(a.value));\n let htmlTr = [];\n let htmlHeaders = []; \n\n htmlHeaders.push(\n \n Ranking\n \n \n Ventas\n Variación\n \n )\n htmlHeaders.push(\n \n Actual\n {dataConfig.hideLastYear ? \"\" : A.Ant}\n Cliente\n Canal\n Actual\n A.Ant\n %\n $ \n \n )\n data_now.map ( (dataN, index) => {\n if( index <= 19) {\n let pos_pre = 0;\n let indicator = dataConfig.indicators.filter( ind => ind.id === dataN.indicator)[0];\n const name_customer = indicator.hasOwnProperty('labelIndicator') && indicator.labelIndicator !== undefined && indicator.labelIndicator.trim() !== \"\" ? indicator.labelIndicator : indicator.name;\n const name_Canal = indicator.hasOwnProperty('labelCanal') && indicator.labelCanal !== undefined && indicator.labelCanal.trim() !== \"\" ? indicator.labelCanal : 'N/A';\n let data_var = data.filter( d => d.indicator === dataN.indicator && d.stage === variacion.idstage)[0];\n\n const ind_data_pre = data_pre.filter( (d, i) => {\n if (d.indicator === dataN.indicator) {\n pos_pre = i + 1;\n return d;\n }\n })[0];\n let dif = dataN.value - ind_data_pre.value;\n htmlTr.push(\n \n {index + 1 }\n {dataConfig.hideLastYear ? \"\" : {pos_pre > 20 ? '-' : pos_pre}}\n {name_customer}\n {name_Canal}\n {Utils.formatNumber(format_number, dataN.value)}\n {Utils.formatNumber(format_number, ind_data_pre.value)}\n {Utils.formatNumber(format_number, data_var.value)}\n {Utils.formatNumber(format_number, dif)}\n \n )\n }\n });\n\n setTableData(htmlTr);\n setHeadersTable(htmlHeaders)\n\n }, [])\n\n return (\n
    \n \n \n \n {headersTable}\n \n \n {tableData}\n \n
    \n
    \n \n
    \n\n )\n} \n\nexport default CreateTableCostumer","import React, { useState, useEffect } from \"react\";\nimport Utils from '../../utils';\nimport { Container } from 'react-bootstrap';\nimport CreateTableCostumer from \"../../Components/CreateTableCostumer\";\n\nfunction View({page, module}){\n const [data, setData] = useState([]);\n const [flag, setFlag] = useState(false);\n \n useEffect(() => { \n setFlag(false);\n const view = module.config.hasOwnProperty('view') && module.config.view !== \"PorDefecto\" ? module.config.view : localStorage.getItem('view');\n const year = localStorage.getItem('year');\n const month = parseInt(localStorage.getItem('month')) + 1;\n let info_values = [];\n \n Utils.Petition.get(`/stages_relation/codes/${['R', 'VR']}/type/${view}`,\n (response) => {\n module.config.stages = response.data;\n let stages = response.data;\n module.config.indicators.map( ind => {\n stages.map( stage => {\n if( stage.code === 'R') {\n info_values.push(\"'\" + ind.id + \"-\" + stage.idstage + \"-\" + year + \"-\" + month + \"'\")\n info_values.push(\"'\" + ind.id + \"-\" + stage.idstage + \"-\" + (year-1) + \"-\" + month + \"'\")\n } else {\n info_values.push(\"'\" + ind.id + \"-\" + stage.idstage + \"-\" + year + \"-\" + month + \"'\")\n }\n });\n });\n \n Utils.Petition.get( '/indicator-value/info_values/' + info_values, \n (responseM) => {\n for (let i=0; i < responseM.data.length; i++) {\n if( responseM.data[i].value === null ) {\n responseM.data[i].value = 0;\n }\n }\n setData(responseM.data)\n setFlag(true)\n } \n ) \n }\n )\n }, []);\n return (\n \n

    {module.config.title}

    \n {\n flag && data.length > 0 && \n }\n
    \n )\n};\n\nexport default View;","import Edit from './Edit';\nimport View from './View';\nconst TableCostumer = {\n Edit, View\n}\nexport default TableCostumer;","function View({page, module}){\n return (
    Admin report
    );\n}\nexport default View;","import Edit from './Edit';\nimport View from './View';\nconst AdminReport = {\n Edit, View\n}\nexport default AdminReport;","function Edit({page, module}){\n return (
    Editar admin report
    );\n}\nexport default Edit;","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('app')\n);\n\n","export const API_URL = 'https://api.conectandonosconlaestrategia.com/api/v1'; \nexport const TOKEN_PREFIX = \"Bearer \";\nexport const VERSION_SESSION = \"4\";\nexport const ADMIN_URL = \"https://admin.conectandonosconlaestrategia.com\";\nexport const CENTRIFY_LOGIN = 'https://aaj0709.my.idaptive.app/applogin/appKey/9075809d-527b-41b1-9379-a04175ae802d/customerId/AAJ0709';\nexport const CENTRIFY_LOGOUT = 'https://aaj0709.my.idaptive.app/applogout/appkey/9075809d-527b-41b1-9379-a04175ae802d/customerid/AAJ0709';\nexport const API_MEDIA_URL = \"https://api.conectandonosconlaestrategia.com/uploads/images/\"\nexport const OLD_SITE = \"https://conectandonos.negociocarnico.com/indicadores\"\n","import {useContext} from \"react\";\nimport { Modal } from \"react-bootstrap\";\nimport { Button } from \"../commonStyles\";\nimport { ModalWrapper } from \"./styles\";\nimport { UserContext } from '../Context/User';\n\nfunction CustomModal(props) {\n const { colorPalette } = useContext(UserContext);\n\n const handleClose = () => {\n props.setShow(false)\n if (props.handleClose) {\n props.handleClose()\n }\n };\n\n return (\n \n \n \n {props.title}\n \n \n {props.children}\n \n\n {!props.hideFooter && \n \n {\n props.handleSaveButton &&\n \n }\n \n }\n \n \n\n );\n}\nexport default CustomModal;","import styled from \"styled-components\";\nimport { Theme1 } from \"./../themes/Theme1\";\n\nexport const TableWrapper = styled.div`\n width: 100%;\n position: relative;\n margin-top: 0px;\n margin-bottom: 30px;\n .config-buton{\n position: absolute;\n z-index: 2;\n top: 22px;\n right: 0;\n display: none;\n button, button:hover{\n background-color: white !important;\n color: ${props => props.colors?.primary} !important;\n }\n }\n &:hover{\n .config-buton{\n display: block;\n } \n }\n table{\n border-top-left-radius: ${Theme1.radius};\n border-top-right-radius: ${Theme1.radius};\n overflow: hidden; \n thead{\n background-color: ${props => props.colors?.primary};\n color: white;\n font-size: 14px;\n th{\n &:not(:first-child){\n text-align: center !important;\n }\n &.text-center{\n text-align: center !important;\n }\n &.text-left{\n text-align: left !important;\n }\n }\n a{\n color: white;\n text-decoration: underline;\n font-weight: bold;\n }\n }\n tbody{\n font-size: 14px;\n tr{\n background-color: #f2f2f2;\n &.tr-empty{\n th{\n height: 20px;\n }\n \n }\n th{\n font-weight: normal;\n font-size: 16px;\n padding: 0.3rem 0.5rem;\n &.text-center{\n text-align: center !important;\n }\n &.text-left{\n text-align: left !important;\n }\n a{\n color: ${props => props.colors?.grayText} !important;\n text-decoration: underline;\n &.text-success{\n color: ${props => props.colors?.grayText} !important; \n }\n &:hover{\n text-decoration: underline;\n }\n }\n }\n td{\n font-size: 16px;\n padding: 0.3rem 0.5rem;\n &.text-center{\n text-align: center !important;\n }\n &.text-left{\n text-align: left !important;\n }\n a{\n color: ${props => props.colors?.grayText} !important;\n text-decoration: underline;\n &.text-success{\n color: ${props => props.colors?.grayText} !important; \n }\n }\n }\n &.table-secondary{\n th{\n font-weight: bold;\n &.text-center{\n text-align: center !important;\n }\n &.text-left{\n text-align: left !important;\n }\n }\n td{\n font-weight: bold;\n &.text-center{\n text-align: center !important;\n }\n &.text-left{\n text-align: left !important;\n }\n }\n }\n &.tr-empty th{\n font-weight: bold;\n }\n }\n }\n &.table-sec{\n td, th{\n padding: .3rem;\n }\n thead{\n background-color: #f2f2f2;\n color: ${props => props.colors?.grayText};\n font-weight: 300;\n th{\n font-weight: bold;\n &.text-center{\n text-align: center !important;\n }\n &.text-left{\n text-align: left !important;\n }\n }\n a{\n color:${props => props.colors?.grayText} !important;\n text-decoration: underline;\n font-weight: bold;\n &:hover{\n color: ${props => props.colors?.primary};\n }\n }\n }\n }\n }\n \n \n`;\nexport const ConfigTable = styled.div`\n float: ${props => props.align || 'right'};\n margin-bottom: 5px;\n margin-top: -20px ;\n span{\n font-size: 10px;\n color:${props => props.colors?.primary};\n border: thin solid ${props => props.colors?.primary};\n padding: 5px 10px;\n border-radius: 4px;\n cursor: pointer;\n &:hover{\n color: white;\n background-color: ${props => props.colors?.primary};\n }\n\n }\n .dropdown{\n text-align: right !important;\n }\n button{\n font-size: 10px;\n color:${props => props.colors?.primary} !important;\n border: thin solid ${props => props.colors?.primary} !important;\n padding: 5px 10px;\n border-radius: 4px;\n background-color: transparent;\n cursor: pointer;\n &:after{\n display: none;\n }\n &:hover, &:active, &:focus{\n color: white !important;\n background-color: ${props => props.colors?.primary} !important;\n }\n }\n .dropdown-menu{\n font-size: 10px;\n }\n`;\nexport const ConfigTable2 = styled.div`\n float: ${props => props.align || 'right'};\n margin-bottom: 5px;\n margin-top:0 ;\n span{\n font-size: 10px;\n color:${props => props.colors?.primary};\n border: thin solid ${props => props.colors?.primary};\n padding: 5px 10px;\n border-radius: 4px;\n cursor: pointer;\n &:hover{\n color: white;\n background-color: ${props => props.colors?.primary};\n }\n\n }\n .dropdown{\n text-align: right !important;\n }\n button{\n font-size: 10px;\n color:${props => props.colors?.primary} !important;\n border: thin solid ${props => props.colors?.primary} !important;\n padding: 5px 10px;\n border-radius: 4px;\n background-color: transparent;\n cursor: pointer;\n &:after{\n display: none;\n }\n &:hover, &:active, &:focus{\n color: white !important;\n background-color: ${props => props.colors?.primary} !important;\n }\n }\n .dropdown-menu{\n font-size: 10px;\n }\n`;\n//indicators\n\nexport const IndicatorHeadWrapper = styled.div`\n width: 100%;\n`;\n\nexport const IndicatorConvensiones = styled.div`\n display: table;\n margin: 0 0 0 auto;\n &.B-option{\n margin: 0 auto 0 0;\n }\n &>div{\n vertical-align: middle;\n font-size: 12px;\n &:first-child{\n font-weight: bold;\n }\n span, i{\n display: inline-block;\n vertical-align: middle; \n }\n }\n`;\n\nexport const IndicatorConvensionesTwo = styled.div`\n display: table;\n margin: 10px 0 10px auto;\n &.B-option{\n margin: 0 auto 0 0;\n }\n &>div{\n vertical-align: middle;\n font-size: 12px;\n &:first-child{\n font-weight: bold;\n }\n span, i{\n display: inline-block;\n vertical-align: middle; \n }\n }\n`;\n\nexport const IndicatorHeadContain = styled.div`\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n \n`;\nexport const IndicatorHeadContainer = styled.div`\n width: ${props => props.Wd || '50%'};\n padding: 10px;\n &>div{\n padding: 10px;\n border-radius: ${Theme1.radius};\n border: ${Theme1.borderTwo};\n }\n\n & ul p:hover, & p:hover {\n cursor: pointer;\n text-decoration: underline;\n }\n table{\n thead{\n th{\n text-align: center;\n &.activo{ \n background-color: #f2f2f2;\n color: ${props => props.colors?.grayText};\n }\n }\n }\n tbody{\n td{\n &.activo{\n background-color: #f2f2f2;\n color: ${props => props.colors?.grayText};\n }\n }\n }\n }\n`;\n\n\nexport const IndicatorHeadLabel = styled.div`\n width: 100%;\n font-size: 14px;\n font-weight: bold;\n position: relative;\n padding-bottom: 10px;\n text-align: center;\n &::after{\n content: \"\";\n width: 50px;\n height: 1px;\n background-color: ${props => props.colors?.primary};\n position: absolute;\n bottom: 8px;\n left: 50%;\n transform: translateX(-50%);\n }\n`;\n","import styled from \"styled-components\";\n\n\nexport const ButtonWrapper = styled.div`\n width: 100%;\n display:flex;\n justify-content: flex-end;\n \n`; ","\nimport { useContext } from \"react\";\nimport { FaCog } from \"react-icons/fa\";\nimport { Button } from \"../../../commonStyles\";\nimport { UserContext } from \"../../../Context/User\";\nimport { ButtonWrapper } from \"./styles\";\n\nexport const ButtonConfig = ({onPress}) =>{\n const { colorPalette } = useContext(UserContext);\n return (\n <>\n \n \n \n \n \n )\n}","import Circle from './Circle';\nfunction Sign({value, type, base, isDescendingIndicator = false}){\n if(base===undefined) base= 100;\n return(\n value===null\n ? \n :(\n (value == base)\n ? \n :( (!isDescendingIndicator) ? (\n (value > base) \n ?\n :) : (\n (type === 'C')\n ?(\n (value > base) \n ?\n :\n )\n :(\n (value < base) \n ?\n :\n )\n )\n )\n )\n\n )\n}\nexport default Sign;","import { FaChevronDown, FaChevronUp, FaGripLines } from \"react-icons/fa\";\n\nfunction Circle (props) {\n const styles = {\n width: props.inside ? '40px' : \"12px\", \n height: props.inside ? '40px' : \"12px\", \n borderRadius: \"50%\", \n border: \"1px solid #ccc\", \n color:\"white\", \n display: \"inline-flex\",\n paddingLeft:'4px',\n paddingRight:'4px',\n background: props.color,\n alignItems:'center',\n marginRight: \"4px\",\n justifyContent: 'center',\n };\n return(\n \n {\n props.inside!==undefined &&\n (\n props.inside==='igual'\n ? \n : props.inside==='up'\n ? \n : \n )\n }\n \n )\n}\n\nexport default Circle;\n","export const styleTheme = (theme, primary = \"#000000\") => {\n return {\n ...theme,\n borderRadius: 6,\n colors: {\n ...theme.colors,\n primary25: `${primary}30`,\n primary: primary,\n },\n }\n}","import { ADMIN_URL } from '../config';\nimport Petition from './Petition';\nimport Security from './Security';\n\nconst Utils = {\n Petition,\n Security,\n getAdminUrl:(url)=>{\n\n return (`${ADMIN_URL+url}`);\n },\n adminAutologinData:(url,encoded)=>{\n let data = JSON.stringify({ ...localStorage });\n return (`${ADMIN_URL}/autologin/data/${encodeURIComponent(data)}/url/${encoded?url:encodeURIComponent(url)}`);\n },\n adminAutologin: (token, iframe)=>{\n if(!iframe) iframe='false';\n return (`${ADMIN_URL}/autologin/token/${token}/year/${localStorage.getItem('year')}/month/${localStorage.getItem('month')}/view/${localStorage.getItem('view')}/site/${localStorage.getItem('site')}/iframe/${iframe}`);\n },\n\n getConfigPortal: (property) => {\n const config = JSON.parse(localStorage.getItem('config'));\n if(config !== null) return config[property];\n return null;\n },\n formatNumber:(format, number)=>{\n if(format){\n try{\n let _format =format.split('');\n let _number = number.toString().split('.');\n\n /*\n POSIBLES formatos\n\n 1 caracter, Ejemplo ','\n Separador decimal ','\n 2 caracteres Ejemplo ',.' \n Separador de miles ',' \n Separador de decimales '.'\n 4 caracteres Ejemplo ',.2f' \n Separador de miles ',' \n Separador de decimales '.', \n Mostrar 2 decimales siempre\n 6 caracteres Ejemplo ',.2f4d' \n Separador de miles ','\n Separador de decimales '.', \n Mostrar 2 decimales mientras el número sea igual o menor de 4 digitos \n En caso de 5 digitos mostrará un decimal \n En caso de que sea de 6 digitos no mostrará ninguno\n //*/\n\n switch(_format.length){\n case 1: return _number.join(_format[0]);\n case 2: \n _number[0] = _number[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, _format[0]);\n return _number.join(_format[1]);\n case 4: \n _number = parseFloat(number).toFixed(format[2]).split('.');\n _number[0] = _number[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, _format[0]);\n if(_format[2]>0){\n return _number.join(_format[1]);\n }else{\n return _number[0];\n }\n default:\n // Por defecto, 6 digitos\n let _f = parseInt(_format[4]) + parseInt(_format[2]) - _number[0].length;\n\n if(_format[2] > 0 && _f > 0){\n if(_f<_format[2]) _format[2]= _f;\n \n }else{\n _format[2] = 0;\n }\n _number = parseFloat(number).toFixed(_format[2]).split('.');\n _number[0] = _number[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, _format[0]);\n return _number.join(_format[1]);\n }\n }catch(_){}\n return number;\n \n }\n },\n removeOptions: (selectElement)=>{\n let i, L = selectElement.options.length - 1;\n for(i = L; i >= 0; i--) {\n selectElement.remove(i);\n }\n }\n}\nexport default Utils;","import axios from 'axios';\nimport {API_URL} from '../config';\nimport { counter } from '../App';\n\n const Petition = {\n publicGet: (url, callback, fallback, _finally)=> {\n axios.get(\n API_URL+url,\n {responseType: 'json'}\n )\n .then((result)=>{\n callback(result.data);\n })\n .catch((err)=>{\n \n //Add more code all fallbacks\n\n if(fallback) fallback(err);\n })\n .finally(()=>{\n if(_finally) _finally();\n });\n\n },\n publicGetExternal: (url, callback, fallback, _finally)=> {\n axios.get(\n url\n )\n .then((result)=>{\n callback(result.data);\n })\n .catch((err)=>{\n \n //Add more code all fallbacks\n\n if(fallback) fallback(err);\n })\n .finally(()=>{\n if(_finally) _finally();\n });\n },\n publicPost: (url, data, callback, fallback, _finally)=> {\n axios.post(\n API_URL+url,\n data,\n {responseType: 'json'}\n )\n .then((result)=>{\n callback(result.data);\n })\n .catch((err)=>{\n \n //Add more code all fallbacks\n\n if(fallback) fallback(err);\n })\n .finally(()=>{\n if(_finally) _finally();\n });\n },\n get: (url, callback, fallback, _finally)=> {\n let timeInitial = performance.now();\n counter.number++;\n axios.get(\n API_URL+url,\n {\n responseType: 'json',\n headers: {\n Authorization: 'Bearer '+localStorage.getItem('token_user')\n }\n }\n )\n .then((result)=>{\n callback(result.data);\n })\n .catch((err)=>{ \n //Add more code all fallbacks\n if(fallback) fallback(err);\n })\n .finally(()=>{\n let timeEnd = performance.now();\n counter.startTime.push(timeInitial);\n counter.endTime.push(timeEnd);\n if(_finally) _finally();\n });\n },\n delete: (url, callback, fallback, _finally)=> {\n axios.delete(\n API_URL+url,\n {\n responseType: 'json',\n headers: {\n Authorization: 'Bearer '+ localStorage.getItem('token_user')\n }\n \n }\n )\n .then((result)=>{\n callback(result.data);\n })\n .catch((err)=>{\n \n //Add more code all fallbacks\n\n if(fallback) fallback(err);\n })\n .finally(()=>{\n if(_finally) _finally();\n });\n },\n post: (url, data, callback, fallback, _finally)=> {\n axios.post(\n API_URL+url,\n data,\n {\n responseType: 'json',\n headers: {\n Authorization: 'Bearer '+localStorage.getItem('token_user')\n }\n }\n )\n .then((result)=>{\n callback(result.data);\n })\n .catch((err)=>{\n \n //Add more code all fallbacks\n\n if(fallback) fallback(err);\n })\n .finally(()=>{\n if(_finally) _finally();\n });\n },\n postFile:(url,data,callback, fallback, _finally) => {\n let _data = new FormData();\n for(let i in data){\n _data.append(i, data[i]);\n }\n \n\n axios.post(\n API_URL+url,\n _data,\n {\n responseType: 'json',\n headers: {\n 'Content-Type': 'multipart/form-data;',\n 'Authorization': 'Bearer '+localStorage.getItem('token_user')\n }\n \n }\n )\n .then((result)=>{\n callback(result.data);\n })\n .catch((err)=>{\n \n //Add more code all fallbacks\n\n if(fallback) fallback(err);\n })\n .finally(()=>{\n if(_finally) _finally();\n });\n }\n\n}\nexport default Petition;","import Utils from \".\";\nimport { VERSION_SESSION } from \"../config\";\nimport Petition from \"./Petition\";\n\nconst Security = {\n checkRoleGroup:(rol)=>{\n return true;\n },\n //type = SSO, Login, AppValidate\n setStartLocalStorage: function(response, type, callback){\n if(type!=='AppValidate'){\n localStorage.setItem('version', VERSION_SESSION);\n }\n if(!localStorage.getItem('idfilter')){\n localStorage.setItem('idfilter', response.data.idfilter);\n localStorage.setItem('filter', response.data.filter);\n }\n localStorage.setItem('user_ocupation', JSON.stringify({department: response.data.user.department?.name,position:response.data.user.position?.name}));\n localStorage.setItem('token_user', response.data.token);\n localStorage.setItem('iduser', response.data.user.id)\n localStorage.setItem('idportal', response.data.idportal);\n localStorage.setItem('portal', response.data.portal);\n localStorage.setItem('business', response.data.business);\n localStorage.setItem('client', response.data.client);\n localStorage.setItem('config', JSON.stringify(response.data.config));\n localStorage.setItem('content_permissions', JSON.stringify(response.data.permissionsContent));\n localStorage.setItem('admin_permissions', JSON.stringify(response.data.permissionsAdmin));\n localStorage.setItem('idrolAdmin', response.data.idrol_admin);\n localStorage.setItem('idrolContent', response.data.idrol_content);\n localStorage.setItem('rolAdmin', response.data.rol_admin);\n localStorage.setItem('rolContent', response.data.rol_content);\n Utils.Petition.get('/portals-filter', (response) => {\n let _filter = [];\n for (let i = 0; i < response.data.length; i++) {\n if(response.data[i].default==='1') localStorage.setItem('defaultFilter', response.data[i].filter.id);\n _filter.push({ value: response.data[i].filter.id, description: response.data[i].filter.name })\n }\n localStorage.setItem('filters', JSON.stringify(_filter));\n callback();\n });\n }\n}\n\nexport default Security;","import styled from 'styled-components';\n\nexport const StyleLoading = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n height: ${(props => props.height ? props.height : '100px')};\n & > div {\n margin-right: 1rem;\n }\n`;","import { Spinner } from \"react-bootstrap\"\nimport { StyleLoading } from \"./style\"\n\n\nexport const Loading = ({ height, text = \"Cargando....\", fontSize=\"2rem\" }) => {\n return (\n \n

    {text}

    \n
    \n )\n}","import styled from \"styled-components\";\nimport { Theme1 } from \"./../../themes/Theme1\";\n\nexport const GraphicCustomWrapper = styled.div`\n width: 100%;\n padding: 0 10px;\n margin-bottom: 30px;\n`;\nexport const GraphicCustomWrapperContent = styled.div`\n display: block;\n width: 100%;\n`;\nexport const GraphicCustomContainer = styled.div`\n width: 100%;\n background-color: white;\n border-radius: ${Theme1.radius};\n h3{\n font-size: 18px;\n margin-bottom: 0 !important;\n }\n`;\n","import styled from \"styled-components\";\nimport { Theme1 } from \"../themes/Theme1\";\n\nexport const ButonLink = styled.p`\n color : ${Theme1.orange};\n margin-top: -10px;\n a{\n color : ${Theme1.orange}; \n font-size: 14px;\n text-decoration: underline\n }\n`;\n\nexport const BgContainer = styled.div`\n background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.45)),\n url(${props => props.imgLogin});\n height: 100vh;\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n position: relative;\n`;\n\nexport const OptionsContainer = styled.div`\n position: absolute;\n width: 32rem;\n height: 32rem;\n top: 8rem;\n right: 8rem;\n background-color: #FFFFFF;\n border-radius: 1rem;\n text-align: center;\n z-index: 2;\n`;\n\nexport const IntroContainer = styled.div`\n position: absolute;\n width: 35rem;\n bottom: 8rem;\n left: 8rem;\n border-radius: 1rem;\n color: #FFF;\n`;\n\nexport const CtaContainer = styled.div`\n& h2 {\n margin: 8rem 0 2rem;\n}\n& button {\n margin: 2rem 0;\n padding: 1rem 3rem;\n border-radius: 0.5rem;\n}\n& hr {\n width: 80%;\n}\n`;\n\nexport const PrimaryBtn = styled.button`\n background-color: #EF8220;\n color: #FFFFFF;\n border: thin solid #EF8220;\n :hover {\n background-color: #FFFFFF;\n border: thin solid #EF8220;\n color: #EF8220;\n }\n`;\n\nexport const SecondaryBtn = styled.button`\n background-color: #FFFFFF;\n border: none;\n color: #EF8220;\n :hover {\n opacity: 0.8;\n }\n`;\n\nexport const TertiaryBtn = styled.button`\n background-color: #FFFFFF;\n color: gray;\n :hover {\n opacity: 0.8;\n }\n`;\n\nexport const LoginContainer = styled.div`\n& h3 {\n margin: 4rem 0 2rem;\n}\n& form {\n display: flex;\n flex-direction: column;\n width: 75%;\n margin: auto;\n gap: 1rem;\n}\n& input {\n padding: 1rem;\n border: thin solid gray;\n border-radius: 1rem;\n}\n& button {\n width: 50%;\n margin: auto;\n padding: 1rem 3rem;\n border: none;\n border-radius: 0.5rem;\n}\n`;","import { useEffect, useState } from \"react\";\nimport { Redirect } from \"react-router-dom\";\nimport Utils from \"../utils\";\nimport {AlertForm, ICON} from './../Components/SweetAlert'\nimport { BgContainer, ButonLink, CtaContainer, IntroContainer, LoginContainer, OptionsContainer, PrimaryBtn, SecondaryBtn, TertiaryBtn } from \"./styles\";\nimport { OLD_SITE } from \"../config\";\nimport Swal from \"sweetalert2\";\n\nfunction Login({logged, setLogged, loginDefaultMessage, setLoginDefaultMessage}){\n \n const [form, setForm] = useState({\n username:'',\n password:'',\n idportal:0,\n });\n \n const [message, setMessage] = useState('');\n const [guess, setGuess] = useState(false);\n const [redirectUrl] = useState(localStorage.getItem('redirect_url') || '');\n const [imgLogin, setImgLogin] = useState(\"\");\n const [urlCentrify, setUrlCentrify] = useState(null);\n const handleInputForm = (event)=>{\n setForm({...form, [event.target.name]:event.target.value});\n }\n\n const handleLogin = (event)=>{\n event.preventDefault();\n setMessage('');\n\n if(form.username===''){\n setMessage('Completa tu nombre de usuario');\n }else if(form.password===''){\n setMessage('Completa tu contraseña');\n }else{\n \n if(form.idportal){\n Utils.Petition.publicPost('/users/login', form, (response)=>{\n Utils.Security.setStartLocalStorage(response, 'Login', ()=>{\n setLogged(true);\n })\n \n },\n (error)=>{\n if(error.response){\n setMessage(error.response.data.message);\n }else{\n setMessage('La aplicación está presentando problemas, por favor intente más tarde');\n }\n });\n }else{\n AlertForm(ICON.WARNING, 'Para iniciar sesión primero configura correctamente el portal', \"\", \"center\", null, 'De acuerdo');\n }\n }\n }\n const handleSSO = ()=>{\n if(form.idportal){\n window.location.href=urlCentrify;\n \n }else{\n AlertForm(ICON.WARNING, 'Para iniciar sesión primero configura correctamente el portal', \"\", \"center\", null, 'De acuerdo');\n }\n }\n useEffect(() => {\n if (loginDefaultMessage !== '' ){\n AlertForm(ICON.WARNING, loginDefaultMessage, \"\", \"center\", null, 'De acuerdo');\n setLoginDefaultMessage('');\n }\n \n }, [loginDefaultMessage]);\n\n useEffect(() => {\n const domain = window.location.href.toLowerCase();\n \n if(domain.includes('login')){\n Swal.fire({\n title: 'Cargando...',\n allowOutsideClick: false,\n });\n Swal.showLoading()\n const url = encodeURIComponent(domain.split('/login')[0]);\n localStorage.setItem('site', url);\n Utils.Petition.publicGet('/portal-url/url/'+url, (response)=>{\n if(response && response.data){\n setForm({...form, idportal:response.data.idportal});\n setImgLogin(response.data.portal.portal_config.splash);\n setUrlCentrify(response.data.portal.portal_config.centrify_login);\n }else{\n AlertForm(ICON.WARNING, 'No se ha configurado correctamente el portal', \"\", \"center\", null, 'De acuerdo');\n }\n }, (error) => console.log(error),\n () => Swal.close())\n }\n }, []);\n\n return (\n <>\n \n {!logged &&\n \n \n {\n !guess && urlCentrify &&\n \n

    ¡Te estamos esperando!

    \n Iniciar sesión\n
    \n setGuess(true)}>Invitados externos\n
    \n }\n {\n (guess || !urlCentrify) && \n \n

    {!urlCentrify ? \"Iniciar Sesion\" : \"Invitado\"}

    \n
    \n \n \n {\n message!=='' &&\n
    \n {message}\n
    \n }\n Ingresar\n
    \n {urlCentrify && setGuess(false)}>Volver}\n \n
    \n }\n
    \n }\n {\n logged && ()\n }\n \n

    Bienvenido

    \n

    Aquí podrás ingresar a la plataforma de Conectándonos con la estrategia, en la cual podrás ver las cifras del desempeño de la empresa en sus diversas áreas.

    \n
    \n \n\n );\n}\nexport default Login;\n\n","import { useEffect } from \"react\";\nimport { useParams } from \"react-router\";\nimport Utils from \"../utils\";\n\nfunction RedirectAdminComponent(){\n const {url} = useParams();\n useEffect(()=>{\n window.location.href=Utils.getAdminUrl(url, true);\n }, []);\n return (
    Redireccionando...
    );\n}\nexport default RedirectAdminComponent;","import { useContext, useEffect, useState } from 'react';\nimport { Col } from 'react-bootstrap';\nimport Section from '../base/Section';\nimport { UserContext } from '../Context/User';\n\nfunction Blank({globalProps, page, templateZonesLoadingPageRoute, setPopupStructure}) {\n const { setPageId } = useContext(UserContext);\n const [loadedContainer, setLoadedContainer] = useState(false);\n\n useEffect(() => {\n setPageId(page.id);\n }, [page])\n const templateZonesLoading = {\n container:{ loaded: loadedContainer, setLoaded:setLoadedContainer},\n popup: templateZonesLoadingPageRoute['popup'],\n popupIzquierda: templateZonesLoadingPageRoute['popupIzquierda'],\n popupDerecha: templateZonesLoadingPageRoute['popupDerecha'],\n popupIzquierdaA: templateZonesLoadingPageRoute['popupIzquierdaA'],\n popupDerechaA: templateZonesLoadingPageRoute['popupDerechaA'],\n popupIzquierdaB: templateZonesLoadingPageRoute['popupIzquierdaB'],\n popupCentroB: templateZonesLoadingPageRoute['popupCentroB'],\n popupDerechaB: templateZonesLoadingPageRoute['popupDerechaB'],\n popupCentroC: templateZonesLoadingPageRoute['popupCentroC'],\n \n };\n return (\n
    \n \n
    \n \n
    \n \n );\n }\n \n export default Blank;","import { Col, Container, Row } from \"react-bootstrap\";\nimport CustomModal from \"../../../CustomModal\";\nimport Section from \"../../../Section\";\n\nfunction Popup({page, templateZonesLoading, popupStructure, setPopupStructure, globalProps}){\n\n const handleShow = (isShow)=>{\n setPopupStructure({...popupStructure, show:isShow});\n }\n return (\n \n {\n popupStructure.show && \n
    \n
    \n \n \n
    \n \n \n
    \n \n \n \n \n
    \n \n \n
    \n \n \n \n \n
    \n \n \n
    \n \n \n
    \n \n \n \n \n
    \n \n \n
    \n } \n
    \n \n )\n}\nexport default Popup;","import { Card } from 'react-bootstrap';\nimport styled from 'styled-components';\nimport { Theme1 } from './../themes/Theme1';\n\nexport const SubContainer = styled.div`\n box-shadow: ${Theme1.shadowContainer};\n border-radius: 0.5rem;\n padding-top: 0rem;\n margin-bottom: 3rem;\n`;\n\nexport const StyleCard = styled(Card)`\n padding: 1rem;\n border-radius: 0.5rem;\n box-shadow: 1px 0px 20px 10px #00000020;\n text-align: center;\n height: 100%;\n justify-content: space-between;\n & h4, & h3 {\n margin-bottom: 2rem;\n }\n\n & button {\n margin: 0 auto;\n }\n`;\n\nexport const ButtonClose = styled.button`\n color: white;\n margin-top: 15px;\n width: 24px;\n height: 24px;\n background-color: ${props => props.color} !important;\n border-radius:100px;\n box-shadow: ${Theme1.shadow};\n &:hover{\n color:white;\n }\n`;\n\nexport const WrapperPadding = styled.div`\n padding-top:30px;\n`;","import { useContext, useEffect, useMemo, useState } from 'react';\nimport Popup from '../base/custom-page-components/popups/view/Popup';\nimport Section from '../base/Section';\nimport { UserContext } from '../Context/User';\nimport { SubContainer } from './styles';\nlet perfomance1 = 0, perfomance2 = 0;\nfunction Default({ globalProps, page, setPopupStructure, templateZonesLoadingPageRoute }) {\n const { setPageId } = useContext(UserContext);\n const [loadedSuperiorCompleto, setLoadedSuperiorCompleto] = useState(false);\n\n const [loadedCentroA, setLoadedCentroA] = useState(false);\n\n const [loadedIzquierdaB, setLoadedIzquierdaB] = useState(false);\n const [loadedDerechaB, setLoadedDerechaB] = useState(false);\n\n const [loadedIzquierdaC, setLoadedIzquierdaC] = useState(false);\n const [loadedCentroC, setLoadedCentroC] = useState(false);\n const [loadedDerechaC, setLoadedDerechaC] = useState(false);\n\n const [loadedCentroD, setLoadedCentroD] = useState(false);\n\n \n const [loadedIzquierdaE1, setLoadedIzquierdaE1] = useState(false);\n const [loadedIzquierdaE2, setLoadedIzquierdaE2] = useState(false);\n const [loadedDerechaE1, setLoadedDerechaE1] = useState(false);\n const [loadedDerechaE2, setLoadedDerechaE2] = useState(false);\n \n const [loadedCentroF, setLoadedCentroF] = useState(false);\n /* useMemo(() => {\n // componentWillMount events\n console.log(\"useMemo\");\n \n perfomance1 = performance.now();\n },[]);\n useEffect(() => {\n // componentDidMount events\n console.log(\"useEffect\");\n perfomance2 = performance.now();\n console.log(`el tiempo es: ${perfomance2 - perfomance1}`);\n return () => {\n // componentWillUnmount events\n }\n }, []); */\n useEffect(() => {\n setPageId(page.id);\n }, [page])\n const templateZonesLoading = {\n superiorCompleto: { loaded: loadedSuperiorCompleto, setLoaded: setLoadedSuperiorCompleto },\n\n centroA: { loaded: loadedCentroA, setLoaded: setLoadedCentroA },\n\n izquierdaB: { loaded: loadedIzquierdaB, setLoaded: setLoadedIzquierdaB },\n derechaB: { loaded: loadedDerechaB, setLoaded: setLoadedDerechaB },\n\n izquierdaC: { loaded: loadedIzquierdaC, setLoaded: setLoadedIzquierdaC },\n centroC: { loaded: loadedCentroC, setLoaded: setLoadedCentroC },\n derechaC: { loaded: loadedDerechaC, setLoaded: setLoadedDerechaC },\n\n centroD: { loaded: loadedCentroD, setLoaded: setLoadedCentroD },\n popup: templateZonesLoadingPageRoute['popup'],\n popupIzquierda: templateZonesLoadingPageRoute['popupIzquierda'],\n popupDerecha: templateZonesLoadingPageRoute['popupDerecha'],\n popupIzquierdaA: templateZonesLoadingPageRoute['popupIzquierdaA'],\n popupDerechaA: templateZonesLoadingPageRoute['popupDerechaA'],\n popupIzquierdaB: templateZonesLoadingPageRoute['popupIzquierdaB'],\n popupCentroB: templateZonesLoadingPageRoute['popupCentroB'],\n popupDerechaB: templateZonesLoadingPageRoute['popupDerechaB'],\n popupCentroC: templateZonesLoadingPageRoute['popupCentroC'],\n izquierdaE1: { loaded: loadedIzquierdaE1, setLoaded: setLoadedIzquierdaE1 },\n izquierdaE2:{ loaded: loadedIzquierdaE2, setLoaded: setLoadedIzquierdaE2 },\n derechaE1:{ loaded: loadedDerechaE1, setLoaded: setLoadedDerechaE1 },\n derechaE2:{ loaded: loadedDerechaE2, setLoaded: setLoadedDerechaE2 },\n centroF:{ loaded: loadedCentroF, setLoaded: setLoadedCentroF }\n };\n\n return (\n <>\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n
    \n \n\n );\n}\n\nexport default Default;","import { useContext, useEffect, useState } from 'react';\nimport { Col, Container, Row } from 'react-bootstrap';\nimport Section from '../base/Section';\nimport { ButtonClose, StyleCard, WrapperPadding } from './styles';\nimport { Button } from \"../commonStyles\";\nimport { UserContext } from '../Context/User';\nfunction EnvironmentAnalysis({ globalProps, page, templateZonesLoadingPageRoute, setPopupStructure }) {\n const { setPageId, colorPalette } = useContext(UserContext);\n const [loadedContentA, setLoadedContentA] = useState(false);\n\n const [loadedMacroeconomicKey, setLoadedMacroeconomicKey] = useState(false);\n const [loadedMarketKey, setLoadedMarketKey] = useState(false);\n const [loadedCateringKey, setLoadedCateringKey] = useState(false);\n\n const [loadedMacroeconomicValue, setLoadedMacroeconomicValue] = useState(false);\n const [loadedMarketValue, setLoadedMarketValue] = useState(false);\n const [loadedCateringValue, setLoadedCateringValue] = useState(false);\n\n const [loadedContentB, setLoadedContentB] = useState(false);\n\n const templateZonesLoading = {\n\n contenedorCompletoSuperior: { loaded: loadedContentA, setLoaded: setLoadedContentA },\n\n macroeconomicoSuperior: { loaded: loadedMacroeconomicKey, setLoaded: setLoadedMacroeconomicKey },\n mercadoSuperior: { loaded: loadedMarketKey, setLoaded: setLoadedMarketKey },\n abastecimientoSuperior: { loaded: loadedCateringKey, setLoaded: setLoadedCateringKey },\n\n macroeconomicoContenido: { loaded: loadedMacroeconomicValue, setLoaded: setLoadedMacroeconomicValue },\n mercadoContenido: { loaded: loadedMarketValue, setLoaded: setLoadedMarketValue },\n abastecimientoContenido: { loaded: loadedCateringValue, setLoaded: setLoadedCateringValue },\n\n contenedorCompletoInferior: { loaded: loadedContentB, setLoaded: setLoadedContentB },\n popup: templateZonesLoadingPageRoute['popup'],\n popupIzquierda: templateZonesLoadingPageRoute['popupIzquierda'],\n popupDerecha: templateZonesLoadingPageRoute['popupDerecha'],\n popupIzquierdaA: templateZonesLoadingPageRoute['popupIzquierdaA'],\n popupDerechaA: templateZonesLoadingPageRoute['popupDerechaA'],\n popupIzquierdaB: templateZonesLoadingPageRoute['popupIzquierdaB'],\n popupCentroB: templateZonesLoadingPageRoute['popupCentroB'],\n popupDerechaB: templateZonesLoadingPageRoute['popupDerechaB'],\n popupCentroC: templateZonesLoadingPageRoute['popupCentroC'],\n \n };\n /*\n openContent: none, macroeconomic, market, catering, cada cambio abrirá el contenido correspondiente\n */\n const [openContent, setOpenContent] = useState('none');\n \n useEffect(() => {\n setPageId(page.id);\n }, [page])\n const handleShowContent = (content, code) => {\n templateZonesLoading[code].setLoaded(false);\n setOpenContent(content);\n }\n\n const handleClose = (event) => {\n event.preventDefault();\n setOpenContent('none');\n }\n return (\n
    \n \n\n
    \n \n \n \n
    \n \n \n \n \n \n
    \n \n \n \n \n \n
    \n \n \n \n \n \n \n {\n openContent === 'macroeconomic' &&\n
    \n \n \n ×Close\n
    \n \n \n
    \n }\n {\n openContent === 'market' &&\n
    \n \n \n ×Close\n
    \n \n
    \n }\n {\n openContent === 'catering' &&\n
    \n \n \n ×Close\n
    \n \n
    \n }\n \n
    \n \n
    \n \n
    \n\n );\n}\n\nexport default EnvironmentAnalysis;","import { useContext, useEffect, useState } from 'react';\nimport Popup from '../base/custom-page-components/popups/view/Popup';\nimport Section from '../base/Section';\nimport { UserContext } from '../Context/User';\nimport { SubContainer } from './styles';\n\nfunction SalesContribution({ globalProps, page, setPopupStructure, templateZonesLoadingPageRoute }) {\n const { setPageId } = useContext(UserContext);\n const [loadedCentroContribucionA, setLoadedCentroContribucionA] = useState(false);\n\n const [loadedIzquierdaContribucionB, setLoadedIzquierdaContribucionB] = useState(false);\n const [loadedDerechaContribucionB, setLoadedDerechaContribucionB] = useState(false);\n\n const [loadedCentroContribucionC, setLoadedCentroContribucionC] = useState(false);\n const [loadedIzquierdaContribucionC, setLoadedIzquierdaContribucionC] = useState(false);\n const [loadedDerechaContribucionC, setLoadedDerechaContribucionC] = useState(false);\n const [loadedIzquierdaContribucionD, setLoadedIzquierdaContribucionD] = useState(false);\n const [loadedDerechaContribucionD0, setLoadedDerechaContribucionD0] = useState(false);\n const [loadedDerechaContribucionD, setLoadedDerechaContribucionD] = useState(false);\n const [loadedDerechaContribucionD2, setLoadedDerechaContribucionD2] = useState(false);\n\n const [loadedCentroContribucionE0, setLoadedCentroContribucionE0] = useState(false);\n const [loadedCentroContribucionE, setLoadedCentroContribucionE] = useState(false);\n const [loadedCentroContribucionF, setLoadedCentroContribucionF] = useState(false);\n\n useEffect(() => {\n setPageId(page.id);\n }, [page])\n const templateZonesLoading = {\n centroContribucionA: { loaded: loadedCentroContribucionA, setLoaded: setLoadedCentroContribucionA },\n izquierdaContribucionB: { loaded: loadedIzquierdaContribucionB, setLoaded: setLoadedIzquierdaContribucionB },\n derechaContribucionB: { loaded: loadedDerechaContribucionB, setLoaded: setLoadedDerechaContribucionB },\n centroContribucionC: { loaded: loadedCentroContribucionC, setLoaded: setLoadedCentroContribucionC },\n izquierdaContribucionC: { loaded: loadedIzquierdaContribucionC, setLoaded: setLoadedIzquierdaContribucionC },\n derechaContribucionC: { loaded: loadedDerechaContribucionC, setLoaded: setLoadedDerechaContribucionC },\n izquierdaContribucionD: { loaded: loadedIzquierdaContribucionD, setLoaded: setLoadedIzquierdaContribucionD },\n derechaContribucionD0: { loaded: loadedDerechaContribucionD0, setLoaded: setLoadedDerechaContribucionD0 },\n derechaContribucionD: { loaded: loadedDerechaContribucionD, setLoaded: setLoadedDerechaContribucionD },\n derechaContribucionD2: { loaded: loadedDerechaContribucionD2, setLoaded: setLoadedDerechaContribucionD2 },\n centroContribucionE0: { loaded: loadedCentroContribucionE0, setLoaded: setLoadedCentroContribucionE0 },\n centroContribucionE: { loaded: loadedCentroContribucionE, setLoaded: setLoadedCentroContribucionE },\n centroContribucionF: { loaded: loadedCentroContribucionF, setLoaded: setLoadedCentroContribucionF },\n popup: templateZonesLoadingPageRoute['popup'],\n popupIzquierda: templateZonesLoadingPageRoute['popupIzquierda'],\n popupDerecha: templateZonesLoadingPageRoute['popupDerecha'],\n popupIzquierdaA: templateZonesLoadingPageRoute['popupIzquierdaA'],\n popupDerechaA: templateZonesLoadingPageRoute['popupDerechaA'],\n popupIzquierdaB: templateZonesLoadingPageRoute['popupIzquierdaB'],\n popupCentroB: templateZonesLoadingPageRoute['popupCentroB'],\n popupDerechaB: templateZonesLoadingPageRoute['popupDerechaB'],\n popupCentroC: templateZonesLoadingPageRoute['popupCentroC'],\n };\n\n return (\n <>\n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n\n
    \n \n\n );\n}\n\nexport default SalesContribution;","import { useContext, useEffect, useState } from 'react';\nimport Popup from '../base/custom-page-components/popups/view/Popup';\nimport Section from '../base/Section';\nimport { UserContext } from '../Context/User';\nimport { SubContainer } from './styles';\n\nfunction Default({ globalProps, page, templateZonesLoadingPageRoute, setPopupStructure }) {\n const { setPageId } = useContext(UserContext);\n const [loadedSuperiorCompleto, setLoadedSuperiorCompleto] = useState(false);\n\n const [loadedCentroA, setLoadedCentroA] = useState(false);\n\n const [loadedIzquierdaB, setLoadedIzquierdaB] = useState(false);\n const [loadedDerechaB, setLoadedDerechaB] = useState(false);\n\n const [loadedIzquierdaB2, setLoadedIzquierdaB2] = useState(false);\n const [loadedDerechaB1, setLoadedDerechaB1] = useState(false);\n const [loadedDerechaB2, setLoadedDerechaB2] = useState(false);\n const [loadedDerechaB3, setLoadedDerechaB3] = useState(false);\n\n const [loadedIzquierdaC, setLoadedIzquierdaC] = useState(false);\n const [loadedCentroC, setLoadedCentroC] = useState(false);\n const [loadedDerechaC, setLoadedDerechaC] = useState(false);\n\n const [loadedCentroD0, setLoadedCentroD0] = useState(false);\n const [loadedCentroD, setLoadedCentroD] = useState(false);\n const [loadedCentroE, setLoadedCentroE] = useState(false);\n useEffect(() => {\n setPageId(page.id);\n }, [page])\n const templateZonesLoading = {\n superiorCompleto: { loaded: loadedSuperiorCompleto, setLoaded: setLoadedSuperiorCompleto },\n\n centroA: { loaded: loadedCentroA, setLoaded: setLoadedCentroA },\n\n izquierdaB: { loaded: loadedIzquierdaB, setLoaded: setLoadedIzquierdaB },\n derechaB: { loaded: loadedDerechaB, setLoaded: setLoadedDerechaB },\n\n izquierdaB2: { loaded: loadedIzquierdaB2, setLoaded: setLoadedIzquierdaB2 },\n derechaB1: { loaded: loadedDerechaB1, setLoaded: setLoadedDerechaB1 },\n derechaB2: { loaded: loadedDerechaB2, setLoaded: setLoadedDerechaB2 },\n derechaB3: { loaded: loadedDerechaB3, setLoaded: setLoadedDerechaB3 },\n\n izquierdaC: { loaded: loadedIzquierdaC, setLoaded: setLoadedIzquierdaC },\n centroC: { loaded: loadedCentroC, setLoaded: setLoadedCentroC },\n derechaC: { loaded: loadedDerechaC, setLoaded: setLoadedDerechaC },\n centroD0: { loaded: loadedCentroD0, setLoaded: setLoadedCentroD0 },\n centroD: { loaded: loadedCentroD, setLoaded: setLoadedCentroD },\n centroE: { loaded: loadedCentroE, setLoaded: setLoadedCentroE },\n popup: templateZonesLoadingPageRoute['popup'],\n popupIzquierda: templateZonesLoadingPageRoute['popupIzquierda'],\n popupDerecha: templateZonesLoadingPageRoute['popupDerecha'],\n popupIzquierdaA: templateZonesLoadingPageRoute['popupIzquierdaA'],\n popupDerechaA: templateZonesLoadingPageRoute['popupDerechaA'],\n popupIzquierdaB: templateZonesLoadingPageRoute['popupIzquierdaB'],\n popupCentroB: templateZonesLoadingPageRoute['popupCentroB'],\n popupDerechaB: templateZonesLoadingPageRoute['popupDerechaB'],\n popupCentroC: templateZonesLoadingPageRoute['popupCentroC'],\n };\n\n return (\n <>\n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n\n\n
    \n \n\n );\n}\n\nexport default Default;","import styled from \"styled-components\";\nimport { Theme1 } from \"../../../themes/Theme1\";\n\nexport const ShowChange = styled.div`\n display: block;\n position: fixed;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n padding: 20px;\n border-radius: ${Theme1.radius};\n background-color: white;\n box-shadow: ${Theme1.shadow};\n font-size: 20px;\n cursor: pointer;\n color: ${Theme1.grayText};\n &:hover{\n box-shadow: 0px 0px 20px 3px ${props => props.color}20;\n color: ${props => props.color};\n }\n`;\n\nexport const ChangeWrapper = styled.div`\n display: ${props => props.showChage ? 'block' : 'none'};\n position: fixed;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n background-color: white;\n padding: 20px;\n border-radius: ${Theme1.radius};\n box-shadow: ${Theme1.shadow};\n width: 100%;\n max-width: 334px;\n z-index: 4;\n cursor: pointer;\n &>div{\n &:first-child{\n margin-bottom: 10px;\n }\n width: 100%;\n border-radius:${Theme1.radius};\n box-shadow: ${Theme1.shadow} !important;\n background-color: white;\n padding: 20px;\n display: block;\n img{\n display: block;\n width: 100%;\n }\n .head{\n display: flex;\n width: 100%;\n align-items: center;\n margin-bottom: 10px;\n .check{\n width: 20px;\n height: 20px;\n border: solid 2px #B3B1B2;\n border-radius: 100px;\n padding: 5px;\n span{\n width: 100%;\n height: 100%;\n border-radius: 100px;\n display: block;\n }\n }\n .title{\n font-size: 12px;\n font-weight: bold;\n color: ${Theme1.grayText};\n width: 100%;\n padding-left: 10px;\n }\n }\n &:hover>div, &.active>div{\n &>div{\n color: ${props => props.color} !important;\n &.check{\n border-color: ${props => props.color} !important;\n span{\n background-color: ${props => props.color} !important;\n }\n }\n \n }\n }\n }\n`;\nexport const ChangeOverlay = styled.div`\n display: ${props => props.showChage ? 'block' : 'none'};\n position: fixed;\n width: 100vw;\n height: 100vh;\n top: 0;\n left: 0;\n background-color: transparent;\n z-index: 3;\n`;","import { useHistory, } from \"react-router-dom\";\nimport { useContext, useState } from \"react\";\nimport { FaDesktop } from \"react-icons/fa\";\nimport { ShowChange, ChangeWrapper, ChangeOverlay } from \"./styles\";\nimport { UserContext } from \"../../../Context/User\";\nexport const ChangeProfile = () => {\n const { colorPalette } = useContext(UserContext);\n\n const [homePage, setHomePage] = useState(localStorage.getItem('home-page'));\n const [showChage, setShowChage ] = useState(false) ;\n let history = useHistory();\n const handleHomePage = (valor)=>{\n \n let url = '/'+ valor\n localStorage.setItem('home-page', url)\n setHomePage(url);\n history.push(url);\n \n \n }\n const handleChange = () =>{\n setShowChage (!showChage);\n }\n return (\n <>\n \n \n \n \n \n
    handleHomePage('estrategia')}>\n
    \n
    \n
    Estrategia
    \n
    \n \"estrategia\"\n
    \n
    handleHomePage('gestion')}>\n
    \n
    \n
    Gestion
    \n
    \n \"gestion\"/\n
    \n
    \n \n \n )\n}","import { useContext, useEffect, useState } from 'react';\nimport Section from '../base/Section';\nimport { UserContext } from '../Context/User';\nimport { ChangeProfile } from './Components/ChangeProfile';\n\n\nfunction Home({ globalProps, page, templateZonesLoadingPageRoute, setPopupStructure }) {\n const { setPageId } = useContext(UserContext);\n const [loadedSuperiorCompleto, setLoadedSuperiorCompleto] = useState(false);\n\n const [loadedCentroA, setLoadedCentroA] = useState(false);\n\n const [loadedIzquierdaB, setLoadedIzquierdaB] = useState(false);\n const [loadedDerechaB, setLoadedDerechaB] = useState(false);\n\n const [loadedIzquierdaC, setLoadedIzquierdaC] = useState(false);\n const [loadedCentroC, setLoadedCentroC] = useState(false);\n const [loadedDerechaC, setLoadedDerechaC] = useState(false);\n\n const [loadedCentroD, setLoadedCentroD] = useState(false);\n useEffect(() => {\n setPageId(page.id);\n }, [page])\n\n const templateZonesLoading = {\n superiorCompleto: { loaded: loadedSuperiorCompleto, setLoaded: setLoadedSuperiorCompleto },\n\n centroA: { loaded: loadedCentroA, setLoaded: setLoadedCentroA },\n\n izquierdaB: { loaded: loadedIzquierdaB, setLoaded: setLoadedIzquierdaB },\n derechaB: { loaded: loadedDerechaB, setLoaded: setLoadedDerechaB },\n\n izquierdaC: { loaded: loadedIzquierdaC, setLoaded: setLoadedIzquierdaC },\n centroC: { loaded: loadedCentroC, setLoaded: setLoadedCentroC },\n derechaC: { loaded: loadedDerechaC, setLoaded: setLoadedDerechaC },\n\n centroD: { loaded: loadedCentroD, setLoaded: setLoadedCentroD },\n popup: templateZonesLoadingPageRoute['popup'],\n popupIzquierda: templateZonesLoadingPageRoute['popupIzquierda'],\n popupDerecha: templateZonesLoadingPageRoute['popupDerecha'],\n popupIzquierdaA: templateZonesLoadingPageRoute['popupIzquierdaA'],\n popupDerechaA: templateZonesLoadingPageRoute['popupDerechaA'],\n popupIzquierdaB: templateZonesLoadingPageRoute['popupIzquierdaB'],\n popupCentroB: templateZonesLoadingPageRoute['popupCentroB'],\n popupDerechaB: templateZonesLoadingPageRoute['popupDerechaB'],\n popupCentroC: templateZonesLoadingPageRoute['popupCentroC'],\n };\n\n return (\n <>\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n \n\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n\n
    \n \n \n\n );\n}\n\nexport default Home;","import Blank from './Blank';\nimport Default from './Default';\nimport EnvironmentAnalysis from './EnvironmentAnalysis';\nimport SalesContribution from './SalesContribution';\nimport Pyg from './Pyg';\nimport Home from './Home';\nexport default {\n Blank,\n Default,\n EnvironmentAnalysis,\n SalesContribution,\n Pyg,\n Home\n}","function CustomPageComponent(){\n return (\n null\n )\n}\nexport default CustomPageComponent;","import styled from \"styled-components\";\nimport { Theme1 } from \"../../themes/Theme1\";\n\n\nexport const WrapperModule = styled.div`\n width: 100%;\n display: flex;\n max-height: 300px;\n height: 300px;\n`;\n\nexport const WrapperModuleNav = styled.div`\n width: 25%;\n height: 100%;\n overflow-y: auto;\n height: 100%;\n padding-right: 20px;\n .nav-link{\n color: ${props => props.colors?.secondary } !important;\n border-bottom: ${Theme1.border};\n font-size: 16px;\n &:hover{\n color: ${props => props.colors?.primary} !important;\n }\n }\n`;\n\nexport const WrapperModuleContainer = styled.div`\n width: 75%;\n padding: 0 20px;\n overflow-y: auto;\n height: 100%;\n border-radius: 10px;\n`;\n\nexport const WrapperButton = styled.div`\n width: 100%;\n button{\n font-size: 12px;\n color: white !important;\n background-color: ${props => props.color} !important;\n border-color: ${props => props.color} !important;\n &:hover{\n background-color: transparent !important;\n color: ${props => props.color} !important;\n }\n }\n`;","import { useContext, useEffect, useState } from \"react\";\nimport { Nav } from \"react-bootstrap\";\nimport { FaAngleRight } from \"react-icons/fa\";\nimport { UserContext } from \"../../Context/User\";\nimport { WrapperModule, WrapperModuleNav, WrapperModuleContainer} from \"./styles\";\n\nfunction CustomPageComponentGroup({children, selectedComponent, name}){\n const { colorPalette } = useContext(UserContext);\n const [component, setComponent] = useState(
    Cargando
    );\n const [activeName, setActiveName] = useState('');\n\n useEffect(()=>{\n if(Array.isArray(children)){\n setComponent(children[0].props.selectedComponent);\n setActiveName(children[0].props.name);\n }else{\n setComponent(children.props.selectedComponent);\n setActiveName(children.props.name);\n }\n\n }, []);\n const handleChangeComponent = (_component)=>{\n setComponent(_component.selectedComponent);\n setActiveName(_component.name);\n }\n\n return (\n \n \n \n \n \n { component }\n \n \n )\n}\n\nexport default CustomPageComponentGroup;","import { useState, useContext } from \"react\";\nimport { ButtonGroup } from \"react-bootstrap\";\nimport { FaEdit, FaRedo, FaSave, FaTrash } from \"react-icons/fa\";\nimport { Button } from \"../../../../commonStyles\";\nimport Utils from \"../../../../utils\";\nimport { UserContext } from \"../../../../Context/User\";\n\nfunction Item({templateZonesLoading, setPopupStructure, popups, setPopups, popup, index}){\n const { colorPalette } = useContext(UserContext);\n const [editMode, setEditMode] = useState(false);\n const [popupName, setPopupName]= useState('');\n const handleDelete = (event)=>{\n Utils.Petition.delete('/popups/id/'+popup.id, (_)=>{\n let _popups = [...popups];\n _popups.splice(index, 1);\n setPopups(_popups);\n })\n }\n const handlePopup= (event)=>{\n event.preventDefault();\n setPopupStructure({\n id:popup.id,\n title: popup.name,\n show: true,\n });\n \n templateZonesLoading['popup'].setLoaded(false);\n templateZonesLoading['popupIzquierda'].setLoaded(false);\n templateZonesLoading['popupDerecha'].setLoaded(false);\n templateZonesLoading['popupIzquierdaA'].setLoaded(false);\n templateZonesLoading['popupDerechaA'].setLoaded(false);\n templateZonesLoading['popupIzquierdaB'].setLoaded(false);\n templateZonesLoading['popupCentroB'].setLoaded(false);\n templateZonesLoading['popupDerechaB'].setLoaded(false);\n templateZonesLoading['popupCentroC'].setLoaded(false);\n \n }\n const handleEdit = ()=>{\n setEditMode(true);\n setPopupName(popup.name);\n }\n const handleReturn = ()=>{\n setEditMode(false);\n }\n const handleSave = ()=>{\n Utils.Petition.post('/popups/update',\n {id: popup.id, name:popupName},\n (_)=>{\n let _popups = [...popups];\n for(let i = 0; i{\n setPopupName(event.target.value);\n }\n return (\n
    \n \n {!editMode && }\n {editMode && }\n {!editMode && }\n {editMode && }\n {editMode && }\n \n \n
    \n \n )\n}\nexport default Item;","import { useContext, useEffect, useState } from \"react\";\nimport { Alert, Form } from \"react-bootstrap\";\nimport { FaSave } from \"react-icons/fa\";\nimport { Button } from \"../../../../commonStyles\";\nimport { UserContext } from \"../../../../Context/User\";\nimport Utils from \"../../../../utils\";\nimport Item from \"./Item\";\n\nfunction AdminPopups({templateZonesLoading, setPopupStructure, page}){\n const { colorPalette } = useContext(UserContext);\n const [popups, setPopups] = useState([]);\n const [message, setMessage] = useState('');\n const [form, setForm] = useState({\n name: '',\n idpage: page.id\n })\n useEffect(()=>{\n Utils.Petition.get('/popups/idpage/'+page.id, (response)=>{\n setPopups(response.data);\n })\n }, []);\n const handleForm = (event)=>{\n setForm({...form, [event.target.name]: event.target.value});\n }\n const handleCreatePopup=(event)=>{\n event.preventDefault();\n setMessage(\"\");\n let valid = true;\n if(form.name===''){\n valid = false;\n setMessage(\"Ingresa un nombre por favor\")\n }\n if(valid){\n Utils.Petition.post('/popups', form, (response)=>{\n let _popups = [...popups];\n _popups.push(response.data);\n setPopups(_popups);\n \n });\n setForm({...form, name:''})\n }\n }\n return (\n <>\n

    Popups

    \n
    \n \n Título\n \n \n El popup tendrá este título y además se usará para identificarlo cuando agregue el evento que lo mostrará\n \n \n \n {\n message && {message}\n }\n
    \n \n
    \n \n
    \n
    \n
    \n
    \n {\n popups.map((popup, index)=>{\n return (\n \n )\n })\n }\n
    \n \n\n )\n \n}\nexport default AdminPopups;","import { useContext, useEffect, useState } from \"react\";\nimport { Form, FormGroup } from \"react-bootstrap\";\nimport { FaSave } from \"react-icons/fa\";\nimport { Button, StyleCheckbox } from \"../../../../commonStyles\";\nimport { AlertForm, ICON } from \"../../../../Components/SweetAlert\";\nimport { UserContext } from \"../../../../Context/User\";\nimport Utils from \"../../../../utils\";\n\nfunction AdminComments({ page }) {\n const { colorPalette } = useContext(UserContext);\n const [form, setForm] = useState({\n includeComment: '0',\n comment: '',\n })\n useEffect(() => {\n setForm({\n includeComment: page.comment,\n });\n }, [page]);\n const handleFormCheckbox = (event) => {\n setForm({ ...form, [event.target.name]: (event.target.checked) ? '1' : '0' });\n }\n\n const handleSaveComment = () => {\n Utils.Petition.post('/pages/update', {\n id: page.id,\n comment: form.includeComment\n },\n (response) => {\n AlertForm(ICON.SUCCESS, response.message, \"\");\n });\n\n }\n return (\n <>\n

    Comentarios

    \n \n \n \n \n \n \n \n \n
    \n \n
    \n
    \n \n )\n}\nexport default AdminComments;","import { Editor } from \"@tinymce/tinymce-react\";\nimport React, { useRef } from 'react'\nimport { Button } from \"../../commonStyles\";\nimport { Theme1 } from \"../../themes/Theme1\";\nimport { AlertForm, ICON } from \"../../Components/SweetAlert\";\nimport Utils from \"../../utils\";\n\nexport const EditorText = ({ content, setContent, page, inline = false, menubar = true }) => {\n const editorRef = useRef(null);\n const log = () => {\n if (editorRef.current) {\n setContent(editorRef.current.getContent());\n Utils.Petition.post('/comments', {\n comment: editorRef.current.getContent(),\n year: localStorage.getItem('year'),\n month: localStorage.getItem('month'),\n view: localStorage.getItem('view'),\n idfilter: localStorage.getItem('idfilter'),\n typeModel: 'page',\n idtype: page.id\n }, (response) => {\n AlertForm(ICON.SUCCESS, response.message, \"\", \"center\", 2500);\n });\n }\n };\n return (\n <>\n (editorRef.current = editor)}\n initialValue={content}\n init={{\n selector: \"textarea#classic\",\n width: \"100%\",\n height: \"Calc(100% - 45px)\",\n resize: false,\n inline,\n statusbar: false,\n language: \"es\",\n image_title: true,\n /* enable automatic uploads of images represented by blob or data URIs*/\n automatic_uploads: true,\n file_picker_types: \"image\",\n /* and here's our custom image picker*/\n file_picker_callback: function (cb, value, meta) {\n var input = document.createElement(\"input\");\n input.setAttribute(\"type\", \"file\");\n input.setAttribute(\"accept\", \"image/*\");\n input.onchange = function () {\n var file = this.files[0];\n if (file.type.slice(0, 5) === \"image\") {\n let reader = new FileReader();\n reader.onload = function (e) {\n if (meta.filetype === 'image') {\n cb(e.target.result, { alt: file.name });\n }\n };\n reader.readAsDataURL(file);\n }\n };\n input.click();\n },\n\n menubar: menubar ? \"file edit view insert format tools table\" : false,\n plugins: [\n \" advlist anchor autolink codesample fullscreen help image imagetools charmap print\",\n \" lists link media noneditable preview emoticons insertdatetime hr\",\n \" searchreplace table template visualblocks wordcount code pagebreak \"\n ],\n templates: [\n {\n title: \"Non-editable Example\",\n description: \"Non-editable example.\",\n content: \"table1\"\n },\n {\n title: \"Simple Table Example\",\n description: \"Simple Table example.\",\n content: \"table2\"\n }\n ],\n\n toolbar:\n \"undo redo | bold italic | forecolor backcolor | template codesample | link image | alignleft aligncenter alignright alignjustify | bullist numlist | code pagebreak | fontselect fontsizeselect styleselect \",\n\n tinydrive_token_provider: function (success, failure) {\n success({\n token:\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqb2huZG9lIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.Ks_BdfH4CWilyzLNk8S2gDARFhuxIauLa8PwhdEQhEo\"\n });\n },\n content_style:\n \"body { font-family:Helvetica,Arial,sans-serif; font-size:14px }\"\n }}\n />\n \n \n )\n}","import styled from \"styled-components\";\n\nexport const ContainerCustom = styled.div`\n display: none;\n height: 100%;\n &.active {\n display: block;\n }\n`;","import { ContainerCustom } from \"./styles\"\n\nexport const Text = ({ showText, content }) => {\n return (\n \n )\n}\n","import { useContext, useState } from \"react\";\nimport { useEffect } from \"react\";\nimport { Form, FormGroup, Table } from \"react-bootstrap\";\nimport { FaSave } from \"react-icons/fa\";\nimport { Button, StyleCheckbox } from \"../../../../commonStyles\";\nimport { AlertForm, ICON } from \"../../../../Components/SweetAlert\";\nimport { UserContext } from \"../../../../Context/User\";\nimport Utils from \"../../../../utils\";\nimport { WrapperButton } from \"../../styles\";\n\nfunction AdminFilters({page}){\n const { colorPalette } = useContext(UserContext);\n const [sections, setSections]=useState([]);\n const [form, setForm] = useState({idpage:page.id, filters:[]});\n useEffect(()=>{\n Utils.Petition.get('/portals-filter', (response) => {\n let _filter = [];\n for (let i = 0; i < response.data.length; i++) {\n _filter.push({ value: response.data[i].filter.id.toString(), description: response.data[i].filter.name, default: response.data[i].default})\n }\n Utils.Petition.get('/hide-filters/page/'+page.id, (response)=>{\n let _form = JSON.parse(JSON.stringify(form));\n for (let i = 0; i < response.data.length; i++) {\n _form.filters.push(response.data[i].idfilter.toString());\n }\n setForm(_form);\n })\n setSections(_filter);\n });\n }, []);\n\n const handleChange = (event) =>{\n let _form = JSON.parse(JSON.stringify(form));\n const checked = event.target.checked;\n const id = event.target.name.split('-')[1];\n if(checked){\n if(!_form.filters.includes(id)){\n _form.filters.push(id);\n }\n }else{\n if(_form.filters.includes(id)){\n _form.filters.splice(_form.filters.indexOf(id), 1);\n }\n }\n setForm(_form);\n }\n const saveHideFilters = ()=>{\n Utils.Petition.post('/hide-filters', form, (response)=>{\n AlertForm(ICON.SUCCESS, response.message, \"\");\n });\n }\n\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n {\n sections.map((section, i)=>{\n return (\n \n \n \n \n \n )\n }) \n }\n \n
    Ocultar#Nombre
    \n \n \n \n \n {section.value}{section.description}
    \n
    \n \n
    \n \n
    \n
    \n
    \n )\n}\nexport default AdminFilters;","import { Spinner } from \"react-bootstrap\"\n\nexport const ButtonLoading = ({text = 'Cargando...'}) => {\n return (\n {text} \n )\n}\n","import { useEffect, useState,useContext } from \"react\";\nimport { Table } from \"react-bootstrap\";\nimport { FaSave } from \"react-icons/fa\";\nimport Utils from \"../../../../utils\";\nimport { WrapperButton } from \"../../styles\";\nimport { AlertForm, ICON } from \"../../../../Components/SweetAlert\";\nimport { Loading } from \"../../../../Components/Loading\";\nimport { Button, StyleCheckbox } from \"../../../../commonStyles\";\nimport {ButtonLoading} from \"../../../../Components/Loading/ButtonLoading\";\nimport { UserContext } from \"../../../../Context/User\";\nimport { BsCheck, BsSquare } from \"react-icons/bs\";\n\nfunction ListModules({page,filter,globalProps,containerComponent}) {\n const { colorPalette } = useContext(UserContext);\n const [modules, setModules] = useState([]);\n const [modulesChecked, setModulesChecked] = useState([]);\n const [isLoadingTable, setIsLoadingTable] = useState(true);\n const [isLoadingSave, setisLoadingSave] = useState(false);\n\n useEffect(()=>{ \n setModulesChecked([]);\n if(filter && filter.page && filter.page > 0 ){\n Utils.Petition.get(`/pages-modules/page/idpage/${filter.page}/filter/${filter.filter}/year/${filter.year}/month/${filter.month}`, (response) => {\n setModules(response.data);\n },(e) => {\n console.log(e);\n },() => {\n setIsLoadingTable(false);\n })\n } \n }, []);\n\n const checkModule = (module ) => {\n console.log(modulesChecked.includes(module));\n if(!modulesChecked.includes(module)){\n setModulesChecked([...modulesChecked,module])\n }else{\n let _modulesChecked = [...modulesChecked];\n _modulesChecked.splice(_modulesChecked.indexOf(module),1)\n setModulesChecked(_modulesChecked)\n }\n }\n\n const allCheckModules = (e) => {\n setModulesChecked((modulesChecked.length === modules.length) ? []: modules);\n }\n\n const handleSaveModules = (event) => {\n event.preventDefault();\n if(modulesChecked.length > 0 ){\n setisLoadingSave(true);\n const saveModules = []\n for (let index = 0; index < modulesChecked.length; index++) {\n const element = modulesChecked[index];\n const module = {\n idmodule:element.id,\n idpage:page.id,\n idfilter:localStorage.getItem('idfilter'),\n }\n saveModules.push(module);\n }\n \n if(saveModules.length === modulesChecked.length){\n Utils.Petition.post(`/pages-modules/copy-modules/`,{modules:saveModules},\n () => {\n containerComponent.setShowCustomPageComponent(false)\n AlertForm(ICON.SUCCESS, 'Módulos copiados correctamente');\n globalProps.setReloadContent(true);\n },(e) => {\n console.log(e)\n }, () => {\n setisLoadingSave(false);\n })\n }\n }else{\n AlertForm(ICON.WARNING, 'Selecciona al menos un módulo para copiar');\n } \n \n }\n\n \n return(\n <>\n {isLoadingTable && }\n {\n modules.length > 0 &&\n
    \n \n {!isLoadingTable && \n \n \n \n \n \n \n \n \n \n {\n modules.map((el,idx) => {\n return(\n \n \n \n \n \n \n )\n })\n }\n \n
    \n \n \n \n \n ModuloAño / MesVista
    \n {/* \n checkModule(e,el)}/>\n \n */}\n {modulesChecked.includes(el) ? checkModule(el)}/> : checkModule(el)}/>}\n \n {el.name}{el.year === null ? \"Todos\" : el.year} / {el.month === null ? \"Todos\" : el.month}{el.view === null ? \"Todas\" : el.view}
    }\n \n
    \n \n
    \n
    \n }\n \n \n )\n}\n\nexport default ListModules;","import { useContext, useEffect, useState } from \"react\";\nimport { styleTheme } from \"../../../../themes/themeSelect\";\nimport Utils from \"../../../../utils\";\nimport AsyncSelect from 'react-select/async';\n\nimport { FaSave } from \"react-icons/fa\";\nimport { WrapperButton } from \"../../styles\";\nimport ListModules from \"./ListModules\";\nimport { AlertForm, ICON } from \"../../../../Components/SweetAlert\";\nimport { Button } from \"../../../../commonStyles\";\nimport { UserContext } from \"../../../../Context/User\";\n\nfunction CopyModules({page,globalProps,containerComponent}) {\n const { colorPalette } = useContext(UserContext);\n const [filters, setFilters] = useState([]);\n const [Allpages, setAllpages] = useState([]);\n const [pageSeleted, setPageSeleted] = useState({})\n const [pageTemplateActual, setPageTemplateActual] = useState(page.template);\n const [showListModule, setShowListModule] = useState(false);\n const [filterOfModules, setFilterOfModules] = useState({});\n const [templates, setTemplates] = useState([]);\n const [form, setForm] = useState({\n page:null,\n filter:null,\n month:null,\n year:\"\"\n });\n const filter_name = Utils.getConfigPortal('filter_name');\n const months = ['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre','Todos'];\n useEffect(()=>{\n Utils.Petition.get('/portals-filter', (response) => {\n let _filter = [];\n for (let i = 0; i < response.data.length; i++) {\n _filter.push({ value: response.data[i].filter.id.toString(), description: response.data[i].filter.name, default: response.data[i].default})\n }\n setFilters(_filter);\n });\n Utils.Petition.get('/pages/portal/'+localStorage.getItem('idportal'),(response) => {\n setAllpages(response.data)\n })\n setShowListModule(false);\n Utils.Petition.get('/templates/',(response) => {\n setTemplates(response.data)\n })\n \n }, []);\n\n const loadPages = (inputValue) => {\n if (inputValue.length > 2) {\n return new Promise((resolve)=>{\n setTimeout(()=>{\n const searchPages = []; \n Allpages.filter(e => e.name.toLowerCase().includes(inputValue.toLowerCase())).map((el) => {\n const objPage = {}\n objPage.value = el.id;\n objPage.label = el.name;\n searchPages.push(objPage);\n })\n resolve(searchPages)\n \n },100)\n })\n }\n return new Promise((resolve) => resolve([]));\n }\n\n const loadFilter = (inputValue) => {\n if (inputValue.length > 2) {\n return new Promise((resolve)=>{\n setTimeout(()=>{\n const searchFilter = []; \n filters.filter(e => e.description.toLowerCase().includes(inputValue.toLowerCase())).map((el) => {\n const objPage = {}\n objPage.value = el.value;\n objPage.label = el.description;\n searchFilter.push(objPage);\n })\n resolve(searchFilter)\n \n },100)\n })\n }\n return new Promise((resolve) => resolve([]));\n }\n\n const LoadMonths = () => {\n return new Promise((resolve)=>{\n setTimeout(()=>{\n const monthsResponse = months.map((e, idx) => {\n return({\n value: idx,\n label: e\n })\n })\n resolve(monthsResponse)\n \n },100)\n })\n }\n const handleform = (event) => {\n if(event && event.target){\n setForm({...form,[event.target.name]:event.target.value === \"\" ? null : event.target.value})\n }\n }\n const ListModule = (event) => {\n event.preventDefault();\n if(validate()){\n \n setFilterOfModules({\n page:form.page.value,\n filter:form.filter.value,\n month:form.month === null ? null : form.month.value,\n year:form.year === \"\" ? null : form.year\n });\n setShowListModule(true);\n }\n \n }\n const backModule = () => {\n setShowListModule(false);\n }\n\n const validate = () => {\n if(form.page === null){\n AlertForm(ICON.WARNING, 'Selecciona una página');\n return false;\n }\n if(form.filter === null){\n AlertForm(ICON.WARNING, 'Selecciona una región');\n return false;\n }\n return true;\n }\n\n useEffect(() => {\n if(form.page != null){\n Utils.Petition.get('/pages/id/'+form.page.value, (response) => {\n setPageSeleted(response.data[0]);\n })\n }\n \n }, [form.page])\n\n const changeTemplate = () => {\n if(form.page != null && pageSeleted.template != undefined){\n Utils.Petition.post('/pages/update', {\n id: page.id,\n template: pageSeleted.template\n },(response) => {\n setPageTemplateActual(pageSeleted.template)\n AlertForm(ICON.SUCCESS, response.message, \"\");\n }\n );\n }\n \n }\n\n\n return(\n <>\n

    Copiar Modulos

    \n Todos los módulos seleccionados se copiarán en la pagina {Allpages.filter(e => e.path === page.path)[0]?.name } en:
    {filter_name} >
    { filters.filter(e => e.value === localStorage.getItem('idfilter'))[0]?.description }
    \n {\n !showListModule &&\n
    \n
    \n \n { e !== null ? setForm({ ...form, page:e }) : setForm({ ...form, page:null}) }}\n theme={theme => (styleTheme(theme, colorPalette?.primary))}\n />\n
    \n
    \n {\n pageSeleted.template !== undefined && pageSeleted.template !== pageTemplateActual &&\n
    \n

    Para continuar debes cambiar el diseño de página a {templates.filter(e => e.code === pageSeleted.template)[0].name }.

    \n \n
    \n }\n
    \n
    \n \n { e !== null ? setForm({ ...form, filter:e }) : setForm({ ...form, filter:null}) }}\n theme={theme => (styleTheme(theme, colorPalette?.primary))}\n required\n />\n
    \n
    \n \n { e !== null ? setForm({ ...form, month:e }) : setForm({ ...form, month:null}) }}\n theme={theme => (styleTheme(theme, colorPalette?.primary))}\n /> \n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n }\n {\n showListModule &&\n <>\n \n
    \n \n
    \n \n }\n \n \n \n \n )\n}\nexport default CopyModules;","import Utils from \".\";\nimport { counter } from \"../App\"\n\nexport const registerVisit = (timeSpent, amountEndpoint, inactivity,reportByHour = false) => {\n console.log(counter.number, amountEndpoint,counter.startTime.length,counter.endTime.length)\n let ocupation = JSON.parse(localStorage.getItem(\"user_ocupation\"));\n let tiempoRebote = JSON.parse(localStorage.getItem(\"config\")).tiempo_rebote;\n \n let data = {\n client: localStorage.getItem('client'),\n filter: localStorage.getItem('filter'),\n portal: localStorage.getItem('portal'),\n business: localStorage.getItem('business'),\n rolAdmin: localStorage.getItem('rolAdmin'),\n rolContent: localStorage.getItem('rolContent'),\n year: localStorage.getItem('year'),\n month: localStorage.getItem('month'),\n view: localStorage.getItem('view'),\n page: localStorage.getItem(\"pageName\"),\n department: ocupation.department,\n position: ocupation.position,\n idUserPlatform: Number(localStorage.getItem(\"idUserPlatform\"))\n }\n if(reportByHour) { /* reporte cada hora saber la concurrencia */\n Utils.Petition.post('/users/visit', {\n ...data,\n cargaPagina: localStorage.getItem(\"cargaPagina\"),\n permanencia: \"N/A\",\n tasaRebote: \"N/A\",\n idUserPlatform: \"ReporteHora\"\n });\n } else if((counter.number && counter.number === counter.startTime.length && counter.number === counter.endTime.length)) { /* Cambia de pagina */\n \n let calcInitialTime = Math.min(...counter.startTime);\n let calcEndTime = Math.max(...counter.endTime);\n let cargaPagina = counter.enabled ? calcEndTime : calcEndTime - calcInitialTime;\n localStorage.setItem(\"cargaPagina\", cargaPagina);\n Utils.Petition.post('/users/visit', {\n ...data,\n cargaPagina: cargaPagina,\n permanencia: timeSpent,\n tasaRebote: Number(tiempoRebote) * 1000 > timeSpent /* tiempo de rebote < tiempo permanencia, si se cumple es true tasa de rebote */\n });\n } else if(inactivity) { /* Registro por inactividad */\n\n let cargaPagina = localStorage.getItem(\"cargaPagina\");\n Utils.Petition.post('/users/visit', {\n ...data,\n cargaPagina: Number(cargaPagina),\n permanencia: timeSpent,\n tasaRebote: false \n });\n\n } else if(counter.number === 0 && amountEndpoint === 0 && counter.startTime.length === 0 && counter.endTime.length === 0) { /* Registro por post inactividad y cambia de pagina*/\n let cargaPagina = localStorage.getItem(\"cargaPagina\");\n Utils.Petition.post('/users/visit', {\n ...data,\n cargaPagina: cargaPagina,\n permanencia: timeSpent,\n tasaRebote: Number(tiempoRebote) * 1000 > timeSpent /* tiempo de rebote < tiempo permanencia, si se cumple es true tasa de rebote */\n });\n } else { /* LA pagina no cargo en su totalidad */\n Utils.Petition.post('/users/visit', {\n ...data,\n cargaPagina: timeSpent,\n permanencia: timeSpent,\n tasaRebote: true \n });\n }\n counter.number = 0; \n counter.startTime = [];\n counter.endTime = [];\n counter.enabled = false;\n}\n","import { useEffect, useState, useRef, useContext, useMemo } from \"react\";\nimport { Container, Breadcrumb } from \"react-bootstrap\";\nimport { Button } from \"../commonStyles\";\nimport Utils from \"../utils\";\nimport CustomPageComponent from \"./custom-page-components/CustomPageComponent\";\nimport CustomPageComponentGroup from \"./custom-page-components/CustomPageComponentGroup\";\nimport AdminPopups from \"./custom-page-components/popups/admin/AdminPopups\";\nimport Popup from \"./custom-page-components/popups/view/Popup\";\nimport { AggButtonWrapper, AggWrapper, AggWrapperContainer, AggWrapperClose, PageIdWrapper, StyleComentario, ContainerEditor, ContainerPage, DivEditor, DivClose, BreadcrumbWrapper } from \"./styles\";\nimport { FaPlus } from \"react-icons/fa\"\nimport { Helmet } from 'react-helmet'\nimport AdminComments from \"./custom-page-components/comments/admin/AdminComments\";\nimport React from \"react\";\nimport { EditorText } from \"./Editor\";\nimport { Text } from \"./Editor/text\";\nimport { ContainerCustom } from \"./Editor/styles\";\nimport { FaHome } from \"react-icons/fa\";\nimport AdminFilters from \"./custom-page-components/hide-filters/admin/AdminFilters\";\nimport CopyModules from \"./custom-page-components/copy-modules/admin/CopyModules\";\nimport { UserContext } from \"../Context/User\";\nimport { registerVisit } from \"../utils/RegisterVisit\";\nimport { counter } from \"../App\";\n\nfunction PageRoute({ globalProps, page, ComponentTagName }) {\n const { hasPermission, colorPalette } = useContext(UserContext);\n const [popupStructure, setPopupStructure] = useState({\n id: 0,\n show: false,\n title: ''\n });\n const [breadcrumbs, setBreadcrumbs] = useState([]);\n\n const [showCustomPageComponent, setShowCustomPageComponent] = useState(false);\n \n const [loadedPopup, setLoadedPopup] = useState(false);\n const [loadedPopupIzquierda, setLoadedPopupIzquierda] = useState(false);\n const [loadedPopupDerecha, setLoadedPopupDerecha] = useState(false);\n const [loadedPopupIzquierdaA, setLoadedPopupIzquierdaA] = useState(false);\n const [loadedPopupDerechaA, setLoadedPopupDerechaA] = useState(false);\n const [loadedPopupIzquierdaB, setLoadedPopupIzquierdaB] = useState(false);\n const [loadedPopupCentroB, setLoadedPopupCentroB] = useState(false);\n const [loadedPopupDerechaB, setLoadedPopupDerechaB] = useState(false);\n const [loadedPopupCentroC, setLoadedPopupCentroC] = useState(false);\n \n const [content, setContent] = useState(\"\");\n const btnComment = useRef(null);\n const showComment = useRef(null);\n const showEditor = useRef(null);\n const showText = useRef(null);\n const textbtn = useRef(null);\n const textbtn2 = useRef(null);\n\n const templateZonesLoading = {\n popup: { loaded: loadedPopup, setLoaded: setLoadedPopup },\n popupIzquierda: { loaded: loadedPopupIzquierda, setLoaded: setLoadedPopupIzquierda },\n popupDerecha: { loaded: loadedPopupDerecha, setLoaded: setLoadedPopupDerecha },\n popupIzquierdaA: { loaded: loadedPopupIzquierdaA, setLoaded: setLoadedPopupIzquierdaA },\n popupDerechaA: { loaded: loadedPopupDerechaA, setLoaded: setLoadedPopupDerechaA },\n popupIzquierdaB: { loaded: loadedPopupIzquierdaB, setLoaded: setLoadedPopupIzquierdaB },\n popupCentroB: { loaded: loadedPopupCentroB, setLoaded: setLoadedPopupCentroB },\n popupDerechaB: { loaded: loadedPopupDerechaB, setLoaded: setLoadedPopupDerechaB },\n popupCentroC: { loaded: loadedPopupCentroC, setLoaded: setLoadedPopupCentroC },\n };\n\n const containerComponent = {setShowCustomPageComponent}\n useEffect(() => {\n let timeActive = 0;\n let timeActiveInitial = performance.now();\n let timeActiveFinal;\n let isInactiveByTime = false;\n let tiempoInactividad = JSON.parse(localStorage.getItem(\"config\")).tiempo_inactividad;\n tiempoInactividad = Number(tiempoInactividad) * 60000;\n const handleVisibility = () => {\n let visibilityState = document.visibilityState\n \n if (visibilityState === 'hidden') { // Cuando la página se en segundo plano\n timeActiveFinal = performance.now();\n if(isInactiveByTime) timeActiveInitial = timeActiveFinal;\n timeActive += (timeActiveFinal - timeActiveInitial);\n }\n if (visibilityState === 'visible') { // Cuando la página está octivo\n timeActiveInitial = performance.now();\n }\n }\n document.addEventListener(\"visibilitychange\", handleVisibility);\n let programarTiempo;\n const inactivityByTime = () => {\n \n let amountEndpoint = counter.number;\n \n timeActiveFinal = performance.now();\n timeActive += (timeActiveFinal - timeActiveInitial);\n registerVisit(timeActive, amountEndpoint, true);\n let idUserPlatform = Date.parse(new Date());\n localStorage.setItem(\"idUserPlatform\", idUserPlatform);\n timeActive = 0;\n isInactiveByTime = true;\n }\n programarTiempo = setTimeout(inactivityByTime, tiempoInactividad);\n const handleClickEvent = (e) => {\n if(programarTiempo) clearTimeout(programarTiempo);\n programarTiempo = setTimeout(inactivityByTime, tiempoInactividad);\n console.log({timeActive})\n if(isInactiveByTime) {\n timeActiveInitial = performance.now();\n isInactiveByTime = false;\n }\n } \n \n let $mainContent = document.getElementById(\"main-content\");\n $mainContent.addEventListener(\"click\", handleClickEvent);\n $mainContent.addEventListener(\"scroll\",handleClickEvent);\n \n\n /* cierre de ventana, pestaña o recarga la pagina*/\n let handleBeforeUnload = (e) => {\n let amountEndpoint = counter.number;\n registerVisit(timeActive, amountEndpoint, false);\n delete e['returnValue'];\n }\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\n\n return () => {\n timeActiveFinal = performance.now();\n timeActive += (timeActiveFinal - timeActiveInitial);\n let amountEndpoint = counter.number;\n clearTimeout(programarTiempo);\n $mainContent.removeEventListener(\"click\", handleClickEvent)\n $mainContent.removeEventListener(\"scroll\", handleClickEvent);\n document.removeEventListener(\"visibilitychange\", handleVisibility);\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\n registerVisit(timeActive, amountEndpoint, false);\n }\n }, [])\n \n useEffect(() => {\n /* debugger; */\n\n let _filters = JSON.parse(localStorage.getItem('filters'));\n \n Utils.removeOptions(globalProps.filterTag.current);\n for (let i = 0; i < _filters.length; i++) {\n globalProps.filterTag.current.add(new Option(_filters[i].description, _filters[i].value))\n }\n globalProps.filterTag.current.value=localStorage.getItem('idfilter');\n if(page.hide_filters.length){\n let useDefault=false;\n for(let i in page.hide_filters){\n for (let j=0; j {\n setBreadcrumbs(response.data);\n });\n Utils.Petition.get('/comments/type-model/page/type-id/' + page.id + '/year/' + localStorage.getItem('year') + '/month/' + localStorage.getItem('month')+ '/view/' + localStorage.getItem('view')+'/idfilter/'+localStorage.getItem('idfilter'),\n (response) => {\n setContent(response.data?.comment);\n })\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [page]);\n\n const handleMenuCustomPageComponent = () => {\n setShowCustomPageComponent(!showCustomPageComponent);\n }\n\n const handleComments = () => {\n btnComment.current.classList.toggle('active');\n showComment.current.classList.toggle('active');\n showText.current.classList.add('active');\n showEditor.current.classList.remove('active');\n if(hasPermission.edit){\n textbtn.current.classList.remove('btn-inactive');\n textbtn2.current.classList.add('btn-inactive');\n }\n }\n\n const handleEditor = () => {\n showEditor.current.classList.toggle('active');\n showText.current.classList.toggle('active');\n textbtn.current.classList.toggle('btn-inactive');\n textbtn2.current.classList.toggle('btn-inactive');\n }\n\n return (\n \n {\n globalProps.editMode &&\n <>\n {`CCE | ${page.name}`} \n \n \n \n \n\n {\n showCustomPageComponent &&\n \n \n \n \n \n\n \n } />\n } />\n } />\n } />\n \n \n \n }\n \n \n }\n \n \n \n Inicio\n {\n breadcrumbs.map((item, i) => (\n \n {item.page.name}\n \n ))\n }\n\n \n \n \n \n \n \n \"arrow\"\n Comentarios\n \n \n \n \"close\"\n \n \n \n \n \n \n \n\n { \n hasPermission.edit &&\n \n }\n \n \n )\n}\nexport default PageRoute;","import { useContext } from \"react\";\nimport { UserContext } from \"../Context/User\";\nimport { PageNotFoundImage, PageNotFoundTitle, PageNotFoundWrapper, PageNotFoundDescription } from \"./styles\";\n\nfunction PageNotFound(){\n\n const { colorPalette } = useContext(UserContext);\n return (\n \n \n \"not_found\"/\n \n Error 404\n Página no encontrada\n \n )\n}\nexport default PageNotFound;","import {Route, Switch} from 'react-router-dom';\nimport React, { useState, useEffect } from 'react';\n// All templates\nimport AllTemplates from '../templates';\nimport Utils from '../utils';\nimport PageRoute from './PageRoute';\nimport PageNotFound from './PageNotFound';\nfunction Templates({globalProps}){\n const [pages, setPages] = useState([]);\n const [load, setload] = useState(false); \n useEffect(() => {\n Utils.Petition.get(\n '/pages/portal/'+localStorage.getItem('idportal'),\n (response)=>{\n setPages(response.data);\n setload(true);\n }\n );\n }, []);\n return (\n
    \n {\n load &&\n \n {\n pages.map(page => {\n const ComponentTagName = AllTemplates[page.template || 'Default'];\n return ( } />)\n })\n }\n }/>\n \n }\n {