{"version":3,"sources":["styles/global.js","components/Accordion/Accordion.component.js","components/Button/Button.styled.js","components/Icons/Icons.component.js","components/Tooltip/Tooltip.component.js","components/Tooltip/Tooltip.styled.js","store/modules/configuration/configuration.reducer.js","components/Acessibility/Acessibility.component.js","store/modules/configuration/configuration.actions.js","components/BackTop/BackTop.styled.js","components/BackTop/BackTop.component.js","components/Button/Button.component.js","services/urls.js","store/createStore.js","store/persistReducer.js","store/modules/loader/loader.reducer.js","store/modules/rootReducer.js","store/modules/rootSaga.js","store/index.js","services/history.js","services/api.js","store/modules/loader/loader.actions.js","contexts/menu.context.js","modules/Helper/tipoMenuPortal.js","utils/breadcrumb.js","hooks/useBreadcrumb.js","components/Breadcrumb/Breadcrumb.styled.js","components/Breadcrumb/Breadcrumb.component.js","components/Card/Card.component.js","components/Card/Card.styled.js","components/Col/Col.component.js","components/Collapse/Collapse.component.js","components/Content/Content.styled.js","components/Content/Content.component.js","components/RangePicker/RangePicker.styled.js","components/RangePicker/RangePicker.component.js","components/Divider/Divider.component.js","components/Divider/Divider.styled.js","components/Drawer/Drawer.component.js","components/Drawer/Drawer.styled.js","modules/Helper/FileExportConstants.js","components/Exportacao/Exportacao.styled.js","components/Dropdown/Dropdown.component.js","components/Exportacao/Exportacao.component.js","components/Typography/Typography.styled.js","components/MapButton/MapButton.styled.js","components/MapButton/MapButton.component.js","components/Footer/Footer.styled.js","components/Footer/Footer.component.js","components/FormV3/FormV3.component.js","components/Header/Header.styled.js","components/Header/Header.component.js","components/Icon/Icon.styled.js","components/SectionTitle/SectionTitle.styled.js","components/SectionTitle/SectionTitle.component.js","components/Informacao/style.js","components/Informacao/Informacao.component.js","components/InformacaoFilter/style.js","hooks/removeDiacritic.js","components/InformacaoFilter/InformacaoFilter.component.js","components/Internationalization/Internationalization.component.js","components/Layout/Layout.component.js","components/Layout/Layout.styled.js","components/Loader/Loader.component.js","components/Logo/Logo.styled.js","components/Logo/Logo.component.js","components/Map/Map.styled.js","components/Map/Map.component.js","utils/keys.js","modules/Helper/iconEnum.js","modules/Helper/getUrl-helper.js","components/Input/Input.styled.js","components/Menu/Menu.styled.js","components/Menu/Menu.component.js","components/Modal/Modal.styled.js","components/Modal/Modal.component.js","components/Row/Row.component.js","components/Sider/Sider.styled.js","components/Sider/Sider.component.js","components/Theme/Theme.component.js","components/Tag/Tag.component.js","components/Tag/Tag.styled.js","components/Title/Title.styled.js","components/Title/Title.component.js","components/Typography/Typography.component.js","components/Input/Input.component.js","components/InputNumber/InputNumber.component.js","components/InputNumber/InputNumber.styled.js","components/Select/Select.component.js","components/Select/Select.styled.js","components/Socials/Socials.styled.js","components/Socials/SocialsList.js","components/Socials/Socials.component.js","components/Table/Table.styled.js","components/Table/Table.component.js","modules/Helper/tipo-visao.js","components/Table/Filter.component.js","components/Tree/Tree.component.js","components/Result/Result.component.js","components/NotFound/NotFound.component.js","components/PageTitle/PageTitle.styled.js","components/PageTitle/PageTitle.component.js","components/ImageLink/ImageLink.styled.js","components/ImageLink/ImageLink.component.js","components/ImageButton/ImageButton.styled.js","components/ImageButton/ImageButton.component.js","components/List/List.component.js","components/List/List.styled.js","components/ButtonGoBack/ButtonGoBack.styled.js","components/ButtonGoBack/ButtonGoBack.component.js","components/ReCaptcha/reCacptcha.component.js","components/Notification/Notification.component.js","services/apiFM.js","services/FileManager/file-manager.service.js","modules/_layouts/default/default.layout.js","components/InformacaoDashboard/style.js","components/InformacaoDashboard/InformacaoDashboard.component.js","modules/Helper/tipoAcesso.js","components/CardImagemDashboard/style.js","components/CardImagemDashboard/cardImagemDashboard.component.js","components/YoutubePlayer/style.js","components/YoutubePlayer/YoutubePlayer.component.js","modules/ESic/context/listaGraficoContext.js","components/Grafico/windowListener.component.js","modules/Helper/tamanhoHomeItemEnum.js","modules/Helper/calcularAlturaLargura.js","modules/Helper/calcularTamanhoFonte.js","modules/Dashboard/components/mediaStyle.js","components/Grafico/style.js","components/Popover/Popover.component.js","components/Grafico/Filter.component.js","modules/ESic/services/esic.service.js","modules/Dashboard/context/listaHomeGraficoContext.js","components/Grafico/ExercicioSelect.component.js","modules/Dashboard/services/dashboard.service.js","components/Grafico/DonutGraphic.component.js","components/Grafico/PieGraphic.component.js","components/Grafico/BarGraphic.component.js","components/Grafico/ColumnGraphic.component.js","components/Grafico/EmptyCardGraphic.component.js","modules/Dashboard/components/StatisticCard.component.js","modules/Dashboard/containers/dashboard.container.styled.js","modules/Dashboard/containers/dashboard.container.js","modules/FAQ/components/FaqItem/style.js","modules/FAQ/components/FaqItem/faqitem.component.js","modules/FAQ/containers/faq.container.js","modules/FAQ/services/faq.service.js","modules/DadosAbertos/components/style.js","modules/Modulos/components/Grid/Footer.styled.js","modules/Modulos/components/Grid/UltimaAtualizacao.component.js","modules/Modulos/services/moduloVisao.service.js","modules/DadosAbertos/components/dadosAbertos.component.js","modules/DadosAbertos/containers/dadosAbertos.container.js","modules/DadosAbertos/services/dadosAbertos.service.js","modules/Helper/FiltrosPeriodicidade.js","modules/ESic/components/visoes.component.js","modules/ESic/containers/esic.container.js","services/modulos.service.js","modules/Helper/chave-modulo-constants.js","modules/Sumario/containers/sumario.container.js","modules/EstruturaOrganizacional/components/styles.js","modules/EstruturaOrganizacional/components/treeViewEstruturaOrganizacional.component.js","modules/EstruturaOrganizacional/containers/estruturaOrganizacional.container.js","modules/EstruturaOrganizacional/services/estruturaOrganizacional.service.js","modules/EstruturaOrganizacional/containers/style.js","modules/Helper/chooseIconFile.js","modules/EstruturaOrganizacional/containers/estruturaOrganizacionalDetalhe.container.js","components/EmManutencao/EmManutencao.styled.js","components/EmManutencao/EmManutencao.component.js","modules/Glossario/componentes/style.js","modules/Glossario/constants/alfabeto.js","modules/Glossario/componentes/glossario-buttons.component.js","modules/Glossario/containers/style.js","modules/Glossario/containers/glossario.container.js","modules/Glossario/services/glossario.service.js","modules/Helper/querystring-helper.js","modules/Helper/modoVisao.js","modules/Helper/numeroQuantidadeRegistros.js","modules/Helper/searchParamsFilters.js","modules/Helper/searchString-helper.js","contexts/url.context.js","modules/Modulos/components/Grid/Header.component.js","modules/Helper/tipo-agrupamento.js","modules/Helper/tipoColuna.js","modules/Modulos/components/Totalizadores/Totalizadores.component.js","modules/Modulos/components/Grid/Footer.component.js","modules/BuscaAvancada/services/buscaAvancada.service.js","modules/Modulos/components/Grid/arquivos/ButtonLinkFileManager.js","modules/Modulos/components/Grid/arquivos/ButtonDowloadFileManager.js","modules/Modulos/components/Grid/arquivos/ButtonLinkAnexo.js","modules/Modulos/components/Grid/arquivos/arquivos.form.component.js","modules/Modulos/services/arquivos.service.js","modules/Modulos/components/Grid/TableDinamic.component.js","modules/Modulos/components/Grid/FiltroPeriodicidadeModuloDinamico.component.js","modules/Modulos/ModuloDinamico.component.js","modules/Helper/hooks/debounce.hook.js","modules/Modulos/ModuloFixo/styles.js","modules/Modulos/components/styles.js","modules/Modulos/components/treeViewModuloFixo.component.js","modules/Modulos/ModuloFixo/ModuloFixo.component.js","modules/Modulos/services/moduloFixo.service.js","modules/DetalheVisaoAnalitica/services/detalheVisaoAnalitica.service.js","modules/DetalheVisaoAnalitica/components/style.js","modules/DetalheVisaoAnalitica/components/periodicidadeNavigation.component.js","modules/Helper/tipoDetalheAnalitica.js","modules/DetalheVisaoAnalitica/components/Tabela.component.js","modules/DetalheVisaoAnalitica/components/listaAnexos.component.js","modules/DetalheVisaoAnalitica/containers/detalheVisaoAnalitica.container.js","modules/Helper/tipoFiltro.js","modules/BuscaAvancada/components/FiltrosAvancados/FiltrosAvancados.styled.js","modules/BuscaAvancada/components/FiltrosAvancados/FiltrosAvancados.component.js","modules/Helper/transformaDataParaAmericano-helper.js","modules/BuscaAvancada/components/ShowFiltros/ShowFiltros.component.js","modules/BuscaAvancada/containers/buscaAvancada.container.js","modules/Modulos/containers/visaoItem.container.js","modules/Modulos/services/visaoItem.service.js","modules/FaleConosco/components/faleConosco.form.component.js","modules/FaleConosco/services/faleconosco.service.js","modules/FaleConosco/containers/faleConosco.js","modules/Autenticidade/components/autenticidadeValidacao.styled.js","modules/Helper/statusAutenticidade.js","modules/Autenticidade/components/autenticidadeValidacao.component.js","modules/Autenticidade/components/autenticidade.styled.js","modules/Autenticidade/components/autenticidade.form.component.js","modules/Autenticidade/services/autenticidade.service.js","modules/Autenticidade/containers/autenticidade.js","components/Grafico/LineGraphic.component.js","modules/Estatisticas/components/GraficoAnos.component.js","modules/Estatisticas/services/Estatisticas.service.js","modules/Estatisticas/components/GraficoVisoes.component.js","modules/Estatisticas/components/FiltroExercicio.component.js","modules/Estatisticas/containers/Estatisticas.js","routes/Route.js","routes/routes.service.js","routes/index.js","App.js","index.js"],"names":["highContrastColors","GlobalStyle","createGlobalStyle","props","theme","highContrast","Accordion","styled","_Collapse","_ref","zoomFonte","Button","_Button","ml","_ref2","mr","_ref3","color","Icons","Tooltip","_Tooltip","INITIAL_STATE","titulo","corFonteTituloPortal","corFonte","corFundoGrid","corFonteGrid","corFonteRodape","corTema","brasao","brasaoPB","banner","bgImageHome","bgImageTelas","RazaoSocial","endereco","bairro","cidade","cep","telefone","atendimento","EmailSocials","FacebookSocials","InstagramSocials","LinkedInSocials","TwitterSocials","WhatsAppSocials","YoutubeSocials","graficHighContrastStyle","fill","shadowColor","stroke","shadowBlur","lineWidth","strokeOpacity","graficDefaultStyle","configurationReducer","state","arguments","length","undefined","action","type","produce","draft","payload","Titulo","CorFonteTituloPortal","corFonteTituloTelas","CorFonteTituloTelas","CorFonteRodape","CorTema","CorFonte","CorFundoGrid","corFundoTituloGrid","CorFundoTituloGrid","corTituloGrid","CorTituloGrid","BrasaoUrl","BrasaoPretoBrancoUrl","BannerUrl","ImagemFundoHomeUrl","ImagemFundoTelasUrl","Endereco","Bairro","Cidade","CEP","Telefone","Atendimento","Acessibility","dispatch","useDispatch","useSelector","configuration","botaoAumentarDesabilitado","botaoDiminuirDesabilitado","exibeBotoesZoom","useMediaQuery","query","useEffect","React","createElement","Fragment","title","destroyTooltipOnHide","tabIndex","style","width","padding","height","fontSize","marginRight","textAlign","fontWeight","onClick","disabled","BulbOutlined","BackTop","_BackTop","BackTopStyle","div","backgroundColor","BackTopPage","icon","S","defaultProps","protocol","host","hostname","window","location","SMARAPD_PAI_DOMAIN","SMARAPD_FILEMANAGER_DOMAIN","getUrl","resource","create","reducers","middlewares","enhancer","applyMiddleware","createStore","persist","persistReducer","key","storage","whitelist","count","loaderReducer","rootReducer","combineReducers","loader","rootSaga","all","sagaMiddleware","createSagaMiddleware","sagaMonitor","store","persistReducers","persistor","persistStore","run","history","createHashHistory","api","axios","baseURL","interceptors","request","use","config","error","Promise","reject","response","status","push","MenuContext","createContext","MenuProvider","children","menuSelecionado","setMenuSelecionado","useState","menus","setMenus","isLoading","setIsLoading","async","responseMenu","get","data","getMenus","Provider","value","isLoadingMenus","resetMenuSelecionado","useMenus","useContext","TIPO_MENU_PORTAL","breadcrumbEstruturaOrganizacional","uri","breadcrumb","breadcrumbHome","breadcrumbFaq","breadcrumbDadosAbertos","breadcrumbEsic","breadcrumbSumario","breadcrumbGlossario","breadcrumbFaleConosco","breadcrumbEstatisticas","breadcrumbAutenticidade","useBreadcrumb","breadcrumbs","setBreadcrumbs","newBreadcrumb","processarItens","itens","caminhoAnterior","forEach","item","novoBreadcrumb","tipoMenuPortal","TipoMenuPortal","URI","id","Id","includes","breadcrumbUri","SubItens","obterBreadcrumbPorUri","params","find","x","modulo","visao","uriComparacao","replace","Breadcrumb","_Breadcrumb","Item","_Icon","master","match","path","Link","to","HomeOutlined","map","index","Math","random","_Card","_Col","Collapse","collapsed","handleToggle","MenuUnfoldOutlined","onKeyDown","event","keyCode","className","MenuFoldOutlined","Content","_Layout","src","useLocation","pathname","bgImage","RangePicker","_DatePicker","StyledRangePicker","RangePickerComponent","onCalendarChange","valorPadrao","format","defaultValue","moment","Divider","_Divider","_Drawer","attrs","bodyStyle","Limite","Container","_Dropdown","Exportacao","QuantidadeRegistros","semURI","moduloFixo","handleLimitMessage","limite","menuExportacao","_Menu","e","placement","FilePdfOutlined","FileExcelOutlined","FileTextOutlined","LinkOutlined","Dropdown","trigger","overlay","DownOutlined","Typography","Text","_Typography","Title","level","originalFontSize","Paragraph","Icon","ImageButton","MapButton","rua","numero","shape","open","Footer","MapButtonWrapper","_Row","justifyContent","marginBottom","lg","xs","display","alignItems","FormV3","Header","pl","pr","SectionTitle","Informacao","informacao","dangerouslySetInnerHTML","__html","RemoveDiacritic","stringValue","toLowerCase","normalize","InformacaoFilter","forwardRef","ref","setSearchValue","html","setHtml","tagsPermitidas","regexToRemoveHtmlTag","useImperativeHandle","filterElements","buscaSemAcentos","newDocumentHTML","DOMParser","parseFromString","elementos","body","getElementsByTagName","hasMatchWord","string","_RemoveDiacritic","indexOf","ultimoElementoPermitido","i","elemento","elementoSemAcento","innerHTML","IndexFound","isTagPermitida","tagName","novoHtml","onChangeInfo","target","Internationalization","_ConfigProvider","locale","ptBR","Loader","_Spin","size","tip","spinning","delay","Logo","img","withRouter","alt","Map","LeafletMap","PopupStyles","PopupLink","a","MapTextCard","Card","Geocode","setApiKey","setLanguage","setRegion","MapContainer","discardCompleFromRua","split","redirect","setData","fromAddress","then","results","geometry","loadMap","center","zoom","TileLayer","attribution","url","Marker","position","iconUrl","markerIconPng","iconSize","iconAnchor","Popup","iconEnum","name","QuestionCircleOutlined","outlined","QuestionOutlined","ClockCircleOutlined","ExclamationOutlined","MessageOutlined","BankOutlined","CalendarOutlined","FileDoneOutlined","FlagOutlined","MailOutlined","SettingOutlined","ScheduleOutlined","SmileOutlined","TagsOutlined","WalletOutlined","DollarOutlined","ShoppingCartOutlined","ShoppingOutlined","TeamOutlined","CheckOutlined","CloseOutlined","WarningOutlined","StopOutlined","DeleteOutlined","AreaChartOutlined","AlertOutlined","ApiOutlined","CloudOutlined","ContactsOutlined","ContainerOutlined","IdcardOutlined","GlobalOutlined","SafetyOutlined","NotificationOutlined","EnvironmentOutlined","OrderedListOutlined","SnippetsOutlined","ControlOutlined","CompassOutlined","DashboardOutlined","ClusterOutlined","filled","ProjectOutlined","ProfileOutlined","InfoCircleOutlined","ApartmentOutlined","CalculatorOutlined","FileSearchOutlined","InfoCircleFilled","YoutubeFilled","FileImageOutlined","LineChartOutlined","FolderOpenOutlined","getUrlComDominio","href","Input","_Input","Search","Menu","menuTitulo","css","SubMenu","MenuItem","SearchMenu","MenuStyles","openKeys","setOpenKeys","setCollapsed","searchValue","searchResult","setSearchResult","useHistory","handleRedirect","subItens","newUri","startsWith","tratarTextoBusca","texto","renderMenuItem","menu","_iconEnum$find2","Icone","IdMenuItem","handleSubMenuTitleClick","handleSubMenuIconClick","idMenuItem","findItemAndLevels","items","targetId","levels","found","menuLevels","filter","newOpenKeys","handleTitleClick","TitleMenu","_iconEnum$find","overlayClassName","onMouseEnter","flexDirection","gap","cursor","flexGrow","margin","ArrowRightOutlined","subItem","handleSubMenuTitleClick2","preventDefault","placeholder","maxLength","onChange","searchTerm","findMatchingSubItems","subItems","matchedList","concat","reduce","acc","ChaveModulo","menuTitle","matchFound","matchedItem","mode","inlineIndent","forceSubMenuRender","onMouseLeave","handleMouseLeave","Modal","_Modal","maxHeight","minHeight","overflow","visible","onCancel","destroyOnClose","maskClosable","footer","confirm","Sider","collapsible","Theme","ThemeProvider","_Tag","_InputNumber","_Select","SocialsContainer","ButtonStyled","background","SocialsList","retornaWpp","input","TwitterOutlined","marginTop","link","ToolTip","FacebookFilled","InstagramOutlined","WhatsAppOutlined","LinkedinFilled","mail","MailFilled","Socials","MailGo","Table","_Table","TableResize","section","_ref4","_ref5","_ref6","_ref7","TIPO_VISAO","FilterHeaderTable","setSelectedKeys","selectedKeys","clearFilters","close","visaoColuna","setDataFilterHeader","dataFilterHeader","configuracao","obterColunaChave","obterColunaLink","setFiltro","filtro","setPagina","searchInput","useRef","valorChave","setValorChave","campoAlterado","setCampoAlterado","NomeColuna","FonteDados","TipoValor","KeyVisao","VisaoColunas","Tipo","handleSearch","Campo","Valor","dataFilter","Filtros","stopPropagation","verificaValor","valor","onPressEnter","_e$target","_Space","SearchOutlined","handleReset","_Tree","_Result","NotFound","Result","extra","voltarParaHome","PageTitle","corTitulo","ImageLink","imagem","tooltip","Image","L","_List","ButtonGoBack","OnClick","MarginLeft","marginLeft","ReCaptcha","handleOnCaptchaChange","ReCAPTCHA","sitekey","PreserveBreakLine","message","whiteSpace","showSuccess","successMessage","_notification","success","description","showWarning","warningMessage","warning","showError","errorMessage","apiFM","fileManagerPaiDownload","fileName","defaults","assign","getFullUrl","nomeArquivo","DefaultLayout","backTopBgColor","setBackTopBgColor","isMobile","responseConfiguracao","responseCliente","CorFundoRodape","setConfiguration","less","modifyVars","getConfiguracao","Layout","Drawer","closable","onClose","top","right","UpOutlined","fundoTransparente","InformacaoDashboard","TIPO_ACESSO","Imagem","CardImagemDashboard","urlImagem","valorLink","tipoAcesso","Redirecionar","Youtube","YouTube","YouTubePlayer","videoId","opts","playerVars","rel","GraficoContext","ListaGraficoContext","listaGrafico","setListaGrafico","eSic","setESic","tiposDevice","useWindowListener","isClient","widthWindow","setWidthWindow","getSize","innerWidth","innerHeight","device","handleResize","addEventListener","removeEventListener","TAMANHO_HOME_ITEM_ENUM","calcularAlturaLargura","tamanho","calcularAlturaLarguraIconeMedio","tamanhoFonteDescricaoDestaqueMedio","sizes","Mobile","Desktop","Object","keys","label","FilterButton","CardWrapper","Visualizar","span","DescricaoLinkExternoDiv","DescricaoLinkExternoDivMedio","IconeDiv","media","StatisticSpan","StyledCol","Col","StatisticSpanMedio","ValorDescricaoSpan","ValorDestaqueDiv","IconeMedioDiv","tamanhoFonteIconeMedio","IconeMedioImg","ValorDescricaoDestaqueMedioDiv","ValorDestaqueMedioDiv","tamanhoFonteDestaqueMedio","ValorSecundarioMedioSpan","_ref8","GraficoMedio","_ref9","_ref10","DescricaoGrafico","p","_ref11","tamanhoFonteDescricaoGrafico","GraficoDonut","GraficoPie","GraficoLine","GraficoBar","GraficoColumn","_Popover","Filter","idGrafico","contentFilter","setVisible","onFilter","values","Periodo","post","newLista","ListaGraficos","findIndex","obj","Dados","DescricaoPeriodo","content","_Form","initialValues","remember","Periodicidade","onFinish","htmlType","Popover","onVisibleChange","visibleEvent","FilterOutlined","left","HomeGraficoContext","ListaHomeGraficoContext","setItem","home","setHome","exercicio","setExercicio","anoAtual","Date","getFullYear","ExercicioSelect","exercicios","Array","from","_","ano","prevState","getHomeItemService","updatedHome","ListaHomeItem","Select","Option","DonutGraphic","legenda","tootltipTitle","ValorLink","hasFilter","filterDescription","showEyeButton","showExercicioSelect","donut","setDonut","windowListener","getConfigStyle","legend","maxItemWidth","text","itemName","formatter","v","trim","substring","autoFit","radius","innerRadius","autoHide","percent","toFixed","statistic","colorField","angleField","showTitle","EixoX","EixoY","Intl","NumberFormat","element","document","getElementById","donutRender","Pie","render","update","EyeOutlined","Row","flex","PieGraphic","legendPosition","tooltipFormatter","legendMaxRow","legendItemMarginBottom","legendItemSpacing","pie","setPie","maxRow","itemMarginBottom","itemSpacing","pieRender","BarGraphic","cor","legendaEixoX","legendaEixoY","bar","setBar","NumberFormatter","newNum","suffix","suffixNum","trunc","xField","yField","xAxis","yAxis","barRender","Bar","ColumnGraphic","column","setColumn","alignTo","rotate","offsetX","offsetY","offset","columnRender","Column","EmptyCardGrafico","_Empty","image","PRESENTED_IMAGE_SIMPLE","imageStyle","StatisticCard","_iconEnum$find3","Tamanho","IconePersonalizado","IconeCor","TipoAcesso","ValorDestaque","DescricaoValorDestaque","ExibirValorSecundario","ValorSecundario","DescricaoValorSecundario","ExibirGraficoPorcentagem","DescricaoLinkExterno","PorcentagemValorDestaque","PorcentagemValorSecundario","donutData","parseFloat","flipPage","round","triggerOn","triggerOff","hrefFunction","hoverable","CardNoConfigHome","IconNoConfigHome","TextNoConfigHome","Dashboard","ResponsiveReactGridLayout","WidthProvider","Responsive","menuIsCollapsed","setMenuIsCollapsed","forceComponentReRender","setTimeout","addButtonListeners","buttonNode","removeButtonListeners","collapseButton","getElementsByClassName","updateButtonOnResize","layouts","setLayouts","noConfigError","setNoConfigError","getHome","layoutDefault","el","static","sm","previousItemY","newItem","y","h","md","listaHomeItem","homeItem","_homeItem$HomeItemBot","ExibirExercicio","HomeItemBotao","_homeItem$HomeItemBot2","_homeItem$HomeItemBot3","_homeItem$HomeItemBot4","Posicao","component","UrlIconePersonalizado","ValorExterno","HomeItemTexto","FundoTransparente","HomeItemVideo","YoutubePlayer","VideoId","HomeItemCardImagem","UrlImagem","HomeItemGrafico","TipoGrafico","LegendaCampoReferencia","LegendaCampoValor","CorGrafico","subTitulo","itemHome","getListaGrafico","backgroundSize","breakpoints","cols","rowHeight","Panel","FaqItem","pergunta","resposta","accordion","forceRender","header","Faq","setInformacao","listaFaqItem","setListaFaqItem","getFaq","Texto","Boolean","TituloPergunta","TextoResposta","ContainerExportar","NumberRegistersArea","ButtonsArea","UltimaAtualizacaoArea","UltimaAtualizacao","dataHora","toLocaleDateString","horas","toLocaleTimeString","obterConfiguracoes","obterConfiguracoesGerais","exportarVisao","tipoExportacao","obterTotalizadores","OptGroup","DadosAbertosList","_visaoAnalitica$Exerc","chaveModulo","visaoAnalitica","periodicidades","Periodicidades","dataUltimaAtualizacao","DataUltimaSicronizacaoModulo","periodicidadeSelecionada","setPeriodicidadeSelecionada","periodicidadeDescricao","setPeriodicidadeDescricao","exercicioSelecionado","setExercicioSelecionado","periodoSelecionado","setPeriodoSelecionado","periodoDescricao","setperiodoDescricao","existePeriodicidade","periodicidadeUnica","Descricao","Nome","parsedValue","JSON","parse","periodicidadeId","periodicidade","stringify","periodoId","Exercicios","Exercicio","_periodicidade$Period","Periodos","periodo","Notification","Number","NomeVisao","NomeVisaoAnalitica","UrlExportacao","DadosAbertos","listaModulos","setListaModulos","Modulos","getDadosAbertos","VisaoAnalitica","FILTRO_DEFAULT","periodicidadeAnual","periodicidadeBimestral","periodos","periodicidadeSemestral","CardInfo","dados","informacoes","Arquivo","form","Url","DownloadOutlined","EsicCard","formularios","cards","card","formularioentidade","forms","Entidade","orientation","plain","showFormulario","Fomulario","ESicVisoes","gutter","ESic","_eSic$Informacao","visoesESic","setVisoesESic","formularioESIC","setFormularioESIC","setPeriodicidade","obterDadosVisoes","AtendimentoQuantidade","AtendimentoRespondido","AtendimentoPrazoMedio","RecursoQuantidade","RecursoRespondido","RecursoPrazoMedio","ReclamacaoQuantidade","ReclamacaoRespondido","ReclamacaoPrazoMedio","getVisoesData","responsePeriodicidade","getPeriodos","Habilitado","UrlArquivoPessoaFisicaReclamacao","UrlArquivoPessoaFisicaRecurso","UrlArquivoPessoaFisicaeSIC","UrlArquivoPessoaJuridicaReclamacao","UrlArquivoPessoaJuridicaRecurso","UrlArquivoPessoaJuridicaeSIC","obterUrlFormulario","getESic","getFilterContent","exibicao","_periodicidade$","_periodicidade$$Perio","_periodicidade$2","_periodicidade$3","_periodicidade$3$Peri","_periodicidade$4","_periodicidade$5","_periodicidade$5$Peri","_periodicidade$6","listaGraficosESic","graficoESic","Exibicao","itemGrafico","getListaGraficos","TituloPagina","UrlAplicacao","data-grid","isDraggable","verificaModuloHabilitado","CHAVES_MODULO","Sumario","menusTransformados","setMenusTransformados","ModuloService","novosSubItens","extrairSubItens","List","itemLayout","dataSource","renderItem","borderBottom","Meta","borderTop","listStyleType","paddingInlineStart","sub","TreeTransparente","Tree","TreeViewEstruturaOrganizacional","treeView","TreeNode","loop","outline","Externo","IdDetalhe","role","aria-hidden","isLeaf","draggable","defaultExpandAll","blockNode","autoExpandParent","selectable","EstruturaOrganizacional","estruturaOrganizacionalConfiguracao","setEstruturaOrganizacionalConfiguracao","getEstruturaOrganizacionalConfiguracao","ExibicaoLegislacao","UrlLegislacao","paddingLeft","ExibicaoFluxograma","UrlFluxograma","ListaEstruturaOrganizacional","ChooseIconFile","fileExtension","fileIcon","EstruturaOrganizacionalDetalhe","estruturaOrganizacionalDetalhe","setEstruturaOrganizacionalDetalhe","imgSecretario","setImgSecretario","UrlImagemSecretario","SecretarioResponsavel","fontStyle","maxWidth","borderRadius","Email","AtendimentoPublico","Logradouro","Numero","TextoInformativo","NomeArquivo","UrlArquivo","_estruturaOrganizacio","float","goBack","InfoManutencao","EmManutencao","URLSearchParams","search","moduloApi","visaoApi","botaoDisabled","setBotaoDisabled","ModuloVisaoService","ModoVisao","voltarParaVisao","textoBotao","tituloPagina","subTituloPagina","subTitle","ContainerButtons","alfabeto","GlossarioButtons","letrasAtivas","verificaBotaoDesabilitado","letra","flexWrap","HashLink","ItemGlossarioArea","Glossario","setLetrasAtivas","glossario","setGlossario","obterGlossario","_response$data","_response$data$Itens","Itens","letras","Letra","paddingBottom","PalavrasSignificados","Palavra","Significado","parseToQueryString","urlSearchParams","isArray","append","toString","MODO_VISAO","NUMERO_QUANTIDADE_REGISTROS","PARAMS_FILTERS_GRID","PARAMS_FILTERS_DETALHE","PARAMS_FILTERS_GRID_BUSCA_AVANCADA","getAndFormatSearchParams","filtersArray","searchParams","filtersArrayLowwer","entries","UrlContext","UrlProvider","urls","setUrls","empilhaUrl","u","obterUrlPaginaAnterior","valorDefault","urlCompleta","urlBase","queryParam","urlAnterior","String","novasUrls","useUrls","_configuracao$Informa","TIPO_AGRUPAMENTO","TIPO_COLUNA","Totalizadores","totalizadores","DescricaoTotalizador","TipoAgrupamento","Total","toLocaleString","currency","moduloVisao","quantidadeRegistros","setQuantidadeRegistros","page","setPage","colunaFiltroRedirecionaVisao","valorFiltroRedirecionaVisao","tipoValorFiltroRedirecionaVisao","buscaAvancada","tipo","setTipo","setNewTipo","_Pagination","current","showSizeChanger","pageSize","total","showTotal","pag","qtde","quantidade","Valores","navigator","clipboard","writeText","dtoExportacao","Pagina","FiltroRedirecionaVisao","exportarBuscaAvancada","res","ButtonLinkFileManagerLinkAnexo","block","wordWrap","ButtonDownloadFileManager","ButtonLinkAnexo","ArquivosForm","filtroPesquisaArquivosDigitais","arquivosAnexados","setArquivosAnexados","obterAnexos","buscarAnexos","Form","columns","dataIndex","record","IdArquivoDigital","IsLinkAnexo","LinkAnexo","UrlArquivoDigital","align","bordered","rowKey","row","NomeArquivoDigital","pagination","scroll","showAnexos","TableDinamic","_configuracao$VisaoCo","_configuracao$VisaoCo2","handleTableChange","pagina","redirecionarDetalheVisaoAnalitica","urlVisaoAnalitica","urlVisaoAgrupamento","listaColunaOrdem","obterValoresChavesPeriodicidadePorLinha","redirecionarVisaoAnalitica","redirecionarRastreabilidade","possuiArquivoDigital","exibirAnexos","exibirArquivosForm","setFiltroPesquisaArquivosDigitais","setExibirArquivosForm","tableKey","BotaoLink","substr","BotaoArquivoAnexo","FileOutlined","BotaoRedirecionarDetalheVisaoAnalitica","valoresChavesPeriodicidade","mes","dadosColuna","wordBreak","TextoValorString","BotaoRedirecionarRastreabilidade","valorRow","Rastreabilidade","TituloVisaoDestino","BotaoRedirecionarVisaoAnalitica","TextoValorBoolean","Columns","_visaoColuna$Rastreab","ColunaLink","Mes","Chave","FonteDadosColunaLink","ordenacao","Ordenacao","_ordenacao$Ordem","ColunaOrdem","compare","b","multiple","Ordem","tipoOrdenacaoPadrao","TipoOrdem","OcultoGridPortal","sorter","defaultSortOrder","tipoValor","filterDropdown","ArquivoForm","FiltroPeriodicidadeModuloDinamico","_filtro$","InputCarregando","setPeriocidadeSelecionada","listaPeriodicidades","periodoDesabilitado","listaPeriodos","listaExercicios","isFiltroAvancadoHabilitado","obterOrdenacaoPadrao","tiposValorString","tiposValorData","tiposValorNumber","inputType","textoPlaceholder","verificaTipoInputEPlaceholder","loading","minWidth","FilterFilled","hash","Uri","UndoOutlined","colunaChave","restaurarOrdenacao","toUpperCase","exerc","ModuloDinamicoPage","_routeParams$get","_routeParams$get2","browserHistory","createBrowserHistory","routeParams","periodicidadeParam","periodoParam","exercicioParam","paginacaoGridParam","quantidadeRegistrosParam","valorFiltroRedirecionaVisaoParam","colunaFiltroRedirecionaVisaoParam","tipoValorFiltroRedirecionaVisaoParam","listaColunaOrdemParam","setDataUltimaAtualizacao","setConfiguracao","setListaPeriodicidades","setListaPeriodos","setListaExercicios","setPossuiArquivoDigital","setModuloVisao","setUrlVisaoAnalitica","setUrlVisaoAgrupamento","setPeriodoDesabilitado","setInputCarregando","filtroDebounce","debouncedValue","setDebouncedValue","time","clearTimeout","useDebounce","setTotalizadores","filtroDefault","setFiltroDefaultEnum","setColunaFiltroRedirecionaVisao","setValorFiltroRedirecionaVisao","setTipoValorFiltroRedirecionaVisao","setListaColunaOrdem","setTableKey","now","setIsFiltroAvancadoHabiltado","chavesPeriodicidade","setChavesPeriodicidade","obterVisaoColunas","propriedade","useCallback","obterChaveUnicaModulo","_configuracao$VisaoCo3","_configuracao$VisaoCo4","ordenacoes","TipoOrdenacao","filters","field","order","maxOrdem","max","novaListaOrdenacaoColuna","s","itemOrdenacao","idx","columnKey","linhaGrid","colunaGrid","campo","colunasChave","ChaveUnicaModulo","chavePesquisa","coluna","validaPeriodicidade","periodoAnualValido","periodoValidoParaPeriodicidade","some","colunasPeriodicidadeCampoValor","queryString","colunaSelecionada","valorSelecionada","tipoValorColunaSelecionada","chaveSelecionada","isFromAgrupamento","listacolunaordem","visaoRastreabilidade","rastreabilidade","FonteDadosColunaDestino","FonteDadosColunaOrigem","TipoValorColunaDestino","LinkVisaoDestino","buscaDadosGrid","indexFiltro","mergeFiltro","_filtroDebounce$","quantidaderegistros","colunafiltroredirecionavisao","valorfiltroredirecionavisao","tipovalorfiltroredirecionavisao","filtrarModuloVisao","dataFiltro","catch","QuantidadePaginas","obterExerciciosEVisaoAnalitica","responseConfiguracoesGerais","NomeVisaoAgrupamento","PossuiArquivoDigital","FiltroHabilitado","FiltroDefaultEnum","exercicioParamExisteArray","periodicidadeDoParam","carregarPagina","tipoOrdem","quantidadeRegistrosHistory","colunaFiltroRedirecionaVisaoHistory","valorFiltroRedirecionaVisaoHistory","tipoValorFiltroRedirecionaVisaoHistory","colunaOrdem","colunaOrdemHistory","filtroHistory","configuraPeriodo","ex","IdsPeriodicidadePeriodoUltimoMes","IdPeriodicidadePeriodoSelecionado","IdPeriodicidade","IdPeriodo","periodoValido","configuraPeriodoPorTipoPeriodicidade","colunasPeriodicidade","ChavesPeriodicidades","arrayAnterior","obterChavesPeriocidadeDaConfiguracao","_history$location$sta","_history$location$sta2","Grid","useMemo","ColunasTotalizadoras","ModuloDinamico","SearchTool","LinkArquivo","TreeViewModuloFixo","expandedKeys","setExpandedKeys","setAutoExpandParent","treeData","setTreeData","_item$Link","_item$Arquivo","PrimeiroNivel","ExibeDetalhes","switcherIcon","onSearch","busca","searchWithoutAccents","stringWithoutAccents","filterData","arr","_filterData","filteredData","n","dataItem","onExpand","titleRender","toggleExpandNode","prev","outArr","ModuloFixo","setTreeView","setTitulo","treeViewMethods","createRef","infoMethods","getModuloFixoService","VisaoItens","getModuloFixo","allowClear","getPeriodoDetalheVisaoAnaliticaService","NextPrevButton","ButtonArquivoDigital","PeriodicidadeNavigation","previous","previousFunction","next","nextFunction","LeftOutlined","RightOutlined","TIPO_DETALHE","Tabelas","detalheVisaoAnalitica","CamposGrid","fonte","fundo","gridStyle","gridColumn","strong","tabela","headStyle","Grupo","CorFonteTitulo","CorFundoTitulo","gridTemplateColumns","CorFundo","Colunas","Coluna","listaAnexos","anexos","arquivo","DetalheVisaoAnalitica","setDetalheVisaoAnalitica","Anexos","periodoAnterior","setPeriodoAnterior","periodoPosterior","setPeriodoPosterior","periodoAtual","setPeriodoAtual","exercicioAnterior","setExercicioAnterior","exercicioPosterior","setExercicioPosterior","exercicioAtual","setExercicioAtual","filtroAnterior","setFiltroAnterior","exercicioFilter","setExercicioFilter","periodicidadeFilter","setPeriodicidadeFilter","periodoFilter","setPeriodoFilter","setColunaOrdem","queryParamsDefault","setQueryParamsDefault","obterDetalheVisao","detalheVisao","getDetalheVisaoAnaliticaService","obterPeriodoDetalheVisaoAnalitica","_responsePeriodo$data","_responsePeriodo$data2","_responsePeriodo$data3","_responsePeriodo$data4","_responsePeriodo$data5","_responsePeriodo$data6","responsePeriodo","PeriodoAnterior","PeriodoAtual","PeriodoPosterior","ExercicioAnterior","ExercicioAtual","ExercicioPosterior","ChavesPeriodicidade","queryParamData","getPeriodo","_responsePeriodo$data7","_responsePeriodo$data8","_responsePeriodo$data9","_responsePeriodo$data10","_responsePeriodo$data11","_responsePeriodo$data12","campos","_history$location$sta3","_history$location$sta4","_history$location$sta5","_history$location$sta6","_history$location$sta7","_history$location$sta8","obterDataUltimaAlteracao","_params$get","_params$get2","Tabela","ListaAnexos","exportarDetalheVisao","TIPO_FILTRO","StyledDivider","FiltrosAccordion","filtros","paramsFiltros","handlePesquisa","getFieldDecorator","setFieldsValue","filtrosTransformados","setFiltrosTransformados","setValoresDoInputComoObjeto","isParam","dataFormatada","datas","dataAux","transformaDataParaAmericano","TipoFiltro","objetoForm","renderizaInputTexto","NomePadrao","colon","renderizaInputNumero","InputNumber","keyboard","decimalSeparator","renderizaInputData","dateString","renderizaSelect","_coluna$ColunaValores","showSearch","optionFilterProp","onSelect","ColunaValores","valoresSelect","renderizaSelectBooleano","fazerPesquisaParams","filtrosModulo","Grupos","grupo","arrayFiltros","ShowFiltros","setFiltros","removeTodosOsFiltros","colunasFiltro","tags","setTags","transformaFiltrosEmTags","arrayTags","nomePadrao","pos","lastIndexOf","aux","Tag","novosFiltros","resetFields","removeFiltro","ClearOutlined","setColunasFiltro","configuracoesVisao","setConfiguracoesVisao","setFiltroHabilitado","arrayFonteDados","valoresParamsFiltros","setValoresParamsFiltros","obterConfiguracoesVisao","obterDadosFiltroAvancado","valuesFiltro","getAndFormatSearchParamsBuscaAvancada","getColunas","nomeModulo","getColunasFiltro","validateFields","err","filtrosRequisicao","valores","chavesFiltro","novoFiltro","montaNovoFiltro","isBool","transformaFormEmObjetoRequisicao","_colunasFiltro$Grupos","getFonteDadosColunas","array","arrayAuxiliar","fonteDados","valorParam","objetoFiltro","getParamsUrlFonteDadosColunas","BuscaAvancada","onSubmit","layout","FiltrosAvancados","VisaoItem","visaoItem","setVisaoItem","itemVisao","uriVisao","idVisaoItemDetalhe","parseInt","getItemVisao","_visaoItem$NomeArquiv","captcha","SetCaptcha","recaptchaInputRef","Assunto","Mensagem","faleConosco","grecaptcha","reset","rules","required","minLength","min","TextArea","rows","autoComplete","FaleConosco","FaleConoscoForm","CardWithTitleStyled","InfosContainer","SubInfosContainer","ContainerAviso","STATUS_AUTENTICIDADE","AutenticidadeValidacao","dadosValidacao","aviso","Status","DataHoraExportacao","DataHoraValidade","TituloRelatorio","_dadosValidacao$NomeA","ContainerInformacao","_configuracoes$Inform","_configuracoes$Inform2","hasSubmitted","setHasSubmitted","setDadosValidacao","configuracoes","setConfiguracoes","resp","NomeModulo","Aviso","justify","CodigoValidacao","codigoValidacao","obterAutenticidade","Autenticidade","AutenticidadeForm","LineGraphic","seriesField","onLineClick","onPointClick","line","setLine","point","smooth","lineRender","Line","events","GraficoAnos","acessosAnos","setAcessosAnos","GraficoVisoes","anoSelecionado","acessosVisoes","setAcessosVisoes","Acessos","FiltroExercicio","handleChangeExercicio","Estatiscas","exercicioSelcionado","setExercicios","Route","Component","hasStatistics","handleStatistics","Rota","ReactRoute","exact","Routes","Router","Switch","ItemVisao","Estatisticas","App","PersistGate","VLibras","ReactDOM"],"mappings":"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","file":"static/js/main.9e180763.chunk.js","sourcesContent":["import { createGlobalStyle } from 'styled-components';\n\nconst highContrastColors = {\n background: 'black',\n color: 'yellow',\n};\n\nconst GlobalStyle = createGlobalStyle`\n * {\n font-family: 'Segoe UI' !important;\n\n ::placeholder {\n color: ${props =>\n props.theme.highContrast && highContrastColors.color} !important; \n }\n\n ::selection {\n background-color: ${props =>\n props.theme.highContrast && highContrastColors.color} !important;\n }\n\n background-color: ${props =>\n props.theme.highContrast && highContrastColors.background} !important;\n\n border-color: ${props =>\n props.theme.highContrast && highContrastColors.color} !important;\n\n color: ${props =>\n props.theme.highContrast && highContrastColors.color} !important;\n }\n \n .ant-table-footer{\n padding: 14px 14px;\n }\n\n &&.access-button{\n width: 23.5% !important\n }\n\n .maxHeight500 {\n max-height: 500px;\n }\n\n // Barra de rolagem com fundo transparente\n \n /* Estilo para navegadores baseados em WebKit (Chrome, Edge, Safari) */\n ::-webkit-scrollbar {\n width: 8px; /* Largura da barra de rolagem */\n height: 8px; /* Altura da barra de rolagem (para rolagem horizontal) */\n }\n\n ::-webkit-scrollbar-track {\n background: transparent; /* Fundo sempre transparente */\n }\n\n ::-webkit-scrollbar-thumb {\n background: rgba(0, 0, 0, 0.5); /* \"Polegar\" da barra sem fundo branco */\n border-radius: 4px; /* Bordas arredondadas */\n }\n\n ::-webkit-scrollbar-thumb:hover {\n background: rgba(0, 0, 0, 0.5); /* Mesma cor ao passar o mouse */\n }\n\n /* Estilo para navegadores Firefox */\n * {\n scrollbar-width: thin; /* Faz a barra de rolagem ficar fina */\n scrollbar-color: rgba(0, 0, 0, 0.5) transparent; /* \"Polegar\" com cor e trilha transparente */\n }\n\n`;\n\nexport default GlobalStyle;\n","import styled from 'styled-components';\nimport { Collapse } from 'antd';\n\nconst Accordion = styled(Collapse)`\n div.ant-collapse-content,\n div.ant-collapse-content > .ant-collapse-content-box {\n background-color: transparent !important;\n }\n div.ant-collapse-header {\n font-size: ${({ theme }) => `${14 + 2 * theme.zoomFonte}px`};\n }\n`;\n\nexport default Accordion;\n","import styled from 'styled-components';\nimport { Button as AntDesignButton } from 'antd';\n\nexport const Button = styled(AntDesignButton)`\n && {\n margin-left: ${({ ml }) => ml}px;\n margin-right: ${({ mr }) => mr}px;\n color: ${({ color }) => color};\n }\n`;\n","import * as Icons from '@ant-design/icons';\n\nexport default Icons;\n","import { Tooltip } from './Tooltip.styled';\n\nexport default Tooltip;\n","import { Tooltip as AntdTooltip } from 'antd';\nimport styled from 'styled-components';\n\nexport const Tooltip = styled(AntdTooltip)``;\n","/* eslint-disable no-param-reassign */\nimport produce from 'immer';\n\nexport const MIN_ZOOM_FONTE = -5;\nexport const MAX_ZOOM_FONTE = 5;\n\nconst INITIAL_STATE = {\n titulo: '',\n corFonteTituloPortal: '#000',\n corFonte: '#fff',\n corFundoGrid: '#fff',\n corFonteGrid: '#fff',\n corFonteRodape: '#000',\n corTema: '',\n\n brasao: '',\n brasaoPB: '',\n banner: '',\n bgImageHome: '',\n bgImageTelas: '',\n\n RazaoSocial: '',\n endereco: '',\n bairro: '',\n cidade: '',\n cep: '',\n telefone: '',\n atendimento: '',\n\n EmailSocials: '',\n FacebookSocials: '',\n InstagramSocials: '',\n LinkedInSocials: '',\n TwitterSocials: '',\n WhatsAppSocials: '',\n YoutubeSocials: '',\n\n zoomFonte: 0,\n highContrast: false,\n\n graficHighContrastStyle: {\n fill: 'yellow',\n shadowColor: 'yellow',\n stroke: 'yellow',\n shadowBlur: 0,\n lineWidth: 0.3,\n strokeOpacity: 0,\n },\n graficDefaultStyle: {\n fill: 'black',\n shadowColor: 'black',\n stroke: 'black',\n shadowBlur: 0,\n lineWidth: 0.3,\n strokeOpacity: 0,\n },\n};\n\nfunction configurationReducer(state = INITIAL_STATE, action) {\n switch (action.type) {\n case '@configuration/TOGGLE_HIGHCONTRAST':\n return produce(state, draft => {\n draft.highContrast = !state.highContrast;\n });\n\n case '@configuration/SET_CONFIGURATION':\n return produce(state, draft => {\n draft.titulo = action.payload.Titulo;\n draft.corFonteTituloPortal = action.payload.CorFonteTituloPortal;\n draft.corFonteTituloTelas = action.payload.CorFonteTituloTelas;\n draft.corFonteRodape = action.payload.CorFonteRodape;\n draft.corTema = action.payload.CorTema;\n draft.corFonte = action.payload.CorFonte;\n draft.corFundoGrid = action.payload.CorFundoGrid;\n draft.corFundoTituloGrid = action.payload.CorFundoTituloGrid;\n draft.corTituloGrid = action.payload.CorTituloGrid;\n\n draft.brasao = action.payload.BrasaoUrl;\n draft.brasaoPB = action.payload.BrasaoPretoBrancoUrl;\n draft.banner = action.payload.BannerUrl;\n draft.bgImageHome = action.payload.ImagemFundoHomeUrl;\n draft.bgImageTelas = action.payload.ImagemFundoTelasUrl;\n\n draft.RazaoSocial = action.payload.RazaoSocial;\n draft.endereco = action.payload.Endereco;\n draft.bairro = action.payload.Bairro;\n draft.cidade = action.payload.Cidade;\n draft.cep = action.payload.CEP;\n draft.telefone = action.payload.Telefone;\n draft.atendimento = action.payload.Atendimento;\n draft.graficHighContrastStyle = INITIAL_STATE.graficHighContrastStyle;\n draft.graficDefaultStyle = INITIAL_STATE.graficDefaultStyle;\n draft.EmailSocials = action.payload.EmailSocials;\n draft.FacebookSocials = action.payload.FacebookSocials;\n draft.InstagramSocials = action.payload.InstagramSocials;\n draft.LinkedInSocials = action.payload.LinkedInSocials;\n draft.TwitterSocials = action.payload.TwitterSocials;\n draft.WhatsAppSocials = action.payload.WhatsAppSocials;\n draft.YoutubeSocials = action.payload.YoutubeSocials;\n });\n\n case '@configuration/DECREASE_FONTSIZE_PAGE':\n return produce(state, draft => {\n if (draft.zoomFonte > MIN_ZOOM_FONTE) {\n draft.zoomFonte -= 1;\n }\n });\n\n case '@configuration/INCREASE_FONTSIZE_PAGE':\n return produce(state, draft => {\n if (draft.zoomFonte < MAX_ZOOM_FONTE) {\n draft.zoomFonte += 1;\n }\n });\n\n case '@configuration/RESET_FONTSIZE_PAGE':\n return produce(state, draft => {\n draft.zoomFonte = INITIAL_STATE.zoomFonte;\n });\n\n default:\n return state;\n }\n}\n\nexport default configurationReducer;\n","import React, { useEffect } from 'react';\nimport { useMediaQuery } from 'react-responsive';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n toggleHighContrast,\n increaseFontSizePage,\n decreaseFontSizePage,\n resetFontSizePage,\n} from '~/store/modules/configuration/configuration.actions';\nimport { Button } from '../Button/Button.styled';\nimport Icons from '../Icons/Icons.component';\nimport Tooltip from '../Tooltip/Tooltip.component';\nimport {\n MIN_ZOOM_FONTE,\n MAX_ZOOM_FONTE,\n} from '~/store/modules/configuration/configuration.reducer';\n\nfunction Acessibility() {\n const dispatch = useDispatch();\n\n const { zoomFonte } = useSelector(state => state.configuration);\n\n const botaoAumentarDesabilitado = zoomFonte >= MAX_ZOOM_FONTE;\n const botaoDiminuirDesabilitado = zoomFonte <= MIN_ZOOM_FONTE;\n\n // se a tela tiver menos de 1024px,\n // remove os botões de zoom de fonte\n // e reseta o font-size da página para o origial\n const exibeBotoesZoom = useMediaQuery({ query: '(min-width: 1024px)' });\n\n useEffect(() => {\n dispatch(resetFontSizePage());\n }, [exibeBotoesZoom]);\n\n return (\n <>\n {exibeBotoesZoom && (\n <>\n \n dispatch(resetFontSizePage())}\n >\n A\n \n \n\n \n dispatch(increaseFontSizePage())}\n >\n A+\n \n \n\n \n dispatch(decreaseFontSizePage())}\n >\n A-\n \n \n \n )}\n \n dispatch(toggleHighContrast())}\n >\n \n \n \n \n );\n}\n\nexport default Acessibility;\n","function toggleHighContrast() {\n return {\n type: '@configuration/TOGGLE_HIGHCONTRAST',\n };\n}\n\nfunction decreaseFontSizePage() {\n return {\n type: '@configuration/DECREASE_FONTSIZE_PAGE',\n };\n}\n\nfunction increaseFontSizePage() {\n return {\n type: '@configuration/INCREASE_FONTSIZE_PAGE',\n };\n}\n\nfunction resetFontSizePage() {\n return {\n type: '@configuration/RESET_FONTSIZE_PAGE',\n };\n}\n\nfunction setConfiguration({\n BannerUrl,\n BrasaoUrl,\n BrasaoPretoBrancoUrl,\n ImagemFundoHomeUrl,\n ImagemFundoTelasUrl,\n CorTema,\n Titulo,\n CorFonte,\n CorFonteTituloPortal,\n CorFonteTituloTelas,\n CorFonteRodape,\n RazaoSocial,\n Endereco,\n Bairro,\n Cidade,\n CEP,\n Telefone,\n Atendimento,\n CorFundoGrid,\n CorFundoTituloGrid,\n CorTituloGrid,\n EmailSocials,\n FacebookSocials,\n InstagramSocials,\n LinkedInSocials,\n TwitterSocials,\n WhatsAppSocials,\n YoutubeSocials,\n}) {\n return {\n type: '@configuration/SET_CONFIGURATION',\n payload: {\n BannerUrl,\n BrasaoUrl,\n BrasaoPretoBrancoUrl,\n ImagemFundoHomeUrl,\n ImagemFundoTelasUrl,\n CorTema,\n Titulo,\n CorFonte,\n CorFonteTituloPortal,\n CorFonteTituloTelas,\n CorFonteRodape,\n RazaoSocial,\n Endereco,\n Bairro,\n Cidade,\n CEP,\n Telefone,\n Atendimento,\n CorFundoGrid,\n CorFundoTituloGrid,\n CorTituloGrid,\n EmailSocials,\n FacebookSocials,\n InstagramSocials,\n LinkedInSocials,\n TwitterSocials,\n WhatsAppSocials,\n YoutubeSocials,\n },\n };\n}\n\nexport {\n toggleHighContrast,\n increaseFontSizePage,\n decreaseFontSizePage,\n resetFontSizePage,\n setConfiguration,\n};\n","import { BackTop as BackTopAntd } from 'antd';\nimport styled from 'styled-components';\n\nexport const BackTop = styled(BackTopAntd)`\n right: 70px;\n bottom: 40px;\n`;\n\nexport const BackTopStyle = styled.div`\n height: 40px;\n width: 40px;\n line-height: 40px;\n border-radius: 50px;\n background-color: ${({ backgroundColor }) => `${backgroundColor}`};\n color: ${({ color }) => `${color}`};\n text-align: center;\n font-size: 14px;\n`;","import React from 'react';\nimport * as S from './BackTop.styled';\n\nfunction BackTopPage({ icon, backgroundColor, color }) {\n return (\n \n \n {icon}\n \n \n );\n}\n\nexport default BackTopPage;\n\nBackTopPage.defaultProps = {\n icon: 'UP',\n backgroundColor: '#009688',\n color: '#fff',\n};\n","import * as S from './Button.styled';\n\nexport default S.Button;\n","const { protocol, host, hostname } = window.location;\n\nlet SMARAPD_PAI_DOMAIN, SMARAPD_FILEMANAGER_DOMAIN;\n\nfunction getUrl(resource) {\n if (process.env.NODE_ENV === 'development') {\n return `${protocol}//${hostname}/${resource}`;\n } else {\n return `${protocol}//${host}/${resource}`;\n } \n}\n\nSMARAPD_PAI_DOMAIN = getUrl('paiportalserver');\nSMARAPD_FILEMANAGER_DOMAIN = getUrl('fileserver');\n\nexport { SMARAPD_PAI_DOMAIN, SMARAPD_FILEMANAGER_DOMAIN };\n","import { createStore, compose, applyMiddleware } from 'redux';\n\nfunction create(reducers, middlewares) {\n const enhancer =\n process.env.NODE_ENV === 'development'\n ? compose(\n console.tron.createEnhancer(),\n applyMiddleware(...middlewares)\n )\n : applyMiddleware(...middlewares);\n\n return createStore(reducers, enhancer);\n}\n\nexport default create;\n","import storage from 'redux-persist/lib/storage';\nimport { persistReducer } from 'redux-persist';\n\nfunction persist(reducers) {\n const persistedReducers = persistReducer(\n {\n key: 'smarapd-pai-portal',\n storage,\n whitelist: ['configuration'],\n },\n reducers\n );\n\n return persistedReducers;\n}\n\nexport default persist;\n","import produce from 'immer';\n\nconst INITIAL_STATE = {\n count: 0,\n};\n\nfunction loaderReducer(state = INITIAL_STATE, action) {\n switch (action.type) {\n case '@loader/ADD_REQUEST':\n return produce(state, draft => {\n draft.count = state.count + 1;\n });\n\n case '@loader/REMOVE_REQUEST':\n return produce(state, draft => {\n draft.count = state.count - 1;\n });\n\n default:\n return state;\n }\n}\n\nexport default loaderReducer;\n","import { combineReducers } from 'redux';\nimport loaderReducer from './loader/loader.reducer';\nimport configurationReducer from './configuration/configuration.reducer';\n\nfunction rootReducer() {\n return combineReducers({\n loader: loaderReducer,\n configuration: configurationReducer,\n });\n}\n\nexport default rootReducer();\n","import { all } from 'redux-saga/effects';\n\nfunction* rootSaga() {\n return yield all([]);\n}\n\nexport default rootSaga;\n","import { persistStore } from 'redux-persist';\nimport createSagaMiddleware from 'redux-saga';\nimport createStore from './createStore';\nimport persistReducers from './persistReducer';\n\nimport rootReducer from './modules/rootReducer';\nimport rootSaga from './modules/rootSaga';\n\nconst sagaMonitor =\n process.env.NODE_ENV === 'development'\n ? console.tron.createSagaMonitor()\n : null;\n\nconst sagaMiddleware = createSagaMiddleware({ sagaMonitor });\n\nconst middlewares = [sagaMiddleware];\n\nconst store = createStore(persistReducers(rootReducer), middlewares);\nconst persistor = persistStore(store);\n\nsagaMiddleware.run(rootSaga);\n\nexport default store;\nexport { persistor };\n","import { createHashHistory } from 'history';\n\nconst history = createHashHistory();\n\nexport default history;\n","import axios from 'axios';\nimport {\n addRequest,\n removeRequest,\n} from '~/store/modules/loader/loader.actions';\nimport { SMARAPD_PAI_DOMAIN } from '~/services/urls';\nimport store from '~/store';\nimport history from './history';\n\nconst api = axios.create({\n baseURL: SMARAPD_PAI_DOMAIN,\n});\n\napi.interceptors.request.use(\n function handleRequest(config) {\n store.dispatch(addRequest());\n return config;\n },\n function handleError(error) {\n return Promise.reject(error);\n }\n);\n\napi.interceptors.response.use(\n function handleResponse(response) {\n store.dispatch(removeRequest());\n return response;\n },\n function handleError(error) {\n store.dispatch(removeRequest());\n return Promise.reject(error);\n }\n);\n\napi.interceptors.response.use(\n function handleResponse(response) {\n return response;\n },\n function handleError(error) {\n if (error && error.response) {\n store.dispatch(removeRequest());\n const { status } = error.response;\n\n if (status === 404) history.push('/notfound');\n }\n return Promise.reject(error);\n }\n);\n\nexport default api;\n","function addRequest() {\n return {\n type: '@loader/ADD_REQUEST',\n };\n}\n\nfunction removeRequest() {\n return {\n type: '@loader/REMOVE_REQUEST',\n };\n}\n\nexport { addRequest, removeRequest };\n","import React, { createContext, useContext, useEffect, useState } from 'react';\nimport api from '~/services/api';\n\nexport const MenuContext = createContext();\n\nexport default function MenuProvider({ children }) {\n const [menuSelecionado, setMenuSelecionado] = useState(undefined);\n const [menus, setMenus] = useState([]);\n const [isLoading, setIsLoading] = useState(true);\n\n function resetMenuSelecionado() {\n setMenuSelecionado(undefined);\n }\n\n useEffect(() => {\n const getMenus = async () => {\n const responseMenu = await api.get('MenuPortal');\n setMenus(responseMenu.data);\n setIsLoading(false);\n };\n\n getMenus();\n }, []);\n\n return (\n \n {children}\n \n );\n}\n\nexport function useMenus() {\n const {\n menus,\n menuSelecionado,\n setMenuSelecionado,\n isLoadingMenus,\n resetMenuSelecionado,\n } = useContext(MenuContext);\n\n return {\n menus,\n menuSelecionado,\n setMenuSelecionado,\n isLoadingMenus,\n resetMenuSelecionado,\n };\n}\n","export const TIPO_MENU_PORTAL = {\n ITEM_MENU: 1,\n EXTERNO: 2,\n MODULO_FIXO: 3,\n MODULO_DINAMICO: 4,\n MODULO_ESPECIAL: 5,\n };","export const breadcrumbEstruturaOrganizacional = [\n {\n uri: '/estrutura_organizacional',\n breadcrumb: ['Estrutura Organizacional'],\n },\n {\n uri: '/estrutura_organizacional/detalhe/:id/',\n breadcrumb: [\n {\n breadcrumb: 'Estrutura Organizacional',\n uri: '/estrutura_organizacional',\n },\n 'Detalhes',\n ],\n },\n];\n\nexport const breadcrumbHome = [{ uri: '/', breadcrumb: ['Home'] }];\n\nexport const breadcrumbFaq = [{ uri: '/faq', breadcrumb: ['FAQ'] }];\n\nexport const breadcrumbDadosAbertos = [\n { uri: '/dados_abertos', breadcrumb: ['Dados Abertos'] },\n];\n\nexport const breadcrumbEsic = [{ uri: '/esic', breadcrumb: ['e-SIC'] }];\n\nexport const breadcrumbSumario = [{ uri: '/sumario', breadcrumb: ['Sumário'] }];\n\nexport const breadcrumbGlossario = [\n { uri: '/glossario', breadcrumb: ['Glossário'] },\n];\n\nexport const breadcrumbFaleConosco = [\n { uri: '/faleconosco', breadcrumb: ['Fale Conosco'] },\n];\n\nexport const breadcrumbEstatisticas = [\n { uri: '/estatisticas', breadcrumb: ['Estatísticas'] },\n];\n\nexport const breadcrumbAutenticidade = [\n { uri: '/autenticidade', breadcrumb: ['Autenticidade'] },\n];\n","import { useEffect, useState } from 'react';\nimport { useMenus } from '~/contexts/menu.context';\nimport { TIPO_MENU_PORTAL } from '~/modules/Helper/tipoMenuPortal';\nimport {\n breadcrumbEstruturaOrganizacional,\n breadcrumbEsic,\n breadcrumbFaq,\n breadcrumbDadosAbertos,\n breadcrumbGlossario,\n breadcrumbHome,\n breadcrumbSumario,\n breadcrumbFaleConosco,\n breadcrumbEstatisticas,\n breadcrumbAutenticidade,\n} from '~/utils/breadcrumb';\n\nexport function useBreadcrumb() {\n const [breadcrumbs, setBreadcrumbs] = useState([]);\n const { menus, menuSelecionado, setMenuSelecionado } = useMenus();\n\n function obterBreadcrumbModulos() {\n // eslint-disable-next-line no-shadow\n function processarItens(itens, caminhoAnterior = [], breadcrumbs = []) {\n itens.forEach(item => {\n const novoBreadcrumb = [...caminhoAnterior, item.Titulo];\n\n if (\n item.tipoMenuPortal !== TIPO_MENU_PORTAL.EXTERNO &&\n item.TipoMenuPortal !== TIPO_MENU_PORTAL.ITEM_MENU &&\n item.URI\n ) {\n breadcrumbs.push({\n id: item.Id,\n uri: item.URI,\n breadcrumb: novoBreadcrumb,\n });\n if (item.URI.includes('/dinamico')) {\n breadcrumbs.push({\n id: item.Id,\n uri: `${item.URI}/detalhevisao`,\n breadcrumb: [...novoBreadcrumb, 'Detalhe Visão Analítica'],\n breadcrumbUri: item.URI,\n });\n breadcrumbs.push({\n id: item.Id,\n uri: `${item.URI}/busca`,\n breadcrumb: [...novoBreadcrumb, 'Busca Avançada'],\n breadcrumbUri: item.URI,\n });\n }\n }\n\n if (item.SubItens && item.SubItens.length) {\n processarItens(item.SubItens, novoBreadcrumb, breadcrumbs);\n }\n });\n\n return breadcrumbs;\n }\n\n return processarItens(menus);\n }\n\n useEffect(() => {\n const breadcrumbModulos = obterBreadcrumbModulos();\n\n const newBreadcrumb = [\n ...breadcrumbModulos,\n ...breadcrumbEstruturaOrganizacional,\n ...breadcrumbFaq,\n ...breadcrumbDadosAbertos,\n ...breadcrumbEsic,\n ...breadcrumbSumario,\n ...breadcrumbGlossario,\n ...breadcrumbHome,\n ...breadcrumbFaleConosco,\n ...breadcrumbEstatisticas,\n ...breadcrumbAutenticidade,\n ];\n\n setBreadcrumbs(newBreadcrumb);\n }, [menus]);\n\n function obterBreadcrumbPorUri(uri, params) {\n //\n if (!breadcrumbs?.length) return undefined;\n\n //\n if (menuSelecionado) {\n const breadcrumb = breadcrumbs.find(x => {\n return x.id === menuSelecionado.Id;\n });\n setMenuSelecionado(null);\n return breadcrumb;\n }\n\n //\n const { modulo, visao } = params;\n let uriComparacao = uri;\n if (uri.includes('/dinamico/') || uri.includes('/fixo/')) {\n uriComparacao = uri.replace(':modulo', modulo).replace(':visao', visao);\n }\n return breadcrumbs.find(x => {\n return x.uri === uriComparacao;\n });\n }\n\n return { breadcrumbs, obterBreadcrumbPorUri };\n}\n","import React from 'react';\nimport styled from 'styled-components';\nimport { Breadcrumb as AntDesignBreadcrumb, Icon as AntDesignIcon } from 'antd';\n\nexport const Breadcrumb = styled(AntDesignBreadcrumb)`\n && {\n padding: 8px 0px;\n height: 50px;\n }\n a {\n text-decoration-line: underline;\n }\n`;\n\nexport const BreadcrumbItem = styled(AntDesignBreadcrumb.Item)``;\n\nexport const Icon = styled(props => )``;\n","/* eslint-disable no-undef */\n/* eslint-disable no-console */\nimport React from 'react';\nimport { Link } from 'react-router-dom';\nimport { HomeOutlined } from '@ant-design/icons';\nimport { useBreadcrumb } from '~/hooks/useBreadcrumb';\nimport * as S from './Breadcrumb.styled';\n\nfunction Breadcrumb({ master, match }) {\n //\n const { params, path } = match;\n const { obterBreadcrumbPorUri } = useBreadcrumb();\n const breadcrumb = obterBreadcrumbPorUri(path, params);\n\n if (!breadcrumb?.breadcrumb) return null;\n\n return (\n \n \n \n \n \n \n {breadcrumb.breadcrumb.map((item, index) =>\n breadcrumb.breadcrumbUri &&\n index === breadcrumb.breadcrumb.length - 2 ? (\n \n {item}\n \n ) : (\n {item}\n )\n )}\n \n );\n}\n\nexport default Breadcrumb;\n\nBreadcrumb.defaultProps = {\n breadcrumb: [],\n};\n","import * as S from './Card.styled';\n\nexport default S.Card;\n","import styled from 'styled-components';\nimport { Card as AntDesignCard } from 'antd';\n\nexport const Card = styled(AntDesignCard)`\n && {\n background: rgba(255, 255, 255, 0.9);\n\n .ant-card-head-title,\n .ant-card-body {\n font-size: ${({ theme }) => `${16 + 2 * theme.zoomFonte}px`};\n }\n }\n`;\n","import { Col } from 'antd';\n\nexport default Col;\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport Icons from '../Icons/Icons.component';\n\nfunction Collapse({ collapsed, handleToggle }) {\n const corFonteTituloPortal = useSelector(\n state => state.configuration.corFonteTituloPortal\n );\n\n return collapsed ? (\n {\n if (event.keyCode === 13) handleToggle();\n }}\n onClick={handleToggle}\n className=\"collapseButton\"\n collapsed={collapsed}\n />\n ) : (\n {\n if (event.keyCode === 13) handleToggle();\n }}\n className=\"collapseButton\"\n collapsed={collapsed}\n onClick={handleToggle}\n />\n );\n}\n\nexport default Collapse;\n","import styled from 'styled-components';\nimport { Layout } from 'antd';\n\nexport const Content = styled(Layout.Content)`\n min-height: auto;\n padding: 24px 32px;\n background: url(${({ src }) => `'${src}'`}) no-repeat;\n background-size: 100% 100%;\n background-position: center center;\n`;\n","import React from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { useSelector } from 'react-redux';\nimport * as S from './Content.styled';\n\nfunction Content({ children }) {\n const location = useLocation().pathname;\n\n const bgImage = useSelector(state =>\n location === '/'\n ? state.configuration.bgImageHome\n : state.configuration.bgImageTelas\n );\n\n return bgImage ? (\n {children}\n ) : (\n {children}\n );\n}\n\nexport default Content;\n","import styled from 'styled-components';\nimport { DatePicker } from 'antd';\n\nconst { RangePicker } = DatePicker;\n\nexport const StyledRangePicker = styled(RangePicker)`\n &&.ant-picker {\n width: 100%;\n }\n`;\n","import React from 'react';\nimport moment from 'moment';\n\nimport * as S from './RangePicker.styled';\n\nconst dateFormat = 'DD/MM/YYYY';\n\nfunction RangePickerComponent({ onCalendarChange, valorPadrao }) {\n return (\n 1 && [\n moment(valorPadrao[0], dateFormat),\n moment(valorPadrao[1], dateFormat),\n ]\n }\n />\n );\n}\n\nexport default RangePickerComponent;\n","import {Divider} from './Divider.styled';\n\nexport default Divider;\n","import styled from 'styled-components';\nimport { Divider as antdDivider} from 'antd';\n\nexport const Divider = styled(antdDivider)`\n &&{\n .ant-divider-inner-text{\n font-size: ${({ theme }) => `${14 + 2 * theme.zoomFonte}px`};\n }\n }\n \n`;","import * as S from './Drawer.styled';\n\nexport default S.Drawer;\n","import styled from 'styled-components';\nimport { Drawer as AntDesignDrawer } from 'antd';\n\nexport const Drawer = styled(AntDesignDrawer).attrs(() => ({\n bodyStyle: { padding: 0 },\n}))``;\n","export const Limite = {\n PDF: 60000,\n XML: 60000,\n TXT: 60000,\n XLSX: 60000,\n CSV: 60000,\n JPG: 1500,\n};\n","import styled from 'styled-components';\nimport Button from '../Button/Button.component';\n\nexport const Container = styled.div`\n display: flex;\n align-items: center;\n justify-content: flex-end;\n\n ${Button} {\n padding: 2px;\n margin-left: 8px;\n }\n`;\n","import {Dropdown} from 'antd';\n\nexport default Dropdown;\n","import React from 'react';\nimport { Menu } from 'antd';\nimport { Limite } from '~/modules/Helper/FileExportConstants';\nimport { Container } from './Exportacao.styled';\n\nimport Tooltip from '../Tooltip/Tooltip.component';\nimport Dropdown from '../Dropdown/Dropdown.component';\nimport Icons from '../Icons/Icons.component';\nimport Button from '../Button/Button.component';\n\nfunction Exportacao({ onClick, QuantidadeRegistros, semURI, moduloFixo }) {\n function handleMenuClick(e) {\n onClick(e.key);\n }\n\n function handleLimitMessage(limite) {\n return `${`Não é possível exportar acima de ${limite} registros`}`;\n }\n\n const menuExportacao = (\n \n {!moduloFixo && (\n Limite.PDF}\n >\n Limite.PDF && handleLimitMessage(Limite.PDF)\n }\n placement=\"left\"\n >\n
\n \n PDF\n
\n \n \n )}\n\n Limite.CSV}>\n Limite.CSV && handleLimitMessage(Limite.CSV)\n }\n placement=\"left\"\n >\n
\n \n CSV\n
\n \n
\n\n Limite.XLSX}>\n Limite.XLSX && handleLimitMessage(Limite.XLSX)\n }\n placement=\"left\"\n >\n
\n \n XLSX\n
\n \n
\n\n Limite.TXT}>\n Limite.TXT && handleLimitMessage(Limite.TXT)\n }\n placement=\"left\"\n >\n
\n \n TXT\n
\n \n
\n\n {!'RefatorarRotina' && !moduloFixo && (\n Limite.JPG}>\n Limite.JPG && handleLimitMessage(Limite.JPG)\n }\n placement=\"left\"\n >\n
\n \n JPG\n
\n \n
\n )}\n\n Limite.XML}>\n Limite.XML && handleLimitMessage(Limite.XML)\n }\n placement=\"left\"\n >\n
\n \n XML\n
\n \n
\n\n {!semURI && (\n \n \n URI\n \n )}\n
\n );\n\n return (\n \n \n \n \n \n );\n}\n\nexport default Exportacao;\n","import styled from 'styled-components';\nimport { Typography as AntDesignTypography } from 'antd';\n\nexport const Text = styled(AntDesignTypography.Text)`\n font-size: ${({ theme }) => `${14 + 2 * theme.zoomFonte}px`};\n`;\n\nexport const Link = styled(AntDesignTypography.Link)``;\n\nexport const Title = styled(AntDesignTypography.Title)`\n &.ant-typography {\n font-size: ${({ theme, level }) => {\n let originalFontSize = 0;\n switch (level) {\n case 1:\n originalFontSize = 38;\n break;\n\n case 2:\n originalFontSize = 30;\n break;\n\n case 3:\n originalFontSize = 24;\n break;\n\n case 4:\n originalFontSize = 20;\n break;\n\n case 5:\n originalFontSize = 16;\n break;\n\n default:\n originalFontSize = 38;\n }\n\n return `${originalFontSize + 2 * theme.zoomFonte}px`;\n }};\n }\n`;\n\nexport const Paragraph = styled(AntDesignTypography.Paragraph)`\n font-size: ${({ theme }) => `${14 + 2 * theme.zoomFonte}px`};\n`;\n\nexport const Typography = {\n Text,\n Link,\n Title,\n Paragraph,\n};\n","import styled from 'styled-components';\nimport { Button } from 'antd';\nimport * as Icons from '@ant-design/icons';\n\nexport const Icon = styled(Icons.EnvironmentOutlined)`\n font-size: 14px;\n`;\n\nexport const ImageButton = styled(Button)`\n && {\n display: flex;\n align-items: center;\n height: 40px;\n width: 40px;\n padding: 12px;\n }\n`;\n","import React from 'react';\nimport { Tooltip } from 'antd';\nimport * as S from './MapButton.styled';\n\nfunction MapButton({ rua, numero, bairro, cidade }) {\n let query = `${rua || ' '} ${numero || ''} ${bairro || ''} ${cidade || ''}`;\n query = query.replace(/\\s/g, '+');\n\n function redirect() {\n window.open(`https://www.google.com/maps/search/?api=1&query=${query}`);\n }\n\n return (\n \n \n \n \n \n );\n}\nexport default MapButton;\n","import styled from 'styled-components';\nimport { Layout, Col } from 'antd';\n\nexport const Footer = styled(Layout.Footer)`\n && {\n text-align: center;\n }\n`;\n\nexport const MapButtonWrapper = styled(Col)`\n margin-top: 5px;\n`;\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { Row, Col } from 'antd';\nimport { Typography } from '../Typography/Typography.styled';\nimport MapButton from '~/components/MapButton/MapButton.component';\nimport * as S from './Footer.styled';\n\nfunction Footer() {\n const configuration = useSelector(state => state.configuration);\n const {\n corFonteRodape,\n endereco,\n bairro,\n cidade,\n cep,\n telefone,\n atendimento,\n } = configuration;\n\n return (\n \n \n \n \n {endereco} - {bairro} - {cidade} - {cep}\n \n\n \n {telefone} - {atendimento}\n \n \n \n \n \n \n \n );\n}\n\nexport default Footer;\n","import { Form as FormV3 } from '@ant-design/compatible';\nimport '@ant-design/compatible/assets/index.css';\n\nexport default FormV3;\n","import styled from 'styled-components';\nimport { Layout } from 'antd';\n\nexport const Header = styled(Layout.Header)`\n && {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0;\n height: 160px;\n background: url(${({ src }) => `'${src}'`}) no-repeat;\n background-size: 100% 100%;\n background-position: center center;\n background-color: #fff;\n }\n`;\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport * as S from './Header.styled';\n\nfunction Header({ children }) {\n const banner = useSelector(state => state.configuration.banner);\n\n return {children};\n}\n\nexport default Header;\n","import React from 'react';\nimport styled from 'styled-components';\nimport { Icon as AntDesignIcon } from 'antd';\n\nexport const Icon = styled(props => )`\n && {\n padding: ${props => props.padding}px;\n padding-left: ${props => props.pl}px;\n padding-right: ${props => props.pr}px;\n font-size: ${props => props.fontSize}px;\n color: ${props => props.color};\n }\n`;\n","import styled from 'styled-components';\nimport { Typography } from '../Typography/Typography.styled';\n\nexport const Paragraph = styled(Typography.Paragraph)`\n && {\n color: ${({ color }) => color};\n font-weight: bold;\n font-size: ${({ theme }) => `${14 + 2 * theme.zoomFonte}px`};\n }\n`;\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport * as S from './SectionTitle.styled';\n\nfunction SectionTitle({ titulo, icon }) {\n const corTema = useSelector(state => state.configuration.corTema);\n\n return (\n \n {icon}\n {titulo}\n \n );\n}\n\nexport default SectionTitle;\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n margin-bottom: 10px;\n background: rgba(255, 255, 255, 0.9);\n`;\n\nexport const IconSection = styled.div`\n margin-right: 5px;\n`;\n\nexport const Content = styled.div`\n padding: 10px;\n font-size: ${({ theme }) => `${14 + 2 * theme.zoomFonte}px`};\n`;\n","import React from 'react';\nimport SectionTitle from '../SectionTitle/SectionTitle.component';\nimport { Container, Content, IconSection } from './style';\n\nfunction Informacao({ titulo, informacao, icon}) {\n return (\n <>\n \n \n \n \n \n );\n}\n\nexport default Informacao;\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n margin-bottom: 10px;\n background: rgba(255, 255, 255, 0.9);\n`;\n\nexport const IconSection = styled.div`\n margin-right: 5px;\n`;\n\nexport const Content = styled.div`\n padding: 10px;\n font-size: ${({ theme }) => `${14 + 2 * theme.zoomFonte}px`};\n\n & #highlighted {\n font-style: normal;\n background: yellow;\n }\n`;\n","import React from 'react';\r\n\r\nexport default function RemoveDiacritic(stringValue) {\r\n\r\n return stringValue\r\n .toLowerCase()\r\n .normalize('NFD')\r\n .replace(/\\p{Diacritic}/gu, '');\r\n}\r\n","import React, {\n useEffect,\n useState,\n forwardRef,\n useImperativeHandle,\n} from 'react';\nimport SectionTitle from '../SectionTitle/SectionTitle.component';\nimport { Container, Content } from './style';\nimport RemoveDiacritic from '../../hooks/removeDiacritic';\n\nconst InformacaoFilter = forwardRef(\n ({ titulo, informacao, icon, setSearchValue }, ref) => {\n const [html, setHtml] = useState();\n const tagsPermitidas = ['LI', 'P', 'BODY'];\n const regexToRemoveHtmlTag = /(<([^>]+)>)/gi;\n\n useImperativeHandle(ref, () => ({\n filterElements(value) {\n const buscaSemAcentos = RemoveDiacritic(value);\n if (buscaSemAcentos) {\n\n const newDocumentHTML = new DOMParser().parseFromString(\n informacao,\n 'text/html'\n );\n\n const elementos = newDocumentHTML.body.getElementsByTagName('*');\n\n const hasMatchWord = string => {\n return RemoveDiacritic(string)?.indexOf(buscaSemAcentos) !== -1;\n };\n\n let ultimoElementoPermitido; \n\n for(let i = 0; i < elementos.length; i++) {\n let elemento = elementos[i];\n \n let elementoSemAcento = elemento.innerHTML.replace(regexToRemoveHtmlTag, '');\n elementoSemAcento = RemoveDiacritic(elementoSemAcento);\n \n let IndexFound = hasMatchWord(elementoSemAcento);\n let isTagPermitida = tagsPermitidas.includes(elemento.tagName);\n\n //Nesse if verificamos se encontramos o termo na busca e se ele é uma das tags permitidas definidas nas consts no começo\n //da classe, caso encontrado ele define o display como block, caso encontre e não seja uma tag permitida, definimos como\n // '', e caso não encontre colocamos 'none'.\n\n if(IndexFound && isTagPermitida) {\n ultimoElementoPermitido = elemento;\n elemento.style.display= \"block\";\n }\n \n else if(IndexFound || (!isTagPermitida && ultimoElementoPermitido)) \n elemento.style.display= \"\";\n \n else {\n elemento.style.display= \"none\";\n }\n };\n\n const novoHtml = newDocumentHTML.body.innerHTML;\n return setHtml(novoHtml);\n } else {\n setSearchValue('');\n }\n },\n onChangeInfo(e) {\n setSearchValue(e.target.value);\n if (!e.target.value) {\n setHtml(informacao);\n }\n },\n }));\n\n useEffect(() => {\n setSearchValue('');\n setHtml(informacao);\n }, [informacao]);\n\n return (\n <>\n \n \n \n \n \n );\n }\n);\n\nexport default InformacaoFilter;\n","import React from 'react';\nimport { ConfigProvider } from 'antd';\nimport ptBR from 'antd/es/locale/pt_BR';\n\nfunction Internationalization({ children }) {\n return {children};\n}\n\nexport default Internationalization;\n","import * as S from './Layout.styled';\n\nexport default S.Layout;\n","import styled from 'styled-components';\nimport { Layout as AntDesignLayout } from 'antd';\n\nexport const Layout = styled(AntDesignLayout)`\n min-height: 100vh;\n overflow-y: hidden;\n`;\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { Spin } from 'antd';\n\nfunction Loader({ children }) {\n const count = useSelector(state => state.loader.count);\n\n return (\n 0} delay={500}>\n {children}\n \n );\n}\n\nexport default Loader;\n","import styled from 'styled-components';\n\nexport const Logo = styled.img`\n display: block;\n height: 60px;\n margin: 16px auto;\n cursor: pointer;\n`;\n","/* eslint-disable react/self-closing-comp */\nimport React from 'react';\nimport { useSelector } from 'react-redux';\nimport { withRouter } from 'react-router-dom';\nimport * as S from './Logo.styled';\n\nfunction Logo({ history: { push } }) {\n const brasao = useSelector(state =>\n state.configuration.highContrast\n ? state.configuration.brasaoPB\n : state.configuration.brasao\n );\n\n function onClick() {\n push('/');\n }\n\n return (\n {\n if (event.keyCode === 13) onClick();\n }}\n onClick={onClick}\n tabIndex={0}\n src={brasao}\n alt=\"Brasão\"\n >\n );\n}\n\nexport default withRouter(Logo);\n","import styled, { createGlobalStyle } from 'styled-components';\nimport { Map as LeafletMap } from 'react-leaflet';\nimport { Card } from '~/components';\n\nexport const Map = styled(LeafletMap)`\n width: 100%;\n height: 459px;\n z-index: 0;\n`;\n\nexport const PopupStyles = createGlobalStyle`\n .leaflet-zoom-animated{\n bottom: 35px !important;\n }\n`;\n\nexport const PopupLink = styled.a`\n font-size: 14px;\n text-decoration: underline;\n &:hover{\n text-decoration: underline;\n }\n`;\n\nexport const MapTextCard = styled(Card)`\n display: flex;\n justify-content: center;\n align-items: center;\n height: 459px;\n`;\n","import React, { useEffect, useState } from 'react';\nimport { Icon } from 'leaflet';\nimport { TileLayer, Marker, Popup } from 'react-leaflet';\nimport markerIconPng from 'leaflet/dist/images/marker-icon.png';\nimport Geocode from 'react-geocode';\nimport * as S from './Map.styled';\nimport { geocodeKey } from '~/utils/keys';\n\nGeocode.setApiKey(geocodeKey);\nGeocode.setLanguage('cs');\nGeocode.setRegion('br');\n\nfunction MapContainer({ rua, numero, bairro, cidade, corFonte }) {\n const discardCompleFromRua = rua?.split('-')[0];\n let query = `${discardCompleFromRua || ' '} ${numero || ''} ${bairro ||\n ''} ${cidade || ''}`;\n query = query.replace(/\\s/g, '+');\n\n function redirect() {\n window.open(`https://www.google.com/maps/search/?api=1&query=${query}`);\n }\n\n const [data, setData] = useState(false);\n\n useEffect(() => {\n Geocode.fromAddress(\n `${discardCompleFromRua || ' '} ${bairro || ' '} ${cidade || ' '}`\n ).then(\n response => {\n setData(response.results[0].geometry.location);\n },\n error => {\n setData(null);\n }\n );\n }, []);\n\n const loadMap = () => {\n if (data) {\n return (\n \n \n \n \n \n \n {rua}\n \n \n \n \n );\n }\n\n if (data === null) {\n return Localização não encontrada.;\n }\n\n do {\n return Carregando;\n } while (!data);\n };\n\n return <>{loadMap()};\n}\n\nexport default MapContainer;\n","export const geocodeKey = 'AIzaSyD1YTq1NF4ZIBis1ZYmf_zzLiAiU_BnYD4';\n","import React from 'react';\nimport Icons from '../../components/Icons/Icons.component';\n\nexport const iconEnum = [\n {\n name: 'question-circle',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'question',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'clock-circle',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'exclamation',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'message',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'bulb',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'bank',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'calendar',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'file-text',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'file-done',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'flag',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'home',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'mail',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'setting',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'schedule',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'smile',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'tags',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'wallet',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'dollar',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'link',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'shopping-cart',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'shopping',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'team',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'check',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'close',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'warning',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'stop',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'delete',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'area-chart',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'alert',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'api',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'cloud',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'contacts',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'container',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'idcard',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'global',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'safety',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'notification',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'environment',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'ordered-list',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'snippets',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'control',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'compass',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'dashboard',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'api-requests',\n value: style => ,\n filled: 'outlined',\n },\n {\n name: 'project',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'profile',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'info-circle',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'apartment',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'calculator',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'file-search',\n value: style => ,\n outlined: 'outlined',\n },\n {\n name: 'info-circle-filled',\n value: style => ,\n filled: 'filled',\n },\n {\n name: 'youtube',\n value: style => ,\n filled: 'filled',\n },\n {\n name: 'file-pdf',\n value: style => ,\n filled: 'filled',\n },\n {\n name: 'file-img',\n value: style => ,\n filled: 'filled',\n },\n {\n name: 'file-excel',\n value: style => ,\n filled: 'filled',\n },\n {\n name: 'line-chart',\n value: style => ,\n filled: 'outlined',\n },\n {\n name: 'folder-open',\n value: style => ,\n filled: 'outlined',\n },\n];\n","export function getUrlSemDominio() {\n const url = window.location.href;\n\n return url.slice(url.indexOf('#') + 1);\n}\n\nexport function getUrlComDominio() {\n return window.location.href;\n}\n\nexport function getUrlDominio() {\n const url = window.location.href;\n\n return url.split('#')[0];\n}\n\nexport default { getUrlSemDominio, getUrlComDominio };\n","import styled from 'styled-components';\nimport { Input as AntDesignInput } from 'antd';\n\nexport const Input = styled(AntDesignInput)``;\n","import styled, { createGlobalStyle, css } from 'styled-components';\nimport { Menu as AntDesignMenu } from 'antd';\nimport { Input } from '../Input/Input.styled';\n\nconst { Search } = Input;\n\nexport const Menu = styled(AntDesignMenu)`\n height: calc(100svh - 156px);\n overflow-y: auto;\n overflow-x: hidden;\n\n // Adicionando padding no último item do menu\n .ant-menu-item:last-child,\n .ant-menu-submenu:last-child {\n margin-bottom: 24px !important;\n padding-bottom: 24px !important;\n }\n`;\n\nconst menuTitulo = css`\n font-size: ${({ theme }) => `${14 + 2 * theme.zoomFonte}px`};\n display: inline-block;\n word-wrap: break-word;\n white-space: break-spaces;\n line-height: 1.6;\n`;\n\nexport const SubMenu = styled(AntDesignMenu.SubMenu)`\n .menu-titulo {\n ${menuTitulo}\n }\n\n .ant-menu-submenu-arrow {\n display: none;\n }\n\n .ant-menu-submenu-title {\n padding: 0px 20px;\n }\n\n .anticon-arrow-right {\n border: 1px solid;\n border-radius: 50%;\n padding: 3px;\n\n svg {\n width: 12px;\n height: 12px;\n cursor: pointer;\n }\n }\n`;\n\nexport const MenuItem = styled(AntDesignMenu.Item)`\n .menu-titulo {\n ${menuTitulo}\n }\n`;\n\nexport const SearchMenu = styled(Search)`\n margin: 16px;\n display: flex;\n width: auto;\n`;\n\nexport const MenuStyles = createGlobalStyle`\n\n .ant-menu-title-content, .ant-menu-item-active {\n color: #fff !important;\n text-decoration-color: none !important;\n text-emphasis-color: none !important;\n }\n\n .ant-menu-item:hover, .ant-menu-submenu-open {\n text-decoration: underline;\n }\n\n .ant-menu-dark .ant-menu-inline. ant-menu-sub {\n box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.45);\n }\n\n .ant-layout-sider-children {\n position: fixed;\n width:inherit;\n }\n\n .ant-menu-vertical > .ant-menu-submenu > .ant-menu-submenu-title{\n line-height:normal;\n height:auto;\n margin: 12px 0px;\n text-wrap: auto;\n }\n\n .ant-menu-inline-collapsed-tooltip { \n display: none;\n }\n\n .ant-tooltip { \n opacity: 0.8; \n }\n`;\n","/* eslint-disable no-restricted-syntax */\n/* eslint-disable no-shadow */\n/* eslint-disable react/jsx-no-bind */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React, { useState } from 'react';\nimport { withRouter, useHistory } from 'react-router-dom';\nimport { iconEnum } from '~/modules/Helper/iconEnum';\nimport { TIPO_MENU_PORTAL } from '~/modules/Helper/tipoMenuPortal';\nimport { useMenus } from '~/contexts/menu.context';\nimport { useSelector } from 'react-redux';\nimport { getUrlDominio } from '~/modules/Helper/getUrl-helper';\n\nimport * as S from './Menu.styled';\nimport Tooltip from '../Tooltip/Tooltip.component';\nimport Icons from '../Icons/Icons.component';\n\nfunction Menu({ openKeys, setOpenKeys, setCollapsed, collapsed }) {\n const { menus, setMenuSelecionado } = useMenus();\n const { highContrast } = useSelector(state => state.configuration);\n const [searchValue, setSearchValue] = useState('');\n const [searchResult, setSearchResult] = useState([]);\n const history = useHistory();\n\n function handleTitleClick(name, idMenuItem) {\n\n // Função auxiliar para encontrar o item e seus níveis\n const findItemAndLevels = (items, targetId, levels = []) => {\n for (const item of items) {\n if (item.Id === targetId) {\n return [...levels, item.Titulo];\n }\n\n if (item.SubItens && item.SubItens.length > 0) {\n const found = findItemAndLevels(item.SubItens, targetId, [\n ...levels,\n item.Titulo,\n ]);\n if (found) return found;\n }\n }\n return null;\n };\n\n // Encontra todos os níveis até o item clicado\n const menuLevels = findItemAndLevels(menus, idMenuItem);\n\n if (menuLevels) {\n // Se encontrou o item, atualiza openKeys\n if (openKeys.includes(name)) {\n // Se o item já está aberto, mantém apenas os níveis até ele\n setOpenKeys(openKeys.filter(key => menuLevels.includes(key)));\n } else {\n // Se o item está fechado, mantém apenas os níveis necessários\n const newOpenKeys = openKeys.filter(key => menuLevels.includes(key));\n setOpenKeys([...newOpenKeys, name]);\n }\n } else {\n // 1º nivel é aqui\n setOpenKeys([name]);\n }\n }\n\n function formatUrl(url) {\n if (!url.startsWith('http://') && !url.startsWith('https://')) {\n return `http://${url}`;\n }\n return url;\n }\n\n function handleRedirect(tipoMenuPortal, uri, subItens) {\n if (tipoMenuPortal === TIPO_MENU_PORTAL.EXTERNO) {\n // externo\n let newUri = '';\n if (subItens !== null) newUri = formatUrl(uri);\n else newUri = getUrlDominio() + uri;\n window.open(newUri);\n } else {\n history.replace(`/`);\n history.push(uri);\n }\n setOpenKeys([]);\n }\n\n function tratarTextoBusca(texto) {\n return texto\n .toLowerCase()\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '');\n }\n\n function handleSearchChange(event) {\n const { value } = event.target;\n setSearchValue(value);\n\n if (value === '') {\n setSearchResult([]);\n setOpenKeys([]);\n return;\n }\n\n const searchTerm = tratarTextoBusca(value);\n\n const findMatchingSubItems = (subItems, searchTerm) => {\n let matchedList = [];\n\n subItems.forEach(subItem => {\n const subItemTitle = tratarTextoBusca(subItem.Titulo);\n\n if (subItemTitle.includes(searchTerm)) {\n matchedList.push(subItem);\n }\n\n if (subItem.SubItens && subItem.SubItens.length > 0) {\n matchedList = matchedList.concat(\n findMatchingSubItems(subItem.SubItens, searchTerm)\n );\n }\n });\n\n return matchedList;\n };\n\n const results = menus.reduce((acc, menu) => {\n const {\n Id,\n Titulo,\n TipoMenuPortal,\n SubItens,\n Icone,\n URI,\n ChaveModulo,\n } = menu;\n\n const menuTitle = tratarTextoBusca(Titulo);\n let matchFound = menuTitle.includes(searchTerm);\n let matchedList = [];\n\n if (SubItens && SubItens.length > 0) {\n matchedList = findMatchingSubItems(SubItens, searchTerm);\n if (matchedList.length > 0) {\n matchFound = true;\n }\n } else if (menuTitle.includes(searchTerm)) {\n matchFound = true;\n matchedList.push(menu);\n }\n\n if (matchFound) {\n if (matchedList.length > 0) {\n matchedList.forEach(matchedItem => acc.push(matchedItem));\n } else {\n acc.push({\n Id,\n Titulo,\n TipoMenuPortal,\n SubItens,\n Icone,\n URI,\n ChaveModulo,\n });\n }\n }\n\n return acc;\n }, []);\n\n setSearchResult(results);\n }\n\n function renderMenuItem(menu) {\n const { Titulo, TipoMenuPortal, SubItens, Icone, URI, IdMenuItem } = menu;\n\n const handleSubMenuTitleClick = () => {\n if (URI) {\n handleRedirect(TipoMenuPortal, URI, SubItens);\n setMenuSelecionado(menu);\n }\n };\n\n const handleSubMenuTitleClick2 = () => {\n if (URI) {\n handleRedirect(TipoMenuPortal, URI, SubItens);\n setMenuSelecionado(menu);\n }\n };\n\n const handleMenuClick = () => {\n handleRedirect(TipoMenuPortal, URI, SubItens);\n setMenuSelecionado(menu);\n if (setCollapsed) setCollapsed(false);\n };\n\n const handleSubMenuIconClick = () => {\n handleTitleClick(Titulo, IdMenuItem);\n };\n\n const TitleMenu = () => {Titulo};\n\n if (SubItens.length > 0) {\n return (\n \n \n {Icone && iconEnum.find(x => x.name === Icone)?.value()}\n \n \n \n
\n \n
\n \n \n }\n >\n {SubItens.map(subItem => renderMenuItem({ Titulo, ...subItem }))}\n \n );\n }\n return (\n \n x.name === Icone)?.value()}\n style={!collapsed ? { padding: '0px 20px' } : {}}\n onKeyDown={event => {\n if (event.key === 'Enter') {\n event.preventDefault();\n handleMenuClick();\n }\n }}\n >\n \n \n \n );\n }\n\n const handleMouseLeave = () => {\n setOpenKeys([]); // Fecha todos os submenus\n };\n\n return (\n <>\n \n {!collapsed ? (\n \n \n \n ) : null}\n \n {menus && searchResult.length > 0\n ? searchResult.map(renderMenuItem)\n : menus.map(renderMenuItem)}\n \n \n );\n}\n\nexport default withRouter(Menu);\n","import styled from 'styled-components';\nimport { Modal as ModalAntDesign } from 'antd';\n\nexport const Modal = styled(ModalAntDesign).attrs(props => ({\n bodyStyle: {\n maxHeight: props.maxHeight,\n minHeight: props.minHeight,\n overflow: 'auto',\n },\n}))`\n .ant-modal-title {\n color: ${({ corFonteTituloTelas }) => `${corFonteTituloTelas}`};\n font-size: ${({ theme }) => `${16 + 2 * theme.zoomFonte}px`};\n }\n`;\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport * as S from './Modal.styled';\n\nfunction Modal({\n title,\n width,\n visible,\n onCancel,\n maxHeight,\n minHeight,\n children,\n}) {\n const configuration = useSelector(state => state.configuration);\n const { corFonteTituloTelas } = configuration;\n\n return (\n \n {children}\n \n );\n}\n\nexport default Modal;\n\nModal.defaultProps = {\n width: 520,\n visible: false,\n maxHeight: '70vh',\n};\n\nModal.confirm = S.Modal.confirm;\n","import { Row } from 'antd';\n\nexport default Row;\n","import styled from 'styled-components';\nimport { Layout } from 'antd';\n\nexport const Sider = styled(Layout.Sider)`\n min-height: 100vh;\n`;\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport * as S from './Sider.styled';\n\nfunction Sider({ collapsed, children }) {\n const corTema = useSelector(state => state.configuration.corTema);\n\n return (\n \n {children}\n \n );\n}\n\nexport default Sider;\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { ThemeProvider } from 'styled-components';\n\nfunction Theme({ children }) {\n const { highContrast, zoomFonte } = useSelector(state => state.configuration);\n\n return (\n \n {children}\n \n );\n}\n\nexport default Theme;\n","import * as S from './Tag.styled';\n\nexport default S.Tag;\n","import styled from 'styled-components';\nimport { Tag as TagComponent } from 'antd';\n\nexport const Tag = styled(TagComponent)``;\n","import styled from 'styled-components';\nimport { Typography } from 'antd';\n\nexport const Title = styled(Typography.Title)`\n && {\n display: inline;\n font-size: ${({ theme }) => `${22 + 2 * theme.zoomFonte}px`};\n color: ${({ color }) => color};\n }\n`;\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport * as S from './Title.styled';\n\nfunction Title() {\n const configuration = useSelector(state => state.configuration);\n const { corFonteTituloPortal, titulo } = configuration;\n\n return {titulo};\n}\n\nexport default Title;\n","import * as S from './Typography.styled';\n\nexport default S.Typography;\n","import * as S from './Input.styled';\n\nexport default S.Input;\n","import * as S from './InputNumber.styled';\n\nexport default S.InputNumber;\n","import styled from 'styled-components';\nimport { InputNumber as InputNumero } from 'antd';\n\nexport const InputNumber = styled(InputNumero)`\n && .ant-input-number-handler-wrap {\n display: none;\n }\n`;\n","import * as S from './Select.styled';\n\nexport default S.Select;\n","import styled from 'styled-components';\nimport { Select as AntDesignSelect } from 'antd';\n\nexport const Select = styled(AntDesignSelect)``;\n","import styled from 'styled-components';\n// eslint-disable-next-line import/no-cycle\nimport { Button } from '../index';\n\nexport const SocialsContainer = styled.div`\n z-index: 999;\n position: fixed;\n display: flex;\n right: 10px;\n bottom: 0;\n flex-direction: column;\n`;\n\nexport const ButtonStyled = styled(Button)`\n display: flex;\n align-items: center;\n justify-content: center;\n background: ${({ background }) => background} !important;\n border: none !important;\n margin-bottom: 10px;\n width: 32.89px;\n height: 32.89px;\n border-radius: 12px !important;\n box-shadow: 0px 5px 11px -2px rgba(0, 0, 0, 0.2),\n 0px 4px 12px -7px rgba(0, 0, 0, 0.2) !important;\n`;\n","import React from 'react';\nimport { useSelector } from 'react-redux';\n// eslint-disable-next-line import/no-cycle\nimport { Icons } from '../index';\n\nexport function SocialsList() {\n const {\n RazaoSocial,\n EmailSocials,\n FacebookSocials,\n InstagramSocials,\n LinkedInSocials,\n TwitterSocials,\n WhatsAppSocials,\n YoutubeSocials,\n } = useSelector(state => state?.configuration);\n\n function retornaWpp() {\n const { input } = WhatsAppSocials?.replace(/\\D/g, '').match(\n /(\\d{0,3})(\\d{0,3})(\\d{0,4})/\n );\n return input;\n }\n\n const ArraySocials = [\n {\n icon: (\n \n ),\n link: TwitterSocials || null,\n ToolTip: 'Twitter',\n background: '#1DA1F2',\n },\n {\n icon: (\n \n ),\n link: FacebookSocials || null,\n ToolTip: 'Facebook',\n background: '#1877F2',\n },\n {\n icon: (\n \n ),\n link: InstagramSocials || null,\n ToolTip: 'Instagram',\n background:\n 'linear-gradient(45deg, #f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%)',\n },\n {\n icon: (\n \n ),\n link:\n (WhatsAppSocials &&\n retornaWpp() &&\n `https://wa.me/55${retornaWpp()}/?text=Olá ${RazaoSocial}. Gostaria de informações sobre o Portal de Transparência.`) ||\n null,\n ToolTip: 'WhatsApp',\n background: '#1A9447',\n },\n {\n icon: (\n \n ),\n link: YoutubeSocials || null,\n ToolTip: 'Youtube',\n background: '#CD201F',\n },\n {\n icon: (\n \n ),\n link: LinkedInSocials || null,\n ToolTip: 'LinkedIn',\n background: '#0A66C2',\n },\n {\n mail: true,\n icon: ,\n link: (EmailSocials && `mailto:${EmailSocials}`) || null,\n ToolTip: 'E-mail',\n background: '#0061FF',\n },\n ];\n return ArraySocials;\n}\n","import React from 'react';\nimport MailGo from 'mailgo';\n// eslint-disable-next-line import/no-cycle\nimport * as S from './Socials.styled';\n// eslint-disable-next-line import/no-cycle\nimport { Tooltip } from '../index';\nimport { SocialsList } from './SocialsList';\n\nexport default function Socials() {\n MailGo();\n return (\n \n {SocialsList &&\n SocialsList().map(\n item =>\n item.link && (\n \n window.open(item.link, '_blank') : null\n }\n background={item?.background}\n type=\"primary\"\n color=\"#fff\"\n icon={item?.icon}\n />\n \n )\n )}\n \n );\n}\n","import styled from 'styled-components';\nimport { Table as AntDesignTable } from 'antd';\n\nexport const Table = styled(AntDesignTable)`\n .ant-table-thead > tr > th.ant-table-column-has-sorters:hover {\n opacity: 0.9;\n }\n .ant-table-tbody > tr.ant-table-row-level-0:hover > td {\n background: unset;\n opacity: 0.9;\n }\n .ant-table-thead > tr > th,\n .ant-table-tbody > tr > td,\n .ant-table tfoot > tr > th,\n .ant-table tfoot > tr > td {\n padding: 6px 6px;\n }\n .ant-table-thead th.ant-table-column-has-sorters {\n padding: 14px 14px;\n }\n .ant-empty-img-simple-g {\n stroke: #d9d9d9;\n }\n .ant-empty-img-simple-path {\n fill: #fafafa;\n }\n .ant-empty-description,\n .ant-empty-img-simple-ellipse {\n color: #c9c9c9;\n }\n\n .ant-table-column-sorters-with-tooltip {\n text-align: center;\n\n .ant-table-column-title,\n .ant-table-cell,\n .btn-chave-visao,\n .btn-link-externo {\n font-size: ${({ theme }) => `${14 + 2 * theme.zoomFonte}px`};\n }\n }\n`;\n\nexport const TableResize = styled.section`\n @media only screen and (max-width: 1200px) {\n .ant-table-expanded-row-fixed {\n width: auto !important;\n }\n\n .ant-table-placeholder td {\n padding-left: 0px !important;\n }\n\n .ant-table {\n background: #ffff !important;\n }\n\n .ant-pagination {\n overflow-wrap: break-word;\n flex-wrap: wrap;\n }\n\n div.dates {\n flex-wrap: wrap;\n }\n\n table,\n thead,\n tbody,\n th,\n td,\n tr {\n display: block !important;\n }\n\n table {\n width: auto !important;\n }\n\n thead tr {\n position: absolute !important;\n top: -9999px !important;\n left: -9999px !important;\n }\n\n tr:first-child {\n margin-top: -2px;\n }\n\n tr {\n border: 1px solid #ccc !important;\n border-bottom: 2px solid #eee !important;\n }\n\n tr:nth-child(even) {\n background: ${({ theme }) => `${theme.corFundoGrid}`} !important;\n\n & td.ant-table-cell {\n background: ${({ theme }) => `${theme.corFundoGrid}`} !important;\n }\n\n & td.ant-table-column-sort {\n background: ${({ theme }) => `${theme.corFundoGrid}`} !important;\n }\n }\n\n tr:nth-child(odd) {\n background: ${({ theme }) => `${theme.corFundoGrid}70`} !important;\n\n & td.ant-table-cell {\n background: ${({ theme }) => `${theme.corFundoGrid}70`} !important;\n }\n\n & td.ant-table-column-sort {\n background: ${({ theme }) => `${theme.corFundoGrid}70`} !important;\n }\n }\n\n td {\n border: none !important;\n border-bottom: 1px solid #eee !important;\n min-height: 1.25em !important;\n white-space: normal !important;\n text-align: left !important;\n display: flex !important;\n }\n\n td:before {\n width: 45% !important;\n padding-right: 10px !important;\n font-weight: bold !important;\n color: #006b76 !important;\n }\n\n td:before {\n content: attr(data-title);\n }\n\n button.btn-chave-visao {\n padding: 0 !important;\n height: auto !important;\n flex: 1 !important;\n white-space: normal !important;\n }\n\n td > span {\n width: 50% !important;\n }\n }\n\n @media only screen and (max-width: 820px) and (min-width: 700px) {\n ul.ant-pagination {\n justify-content: center !important;\n }\n\n ul.ant-pagination > li.ant-pagination-total-text {\n white-space: nowrap !important;\n min-width: 90%;\n }\n }\n\n @media only screen and (max-width: 580px) and (min-width: 440px) {\n ul.ant-pagination {\n justify-content: center !important;\n }\n\n ul.ant-pagination > li.ant-pagination-total-text {\n white-space: nowrap !important;\n min-width: 90%;\n }\n }\n\n @media only screen and (max-width: 440px) {\n .ant-table-footer > div:first-child {\n display: contents !important;\n }\n\n ul.ant-pagination {\n flex-direction: column !important;\n align-items: center !important;\n width: 100% !important;\n }\n }\n`;\n","import React from 'react';\nimport * as S from './Table.styled';\nimport { useSelector } from 'react-redux';\n\nexport default function Table(props) {\n const theme = useSelector(state => state.configuration);\n\n return (\n \n \n \n );\n}\n","export const TIPO_VISAO = {\n PRINCIPAL: 1,\n AGRUPAMENTO: 2,\n ANALITICO: 3,\n EXTERNO: 4,\n INTERNO: 5,\n MODULOFIXO: 6,\n MODULODINAMICO: 7,\n};\n","import React, { useRef, useState } from 'react';\nimport { TIPO_VISAO } from '~/modules/Helper/tipo-visao';\nimport { Input, Button, Space } from 'antd';\nimport { SearchOutlined } from '@ant-design/icons';\n\nconst FilterHeaderTable = ({\n setSelectedKeys,\n selectedKeys,\n confirm,\n clearFilters,\n close,\n visaoColuna,\n setDataFilterHeader,\n dataFilterHeader,\n configuracao,\n obterColunaChave,\n obterColunaLink,\n setFiltro,\n filtro,\n setPagina\n}) => {\n const searchInput = useRef(null);\n\n const [valorChave, setValorChave] = useState('');\n const [campoAlterado, setCampoAlterado] = useState(false);\n\n const { NomeColuna, FonteDados, TipoValor } = visaoColuna;\n\n let KeyVisao = null;\n if (configuracao && configuracao.VisaoColunas) {\n const visaoColuna =\n configuracao.Tipo === TIPO_VISAO.AGRUPAMENTO\n ? obterColunaChave()\n : obterColunaLink();\n\n KeyVisao = visaoColuna?.FonteDados;\n }\n\n const handleSearch = (selectedKeys, confirm, valorChave) => {\n confirm();\n if (KeyVisao && KeyVisao == FonteDados) {\n setValorChave(valorChave);\n setFiltro([\n {\n Campo: FonteDados,\n Valor: selectedKeys[0],\n TipoValor,\n },\n ]);\n setSelectedKeys(['']);\n } else {\n let dataFilter = { ...dataFilterHeader };\n dataFilter.Filtros ? dataFilter.Filtros = dataFilter.Filtros.filter(x => x.Campo != FonteDados) : dataFilter.Filtros = [];\n dataFilter.Filtros.push({\n Campo: FonteDados,\n Valor: selectedKeys[0],\n TipoValor,\n });\n setDataFilterHeader(dataFilter);\n }\n setCampoAlterado(false);\n setPagina(1);\n };\n\n const handleReset = clearFilters => {\n clearFilters();\n if (KeyVisao && KeyVisao == FonteDados) setFiltro([]);\n else {\n let dataFilter = {\n ...dataFilterHeader,\n Filtros: dataFilterHeader.Filtros.filter(x => x.Campo != FonteDados),\n };\n setDataFilterHeader(dataFilter);\n }\n setValorChave('');\n };\n\n const verificaValor = () => {\n let valor = selectedKeys[0] || '';\n if (KeyVisao && KeyVisao == FonteDados) {\n if (valor == valorChave && campoAlterado) {\n setCampoAlterado(false);\n } else if (\n filtro?.length > 0 &&\n filtro[0].Campo == KeyVisao &&\n filtro[0].Valor != valorChave &&\n !campoAlterado\n ) {\n valor = filtro[0].Valor;\n setValorChave(valor);\n } else {\n valor =\n (valor != valorChave || valorChave) && campoAlterado\n ? valor\n : valorChave;\n }\n }\n return valor;\n };\n\n return (\n e.stopPropagation()}\n >\n {\n setCampoAlterado(true);\n setSelectedKeys(e.target.value ? [e.target.value] : ['']);\n }}\n onPressEnter={e => {\n handleSearch(selectedKeys, confirm, e.target?.value);\n }}\n style={{\n marginBottom: 8,\n display: 'block',\n }}\n />\n \n handleSearch(selectedKeys, confirm)}\n icon={}\n size=\"small\"\n style={{\n width: 90,\n }}\n >\n Filtrar\n \n clearFilters && handleReset(clearFilters)}\n size=\"small\"\n style={{\n width: 90,\n }}\n >\n Limpar\n \n \n \n );\n};\n\nexport default FilterHeaderTable;\n","import { Tree } from 'antd';\n\nexport default Tree;\n","import { Result } from 'antd';\n\nexport default Result;\n","import React from 'react';\nimport { useHistory } from 'react-router-dom';\nimport Result from '../Result/Result.component';\nimport { Button } from '../Button/Button.styled';\n\nfunction NotFound() {\n const history = useHistory();\n\n const voltarParaHome = () => {\n history.push('/');\n };\n\n const tituloPagina = 'Página não Encontrada';\n\n return (\n <>\n \n Voltar para Home\n \n }\n />\n \n );\n}\n\nexport default NotFound;\n","import styled from 'styled-components';\nimport { Typography } from '../Typography/Typography.styled';\n\nexport const Title = styled(Typography.Title)`\n && {\n color: ${({ color }) => color};\n font-weight: bold;\n font-size: ${({ theme }) => `${20 + 2 * theme.zoomFonte}px`};\n }\n`;\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport * as S from './PageTitle.styled';\n\nfunction PageTitle({ titulo }) {\n const { corFonteTituloTelas: corTitulo, corTema } = useSelector(\n state => state.configuration\n );\n\n return (\n \n {titulo}\n \n );\n}\n\nexport default PageTitle;\n","import styled from 'styled-components';\n\nexport const ImageLink = styled.img`\n display: flex;\n height: 60px;\n margin: 20px 0px;\n cursor: pointer;\n`;\n","import { Tooltip } from 'antd';\nimport React from 'react';\nimport { withRouter } from 'react-router-dom';\nimport * as S from './ImageLink.styled';\n\nfunction ImageLink({ imagem, uri, alt, tooltip }) {\n function onClick() {\n if (uri) {\n const redirect = !uri.match(/http(s)*:\\/\\//g) ? `http://${uri}` : uri;\n window.open(redirect);\n }\n }\n\n return (\n \n {\n if (event.keyCode === 13) onClick();\n }}\n onClick={onClick}\n tabIndex={0}\n src={`data:image/png;base64, ${imagem}`}\n alt={alt}\n >\n \n );\n}\n\nexport default withRouter(ImageLink);\n","import styled from 'styled-components';\nimport { Button } from 'antd';\n\nexport const Image = styled.img`\n display: block;\n width: 100%;\n height: 100%;\n`;\n\nexport const ImageButton = styled(Button)`\n && {\n display: inline-block;\n vertical-align: top;\n height: 90px;\n width: 180px;\n padding: 12px;\n margin-bottom: 20px;\n }\n`;\n","import { Tooltip } from 'antd';\nimport React from 'react';\nimport { withRouter } from 'react-router-dom';\nimport * as S from './ImageButton.styled';\n\nfunction ImageButton({ type, shape, imagem, uri, alt, tooltip }) {\n function onClick() {\n if (uri) {\n const redirect = !uri.match(/http(s)*:\\/\\//g) ? `http://${uri}` : uri;\n window.open(redirect);\n }\n }\n\n return (\n \n {\n if (event.keyCode === 13) onClick();\n }}\n onClick={onClick}\n tabIndex={0}\n >\n \n \n \n );\n}\n\nexport default withRouter(ImageButton);\n","import * as L from './List.styled';\n\nexport default L.List;\n","import styled from 'styled-components';\nimport { List as antdList } from 'antd';\n\nexport const List = styled(antdList)`\n .ant-list-item, .ant-list-item-meta-content h4 {\n font-size: ${({ theme }) => `${14 + 2 * theme.zoomFonte}px`};\n }\n`;","import styled from 'styled-components';\nimport { Button as AntDesignButton } from 'antd';\n\nexport const ButtonGoBack = styled(AntDesignButton)`\nfloat: left;\nmargin: 10px 20px 0 0;\n && {\n margin-left: ${({ ml }) => ml}px;\n margin-right: ${({ mr }) => mr}px;\n color: ${({ color }) => color};\n }\n`;\n","import * as S from './ButtonGoBack.styled';\nimport React from 'react';\nfunction ButtonGoBack({ OnClick, MarginLeft = '0px' }) {\n return (\n <>\n \n Voltar\n \n \n );\n}\n\nexport default ButtonGoBack;\n","import React from 'react';\nimport ReCAPTCHA from \"react-google-recaptcha\";\n\nfunction ReCaptcha({ handleOnCaptchaChange }) {\n return (\n \n );\n}\nexport default ReCaptcha;","import React from 'react';\nimport { notification } from 'antd';\n\nconst PreserveBreakLine = ({ message }) => (\n
{message}
\n);\n\nfunction showSuccess(successMessage) {\n notification.success({\n message: 'Sucesso',\n description: ,\n });\n}\n\nfunction showWarning(warningMessage) {\n notification.warning({\n message: 'Alerta',\n description: ,\n });\n}\n\nfunction showError(errorMessage) {\n notification.error({\n message: 'Erro',\n description: ,\n });\n}\n\nexport { showSuccess, showWarning, showError };\n","import axios from 'axios';\nimport {\n addRequest,\n removeRequest,\n} from '~/store/modules/loader/loader.actions';\nimport { SMARAPD_FILEMANAGER_DOMAIN } from '~/services/urls';\nimport store from '~/store';\nimport history from './history';\n\nconst apiFM = axios.create({\n baseURL: SMARAPD_FILEMANAGER_DOMAIN,\n});\n\napiFM.interceptors.request.use(\n function handleRequest(config) {\n store.dispatch(addRequest());\n return config;\n },\n function handleError(error) {\n return Promise.reject(error);\n }\n);\n\napiFM.interceptors.response.use(\n function handleResponse(response) {\n store.dispatch(removeRequest());\n return response;\n },\n function handleError(error) {\n store.dispatch(removeRequest());\n return Promise.reject(error);\n }\n);\n\napiFM.interceptors.response.use(\n function handleResponse(response) {\n return response;\n },\n function handleError(error) {\n if (error && error.response) {\n store.dispatch(removeRequest());\n const { status } = error.response;\n if (status === 404) history.push('/notfound');\n }\n return Promise.reject(error);\n }\n);\n\nexport default apiFM;\n","import apiFM from '../apiFM';\n\nconst paiBaseService = '/filemanager/pai';\n\nexport async function fileManagerPaiDownload(fileName) {\n const url = `${apiFM.defaults.baseURL}${paiBaseService}/download?nomeArquivo=${fileName}`;\n window.location.assign(url);\n}\n\nexport function getFullUrl(nomeArquivo) {\n return `${apiFM.defaults.baseURL}${paiBaseService}/download?nomeArquivo=${nomeArquivo}`;\n}\n","import React, { useState, useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useMediaQuery } from 'react-responsive';\n\nimport { setConfiguration } from '~/store/modules/configuration/configuration.actions';\n\nimport api from '~/services/api';\n\nimport {\n Layout,\n Drawer,\n Sider,\n Logo,\n Menu,\n Header,\n Collapse,\n Title,\n Acessibility,\n Content,\n Footer,\n BackTopPage,\n Icons,\n Socials,\n} from '~/components';\nimport { getFullUrl } from '~/services/FileManager/file-manager.service';\nimport { useMenus } from '~/contexts/menu.context';\n\nfunction DefaultLayout({ children }) {\n const { isLoadingMenus } = useMenus();\n const [isLoading, setIsLoading] = useState(true);\n const [collapsed, setCollapsed] = useState(false);\n const [openKeys, setOpenKeys] = useState([]);\n const [backTopBgColor, setBackTopBgColor] = useState();\n\n const dispatch = useDispatch();\n\n const isMobile = useMediaQuery({ query: '(max-width: 700px)' });\n\n useEffect(() => {\n async function getConfiguracao() {\n const [responseConfiguracao, responseCliente] = await Promise.all([\n api.get('configuracaoaparencia'),\n api.get('cliente'),\n ]);\n\n const {\n BannerUrl,\n BrasaoUrl,\n BrasaoPretoBrancoUrl,\n ImagemFundoHomeUrl,\n ImagemFundoTelasUrl,\n CorTema,\n Titulo,\n CorFonteTituloPortal,\n CorFonteTituloTelas,\n CorFonte,\n CorFonteRodape,\n CorFundoRodape,\n CorFundoGrid,\n CorFundoTituloGrid,\n CorTituloGrid,\n } = responseConfiguracao.data;\n\n const {\n RazaoSocial,\n Endereco,\n Bairro,\n Cidade,\n CEP,\n Telefone,\n Atendimento,\n EmailSocials,\n FacebookSocials,\n InstagramSocials,\n LinkedInSocials,\n TwitterSocials,\n WhatsAppSocials,\n YoutubeSocials,\n } = responseCliente.data;\n\n dispatch(\n setConfiguration({\n BannerUrl: getFullUrl(BannerUrl),\n BrasaoUrl: getFullUrl(BrasaoUrl),\n BrasaoPretoBrancoUrl: getFullUrl(BrasaoPretoBrancoUrl),\n ImagemFundoHomeUrl: getFullUrl(ImagemFundoHomeUrl),\n ImagemFundoTelasUrl: getFullUrl(ImagemFundoTelasUrl),\n CorTema,\n Titulo,\n CorFonteTituloPortal,\n CorFonteTituloTelas,\n CorFonte,\n CorFonteRodape,\n RazaoSocial,\n Endereco,\n Bairro,\n Cidade,\n CEP,\n Telefone,\n Atendimento,\n CorFundoGrid,\n CorFundoTituloGrid,\n CorTituloGrid,\n EmailSocials,\n FacebookSocials,\n InstagramSocials,\n LinkedInSocials,\n TwitterSocials,\n WhatsAppSocials,\n YoutubeSocials,\n })\n );\n\n setBackTopBgColor(CorTema);\n\n window.less\n .modifyVars({\n '@primary-color': CorTema || 'rgba(0, 0, 0, 0.1);',\n '@icon-color-hover': '#f5f5f5',\n '@link-hover-decoration': '#ffffff',\n '@layout-sider-background': CorTema || '#036f5a',\n '@menu-dark-bg': `${CorTema} !important` || '#036f5a',\n '@layout-footer-background': CorFundoRodape || '#fff',\n '@heading-color': `${CorFonte}` || '#000',\n '@text-color': `${CorFonte}` || '#000',\n '@text-color-secondary': `${CorFonte}` || '#000',\n '@disabled-color': `${CorFonte}` || '#000',\n '@link-color': '#1890ff',\n // Titulo Grid\n '@table-header-color': CorTituloGrid || '#000',\n '@table-footer-color': CorTituloGrid || '#000',\n // Fundo Grid\n '@table-bg': CorFundoGrid || '#f2f2f2',\n '@table-body-sort-bg': CorFundoGrid || '#f2f2f2',\n // Fundo Titulo Grid\n '@table-header-bg': CorFundoTituloGrid || '#fff2f2',\n '@table-header-sort-bg': CorFundoTituloGrid || '#f2f2f2',\n '@table-header-sort-active-bg': CorFundoTituloGrid || '#f2f2f2',\n '@table-footer-bg': CorFundoTituloGrid || '#f2f2f2',\n })\n .then(() => setIsLoading(false));\n }\n\n getConfiguracao();\n }, [dispatch]);\n\n function handleToggle() {\n setOpenKeys([]);\n setCollapsed(!collapsed);\n }\n\n return isLoading || isLoadingMenus ? (\n \n ) : (\n \n {isMobile ? (\n \n \n \n \n handleToggle(false)} />\n \n \n ) : (\n \n \n \n \n )}\n\n \n
\n \n \n \n </span>\n\n <span style={{ position: 'absolute', top: 0, right: 0 }}>\n <Acessibility />\n </span>\n </Header>\n <Content>{children}</Content>\n <Socials />\n <Footer />\n <BackTopPage\n icon={<Icons.UpOutlined />}\n backgroundColor={backTopBgColor || 'rgba(0, 0, 0, 0.1);'}\n />\n </Layout>\n </Layout>\n );\n}\n\nexport default DefaultLayout;\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n padding: 20px;\n height: 100%;\n padding: 20px;\n background: ${({ fundoTransparente }) =>\n fundoTransparente ? 'transparent' : 'rgba(255, 255, 255, 0.9)'};\n`;\n\nexport const Content = styled.div`\n font-size: ${({ theme }) => `${14 + 2 * theme.zoomFonte}px`};\n`;","import React from 'react';\nimport { Container, Content } from './style';\n\nfunction InformacaoDashboard({ informacao, fundoTransparente }) {\n return (\n <>\n <Container fundoTransparente={fundoTransparente}>\n <Content dangerouslySetInnerHTML={{ __html: informacao }} />\n </Container>\n </>\n );\n}\n\nexport default InformacaoDashboard;\n","export const TIPO_ACESSO = {\n INTERNO: 1,\n EXTERNO: 2,\n};\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n width: 100%;\n height: 100%;\n cursor: pointer;\n`;\n\nexport const Imagem = styled.img`\n width: 100%;\n height: 100%;\n object-fit: cover;\n`;\n","import React from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { TIPO_ACESSO } from '~/modules/Helper/tipoAcesso';\nimport { Container, Imagem } from './style';\n\nfunction CardImagemDashboard({ urlImagem, valorLink, tipoAcesso }) {\n const history = useHistory();\n\n function Redirecionar(link) {\n if (tipoAcesso === TIPO_ACESSO.INTERNO) return history.push(link);\n\n window.open(link, '_blank');\n }\n\n return (\n <Container onClick={() => Redirecionar(valorLink)}>\n <Imagem src={urlImagem} alt=\"Imagem Card\" />\n </Container>\n );\n}\n\nexport default CardImagemDashboard;\n","import styled from 'styled-components';\nimport YouTube from 'react-youtube';\n\nexport const Container = styled.div`\n padding: 20px;\n height: 100%;\n position: relative;\n background: rgba(255, 255, 255, 0.9);\n`;\n\nexport const Youtube = styled(YouTube)`\n width: 100%;\n height: 100%;\n\n iframe {\n width: 100%;\n height: 100%;\n }\n`;","import React from 'react';\nimport { Container, Youtube } from './style';\n\nfunction YouTubePlayer({ videoId }) {\n const optionsYoutubePlayer = {\n playerVars: {\n rel: 0,\n },\n };\n\n return (\n <>\n <Container>\n <Youtube videoId={videoId} opts={optionsYoutubePlayer} />\n </Container>\n </>\n );\n}\n\nexport default YouTubePlayer;\n","import React, { useState } from 'react';\n\nconst GraficoContext = React.createContext({});\n\nfunction ListaGraficoContext({ children }) {\n const [listaGrafico, setListaGrafico] = useState([]);\n const [eSic, setESic] = useState(null);\n return (\n <GraficoContext.Provider\n value={{ listaGrafico, setListaGrafico, eSic, setESic }}\n >\n {children}\n </GraficoContext.Provider>\n );\n}\n\nexport { ListaGraficoContext, GraficoContext };\n","import { useState, useEffect } from 'react';\n\nexport const tiposDevice = {\n mobile: 'Mobile',\n desktop: 'Desktop',\n};\n\nexport function useWindowListener() {\n const isClient = typeof window === 'object';\n const [widthWindow, setWidthWindow] = useState(getSize());\n\n function getSize() {\n return {\n width: isClient ? window.innerWidth : 0,\n height: isClient ? window.innerHeight : 0,\n device:\n isClient && window.innerWidth && window.innerWidth < 990\n ? tiposDevice.mobile\n : tiposDevice.desktop,\n };\n }\n\n useEffect(() => {\n if (!isClient) {\n return;\n }\n\n const handleResize = () => {\n const size = getSize();\n setWidthWindow(size);\n };\n\n window.addEventListener('resize', handleResize);\n\n return () => window.removeEventListener('resize', handleResize);\n }, [getSize, isClient, widthWindow]);\n\n return widthWindow;\n}\n","export const TAMANHO_HOME_ITEM_ENUM = {\n T_1x3: 1,\n T_2x6: 2,\n T_2x12: 3,\n T_2x9: 4,\n T_3x6: 5,\n T_3x9: 6,\n T_3x12: 7,\n T_4x12: 8,\n T_5x12: 9,\n T_6x12: 10,\n T_05x12: 11,\n T_1x12: 12,\n};\n","import { TAMANHO_HOME_ITEM_ENUM } from '~/modules/Helper/tamanhoHomeItemEnum';\n\nexport const calcularAlturaLargura = tamanho => {\n switch (tamanho) {\n case TAMANHO_HOME_ITEM_ENUM.T_3x6:\n case TAMANHO_HOME_ITEM_ENUM.T_3x9:\n case TAMANHO_HOME_ITEM_ENUM.T_3x12:\n return '225px';\n case TAMANHO_HOME_ITEM_ENUM.T_4x12:\n return '300px';\n case TAMANHO_HOME_ITEM_ENUM.T_5x12:\n return '375px';\n case TAMANHO_HOME_ITEM_ENUM.T_6x12:\n return '450px';\n default:\n return '150px';\n }\n};\n\nexport const calcularAlturaLarguraIconeMedio = tamanho => {\n switch (tamanho) {\n case TAMANHO_HOME_ITEM_ENUM.T_1x3:\n return '70px';\n case TAMANHO_HOME_ITEM_ENUM.T_3x6:\n case TAMANHO_HOME_ITEM_ENUM.T_3x9:\n case TAMANHO_HOME_ITEM_ENUM.T_3x12:\n return '130px';\n case TAMANHO_HOME_ITEM_ENUM.T_4x12:\n return '180px';\n case TAMANHO_HOME_ITEM_ENUM.T_5x12:\n return '200px';\n case TAMANHO_HOME_ITEM_ENUM.T_6x12:\n return '210px';\n default:\n return '100px';\n }\n};\n","import { TAMANHO_HOME_ITEM_ENUM } from '~/modules/Helper/tamanhoHomeItemEnum';\n\nexport const tamanhoFonteDescricaoGrafico = tamanho => {\n switch (tamanho) {\n case TAMANHO_HOME_ITEM_ENUM.T_3x6:\n case TAMANHO_HOME_ITEM_ENUM.T_3x9:\n case TAMANHO_HOME_ITEM_ENUM.T_3x12:\n return '1.35rem';\n case TAMANHO_HOME_ITEM_ENUM.T_4x12:\n return '1.7rem';\n case TAMANHO_HOME_ITEM_ENUM.T_5x12:\n return '2.05rem';\n case TAMANHO_HOME_ITEM_ENUM.T_6x12:\n return '2.40rem';\n default:\n return '1rem';\n }\n};\n\nexport const tamanhoFonteDescricaoDestaqueMedio = tamanho => {\n switch (tamanho) {\n case TAMANHO_HOME_ITEM_ENUM.T_3x6:\n case TAMANHO_HOME_ITEM_ENUM.T_3x9:\n case TAMANHO_HOME_ITEM_ENUM.T_3x12:\n return '24px';\n case TAMANHO_HOME_ITEM_ENUM.T_4x12:\n return '34px';\n case TAMANHO_HOME_ITEM_ENUM.T_5x12:\n return '44px';\n case TAMANHO_HOME_ITEM_ENUM.T_6x12:\n return '54px';\n default:\n return '22px';\n }\n};\n\nexport const tamanhoFonteDestaqueMedio = tamanho => {\n switch (tamanho) {\n case TAMANHO_HOME_ITEM_ENUM.T_3x6:\n case TAMANHO_HOME_ITEM_ENUM.T_3x9:\n case TAMANHO_HOME_ITEM_ENUM.T_3x12:\n return '2.30rem';\n case TAMANHO_HOME_ITEM_ENUM.T_4x12:\n return '3.5rem';\n case TAMANHO_HOME_ITEM_ENUM.T_5x12:\n return '4.7rem';\n case TAMANHO_HOME_ITEM_ENUM.T_6x12:\n return '5.9rem';\n default:\n return '2.15rem';\n }\n};\n\nexport const tamanhoFonteIconeMedio = tamanho => {\n switch (tamanho) {\n case TAMANHO_HOME_ITEM_ENUM.T_3x6:\n case TAMANHO_HOME_ITEM_ENUM.T_3x9:\n case TAMANHO_HOME_ITEM_ENUM.T_3x12:\n return '9rem';\n case TAMANHO_HOME_ITEM_ENUM.T_4x12:\n return '12rem';\n case TAMANHO_HOME_ITEM_ENUM.T_5x12:\n return '15rem';\n case TAMANHO_HOME_ITEM_ENUM.T_6x12:\n return '18rem';\n default:\n return '7rem';\n }\n};\n","import { css } from 'styled-components';\n\nconst sizes = {\n Mobile: 700,\n Desktop: 2600,\n};\nexport default Object.keys(sizes).reduce((acc, label) => {\n acc[label] = (...args) => css`\n @media (max-width: ${sizes[label]}px) {\n ${css(...args)};\n }\n `;\n return acc;\n}, {});\n","import styled from 'styled-components';\nimport Button from '~/components/Button/Button.component';\nimport Card from '~/components/Card/Card.component';\nimport Col from '~/components/Col/Col.component';\nimport {\n calcularAlturaLargura,\n calcularAlturaLarguraIconeMedio,\n} from '~/modules/Helper/calcularAlturaLargura';\nimport {\n tamanhoFonteDescricaoGrafico,\n tamanhoFonteDescricaoDestaqueMedio,\n tamanhoFonteIconeMedio,\n tamanhoFonteDestaqueMedio,\n} from '~/modules/Helper/calcularTamanhoFonte';\nimport media from '../../modules/Dashboard/components/mediaStyle';\n\nexport const FilterButton = styled(Button)`\n width: 35px !important;\n height: 30px !important;\n cursor: pointer;\n background-color: #efefef !important;\n display: block;\n float: right;\n opacity: 0.5;\n`;\n\nexport const CardWrapper = styled(Card)`\n height: 100% !important;\n\n .ant-card-body {\n padding: 0 10px;\n height: calc(100% - 50px) !important;\n background-color: transparent !important;\n align-content: center;\n }\n\n .ant-card-body > div:nth-child(2),\n .ant-card-body > div:nth-child(2) > div,\n .ant-card-body > div:nth-child(2) > div > div,\n canvas {\n height: 100% !important;\n width: 100% !important;\n }\n\n .ant-card-extra {\n display: flex;\n }\n\n .ant-select {\n margin-right: 15px;\n }\n\n &:hover ${FilterButton} {\n opacity: 1;\n transition: 300ms;\n }\n`;\n\nexport const TituloSpan = styled.span`\n margin-bottom: 20px;\n font-size: 25px;\n`;\n\nexport const Visualizar = styled.div`\n margin-top: 5px;\n cursor: pointer;\n font-size: 18px;\n`;\n\nexport const DescricaoLinkExternoDiv = styled.div`\n margin: 15px;\n font-size: 1.8rem;\n`;\n\nexport const DescricaoLinkExternoDivMedio = styled.div`\n font-size: 1.8rem;\n margin-top: 16%;\n`;\n\nexport const IconeDiv = styled.div`\n text-align: center;\n font-size: 55px;\n margin-right: 20px;\n\n ${media.Mobile`\n float: 'left'\n `};\n`;\n\nexport const StatisticSpan = styled.div`\n ${media.Desktop`\n position: relative;\n top: -5px;\n `}\n\n ${media.Mobile`\n position: relative;\n top: -5px;\n `}\n`;\n\nexport const StyledCol = styled(Col)`\n background-color: transparent !important;\n`;\n\nexport const StatisticSpanMedio = styled.div`\n background-color: transparent !important;\n\n ${media.Desktop`\n position: relative;\n top: 15px;\n padding-left: 15px;\n `} ${media.Mobile`\n position: relative;\n top: 0px;\n `};\n`;\n\nexport const ValorDescricaoSpan = styled.span`\n font-size: 15px;\n font-weight: 500;\n`;\n\nexport const ValorDestaqueDiv = styled.div`\n font-size: 25px;\n`;\n\nexport const ValorSecundarioSpan = styled.span`\n font-size: 15px;\n\n span {\n font-weight: 700;\n }\n`;\n\nexport const Grafico = styled.span`\n display: table;\n margin: auto;\n`;\n\nexport const IconeMedioDiv = styled.div`\n ${media.Desktop`\n font-size: ${({ tamanho }) => tamanhoFonteIconeMedio(tamanho)};\n margin-top: 15px;\n `}\n\n ${media.Mobile`\n text-align: center;\n font-size: 65px;\n `}\n`;\n\nexport const IconeMedioImg = styled.img`\n ${media.Desktop`\n height: ${({ tamanho }) => calcularAlturaLarguraIconeMedio(tamanho)};\n width: ${({ tamanho }) => calcularAlturaLarguraIconeMedio(tamanho)};\n `}\n\n ${media.Mobile`\n height: 60px;\n width: 60px;\n `}\n`;\n\nexport const ValorDescricaoDestaqueMedioDiv = styled.div`\n ${media.Desktop`\n margin-top: 15px;\n font-size: ${({ tamanho }) => tamanhoFonteDescricaoDestaqueMedio(tamanho)};\n color: ${({ corFonte }) => `${corFonte}`};\n `}\n\n ${media.Mobile`\n font-size: 15px;\n font-weight: 500;\n `}\n`;\n\nexport const ValorDestaqueMedioDiv = styled.span`\n ${media.Desktop`\n font-size: ${({ tamanho }) => tamanhoFonteDestaqueMedio(tamanho)};\n color: ${({ corFonte }) => `${corFonte}`};\n font-weight: 500;\n `}\n\n ${media.Mobile`\n div{\n font-size: 25px;\n }\n `}\n`;\n\nexport const ValorSecundarioMedioSpan = styled.span`\n span {\n font-weight: 700;\n }\n\n ${media.Desktop`\n font-size: ${({ tamanho }) => tamanhoFonteDescricaoDestaqueMedio(tamanho)};\n `}\n\n ${media.Mobile`\n font-size: 15px;\n `}\n`;\n\nexport const GraficoMedio = styled.div`\n div.g2plot-htmlStatistic,\n div.g2plot-htmlStatistic > div.ring-guide-html,\n div.g2-html-annotation {\n background-color: transparent !important;\n }\n\n font-size: 25px;\n height: ${({ tamanho }) => calcularAlturaLargura(tamanho)};\n width: ${({ tamanho }) => calcularAlturaLargura(tamanho)};\n\n div.g2plot-htmlStatistic > div.ring-guide-html > span.ring-guide-name {\n position: relative;\n top: 5px;\n }\n\n div.g2plot-htmlStatistic > div.ring-guide-html > span.ring-guide-value {\n font-size: 1.3rem !important;\n }\n\n ${media.Mobile`\n display: table;\n margin: auto;\n width: 125px;\n height: 125px;\n\n div.g2plot-htmlStatistic > div.ring-guide-html > span.ring-guide-name{\n position: relative;\n top: 5px\n }\n\n div.g2plot-htmlStatistic > div.ring-guide-html > span.ring-guide-value{\n font-size: 1.3rem !important;\n }\n `}\n`;\n\nexport const DescricaoGrafico = styled.p`\n font-size: ${({ tamanho }) => tamanhoFonteDescricaoGrafico(tamanho)};\n font-weight: 700;\n margin: 0;\n padding: 0;\n`;\n\nexport const GraficoDonut = styled.div`\n padding: 0.625em 0;\n ${media.Mobile``}\n`;\n\nexport const GraficoPie = styled.div`\n padding: 0.625em 0;\n ${media.Mobile``}\n`;\n\nexport const GraficoLine = styled.div`\n ${media.Mobile``}\n`;\n\nexport const GraficoBar = styled.div`\n ${media.Mobile``}\n`;\n\nexport const GraficoColumn = styled.div`\n ${media.Mobile``}\n`;\n","import { Popover } from 'antd';\n\nexport default Popover;\n","import React, { useState } from 'react';\nimport { Form } from 'antd';\nimport { filtrarGrafico } from '~/modules/ESic/services/esic.service';\nimport Popover from '~/components/Popover/Popover.component';\nimport Button from '~/components/Button/Button.component';\nimport Icons from '~/components/Icons/Icons.component';\nimport { FilterButton } from './style';\n\nfunction Filter({ idGrafico, contentFilter, eSic, setESic }) {\n const [visible, setVisible] = useState(false);\n\n async function onFilter(Id, values) {\n const { Periodo } = values;\n const response = await filtrarGrafico({ Id, Periodo });\n const newLista = [...eSic.ListaGraficos];\n const item = {\n ...newLista[\n eSic.ListaGraficos.findIndex(obj => obj.Id === response.data.Id)\n ],\n Dados: response.data.Dados,\n DescricaoPeriodo: response.data.DescricaoPeriodo,\n };\n newLista[\n eSic.ListaGraficos.findIndex(obj => obj.Id === response.data.Id)\n ] = item;\n setESic({ ...eSic, ListaGraficos: newLista });\n }\n\n const content = (\n <>\n <Form\n name=\"filter\"\n initialValues={{\n remember: true,\n Periodo: contentFilter.Periodicidade,\n }}\n onFinish={values => onFilter(idGrafico, values)}\n >\n {contentFilter.Content}\n <Button\n type=\"primary\"\n htmlType=\"submit\"\n onClick={() => setVisible(false)}\n >\n Filtrar\n </Button>\n </Form>\n </>\n );\n\n const handleVisibleChange = visibleEvent => setVisible(visibleEvent);\n\n return (\n <>\n <Popover\n visible={visible}\n onVisibleChange={handleVisibleChange}\n content={content}\n trigger=\"click\"\n >\n <FilterButton>\n <Icons.FilterOutlined\n style={{ position: 'relative', top: 1, left: -7, fontSize: 16 }}\n ></Icons.FilterOutlined>\n </FilterButton>\n </Popover>\n </>\n );\n}\n\nexport default Filter;\n","import api from '~/services/api';\nimport history from '~/services/history';\n\nfunction getESicService() {\n return api.get('esic');\n}\n\nfunction filtrarGrafico(data) {\n return api.post('esic/filtrar', data);\n}\n\nfunction redirectNotFound() {\n history.push('/notfound');\n}\n\nfunction getVisoesData(params) {\n return api.post('integracaoesic', params);\n}\n\nexport { getESicService, redirectNotFound, getVisoesData, filtrarGrafico };\n","import React, { useState } from 'react';\n\nconst HomeGraficoContext = React.createContext({});\n\nfunction ListaHomeGraficoContext({ children }) {\n const [item, setItem] = useState([]);\n const [home, setHome] = useState(null);\n const [exercicio, setExercicio] = useState({});\n const anoAtual = new Date().getFullYear();\n\n return (\n <HomeGraficoContext.Provider\n value={{\n item,\n setItem,\n home,\n setHome,\n anoAtual,\n exercicio,\n setExercicio,\n }}\n >\n {children}\n </HomeGraficoContext.Provider>\n );\n}\n\nexport { ListaHomeGraficoContext, HomeGraficoContext };\n","import React, { useContext } from 'react';\nimport { Select, Tooltip } from '~/components';\nimport { HomeGraficoContext } from '~/modules/Dashboard/context/listaHomeGraficoContext';\nimport { getHomeItemService } from '~/modules/Dashboard/services/dashboard.service';\n\nfunction ExercicioSelect({ id }) {\n const { anoAtual, home, setHome, exercicio, setExercicio } = useContext(\n HomeGraficoContext\n );\n const exercicios = Array.from({ length: 5 }, (_, i) => anoAtual - i);\n\n async function onChange(ano) {\n if (ano) {\n setExercicio(prevState => ({ ...prevState, [id]: ano }));\n const response = await getHomeItemService(id, ano);\n if (response && response.data) {\n const updatedHome = home?.ListaHomeItem.map(item => {\n if (item.Id == response.data.Id) item = response.data;\n\n return item;\n });\n setHome({ ListaHomeItem: updatedHome });\n }\n }\n }\n\n return (\n <Tooltip title=\"Exercício\">\n <Select\n value={exercicio[id]}\n defaultValue={anoAtual}\n onChange={ano => onChange(ano)}\n style={{ width: '80px', marginLeft: '5px' }}\n >\n {exercicios.map(ano => (\n <Select.Option key={ano} Option value={ano}>\n {ano}\n </Select.Option>\n ))}\n </Select>\n </Tooltip>\n );\n}\n\nexport default ExercicioSelect;\n","import api from '~/services/api';\n\nfunction getHomeService(exercicio) {\n const response = api.get(`/home/${exercicio}`);\n return response;\n}\n\nfunction getHomeItemService(id, exercicio) {\n const response = api.get(`/home/${id}/${exercicio}`);\n return response;\n}\n\nexport { getHomeService, getHomeItemService };\n","import React, { useEffect, useState, useContext } from 'react';\nimport { Pie } from '@antv/g2plot';\nimport { Link } from 'react-router-dom';\nimport { useSelector } from 'react-redux';\nimport { Row, Col, Icons, Typography } from '~/components';\nimport { GraficoContext } from '~/modules/ESic/context/listaGraficoContext';\nimport { useWindowListener, tiposDevice } from './windowListener.component';\nimport { GraficoDonut, Visualizar, CardWrapper } from './style';\nimport Filter from './Filter.component';\nimport ExercicioSelect from './ExercicioSelect.component';\n\nfunction DonutGraphic({\n id,\n titulo,\n data,\n legenda,\n tootltipTitle,\n ValorLink,\n hasFilter,\n filterDescription,\n contentFilter,\n showEyeButton = false,\n corFonte,\n showExercicioSelect,\n}) {\n const { listaGrafico, setListaGrafico, eSic, setESic } = useContext(\n GraficoContext\n );\n const [donut, setDonut] = useState(null);\n const windowListener = useWindowListener();\n const {\n graficHighContrastStyle,\n highContrast,\n graficDefaultStyle,\n zoomFonte,\n } = useSelector(state => state.configuration);\n const getConfigStyle = highContrast\n ? graficHighContrastStyle\n : graficDefaultStyle;\n const legend = {\n visible: true,\n position: 'left',\n maxItemWidth: 160,\n title: {\n visible: true,\n text: legenda,\n style: getConfigStyle,\n },\n itemName: {\n formatter: v => {\n return v.trim().length >= 27 ? `${v.substring(0, 27)}...` : v.trim();\n },\n style: getConfigStyle,\n },\n };\n const [config] = useState({\n title: false,\n legend,\n autoFit: true,\n radius: 0.8,\n innerRadius: 0.65,\n label: {\n autoHide: true,\n type: 'spider',\n formatter: ({ percent }) => `${(percent * 100).toFixed(2)}%`,\n style: getConfigStyle,\n },\n statistic: {\n title: false,\n content: false,\n },\n colorField: 'EixoX',\n angleField: 'EixoY',\n color: [\n '#30BBAA',\n '#F39366',\n '#876AB0',\n '#FDF25B',\n '#77C966',\n '#EE7B80',\n '#7F8BB2',\n '#F9D04F',\n '#D85B81',\n '#D3E045',\n '#2DA0D7',\n '#FBB141',\n ],\n tooltip: {\n showTitle: true,\n title: tootltipTitle,\n formatter: ({ EixoX, EixoY }) => {\n return {\n name: EixoX,\n value: new Intl.NumberFormat('pt-BR').format(EixoY),\n };\n },\n },\n });\n\n useEffect(() => {\n if (donut) return;\n\n const element = document.getElementById(id);\n if (element) {\n const donutRender = new Pie(element, { data, ...config });\n setDonut(donutRender);\n donutRender.render();\n }\n }, [config, data, donut, id]);\n\n useEffect(() => {\n if (windowListener && windowListener.device && donut) {\n const visible = windowListener.device === tiposDevice.desktop;\n donut.update({\n legend: visible ? legend : false,\n label: {\n ...config.label,\n style: getConfigStyle,\n },\n });\n }\n\n if (donut) donut.render();\n }, [\n donut,\n windowListener,\n highContrast,\n config.text,\n config.label,\n getConfigStyle,\n zoomFonte,\n ]);\n\n useEffect(() => {\n if (donut) {\n donut.update({\n data,\n });\n donut.render();\n }\n }, [data, donut]);\n\n return (\n <>\n <CardWrapper\n title={\n <span\n style={{ fontSize: `${18 + 2 * zoomFonte}px`, fontWeight: 500 }}\n >\n {titulo}\n </span>\n }\n extra={\n <>\n {showExercicioSelect && <ExercicioSelect id={id} />}\n {showEyeButton && (\n <Visualizar>\n <Link to={ValorLink} style={{ color: corFonte }}>\n <Icons.EyeOutlined />\n </Link>\n </Visualizar>\n )}\n </>\n }\n size=\"small\"\n style={{ height: '100%' }}\n >\n <Row>\n {hasFilter && (\n <Col flex=\"45px\" style={{ display: 'flex' }}>\n <Filter\n idGrafico={id}\n contentFilter={contentFilter}\n listaGrafico={listaGrafico}\n setListaGrafico={setListaGrafico}\n eSic={eSic}\n setESic={setESic}\n />\n </Col>\n )}\n {filterDescription && (\n <Col flex=\"auto\">\n <Typography.Text\n style={{\n position: 'relative',\n top: -6,\n }}\n >\n {filterDescription}\n </Typography.Text>\n </Col>\n )}\n </Row>\n <Row>\n <GraficoDonut id={id} />\n </Row>\n </CardWrapper>\n </>\n );\n}\n\nexport default DonutGraphic;\n","import React, { useEffect, useState, useContext } from 'react';\nimport { Pie } from '@antv/g2plot';\nimport { Link } from 'react-router-dom';\nimport { useSelector } from 'react-redux';\nimport { Row, Col, Icons, Typography } from '~/components';\nimport { GraficoContext } from '~/modules/ESic/context/listaGraficoContext';\nimport { GraficoPie, Visualizar, CardWrapper } from './style';\nimport { useWindowListener, tiposDevice } from './windowListener.component';\nimport Filter from './Filter.component';\nimport ExercicioSelect from './ExercicioSelect.component';\n\nfunction PieGraphic({\n id,\n titulo,\n data,\n legenda,\n tootltipTitle,\n ValorLink,\n hasFilter,\n filterDescription,\n contentFilter,\n showEyeButton = false,\n corFonte,\n colorField = 'EixoX',\n angleField = 'EixoY',\n legendPosition = 'left',\n tooltipFormatter,\n legendMaxRow,\n legendItemMarginBottom,\n legendItemSpacing,\n showExercicioSelect,\n}) {\n const { eSic, setESic } = useContext(GraficoContext);\n const [pie, setPie] = useState(null);\n const windowListener = useWindowListener();\n const {\n graficHighContrastStyle,\n highContrast,\n graficDefaultStyle,\n zoomFonte,\n } = useSelector(state => state.configuration);\n const getConfigStyle = highContrast\n ? graficHighContrastStyle\n : graficDefaultStyle;\n const legend = {\n visible: true,\n maxRow: legendMaxRow,\n itemMarginBottom: legendItemMarginBottom,\n itemSpacing: legendItemSpacing,\n position: legendPosition,\n maxItemWidth: 160,\n title: {\n visible: true,\n text: legenda,\n style: getConfigStyle,\n },\n itemName: {\n formatter: v => {\n return v.trim().length >= 27 ? `${v.substring(0, 27)}...` : v.trim();\n },\n style: getConfigStyle,\n },\n };\n const [config] = useState({\n title: false,\n legend,\n autoFit: true,\n radius: 0.8,\n label: {\n autoHide: true,\n type: 'spider',\n formatter: ({ percent }) => `${(percent * 100).toFixed(2)}%`,\n style: getConfigStyle,\n },\n statistic: {\n visible: false,\n },\n colorField,\n angleField,\n color: [\n '#30BBAA',\n '#F39366',\n '#876AB0',\n '#FDF25B',\n '#77C966',\n '#EE7B80',\n '#7F8BB2',\n '#F9D04F',\n '#D85B81',\n '#D3E045',\n '#2DA0D7',\n '#FBB141',\n ],\n tooltip: {\n showTitle: true,\n title: tootltipTitle,\n formatter:\n tooltipFormatter ||\n (({ EixoX, EixoY }) => {\n return {\n name: EixoX,\n value: new Intl.NumberFormat('pt-BR').format(EixoY),\n };\n }),\n },\n });\n\n useEffect(() => {\n if (pie) return;\n\n const element = document.getElementById(id);\n if (element) {\n const pieRender = new Pie(element, { data, ...config });\n setPie(pieRender);\n pieRender.render();\n }\n }, [config, data, id, pie]);\n\n useEffect(() => {\n if (pie) {\n pie.update({\n data,\n });\n pie.render();\n }\n }, [data, pie]);\n\n useEffect(() => {\n if (windowListener && windowListener.device && pie) {\n const visible = windowListener.device === tiposDevice.desktop;\n pie.update({\n legend: visible ? legend : false,\n label: {\n ...config.label,\n style: getConfigStyle,\n },\n });\n }\n\n if (pie) pie.render();\n }, [\n pie,\n windowListener,\n highContrast,\n config.title,\n config.text,\n config.label,\n getConfigStyle,\n zoomFonte,\n ]);\n\n return (\n <>\n <CardWrapper\n title={\n <span\n style={{ fontSize: `${18 + 2 * zoomFonte}px`, fontWeight: 500 }}\n >\n {titulo}\n </span>\n }\n extra={\n <>\n {showExercicioSelect && <ExercicioSelect id={id} />}\n {showEyeButton && (\n <Visualizar>\n <Link to={ValorLink || 'notfound'} style={{ color: corFonte }}>\n <Icons.EyeOutlined />\n </Link>\n </Visualizar>\n )}\n </>\n }\n size=\"small\"\n >\n <Row>\n {hasFilter && (\n <Col flex=\"45px\" style={{ display: 'flex' }}>\n <Filter\n idGrafico={id}\n contentFilter={contentFilter}\n eSic={eSic}\n setESic={setESic}\n />\n </Col>\n )}\n {filterDescription && (\n <Col flex=\"auto\">\n <Typography.Text\n style={{\n position: 'relative',\n top: -6,\n }}\n >\n {filterDescription}\n </Typography.Text>\n </Col>\n )}\n </Row>\n <Row>\n <GraficoPie id={id} />\n </Row>\n </CardWrapper>\n </>\n );\n}\n\nexport default PieGraphic;\n","import React, { useEffect, useState, useContext } from 'react';\nimport { Bar } from '@antv/g2plot';\nimport { Link } from 'react-router-dom';\nimport { useSelector } from 'react-redux';\nimport { Row, Col, Icons, Typography } from '~/components';\nimport { GraficoContext } from '~/modules/ESic/context/listaGraficoContext';\nimport { GraficoBar, Visualizar, CardWrapper } from './style';\nimport Filter from './Filter.component';\nimport ExercicioSelect from './ExercicioSelect.component';\n\nfunction BarGraphic({\n id,\n titulo,\n data,\n cor,\n legendaEixoX,\n legendaEixoY,\n ValorLink,\n hasFilter,\n filterDescription,\n contentFilter,\n showEyeButton = false,\n corFonte,\n showExercicioSelect,\n}) {\n const { eSic, setESic } = useContext(GraficoContext);\n const [bar, setBar] = useState(null);\n const {\n graficHighContrastStyle,\n highContrast,\n graficDefaultStyle,\n zoomFonte,\n } = useSelector(state => state.configuration);\n const getConfigStyle = highContrast\n ? graficHighContrastStyle\n : graficDefaultStyle;\n\n const NumberFormatter = function NumberFormatter(value) {\n let newNum = value;\n const suffix = ['', ' Mil', ' Mi', ' Bi', ' Tri'];\n let suffixNum = 0;\n if (newNum > 10000) {\n while (newNum >= 1000) {\n newNum /= 1000;\n suffixNum += 1;\n }\n return Math.trunc(newNum) + suffix[suffixNum];\n }\n return newNum;\n };\n\n const [config] = useState({\n padding: [15, 20, 55, 70],\n title: false,\n autoFit: true,\n data,\n xField: 'EixoY',\n yField: 'EixoX',\n color: cor,\n xAxis: {\n title: {\n visible: legendaEixoX || false,\n text: legendaEixoX || '',\n style: getConfigStyle,\n },\n label: {\n formatter: v => {\n return NumberFormatter(v);\n },\n style: getConfigStyle,\n },\n },\n yAxis: {\n title: {\n visible: false,\n text: '',\n style: getConfigStyle,\n },\n label: {\n formatter: v => {\n return v.length >= 7 ? `${v.substring(0, 7)}...` : v;\n },\n style: getConfigStyle,\n },\n },\n label: {\n visible: true,\n formatter: ({ EixoY }) => {\n return NumberFormatter(EixoY);\n },\n position: 'right',\n style: getConfigStyle,\n },\n tooltip: {\n showTitle: true,\n title: legendaEixoY,\n formatter: ({ EixoX, EixoY }) => {\n return {\n name: EixoX,\n value: new Intl.NumberFormat('pt-BR').format(EixoY),\n };\n },\n },\n });\n\n useEffect(() => {\n if (bar) return;\n\n const element = document.getElementById(id);\n if (element) {\n const barRender = new Bar(element, { data, ...config });\n setBar(barRender);\n barRender.render();\n }\n }, [bar, config, data, id]);\n\n useEffect(() => {\n if (bar) {\n bar.update({\n label: {\n ...config.label,\n style: getConfigStyle,\n },\n xAxis: {\n ...config.xAxis,\n title: {\n ...config.xAxis.title,\n style: getConfigStyle,\n },\n label: {\n ...config.xAxis.label,\n style: getConfigStyle,\n },\n },\n yAxis: {\n ...config.yAxis,\n title: {\n ...config.yAxis.title,\n style: getConfigStyle,\n },\n label: {\n ...config.yAxis.label,\n style: getConfigStyle,\n },\n },\n });\n }\n\n if (bar) bar.render();\n }, [\n bar,\n config.label,\n config.xAxis,\n config.yAxis,\n getConfigStyle,\n highContrast,\n zoomFonte,\n ]);\n\n useEffect(() => {\n if (bar) {\n bar.update({\n data,\n });\n bar.render();\n }\n }, [data, bar]);\n\n return (\n <>\n <CardWrapper\n title={\n <span\n style={{ fontSize: `${18 + 2 * zoomFonte}px`, fontWeight: 500 }}\n >\n {titulo}\n </span>\n }\n extra={\n <>\n {showExercicioSelect && <ExercicioSelect id={id} />}\n {showEyeButton && (\n <Visualizar>\n <Link to={ValorLink} style={{ color: corFonte }}>\n <Icons.EyeOutlined />\n </Link>\n </Visualizar>\n )}\n </>\n }\n size=\"small\"\n >\n <Row>\n {hasFilter && (\n <Col flex=\"45px\" style={{ display: 'flex' }}>\n <Filter\n idGrafico={id}\n contentFilter={contentFilter}\n eSic={eSic}\n setESic={setESic}\n />\n </Col>\n )}\n {filterDescription && (\n <Col flex=\"auto\">\n <Typography.Text\n style={{\n position: 'relative',\n top: -6,\n }}\n >\n {filterDescription}\n </Typography.Text>\n </Col>\n )}\n </Row>\n <Row>\n <GraficoBar id={id} />\n </Row>\n </CardWrapper>\n </>\n );\n}\n\nexport default BarGraphic;\n","import React, { useEffect, useState, useContext } from 'react';\nimport { Column } from '@antv/g2plot';\nimport { Link } from 'react-router-dom';\nimport { useSelector } from 'react-redux';\nimport { Row, Col, Icons, Typography } from '~/components';\nimport { GraficoContext } from '~/modules/ESic/context/listaGraficoContext';\nimport { GraficoColumn, Visualizar, CardWrapper } from './style';\nimport Filter from './Filter.component';\nimport ExercicioSelect from './ExercicioSelect.component';\n\nconst NumberFormatter = function NumberFormatter(value) {\n let newNum = value;\n const suffix = ['', ' Mil', ' Mi', ' Bi', ' Tri'];\n let suffixNum = 0;\n if (newNum > 10000) {\n while (newNum >= 1000) {\n newNum /= 1000;\n suffixNum += 1;\n }\n return newNum + suffix[suffixNum];\n }\n return newNum;\n};\n\nfunction ColumnGraphic({\n id,\n titulo,\n cor,\n data,\n legendaEixoX,\n legendaEixoY,\n ValorLink,\n hasFilter,\n filterDescription,\n contentFilter,\n showEyeButton = false,\n corFonte,\n showExercicioSelect,\n // onFilter,\n}) {\n const { eSic, setESic } = useContext(GraficoContext);\n const [column, setColumn] = useState(null);\n const {\n graficHighContrastStyle,\n highContrast,\n graficDefaultStyle,\n zoomFonte,\n } = useSelector(state => state.configuration);\n const getConfigStyle = highContrast\n ? graficHighContrastStyle\n : graficDefaultStyle;\n\n const [config] = useState({\n padding: [20, 20, 100, 70],\n title: {\n visible: false,\n text: legendaEixoX,\n alignTo: 'middle',\n style: getConfigStyle,\n },\n showTitle: false,\n autoFit: true,\n color: cor,\n data,\n xField: 'EixoX',\n yField: 'EixoY',\n xAxis: {\n visible: true,\n title: {\n visible: legendaEixoX || false,\n text: legendaEixoX || '',\n style: getConfigStyle,\n },\n label: {\n formatter: v => {\n return v.trim().length >= 7 ? `${v.substring(0, 7)}...` : v.trim();\n },\n rotate: -20,\n offsetX: -30,\n offsetY: -6,\n style: getConfigStyle,\n },\n },\n yAxis: {\n visible: true,\n title: {\n visible: legendaEixoY || false,\n text: legendaEixoY || '',\n offset: 60,\n style: getConfigStyle,\n },\n label: {\n formatter: v => {\n return NumberFormatter(v);\n },\n style: getConfigStyle,\n },\n },\n tooltip: {\n showTitle: true,\n title: legendaEixoY,\n formatter: ({ EixoX, EixoY }) => {\n return {\n name: EixoX,\n value: new Intl.NumberFormat('pt-BR').format(EixoY),\n };\n },\n },\n });\n\n useEffect(() => {\n if (column) return;\n const element = document.getElementById(id);\n\n if (element) {\n const columnRender = new Column(element, { data, ...config });\n setColumn(columnRender);\n columnRender.render();\n }\n }, [column, config, data, id]);\n\n useEffect(() => {\n if (column) {\n column.update({\n title: {\n ...config.title,\n style: getConfigStyle,\n },\n xAxis: {\n ...config.xAxis,\n\n title: {\n ...config.xAxis.title,\n style: getConfigStyle,\n },\n label: {\n ...config.xAxis.label,\n style: getConfigStyle,\n },\n },\n yAxis: {\n ...config.yAxis,\n title: {\n ...config.yAxis.title,\n style: getConfigStyle,\n },\n label: {\n ...config.yAxis.label,\n style: getConfigStyle,\n },\n },\n });\n\n column.render();\n }\n }, [\n highContrast,\n config.text,\n config.label,\n getConfigStyle,\n column,\n config.title,\n config.xAxis,\n config.yAxis,\n zoomFonte,\n ]);\n\n useEffect(() => {\n if (column) {\n column.update({\n data,\n });\n column.render();\n }\n }, [data, column]);\n\n return (\n <>\n <CardWrapper\n title={\n <span\n style={{ fontSize: `${18 + 2 * zoomFonte}px`, fontWeight: 500 }}\n >\n {titulo}\n </span>\n }\n extra={\n <>\n {showExercicioSelect && <ExercicioSelect id={id} />}\n {showEyeButton && (\n <Visualizar>\n <Link to={ValorLink} style={{ color: corFonte }}>\n <Icons.EyeOutlined />\n </Link>\n </Visualizar>\n )}\n </>\n }\n size=\"small\"\n >\n <Row>\n {hasFilter && (\n <Col flex=\"45px\" style={{ display: 'flex' }}>\n <Filter\n idGrafico={id}\n contentFilter={contentFilter}\n // onFilter={onFilter}\n eSic={eSic}\n setESic={setESic}\n />\n </Col>\n )}\n {filterDescription && (\n <Col flex=\"auto\">\n <Typography.Text\n style={{\n position: 'relative',\n top: -6,\n }}\n >\n {filterDescription}\n </Typography.Text>\n </Col>\n )}\n </Row>\n <Row>\n <GraficoColumn id={id} />\n </Row>\n </CardWrapper>\n </>\n );\n}\n\nexport default ColumnGraphic;\n","import React, { useEffect } from 'react';\nimport { Link } from 'react-router-dom';\nimport { Empty } from 'antd';\nimport { useSelector } from 'react-redux';\nimport { Icons } from '~/components';\nimport { Visualizar, CardWrapper } from './style';\nimport ExercicioSelect from './ExercicioSelect.component';\n\nfunction EmptyCardGrafico({\n id,\n titulo,\n valorLink,\n tamanho,\n corFonte,\n showEyeButton = false,\n showExercicioSelect,\n}) {\n const { zoomFonte } = useSelector(state => state.configuration);\n\n useEffect(() => {}, [zoomFonte]);\n return (\n <CardWrapper\n title={\n <span style={{ fontSize: `${18 + 2 * zoomFonte}px`, fontWeight: 500 }}>\n {titulo}\n </span>\n }\n extra={\n <>\n {showExercicioSelect && <ExercicioSelect id={id} />}\n {showEyeButton && (\n <Visualizar>\n <Link to={valorLink} style={{ color: corFonte }}>\n <Icons.EyeOutlined />\n </Link>\n </Visualizar>\n )}\n </>\n }\n size=\"small\"\n style={{\n height: '100%',\n fontSize: '25px',\n }}\n >\n <Empty\n description=\"Nenhum registro encontrado\"\n image={Empty.PRESENTED_IMAGE_SIMPLE}\n style={{ margin: 0, color: '#c9c9c9' }}\n imageStyle={{\n maxHeight: tamanho > 1 ? 'auto' : '3rem',\n marginTop: tamanho > 1 ? '4rem' : 0,\n }}\n />\n </CardWrapper>\n );\n}\n\nexport default EmptyCardGrafico;\n","/* eslint-disable jsx-a11y/interactive-supports-focus */\nimport React, { useState, useEffect } from 'react';\nimport { Tooltip } from 'antd';\nimport { useSelector } from 'react-redux';\nimport { Pie } from '@antv/g2plot';\nimport { useHistory } from 'react-router-dom';\nimport { Row, Col } from '~/components';\nimport { iconEnum } from '~/modules/Helper/iconEnum';\nimport {\n ValorDestaqueDiv,\n IconeDiv,\n StatisticSpan,\n ValorDescricaoSpan,\n IconeMedioDiv,\n IconeMedioImg,\n ValorDescricaoDestaqueMedioDiv,\n ValorDestaqueMedioDiv,\n ValorSecundarioMedioSpan,\n GraficoMedio,\n DescricaoGrafico,\n CardWrapper,\n DescricaoLinkExternoDiv,\n DescricaoLinkExternoDivMedio,\n StatisticSpanMedio,\n StyledCol,\n} from '~/components/Grafico/style';\n\nimport {\n useWindowListener,\n tiposDevice,\n} from '~/components/Grafico/windowListener.component';\nimport ExercicioSelect from '~/components/Grafico/ExercicioSelect.component';\nimport { TIPO_ACESSO } from '../../Helper/tipoAcesso';\n\nfunction StatisticCard({\n id,\n Tamanho,\n Titulo,\n IconePersonalizado,\n Icone,\n IconeCor,\n TipoAcesso,\n ValorDestaque,\n DescricaoValorDestaque,\n ExibirValorSecundario,\n ValorSecundario,\n DescricaoValorSecundario,\n ExibirGraficoPorcentagem,\n DescricaoLinkExterno,\n PorcentagemValorDestaque,\n PorcentagemValorSecundario,\n ValorLink,\n corFonte,\n showExercicioSelect,\n}) {\n const windowListener = useWindowListener();\n\n const donutData = [\n {\n type: DescricaoValorDestaque,\n value: parseFloat(PorcentagemValorDestaque),\n },\n {\n type: DescricaoValorSecundario,\n value: parseFloat(PorcentagemValorSecundario),\n },\n ];\n\n const [donut, setDonut] = useState(null);\n const { zoomFonte } = useSelector(state => state.configuration);\n const [config] = useState({\n title: false,\n description: false,\n label: {\n visible: false,\n },\n legend: {\n visible: false,\n flipPage: false,\n },\n autoFit: true,\n radius: 0.8,\n statistic: {\n visible: true,\n title: {\n content: 'Total',\n style: {\n fontSize: 15,\n },\n },\n content: {\n content: `${Math.round(parseFloat(PorcentagemValorDestaque))}%`,\n style: {\n fontSize: 18,\n },\n },\n triggerOn: null,\n triggerOff: null,\n },\n colorField: 'type',\n angleField: 'value',\n color: ['#5AD8A6', '#D9D9D9'],\n innerRadius: 1.2,\n });\n\n const history = useHistory();\n\n useEffect(() => {\n if (\n windowListener &&\n windowListener.device === tiposDevice.mobile &&\n donut\n ) {\n setDonut(null);\n } else if (\n windowListener &&\n windowListener.device === tiposDevice.desktop &&\n !donut\n ) {\n const element = document.getElementById(id);\n if (element) {\n const donutRender = new Pie(element, { data: donutData, ...config });\n setDonut(donutRender);\n donutRender.render();\n }\n }\n }, [config, donut, donutData, id, windowListener, zoomFonte]);\n\n function hrefFunction(link) {\n if (TipoAcesso === TIPO_ACESSO.INTERNO) return history.push(link);\n\n window.open(link, '_blank');\n }\n\n return (\n <>\n {Tamanho === 1 ? (\n <Tooltip title=\"Clique para mais detalhes\">\n <CardWrapper\n title={\n <span\n style={{ fontSize: `${18 + 2 * zoomFonte}px`, fontWeight: 500 }}\n >\n {Titulo}\n </span>\n }\n extra={showExercicioSelect && <ExercicioSelect id={id} />}\n hoverable\n size=\"small\"\n style={{\n fontSize: '25px',\n backgroundColor: 'rgba(255, 255, 255, 0.9)',\n maxHeight: '99.5%',\n cursor: 'default',\n }}\n >\n <div\n onClick={() => hrefFunction(ValorLink)}\n style={{ cursor: 'pointer' }}\n >\n <Row>\n <Col\n lg={8}\n xs={8}\n style={{\n display: 'flex',\n alignItems: 'center',\n }}\n >\n <IconeDiv>\n {Icone &&\n iconEnum\n .find(x => x.name === Icone)\n ?.value({ color: IconeCor })}\n </IconeDiv>\n {!Icone && (\n <IconeMedioImg\n tamanho={Tamanho}\n src={IconePersonalizado}\n alt=\"Icone personalizado\"\n />\n )}\n </Col>\n <Col\n lg={16}\n xs={16}\n style={{ display: 'flex', alignItems: 'center' }}\n >\n {TipoAcesso === TIPO_ACESSO.INTERNO ? (\n <StatisticSpan>\n <Row>\n <Col lg={24}>\n <ValorDescricaoSpan>\n {DescricaoValorDestaque}\n </ValorDescricaoSpan>\n </Col>\n </Row>\n <Row>\n <Col lg={24}>\n <ValorDestaqueDiv>{ValorDestaque}</ValorDestaqueDiv>\n </Col>\n </Row>\n </StatisticSpan>\n ) : (\n <DescricaoLinkExternoDiv>\n {DescricaoLinkExterno}\n </DescricaoLinkExternoDiv>\n )}\n </Col>\n </Row>\n </div>\n </CardWrapper>\n </Tooltip>\n ) : (\n <Tooltip title=\"Clique para mais detalhes\">\n <CardWrapper\n title={\n <span\n style={{ fontSize: `${18 + 2 * zoomFonte}px`, fontWeight: 500 }}\n >\n {Titulo}\n </span>\n }\n extra={showExercicioSelect && <ExercicioSelect id={id} />}\n hoverable\n size=\"small\"\n style={{\n height: '100%',\n fontSize: '25px',\n backgroundColor: 'rgba(255, 255, 255, 0.9)',\n cursor: 'default',\n }}\n >\n <div\n onClick={() => hrefFunction(ValorLink)}\n style={{ cursor: 'pointer', height: '100%' }}\n >\n {windowListener &&\n windowListener.device === tiposDevice.mobile &&\n id ? (\n <>\n <Row\n style={{\n display: 'flex',\n alignItems: 'center',\n height: '100%',\n }}\n >\n <Col\n lg={6}\n xs={10}\n style={{ display: 'flex', justifyContent: 'center' }}\n >\n <IconeMedioDiv tamanho={Tamanho}>\n {Icone &&\n iconEnum\n .find(x => x.name === Icone)\n ?.value({ color: IconeCor })}\n </IconeMedioDiv>\n {!Icone && (\n <IconeMedioImg\n tamanho={Tamanho}\n src={IconePersonalizado}\n alt=\"Icone personalizado\"\n />\n )}\n </Col>\n <StyledCol lg={11} xs={14}>\n {TipoAcesso === TIPO_ACESSO.INTERNO ? (\n <StatisticSpanMedio>\n <Row>\n <Col lg={24}>\n <ValorDescricaoDestaqueMedioDiv\n corFonte={corFonte}\n tamanho={Tamanho}\n >\n {DescricaoValorDestaque}\n <br />\n <ValorDestaqueMedioDiv\n corFonte={corFonte}\n tamanho={Tamanho}\n >\n {ValorDestaque}\n </ValorDestaqueMedioDiv>\n </ValorDescricaoDestaqueMedioDiv>\n </Col>\n </Row>\n {ExibirValorSecundario && (\n <>\n <Row>\n <Col lg={24}>\n <ValorSecundarioMedioSpan tamanho={Tamanho}>\n {`${DescricaoValorSecundario}: `}\n <span>{`${ValorSecundario}`}</span>\n </ValorSecundarioMedioSpan>\n </Col>\n </Row>\n </>\n )}\n </StatisticSpanMedio>\n ) : (\n <DescricaoLinkExternoDiv>\n {DescricaoLinkExterno}\n </DescricaoLinkExternoDiv>\n )}\n </StyledCol>\n </Row>\n </>\n ) : (\n <Row\n style={{\n display: 'flex',\n alignItems: 'center',\n height: '100%',\n }}\n >\n <Col\n lg={6}\n xs={12}\n style={{ display: 'flex', justifyContent: 'center' }}\n >\n <IconeMedioDiv tamanho={Tamanho}>\n {Icone &&\n iconEnum\n .find(x => x.name === Icone)\n ?.value({ color: IconeCor })}\n </IconeMedioDiv>\n {!Icone && (\n <IconeMedioImg\n tamanho={Tamanho}\n src={IconePersonalizado}\n alt=\"Icone personalizado\"\n />\n )}\n </Col>\n <StyledCol lg={11} xs={14}>\n {TipoAcesso === TIPO_ACESSO.INTERNO ? (\n <StatisticSpanMedio>\n <Row>\n <Col lg={24}>\n <ValorDescricaoDestaqueMedioDiv tamanho={Tamanho}>\n {DescricaoValorDestaque}\n <br />\n <ValorDestaqueMedioDiv tamanho={Tamanho}>\n {ValorDestaque}\n </ValorDestaqueMedioDiv>\n </ValorDescricaoDestaqueMedioDiv>\n </Col>\n </Row>\n {ExibirValorSecundario && (\n <>\n <Row>\n <Col lg={24}>\n <ValorSecundarioMedioSpan tamanho={Tamanho}>\n {`${DescricaoValorSecundario} `}\n <span>{`${ValorSecundario}`}</span>\n </ValorSecundarioMedioSpan>\n </Col>\n </Row>\n </>\n )}\n </StatisticSpanMedio>\n ) : (\n <DescricaoLinkExternoDivMedio>\n {DescricaoLinkExterno}\n </DescricaoLinkExternoDivMedio>\n )}\n </StyledCol>\n <StyledCol\n lg={6}\n xs={8}\n style={{ display: 'flex', justifyContent: 'flex-end' }}\n >\n {ExibirGraficoPorcentagem && (\n <div>\n <GraficoMedio id={id} tamanho={Tamanho} />\n <DescricaoGrafico tamanho={Tamanho}>\n {`Percentual de ${DescricaoValorDestaque} sobre ${DescricaoValorSecundario}`}\n </DescricaoGrafico>\n </div>\n )}\n </StyledCol>\n </Row>\n )}\n </div>\n </CardWrapper>\n </Tooltip>\n )}\n </>\n );\n}\n\nexport default StatisticCard;\n","import styled from 'styled-components';\nimport { Card, Icons, Typography } from '~/components';\n\nexport const CardNoConfigHome = styled(Card)`\n && {\n justify-content: center;\n display: flex;\n flex-direction: column;\n align-items: center;\n margin: 10px;\n }\n .ant-card-body {\n display: flex;\n flex-direction: column;\n margin: 100px 0px;\n }\n`;\n\nexport const IconNoConfigHome = styled(Icons.SettingOutlined)`\n && {\n font-size: 25px;\n margin-bottom: 10px;\n color: rgb(201, 201, 201);\n }\n`;\n\nexport const TextNoConfigHome = styled(Typography.Text)`\n && {\n font-weight: 400;\n font-size: 14px;\n margin-bottom: 0;\n text-align: center;\n color: rgb(201, 201, 201);\n }\n`;\n","import React, { useState, useEffect, useContext } from 'react';\nimport { useSelector } from 'react-redux';\nimport { WidthProvider, Responsive } from 'react-grid-layout';\nimport InformacaoDashboard from '~/components/InformacaoDashboard/InformacaoDashboard.component';\nimport CardImagemDashboard from '~/components/CardImagemDashboard/cardImagemDashboard.component';\nimport YoutubePlayer from '~/components/YoutubePlayer/YoutubePlayer.component';\nimport DonutGraphic from '~/components/Grafico/DonutGraphic.component';\nimport PieGraphic from '~/components/Grafico/PieGraphic.component';\nimport BarGraphic from '~/components/Grafico/BarGraphic.component';\nimport ColumnGraphic from '~/components/Grafico/ColumnGraphic.component';\nimport EmptyCardGrafico from '~/components/Grafico/EmptyCardGraphic.component';\nimport { useMenus } from '~/contexts/menu.context';\nimport { getFullUrl } from '~/services/FileManager/file-manager.service';\nimport { getHomeService } from '../services/dashboard.service';\nimport StatisticCard from '../components/StatisticCard.component';\n\nimport {\n CardNoConfigHome,\n IconNoConfigHome,\n TextNoConfigHome,\n} from './dashboard.container.styled';\n\nimport {\n ListaHomeGraficoContext,\n HomeGraficoContext,\n} from '../context/listaHomeGraficoContext';\nimport { TIPO_ACESSO } from '../../Helper/tipoAcesso';\n\nfunction Dashboard() {\n const ResponsiveReactGridLayout = WidthProvider(Responsive);\n const { resetMenuSelecionado } = useMenus();\n\n const [menuIsCollapsed, setMenuIsCollapsed] = useState(false);\n\n useEffect(() => {\n function forceComponentReRender() {\n setTimeout(() => setMenuIsCollapsed(!menuIsCollapsed), 800);\n }\n\n function addButtonListeners(buttonNode) {\n buttonNode.addEventListener('click', forceComponentReRender);\n buttonNode.addEventListener('keydown', forceComponentReRender);\n }\n\n function removeButtonListeners(buttonNode) {\n buttonNode.removeEventListener('click', forceComponentReRender);\n buttonNode.removeEventListener('keydown', forceComponentReRender);\n }\n\n let collapseButton = document.getElementsByClassName('collapseButton');\n\n function updateButtonOnResize() {\n removeButtonListeners(collapseButton[0]);\n collapseButton = document.getElementsByClassName('collapseButton');\n addButtonListeners(collapseButton[0]);\n }\n\n addButtonListeners(collapseButton[0]);\n window.addEventListener('resize', updateButtonOnResize);\n\n return () => {\n removeButtonListeners(collapseButton[0]);\n window.removeEventListener('resize', updateButtonOnResize);\n };\n }, [menuIsCollapsed]);\n\n const [layouts, setLayouts] = useState();\n const { item, setItem, home, setHome, anoAtual } = useContext(\n HomeGraficoContext\n );\n const [noConfigError, setNoConfigError] = useState('');\n\n const gridContainer = {\n overflow: 'hidden',\n left: -10,\n };\n\n const gridBackground = {\n width: '100%',\n height: '100%',\n left: '0px',\n right: '0px',\n backgroundSize: '3% 3%',\n };\n\n const { corFonte } = useSelector(state => state.configuration);\n\n useEffect(() => {\n async function getHome() {\n const response = await getHomeService(anoAtual);\n if (response && response.data) setHome(response.data);\n }\n getHome();\n }, []);\n\n useEffect(() => {\n if (item) {\n const layoutDefault = item.map(el => ({\n i: el.id,\n ...el.position,\n static: true,\n }));\n\n const sm = [];\n let previousItemY = 0;\n\n item.forEach(el => {\n const newItem = {\n i: el.id,\n ...el.position,\n x: 0,\n y: previousItemY,\n static: true,\n };\n sm.push(newItem);\n previousItemY += el.position.h;\n });\n\n const newlayouts = {\n sm,\n md: layoutDefault,\n lg: layoutDefault,\n };\n setLayouts(newlayouts);\n }\n }, [item]);\n\n useEffect(() => {\n async function getListaGrafico() {\n const listaHomeItem = home?.ListaHomeItem.map(homeItem => {\n const titulo =\n homeItem.Titulo &&\n anoAtual &&\n !homeItem.ExibirExercicio &&\n homeItem.HomeItemBotao?.TipoAcesso !== TIPO_ACESSO.EXTERNO\n ? `${homeItem.Titulo} - Ano ${anoAtual}`\n : homeItem.Titulo || '';\n\n if (homeItem.HomeItemBotao) {\n return {\n id: homeItem.Id,\n position: homeItem.Posicao,\n component: (\n <StatisticCard\n id={homeItem.Id}\n Tamanho={homeItem.Tamanho}\n Titulo={titulo}\n Icone={homeItem.HomeItemBotao?.Icone}\n IconePersonalizado={getFullUrl(\n homeItem.HomeItemBotao?.UrlIconePersonalizado\n )}\n IconeCor={homeItem.HomeItemBotao?.IconeCor}\n TipoAcesso={homeItem.HomeItemBotao.TipoAcesso}\n DescricaoValorDestaque={\n homeItem.HomeItemBotao.DescricaoValorDestaque\n }\n ValorDestaque={homeItem.HomeItemBotao.ValorDestaque}\n ExibirValorSecundario={\n homeItem.HomeItemBotao.ExibirValorSecundario\n }\n ExibirGraficoPorcentagem={\n homeItem.HomeItemBotao.ExibirGraficoPorcentagem\n }\n DescricaoValorSecundario={\n homeItem.HomeItemBotao.DescricaoValorSecundario\n }\n ValorSecundario={homeItem.HomeItemBotao.ValorSecundario}\n DescricaoLinkExterno={homeItem.HomeItemBotao.ValorExterno}\n PorcentagemValorDestaque={\n homeItem.HomeItemBotao.PorcentagemValorDestaque\n }\n PorcentagemValorSecundario={\n homeItem.HomeItemBotao.PorcentagemValorSecundario\n }\n ValorLink={homeItem.Link}\n corFonte={corFonte}\n showExercicioSelect={homeItem.ExibirExercicio}\n />\n ),\n };\n }\n if (homeItem.HomeItemTexto) {\n return {\n id: homeItem.Id,\n position: homeItem.Posicao,\n component: (\n <InformacaoDashboard\n informacao={homeItem.HomeItemTexto.Informacao}\n fundoTransparente={homeItem.HomeItemTexto.FundoTransparente}\n />\n ),\n };\n }\n if (homeItem.HomeItemVideo) {\n return {\n id: homeItem.Id,\n position: homeItem.Posicao,\n component: (\n <YoutubePlayer videoId={homeItem.HomeItemVideo.VideoId} />\n ),\n };\n }\n if (homeItem.HomeItemCardImagem) {\n return {\n id: homeItem.Id,\n position: homeItem.Posicao,\n component: (\n <CardImagemDashboard\n urlImagem={getFullUrl(homeItem.HomeItemCardImagem.UrlImagem)}\n valorLink={homeItem.HomeItemCardImagem.Link}\n tipoAcesso={homeItem.HomeItemCardImagem.TipoAcesso}\n />\n ),\n };\n }\n if (homeItem.HomeItemGrafico) {\n switch (homeItem.HomeItemGrafico.TipoGrafico) {\n case 1:\n return {\n id: homeItem.Id,\n position: homeItem.Posicao,\n component: (\n <PieGraphic\n id={homeItem.Id}\n titulo={titulo}\n data={homeItem.HomeItemGrafico.Dados}\n legenda={homeItem.HomeItemGrafico.LegendaCampoReferencia}\n tootltipTitle={homeItem.HomeItemGrafico.LegendaCampoValor}\n ValorLink={homeItem.Link}\n corFonte={corFonte}\n showEyeButton\n showExercicioSelect={homeItem.ExibirExercicio}\n />\n ),\n };\n case 2:\n return {\n id: homeItem.Id,\n position: homeItem.Posicao,\n component: (\n <ColumnGraphic\n id={homeItem.Id}\n titulo={titulo}\n cor={homeItem.HomeItemGrafico.CorGrafico}\n data={homeItem.HomeItemGrafico.Dados}\n legendaEixoX={\n homeItem.HomeItemGrafico.LegendaCampoReferencia\n }\n legendaEixoY={homeItem.HomeItemGrafico.LegendaCampoValor}\n subTitulo={homeItem.HomeItemGrafico.Periodo}\n ValorLink={homeItem.Link}\n corFonte={corFonte}\n showEyeButton\n showExercicioSelect={homeItem.ExibirExercicio}\n />\n ),\n };\n case 3:\n return {\n id: homeItem.Id,\n position: homeItem.Posicao,\n component: (\n <BarGraphic\n id={homeItem.Id}\n titulo={titulo}\n cor={homeItem.HomeItemGrafico.CorGrafico}\n data={homeItem.HomeItemGrafico.Dados}\n legendaEixoX={\n homeItem.HomeItemGrafico.LegendaCampoReferencia\n }\n legendaEixoY={homeItem.HomeItemGrafico.LegendaCampoValor}\n ValorLink={homeItem.Link}\n corFonte={corFonte}\n showEyeButton\n showExercicioSelect={homeItem.ExibirExercicio}\n />\n ),\n };\n case 4:\n return {\n id: homeItem.Id,\n position: homeItem.Posicao,\n component: (\n <DonutGraphic\n id={homeItem.Id}\n titulo={titulo}\n data={homeItem.HomeItemGrafico.Dados}\n legenda={homeItem.HomeItemGrafico.LegendaCampoReferencia}\n tootltipTitle={homeItem.HomeItemGrafico.LegendaCampoValor}\n ValorLink={homeItem.Link}\n corFonte={corFonte}\n showEyeButton\n showExercicioSelect={homeItem.ExibirExercicio}\n />\n ),\n };\n default:\n return {\n id: homeItem.Id,\n position: homeItem.Posicao,\n component: (\n <EmptyCardGrafico\n id={homeItem.Id}\n titulo={titulo}\n valorLink={homeItem.Link}\n tamanho={homeItem.Tamanho}\n corFonte={corFonte}\n showExercicioSelect={homeItem.ExibirExercicio}\n />\n ),\n };\n }\n } else {\n return {\n id: homeItem.Id,\n position: homeItem.Posicao,\n component: (\n <EmptyCardGrafico\n id={homeItem.Id}\n titulo={homeItem.Titulo}\n valorLink={homeItem.Link}\n tamanho={homeItem.Tamanho}\n corFonte={corFonte}\n showExercicioSelect={homeItem.ExibirExercicio}\n />\n ),\n };\n }\n });\n if (listaHomeItem) {\n if (!listaHomeItem.itemHome)\n setNoConfigError(\n <CardNoConfigHome>\n <IconNoConfigHome />\n <TextNoConfigHome>\n Nenhuma Configuração Realizada na Home\n </TextNoConfigHome>\n </CardNoConfigHome>\n );\n setItem(\n listaHomeItem.filter(itemHome => {\n return itemHome;\n })\n );\n }\n }\n\n getListaGrafico();\n }, [home, setHome]);\n\n useEffect(() => {\n resetMenuSelecionado();\n }, []);\n\n return (\n <div style={gridContainer}>\n <div style={gridBackground} />\n {item?.length ? (\n <ResponsiveReactGridLayout\n breakpoints={{ lg: 1440, md: 1024, sm: 768 }}\n cols={{ lg: 12, md: 12, sm: 1 }}\n layouts={layouts}\n rowHeight={75}\n >\n {item?.length &&\n item.map(el => <div key={el.id}>{el.component}</div>)}\n </ResponsiveReactGridLayout>\n ) : (\n <>{noConfigError}</>\n )}\n </div>\n );\n}\n\nfunction Container() {\n return (\n <ListaHomeGraficoContext>\n <Dashboard />\n </ListaHomeGraficoContext>\n );\n}\n\nexport default Container;\n","import styled from 'styled-components';\n\nexport const Content = styled.div`\n background: transparent;\n font-size: ${({ theme }) => `${14 + 2 * theme.zoomFonte}px`};\n`;\n","import React from 'react';\nimport { Accordion } from '~/components';\nimport { Content } from './style';\n\nconst { Panel } = Accordion;\n\nfunction FaqItem({ pergunta, resposta }) {\n return (\n <>\n <Accordion\n accordion\n style={{\n marginBottom: 5,\n background: 'rgba(255, 255, 255, 0.9)',\n }}\n >\n <Panel forceRender header={pergunta} key=\"1\">\n <Content dangerouslySetInnerHTML={{ __html: resposta }} />\n </Panel>\n </Accordion>\n </>\n );\n}\n\nexport default FaqItem;\n","import React, { useState, useEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { getFaqService } from '../services/faq.service';\nimport { Informacao, PageTitle, Row, ButtonGoBack } from '~/components';\nimport FaqItem from '../components/FaqItem/faqitem.component';\n\nfunction Faq() {\n const [informacao, setInformacao] = useState({ __html: null });\n const [listaFaqItem, setListaFaqItem] = useState([]);\n const history = useHistory();\n\n useEffect(() => {\n async function getFaq() {\n const response = await getFaqService();\n if (response && response.data) {\n setListaFaqItem(response.data.FaqItem);\n setInformacao(response.data.Informacao);\n }\n }\n\n getFaq();\n }, []);\n\n function goBack() {\n history.push('/');\n }\n\n return (\n <>\n <PageTitle titulo=\"FAQ\" />\n {informacao?.Texto && (\n <Informacao titulo={informacao.Titulo} informacao={informacao.Texto} />\n )}\n\n {Boolean(listaFaqItem?.length) &&\n listaFaqItem.map(el => (\n <FaqItem\n key={el.TituloPergunta}\n pergunta={el.TituloPergunta}\n resposta={el.TextoResposta}\n />\n ))}\n\n <Row>\n <ButtonGoBack OnClick={goBack} />\n </Row>\n </>\n );\n}\n\nexport default Faq;\n","import api from '~/services/api';\n\nfunction getFaqService() {\n return api.get('faq');\n}\n\nexport { getFaqService };\n","import styled from 'styled-components';\n\nexport const Content = styled.div`\n background: white;\n font-size: ${({ theme }) => `${16 + 2 * theme.zoomFonte}px`};\n padding: 14px;\n margin-top: 10px;\n`;\n\nexport const ContainerExportar = styled.div`\n display: inline-flex;\n width: 120px;\n margin-bottom: 10px;\n margin-left: 5px;\n position: relative;\n top: -1px;\n`;\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n flex-wrap: wrap;\n`;\n\nexport const NumberRegistersArea = styled.div`\n display: flex;\n flex-wrap: wrap;\n\n .ant-pagination {\n display: flex;\n margin-top: 5px;\n margin-bottom: 5px;\n }\n\n .ant-select {\n margin-left: 15px;\n margin-top: 5px;\n margin-bottom: 5px;\n }\n\n .ant-pagination-item-active a,\n .ant-pagination-item,\n .ant-pagination-item a,\n .ant-select,\n .ant-pagination-prev svg,\n .ant-pagination-next svg,\n .ant-select-arrow svg,\n .ant-pagination-item:focus a {\n color: ${({ corTituloGrid }) => `${corTituloGrid}`};\n }\n\n .ant-pagination-item-active,\n .ant-pagination-item:hover,\n .ant-select:not(.ant-select-disabled):hover .ant-select-selector,\n .ant-pagination-item:focus {\n border-color: ${({ corTituloGrid }) => `${corTituloGrid}`};\n }\n\n .ant-pagination-item-active:focus a,\n .ant-pagination-item-active:hover a,\n .ant-pagination-item:hover a,\n .ant-pagination-prev:hover .ant-pagination-item-link,\n .ant-pagination-next:hover .ant-pagination-item-link {\n border-color: ${({ corTituloGrid }) => `${corTituloGrid}`};\n color: ${({ corTituloGrid }) => `${corTituloGrid}`};\n }\n\n @media (max-width: 795px) {\n width: 100%;\n .ant-select {\n width: 100%;\n margin-right: 0px;\n }\n }\n\n @media (max-width: 700px) and (min-width: 545px) {\n .ant-select {\n width: auto;\n margin-right: 15px;\n }\n }\n\n .ant-select-selection--single .ant-select-selection__rendered {\n margin-right: 30px;\n }\n`;\n\nexport const ButtonsArea = styled.div`\n display: flex;\n margin-top: 5px;\n margin-bottom: 5px;\n\n .ant-typography {\n color: ${({ corTituloGrid }) => `${corTituloGrid}`};\n }\n\n @media (max-width: 700px) {\n width: 100%;\n }\n`;\n\nexport const UltimaAtualizacaoArea = styled.div`\n display: flex;\n justify-content: flex-start;\n flex-direction: row;\n font-size: ${({ theme }) => `${12 + 2 * theme.zoomFonte}px`};\n\n .title {\n font-weight: bold;\n margin-top: auto;\n margin-bottom: auto;\n }\n\n .dates {\n display: flex;\n justify-content: space-between;\n margin-top: auto;\n margin-bottom: auto;\n\n p {\n margin-left: 10px;\n margin-bottom: 0;\n }\n }\n`;\n","import React from 'react';\nimport { ClockCircleOutlined } from '@ant-design/icons';\nimport { UltimaAtualizacaoArea } from './Footer.styled';\n\nexport function UltimaAtualizacao({ dataHora, corTituloGrid }) {\n const data = new Date(dataHora).toLocaleDateString('pt-Br');\n const horas = new Date(dataHora).toLocaleTimeString('pt-Br');\n\n return (\n <UltimaAtualizacaoArea corTituloGrid={corTituloGrid}>\n <div className=\"title\">Última Atualização:</div>\n <div className=\"dates\">\n <p>{data}</p>\n <p>\n <ClockCircleOutlined style={{ marginRight: 3 }} />\n {horas}\n </p>\n </div>\n </UltimaAtualizacaoArea>\n );\n}\n","import api from '~/services/api';\n\nexport async function obterConfiguracoes(modulo, visao) {\n return api.get(`modulovisao/${modulo}/${visao}/configuracao`);\n}\n\nexport async function obterConfiguracoesGerais(modulo) {\n return api.get(`modulo/${modulo}/configuracoes`);\n}\n\nexport async function filtrar(data) {\n return api.post('modulovisao/filter', data);\n}\n\nexport async function exportarVisao(tipoExportacao, data) {\n return api.post(`modulovisao/exportacaogrid/${tipoExportacao}`, data);\n}\n\nexport async function obterTotalizadores(data) {\n return api.post(`modulovisao/colunasTotalizadoras`, data);\n}\n","import React, { useState, useEffect } from 'react';\nimport { Accordion, Select, Exportacao, Notification } from '~/components';\nimport { Content, ContainerExportar } from './style';\nimport { useSelector } from 'react-redux';\nimport { UltimaAtualizacao } from '../../../modules/Modulos/components/Grid/UltimaAtualizacao.component';\nimport { getUrlComDominio } from '~/modules/Helper/getUrl-helper';\nimport { exportarVisao } from '../../Modulos/services/moduloVisao.service';\nimport { fileManagerPaiDownload } from '~/services/FileManager/file-manager.service';\n\nconst { Panel } = Accordion;\nconst { Option, OptGroup } = Select;\n\nfunction DadosAbertosList({ chaveModulo, visaoAnalitica, modulo }) {\n const periodicidades = visaoAnalitica && visaoAnalitica.Periodicidades ? visaoAnalitica.Periodicidades : [];\n const configuration = useSelector(state => state.configuration);\n const { corTituloGrid } = configuration;\n const dataUltimaAtualizacao = visaoAnalitica.DataUltimaSicronizacaoModulo;\n\n const [periodicidadeSelecionada, setPeriodicidadeSelecionada] = useState(null);\n const [periodicidadeDescricao, setPeriodicidadeDescricao] = useState('Periodicidade');\n const [exercicioSelecionado, setExercicioSelecionado] = useState(null);\n const [periodoSelecionado, setPeriodoSelecionado] = useState(null);\n const [periodoDescricao, setperiodoDescricao] = useState('Exercício');\n \n\n const existePeriodicidade = periodicidades.length > 0;\n const periodicidadeUnica = periodicidades.length === 1;\n\n useEffect(() => {\n if (periodicidadeUnica){\n setPeriodicidadeSelecionada(periodicidades[0].Id);\n setPeriodicidadeDescricao(periodicidades[0].Descricao);\n };\n }, [visaoAnalitica]);\n\n const handlePeriodicidadeChange = (value) => {\n const parsedValue = JSON.parse(value);\n const { periodicidadeId, periodicidadeDescricao } = parsedValue;\n\n setPeriodicidadeSelecionada(periodicidadeId);\n setPeriodicidadeDescricao(periodicidadeDescricao);\n setExercicioSelecionado(null);\n setperiodoDescricao('Exercício');\n };\n\n const handleExercicioChange = (value) => {\n const parsedValue = JSON.parse(value);\n const { exercicio, periodoId, periodoDescricao } = parsedValue;\n\n setExercicioSelecionado(exercicio);\n setPeriodoSelecionado(periodoId);\n setperiodoDescricao(periodicidadeUnica && !periodoDescricao ? exercicio : periodoDescricao);\n };\n\n async function exportar(tipoExportacao) {\n if (existePeriodicidade && !exercicioSelecionado) {\n Notification.showError(\"Selecione um exercício antes de exportar.\");\n return;\n }\n\n const payload = {\n ChaveModulo: chaveModulo,\n Exercicio: existePeriodicidade ? Number(exercicioSelecionado) : null,\n Periodicidade: periodicidadeSelecionada,\n Periodo: periodoSelecionado,\n NomeVisao: visaoAnalitica.NomeVisaoAnalitica,\n UrlExportacao: getUrlComDominio(),\n };\n\n try {\n const res = await exportarVisao(tipoExportacao, payload);\n fileManagerPaiDownload(res.data);\n } catch (error) {\n Notification.showError(error.response.data);\n }\n }\n\n return (\n <>\n <Content>\n <Panel forceRender header={modulo.Nome} key=\"1\" style={{ marginBottom: '14px' }}>\n <Content dangerouslySetInnerHTML={{ __html: visaoAnalitica }} />\n </Panel>\n\n <Select \n disabled={!existePeriodicidade || periodicidadeUnica}\n style={{ width: 240, marginBottom: 10 }} \n onChange={handlePeriodicidadeChange}\n value={periodicidadeDescricao}\n >\n {periodicidades && periodicidades.map((periodicidade) => (\n <Option key={periodicidade.Id} value={JSON.stringify({periodicidadeId: periodicidade.Id, periodicidadeDescricao: periodicidade.Descricao})}>\n {periodicidade.Descricao}\n </Option>\n ))}\n </Select>\n\n {existePeriodicidade &&(\n <Select \n style={{ width: 360, marginBottom: 10, marginLeft: 10 }} \n onChange={handleExercicioChange}\n disabled={!periodicidadeSelecionada}\n value={periodoDescricao}\n >\n {visaoAnalitica?.Exercicios?.map((exercicio) => ( \n periodicidadeSelecionada !== 'ANUAL' ? ( \n <OptGroup key={exercicio.Exercicio} label={exercicio.Exercicio}>\n {periodicidades\n .filter(p => p.Id === periodicidadeSelecionada)\n .map((periodicidade) => (\n periodicidade.Periodos?.map((periodo) => (\n <Option \n key={`${exercicio.Exercicio}-${periodo.Descricao}`} \n value={JSON.stringify({ exercicio: exercicio.Exercicio, periodoId: periodo.Id, periodoDescricao: periodo.Descricao })}\n >\n {`${periodo.Descricao}`}\n </Option>\n ))\n ))}\n </OptGroup>\n ) : (\n <Option key={exercicio.Exercicio} value={JSON.stringify({ exercicio: exercicio.Exercicio })}>\n {exercicio.Exercicio}\n </Option>\n )))}\n </Select>\n )}\n\n <ContainerExportar>\n <Exportacao onClick={exportar} semURI/>\n </ContainerExportar>\n\n <div style={{ marginTop: '10px' }}>\n {dataUltimaAtualizacao && (\n <UltimaAtualizacao\n dataHora={dataUltimaAtualizacao}\n corTituloGrid={corTituloGrid}\n />\n )}\n </div>\n </Content>\n </>\n );\n}\n\nexport default DadosAbertosList;\n","import React, { useState, useEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { Informacao, PageTitle, Row, ButtonGoBack } from '~/components';\nimport { getDadosAbertosService } from '../services/dadosAbertos.service';\nimport DadosAbertosList from './../components/dadosAbertos.component';\n\nfunction DadosAbertos() {\n const [informacao, setInformacao] = useState({ __html: null });\n const [listaModulos, setListaModulos] = useState([]);\n const history = useHistory();\n\n useEffect(() => {\n async function getDadosAbertos() {\n\n const response = await getDadosAbertosService();\n if (response && response.data.Informacao) {\n setListaModulos(response.data.Modulos);\n setInformacao(response.data.Informacao);\n }\n\n }\n\n getDadosAbertos();\n }, []);\n\n function goBack() {\n history.push('/');\n }\n\n return (\n <>\n <PageTitle titulo=\"Dados Abertos\" />\n {informacao?.Texto && (\n <Informacao titulo={informacao.Titulo} informacao={informacao.Texto} />\n )}\n\n {Boolean(listaModulos?.length) &&\n listaModulos.map(el => (\n <DadosAbertosList\n key={el.ChaveModulo}\n modulo={el}\n chaveModulo={el.ChaveModulo}\n visaoAnalitica={el.VisaoAnalitica}\n />\n ))}\n\n <Row>\n <ButtonGoBack OnClick={goBack} />\n </Row>\n </>\n );\n}\n\nexport default DadosAbertos;\n","import api from '~/services/api';\n\nfunction getDadosAbertosService() {\n return api.get('DadosAbertos');\n}\n\nexport { getDadosAbertosService };\n","import React from 'react';\nimport { Form } from 'antd';\nimport { Select, Typography } from '~/components';\n\nconst { Option } = Select;\n\nconst listaMes = [\n { name: 'Janeiro', value: 1 },\n { name: 'Fevereiro', value: 2 },\n { name: 'Março', value: 3 },\n { name: 'Abril', value: 4 },\n { name: 'Maio', value: 5 },\n { name: 'Junho', value: 6 },\n { name: 'Julho', value: 7 },\n { name: 'Agosto', value: 8 },\n { name: 'Setembro', value: 9 },\n { name: 'Outubro', value: 10 },\n { name: 'Novembro', value: 11 },\n { name: 'Dezembro', value: 12 },\n];\n\nconst listaBimestral = [\n {\n name: '1º Bimestre',\n value: 1,\n },\n {\n name: '2º Bimestre',\n value: 2,\n },\n {\n name: '3º Bimestre',\n value: 3,\n },\n {\n name: '4º Bimestre',\n value: 4,\n },\n];\n\nconst listaSemestral = [\n {\n name: '1º Semestre',\n value: 1,\n },\n {\n name: '2º Semestre',\n value: 2,\n },\n];\n\nexport const FILTRO_DEFAULT = {\n MENSAL: 1,\n ANUAL: 2,\n SEM_FILTRO: 3,\n};\n\nexport const periodicidadeAnual = (\n <>\n <div style={{ marginBottom: 10 }}>\n <Typography.Text style={{ fontWeight: 'bold' }}>\n Por Exercício\n </Typography.Text>\n </div>\n <Form.Item label=\"Exercício\" name=\"Periodo\">\n <Select\n value={new Date().getFullYear()}\n defaultValue={new Date().getFullYear()}\n style={{ width: 120 }}\n >\n <Option value={new Date().getFullYear()}>\n {new Date().getFullYear()}\n </Option>\n <Option value={new Date().getFullYear() - 1}>\n {new Date().getFullYear() - 1}\n </Option>\n <Option value={new Date().getFullYear() - 2}>\n {new Date().getFullYear() - 2}\n </Option>\n <Option value={new Date().getFullYear() - 3}>\n {new Date().getFullYear() - 3}\n </Option>\n <Option value={new Date().getFullYear() - 4}>\n {new Date().getFullYear() - 4}\n </Option>\n </Select>\n </Form.Item>\n </>\n);\n\nexport const periodicidadeMensal = periodos => {\n return (\n <>\n <div style={{ marginBottom: 10 }}>\n <Typography.Text style={{ fontWeight: 'bold' }}>\n Por Mês\n </Typography.Text>\n </div>\n <Form.Item label=\"Mês\" name=\"Periodo\">\n <Select defaultValue=\"Janeiro\" style={{ width: 120 }}>\n {periodos.map(({ Id, Descricao }) => {\n return <Option value={Id}>{Descricao}</Option>;\n })}\n </Select>\n </Form.Item>\n </>\n );\n};\n\nexport const periodicidadeBimestral = periodos => {\n return (\n <>\n <div style={{ marginBottom: 10 }}>\n <Typography.Text style={{ fontWeight: 'bold' }}>\n Por Bimestre\n </Typography.Text>\n </div>\n <Form.Item label=\"Bimestre\" name=\"Periodo\">\n <Select defaultValue={1} style={{ width: 120 }}>\n {periodos.map(({ Id, Descricao }) => {\n return <Option value={Id}>{Descricao}</Option>;\n })}\n </Select>\n </Form.Item>\n </>\n );\n};\n\nexport const periodicidadeSemestral = periodos => {\n return (\n <>\n <div style={{ marginBottom: 10 }}>\n <Typography.Text style={{ fontWeight: 'bold' }}>\n Por Semestre\n </Typography.Text>\n </div>\n {periodos && (\n <Form.Item label=\"Semestre\" name=\"Periodo\">\n <Select defaultValue={periodos[0].Id} style={{ width: 120 }}>\n {periodos.map(({ Id, Descricao }) => {\n return <Option value={Id}>{Descricao}</Option>;\n })}\n </Select>\n </Form.Item>\n )}\n </>\n );\n};\n","import React from 'react';\nimport {\n Typography,\n Row,\n Col,\n Card,\n Divider,\n Tooltip,\n Button,\n Icons,\n} from '~/components';\n\nimport { fileManagerPaiDownload } from '~/services/FileManager/file-manager.service';\n\nconst TotalEntidadeESic = 3;\n\nfunction CardInfo({ dados }) {\n return (\n <Col style={{ minHeight: 70 }}>\n {dados.map(informacoes => (\n <Typography.Text key={informacoes} style={{ display: 'block' }}>\n {informacoes}\n </Typography.Text>\n ))}\n </Col>\n );\n}\n\nfunction Arquivo({ form }) {\n return (\n <Row style={{ marginBottom: '10px', justifyContent: 'space-between' }}>\n <Col lg={20}>\n <Typography.Text style={{ display: 'block', padding: '0 1.25em' }}>\n {form.Descricao}\n </Typography.Text>\n </Col>\n <Col>\n <Tooltip title=\"Download\">\n <Button\n key={form.Url}\n onClick={() => {\n fileManagerPaiDownload(form.Url);\n }}\n type=\"primary\"\n size=\"small\"\n icon={<Icons.DownloadOutlined />}\n />\n </Tooltip>\n </Col>\n </Row>\n );\n}\n\nfunction showFormulario(formularios) {\n return (\n <>\n <Divider orientation=\"center\" plain style={{ fontWeight: '600' }}>\n Formulários SIC\n </Divider>\n {formularios.map(form =>\n form.Url ? <Arquivo key={form.Descricao} form={form} /> : null\n )}\n </>\n );\n}\n\nfunction EsicCard({ dados, formularios }) {\n const cards = dados; // dados.filter(card => card.Dados.length > 0);\n\n return cards.map(card => {\n const formularioentidade = formularios.find(\n forms => forms.Entidade === card.Entidade\n );\n\n return (\n <Col\n key={card.Entidade}\n flex={cards.length / TotalEntidadeESic}\n style={{ marginBottom: 10 }}\n >\n <Card\n title={<strong>{card.Entidade}</strong>}\n size=\"small\"\n style={{\n minHeight: 248,\n backgroundColor: 'rgba(255, 255, 255, 0.9)',\n }}\n >\n <CardInfo dados={card.Dados} />\n {formularioentidade && showFormulario(formularioentidade.Fomulario)}\n </Card>\n </Col>\n );\n });\n}\n\nfunction ESicVisoes({ dados, formularios }) {\n return (\n <>\n <Row gutter={16} style={{ marginBottom: 16 }}>\n <EsicCard dados={dados} formularios={formularios} />\n </Row>\n </>\n );\n}\n\nexport default ESicVisoes;","import React, { useState, useEffect, useContext } from 'react';\nimport { WidthProvider, Responsive } from 'react-grid-layout';\nimport { useHistory } from 'react-router-dom';\nimport _ from 'lodash';\nimport DonutGraphic from '~/components/Grafico/DonutGraphic.component';\nimport PieGraphic from '~/components/Grafico/PieGraphic.component';\nimport BarGraphic from '~/components/Grafico/BarGraphic.component';\nimport ColumnGraphic from '~/components/Grafico/ColumnGraphic.component';\nimport {\n periodicidadeBimestral,\n periodicidadeAnual,\n periodicidadeMensal,\n periodicidadeSemestral,\n} from '~/modules/Helper/FiltrosPeriodicidade';\nimport api from '~/services/api';\n\nimport {\n ListaGraficoContext,\n GraficoContext,\n} from '../context/listaGraficoContext';\n\nimport {\n getESicService,\n redirectNotFound,\n getVisoesData,\n} from '../services/esic.service';\n\nimport {\n Informacao,\n PageTitle,\n ImageButton,\n Row,\n ButtonGoBack,\n} from '~/components';\nimport ESicVisoes from '../components/visoes.component';\n\nfunction ESic() {\n const history = useHistory();\n const [visoesESic, setVisoesESic] = useState(null);\n const [formularioESIC, setFormularioESIC] = useState(null);\n\n const ResponsiveReactGridLayout = WidthProvider(Responsive);\n const { listaGrafico, setListaGrafico, eSic, setESic } = useContext(\n GraficoContext\n );\n const [periodicidade, setPeriodicidade] = useState(null);\n const gridContainer = {\n overflow: 'hidden',\n left: -10,\n };\n\n const gridBackground = {\n width: '100%',\n height: '100%',\n left: '0px',\n right: '0px',\n backgroundSize: '3% 3%',\n };\n\n const showEyeButton = false;\n\n useEffect(() => {\n async function getPeriodos() {\n const responsePeriodicidade = await api.get('periodicidade/periodos');\n setPeriodicidade(responsePeriodicidade.data);\n }\n\n getPeriodos();\n }, []);\n\n function obterUrlFormulario({\n UrlArquivoPessoaFisicaReclamacao,\n UrlArquivoPessoaFisicaRecurso,\n UrlArquivoPessoaFisicaeSIC,\n UrlArquivoPessoaJuridicaReclamacao,\n UrlArquivoPessoaJuridicaRecurso,\n UrlArquivoPessoaJuridicaeSIC,\n }) {\n const data = [\n {\n Entidade: 'e-SIC',\n Fomulario: [\n {\n Descricao: 'Arquivo Pessoa Física',\n Url: UrlArquivoPessoaFisicaeSIC,\n },\n {\n Descricao: 'Arquivo Pessoa Jurídica',\n Url: UrlArquivoPessoaJuridicaeSIC,\n },\n ],\n },\n {\n Entidade: 'Reclamações',\n Fomulario: [\n {\n Descricao: 'Arquivo Pessoa Física',\n Url: UrlArquivoPessoaFisicaReclamacao,\n },\n {\n Descricao: 'Arquivo Pessoa Jurídica',\n Url: UrlArquivoPessoaJuridicaReclamacao,\n },\n ],\n },\n {\n Entidade: 'Recursos',\n Fomulario: [\n {\n Descricao: 'Arquivo Pessoa Física',\n Url: UrlArquivoPessoaFisicaRecurso,\n },\n {\n Descricao: 'Arquivo Pessoa Jurídica',\n Url: UrlArquivoPessoaJuridicaRecurso,\n },\n ],\n },\n ];\n\n setFormularioESIC(data);\n }\n\n async function obterDadosVisoes({\n AtendimentoQuantidade,\n AtendimentoRespondido,\n AtendimentoPrazoMedio,\n RecursoQuantidade,\n RecursoRespondido,\n RecursoPrazoMedio,\n ReclamacaoQuantidade,\n ReclamacaoRespondido,\n ReclamacaoPrazoMedio,\n }) {\n const params = {\n AtendimentoQuantidade,\n AtendimentoRespondido,\n AtendimentoPrazoMedio,\n RecursoQuantidade,\n RecursoRespondido,\n RecursoPrazoMedio,\n ReclamacaoQuantidade,\n ReclamacaoRespondido,\n ReclamacaoPrazoMedio,\n };\n\n const { data } = await getVisoesData(params);\n setVisoesESic(data);\n }\n\n useEffect(() => {\n async function getESic() {\n const response = await getESicService();\n if (response && response.data) {\n if (!response.data.Habilitado) redirectNotFound();\n setESic(response.data);\n obterDadosVisoes(response.data);\n obterUrlFormulario(response.data);\n }\n }\n\n if (periodicidade) getESic();\n }, [periodicidade, setESic]);\n\n useEffect(() => {\n function getFilterContent(exibicao) {\n switch (exibicao) {\n case 1:\n return {\n Periodicidade: periodicidade[0]?.Periodos[0]?.Id,\n Content: periodicidadeMensal(periodicidade[0]?.Periodos),\n };\n case 2:\n return {\n Periodicidade: periodicidade[1]?.Periodos[0]?.Id,\n Content: periodicidadeBimestral(periodicidade[1]?.Periodos),\n };\n case 5:\n return {\n Periodicidade: periodicidade[4]?.Periodos[0]?.Id,\n Content: periodicidadeSemestral(periodicidade[4]?.Periodos),\n };\n case 6:\n return {\n Periodicidade: 2021,\n Content: periodicidadeAnual,\n };\n default:\n return null;\n }\n }\n\n function getListaGraficos() {\n const listaGraficosESic = eSic?.ListaGraficos.map(graficoESic => {\n switch (graficoESic.TipoGrafico) {\n case 1:\n return {\n id: graficoESic.Id,\n position: graficoESic.Posicao,\n component: (\n <PieGraphic\n id={graficoESic.Id}\n titulo={graficoESic.Titulo}\n data={graficoESic.Dados}\n legenda={graficoESic.LegendaCampoValor}\n height=\"370px\"\n filterDescription={graficoESic.DescricaoPeriodo}\n hasFilter\n contentFilter={getFilterContent(\n graficoESic.Exibicao,\n periodicidade\n )}\n showEyeButton={showEyeButton}\n />\n ),\n };\n case 2:\n return {\n id: graficoESic.Id,\n position: graficoESic.Posicao,\n component: (\n <ColumnGraphic\n id={graficoESic.Id}\n titulo={graficoESic.Titulo}\n data={graficoESic.Dados}\n height=\"370px\"\n filterDescription={graficoESic.DescricaoPeriodo}\n hasFilter\n contentFilter={getFilterContent(graficoESic.Exibicao)}\n showEyeButton={showEyeButton}\n />\n ),\n };\n case 3:\n return {\n id: graficoESic.Id,\n position: graficoESic.Posicao,\n component: (\n <BarGraphic\n id={graficoESic.Id}\n titulo={graficoESic.Titulo}\n data={graficoESic.Dados}\n height=\"370px\"\n filterDescription={graficoESic.DescricaoPeriodo}\n hasFilter\n contentFilter={getFilterContent(graficoESic.Exibicao)}\n showEyeButton={showEyeButton}\n />\n ),\n };\n case 4:\n return {\n id: graficoESic.Id,\n position: graficoESic.Posicao,\n component: (\n <DonutGraphic\n id={graficoESic.Id}\n titulo={graficoESic.Titulo}\n data={graficoESic.Dados}\n legenda={graficoESic.LegendaCampoValor}\n height=\"370px\"\n filterDescription={graficoESic.DescricaoPeriodo}\n hasFilter\n contentFilter={getFilterContent(graficoESic.Exibicao)}\n showEyeButton={showEyeButton}\n />\n ),\n };\n default:\n return null;\n }\n });\n setListaGrafico(\n listaGraficosESic.filter(itemGrafico => {\n return itemGrafico;\n })\n );\n }\n\n if (eSic && periodicidade) getListaGraficos();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [eSic, periodicidade]);\n\n function createElement(el) {\n return (\n <div\n key={el.id}\n data-grid={{ ...el.position, isDraggable: false, static: true }}\n >\n {el.component}\n </div>\n );\n }\n\n function goBack() {\n history.push('/');\n }\n\n return (\n <>\n {eSic && (\n <>\n <PageTitle titulo={eSic.TituloPagina} />\n <ImageButton\n type=\"default\"\n shape=\"round\"\n imagem={eSic.Icone}\n uri={eSic.UrlAplicacao || null}\n tooltip=\"Acesse o Portal do e-SIC\"\n />\n\n {eSic?.Informacao?.Texto && (\n <Informacao\n titulo={eSic.Informacao.Titulo}\n informacao={eSic.Informacao.Texto}\n />\n )}\n\n {visoesESic != null && (\n <ESicVisoes dados={visoesESic} formularios={formularioESIC} />\n )}\n </>\n )}\n\n <div style={gridContainer}>\n <div style={gridBackground} />\n <ResponsiveReactGridLayout\n breakpoints={{ lg: 1440, md: 1024, sm: 768 }}\n cols={{ lg: 12, md: 12, sm: 1 }}\n >\n {_.map(listaGrafico, el => createElement(el))}\n </ResponsiveReactGridLayout>\n </div>\n\n <Row>\n <ButtonGoBack OnClick={goBack} MarginLeft=\"10px\" />\n </Row>\n </>\n );\n}\n\nfunction Container() {\n return (\n <ListaGraficoContext>\n <ESic />\n </ListaGraficoContext>\n );\n}\n\nexport default Container;\n","import api from './api';\n\nexport async function verificaModuloHabilitado(chaveModulo) {\n const response = await api.get(`Modulo/habilitado/${chaveModulo}`);\n\n return response.status === 200;\n}\n","export const CHAVES_MODULO = {\n ESIC: 'esic',\n FAQ: 'faq',\n ESTRUTURA_ORGANIZACIONAL: 'estrutura_organizacional',\n ESTATISTICAS: 'estatisticas',\n SUMARIO: 'sumario',\n FALE_CONOSCO: 'faleconosco',\n GLOSSARIO: 'glossario',\n HOME: 'home',\n AUTENTICIDADE: 'autenticidade',\n DADOS_ABERTOS: 'dados_abertos',\n};\n","import React, { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport {\n PageTitle,\n Divider,\n List,\n Card,\n Col,\n Row,\n ButtonGoBack,\n} from '~/components';\nimport { useMenus } from '~/contexts/menu.context';\nimport { TIPO_MENU_PORTAL } from '~/modules/Helper/tipoMenuPortal';\nimport * as ModuloService from '../../../services/modulos.service';\nimport { CHAVES_MODULO } from '../../Helper/chave-modulo-constants';\n\nfunction transformarJson(menu) {\n return menu.map(item => {\n const novosSubItens = [];\n\n function extrairSubItens(subItens) {\n subItens.forEach(subItem => {\n novosSubItens.push({ ...subItem, SubItens: [] });\n if (subItem.SubItens.length > 0) {\n extrairSubItens(subItem.SubItens);\n }\n });\n }\n\n extrairSubItens(item.SubItens);\n return { ...item, SubItens: novosSubItens };\n });\n}\n\nfunction Sumario() {\n const history = useHistory();\n const { menus } = useMenus();\n const corTema = useSelector(state => state.configuration.corTema);\n const [menusTransformados, setMenusTransformados] = useState([]);\n\n function handleRedirect(item) {\n if (!item.URI) return;\n if (item.TipoMenuPortal === TIPO_MENU_PORTAL.EXTERNO) {\n window.open(item.URI);\n } else {\n history.push(item.URI);\n }\n }\n\n function goBack() {\n history.push('/');\n }\n\n useEffect(() => {\n ModuloService.verificaModuloHabilitado(CHAVES_MODULO.SUMARIO);\n setMenusTransformados(transformarJson(menus));\n }, [menus]);\n\n return (\n <>\n <PageTitle titulo=\"Sumário\" />\n <Col>\n <Card>\n <List\n itemLayout=\"horizontal\"\n dataSource={menusTransformados}\n renderItem={item => (\n <List.Item style={{ display: 'list-item', borderBottom: '0px' }}>\n <List.Item.Meta\n title={\n item.URI ? (\n <a\n onClick={() => {\n handleRedirect(item);\n }}\n >\n {item.Titulo}\n </a>\n ) : (\n item.Titulo\n )\n }\n />\n <Divider\n style={{\n margin: '0px',\n color: corTema,\n borderTop: '1px solid',\n width: '95%',\n }}\n />\n {item.SubItens.length > 0 && (\n <ul\n style={{ listStyleType: 'none', paddingInlineStart: '0px' }}\n >\n {item.SubItens.map(sub => (\n <li key={sub.Id} style={{ color: corTema }}>\n {sub.URI ? (\n <a\n style={{ color: corTema }}\n onClick={() => {\n handleRedirect(sub);\n }}\n >\n {sub.Titulo}\n </a>\n ) : (\n <span style={{ color: corTema }}>{sub.Titulo}</span>\n )}\n </li>\n ))}\n </ul>\n )}\n </List.Item>\n )}\n />\n </Card>\n </Col>\n <Row>\n <ButtonGoBack OnClick={goBack} />\n </Row>\n </>\n );\n}\n\nexport default Sumario;\n","import styled from 'styled-components';\nimport { Tree } from '~/components';\n\nexport const TreeTransparente = styled(Tree)`\n &&.draggable-tree {\n background: transparent !important;\n }\n`;\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { TreeTransparente } from './styles';\nimport { Tree, Tooltip, Typography } from '~/components';\n\nfunction TreeViewEstruturaOrganizacional({ treeView, history }) {\n\n const { TreeNode } = Tree;\n const { corTema } = useSelector(state => state.configuration);\n\n const loop = data =>\n data.map(item => {\n if (item.children && item.children.length && item.Habilitado) {\n return (\n <TreeNode\n key={item.key}\n title={\n <>\n <Tooltip title=\"Acesso\" placement=\"topLeft\">\n <Typography.Text\n style={{ display: 'block', width: '100%', outline: 0 }}\n >\n <span\n style={{\n color: corTema,\n cursor: 'pointer',\n width: '100%',\n display: 'block',\n outline: 0,\n }}\n onClick={() => {\n if (item.Externo) window.open(item.Link);\n else\n history.push(\n `/estrutura_organizacional/detalhe/${item.IdDetalhe}`\n );\n }}\n role=\"link\"\n tabIndex=\"0\"\n aria-hidden=\"true\"\n >\n {item.title}\n </span>\n </Typography.Text>\n </Tooltip>\n </>\n }\n >\n {loop(item.children)}\n </TreeNode>\n );\n }\n if (item.Habilitado) {\n return (\n <TreeNode\n key={item.key}\n isLeaf\n title={\n <>\n <Tooltip title=\"Acesso\" placement=\"topLeft\">\n <Typography.Text\n style={{ display: 'block', width: '100%', outline: 0 }}\n >\n <span\n style={{\n color: corTema,\n cursor: 'pointer',\n width: '100%',\n display: 'block',\n outline: 0,\n }}\n onClick={() => {\n if (item.Externo) window.open(item.Link);\n else\n history.push(\n `/estrutura_organizacional/detalhe/${item.IdDetalhe}`\n );\n }}\n role=\"link\"\n tabIndex=\"0\"\n aria-hidden=\"true\"\n >\n {item.title}\n </span>\n </Typography.Text>\n </Tooltip>\n </>\n }\n />\n );\n }\n return null;\n });\n\n return (\n <TreeTransparente\n className=\"draggable-tree\"\n draggable={false}\n defaultExpandAll={false}\n blockNode\n autoExpandParent={false}\n selectable\n >\n {loop(treeView)}\n </TreeTransparente>\n );\n}\n\nexport default TreeViewEstruturaOrganizacional;\n","import React, { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { getEstruturaOrganizacionalConfiguracaoService } from '../services/estruturaOrganizacional.service';\nimport TreeViewEstruturaOrganizacional from '../components/treeViewEstruturaOrganizacional.component';\nimport { fileManagerPaiDownload } from '~/services/FileManager/file-manager.service';\n\nimport { Typography, Tooltip, Row, Col, Card, PageTitle, ButtonGoBack } from '~/components';\n\nfunction EstruturaOrganizacional({ history }) {\n const { corTema } = useSelector(state => state.configuration);\n\n const [\n estruturaOrganizacionalConfiguracao,\n setEstruturaOrganizacionalConfiguracao,\n ] = useState(null);\n\n useEffect(() => {\n async function getEstruturaOrganizacionalConfiguracao() {\n const response = await getEstruturaOrganizacionalConfiguracaoService();\n if (response.data) setEstruturaOrganizacionalConfiguracao(response.data);\n }\n getEstruturaOrganizacionalConfiguracao();\n }, []);\n\n function goBack() {\n history.push('/');\n }\n\n return (\n <>\n {estruturaOrganizacionalConfiguracao && (\n <>\n <Row gutter={16} style={{ marginBottom: 16 }}>\n <Col md={24}>\n <PageTitle titulo=\"Estrutura Organizacional\" />\n </Col>\n </Row>\n <Row gutter={16} style={{ marginBottom: 16 }}>\n {estruturaOrganizacionalConfiguracao.ExibicaoLegislacao &&\n estruturaOrganizacionalConfiguracao.UrlLegislacao && (\n <Col\n md={\n estruturaOrganizacionalConfiguracao.ExibicaoLegislacao &&\n estruturaOrganizacionalConfiguracao.UrlLegislacao\n ? 12\n : 24\n }\n xs={24}\n >\n <Card\n title={<Typography.Text>Legislação</Typography.Text>}\n size=\"small\"\n >\n <Tooltip title=\"Acesso\">\n <Typography.Text style={{ paddingLeft: 4 }}>\n <span\n style={{\n color: corTema,\n cursor: 'pointer',\n }}\n onClick={() => {\n fileManagerPaiDownload(\n estruturaOrganizacionalConfiguracao.UrlLegislacao\n );\n }}\n role=\"link\"\n tabIndex=\"0\"\n aria-hidden=\"true\"\n >\n {\n estruturaOrganizacionalConfiguracao.ExibicaoLegislacao\n }\n </span>\n </Typography.Text>\n </Tooltip>\n </Card>\n </Col>\n )}\n\n {estruturaOrganizacionalConfiguracao.ExibicaoFluxograma &&\n estruturaOrganizacionalConfiguracao.UrlFluxograma && (\n <Col\n md={\n estruturaOrganizacionalConfiguracao.ExibicaoLegislacao &&\n estruturaOrganizacionalConfiguracao.UrlLegislacao\n ? 12\n : 24\n }\n xs={24}\n >\n <Card\n title={<Typography.Text>Fluxograma</Typography.Text>}\n size=\"small\"\n >\n <Tooltip title=\"Acesso\">\n <Typography.Text style={{ paddingLeft: 4 }}>\n <span\n style={{\n color: corTema,\n cursor: 'pointer',\n }}\n onClick={() => {\n fileManagerPaiDownload(\n estruturaOrganizacionalConfiguracao.UrlFluxograma\n );\n }}\n role=\"link\"\n tabIndex=\"0\"\n aria-hidden=\"true\"\n >\n {\n estruturaOrganizacionalConfiguracao.ExibicaoFluxograma\n }\n </span>\n </Typography.Text>\n </Tooltip>\n </Card>\n </Col>\n )}\n </Row>\n\n <Row gutter={16}>\n <Col xs={24}>\n <Card\n title={\n <Typography.Text>Estrutura Organizacional</Typography.Text>\n }\n size=\"small\"\n >\n <TreeViewEstruturaOrganizacional\n treeView={\n estruturaOrganizacionalConfiguracao.ListaEstruturaOrganizacional\n }\n history={history}\n />\n </Card>\n </Col>\n </Row>\n <Row>\n <ButtonGoBack\n OnClick={goBack}\n />\n </Row>\n </>\n )}\n </>\n );\n}\n\nexport default EstruturaOrganizacional;\n","import api from '~/services/api';\n\nfunction getEstruturaOrganizacionalConfiguracaoService() {\n return api.get(`estruturaOrganizacional`);\n}\n\nfunction getEstruturaOrganizacionalDetalheService(id) {\n return api.get(`estruturaOrganizacional/${id}/detalhe`);\n}\n\nexport {\n getEstruturaOrganizacionalConfiguracaoService,\n getEstruturaOrganizacionalDetalheService,\n};\n","import styled from 'styled-components';\n\nexport const Title = styled.div`\n margin: 0px 20px 0px 20px;\n`;\n\nexport const Content = styled.div`\n margin: 15px;\n margin-right: 20px;\n margin-left: 20px;\n`;\n\nexport const Section = styled.div`\n margin-bottom: 15px;\n`;\n","export const ChooseIconFile = fileExtension => {\n let fileIcon = 'pdf';\n if (fileExtension) {\n switch (fileExtension) {\n case 'pdf':\n break;\n case 'png':\n case 'jpg':\n case 'jpeg':\n fileIcon = 'img';\n break;\n case 'csv':\n case 'xls':\n case 'xlsx':\n fileIcon = 'excel';\n break;\n default:\n fileIcon = 'text';\n }\n }\n return fileIcon;\n};\n","import React, { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport { getEstruturaOrganizacionalDetalheService } from '../services/estruturaOrganizacional.service';\nimport {\n fileManagerPaiDownload,\n getFullUrl,\n} from '~/services/FileManager/file-manager.service';\n\nimport {\n Card,\n Typography,\n Button,\n Tooltip,\n Icons,\n Row,\n Col,\n MapButton,\n ButtonGoBack,\n} from '~/components/';\nimport { Title, Content } from './style';\nimport { ChooseIconFile } from '~/modules/Helper/chooseIconFile';\nimport { iconEnum } from '~/modules/Helper/iconEnum';\n\nfunction EstruturaOrganizacionalDetalhe({ match }) {\n const corTema = useSelector(state => state.configuration.corTema);\n const [\n estruturaOrganizacionalDetalhe,\n setEstruturaOrganizacionalDetalhe,\n ] = useState();\n const [imgSecretario, setImgSecretario] = useState();\n const history = useHistory();\n\n async function getUrl(response) {\n return getFullUrl(response);\n }\n useEffect(() => {\n async function getEstruturaOrganizacionalConfiguracao() {\n const response = await getEstruturaOrganizacionalDetalheService(\n Number(match.params.id)\n );\n setEstruturaOrganizacionalDetalhe(response.data);\n\n const { UrlImagemSecretario } = response.data;\n let img = null;\n\n if (UrlImagemSecretario) {\n img = await getUrl(UrlImagemSecretario);\n }\n setImgSecretario(img);\n }\n getEstruturaOrganizacionalConfiguracao();\n }, [match]);\n\n function goBack() {\n history.goBack();\n }\n return (\n <>\n {estruturaOrganizacionalDetalhe && (\n <>\n <Title>\n <Typography.Title\n level={1}\n style={{\n color: corTema,\n fontWeight: 'bold',\n textAlign: 'center',\n }}\n >\n {estruturaOrganizacionalDetalhe.Nome}\n </Typography.Title>\n\n <Typography.Title level={4} style={{ color: corTema }}>\n {estruturaOrganizacionalDetalhe.SecretarioResponsavel}\n </Typography.Title>\n\n <Typography.Text\n level={4}\n style={{ color: '#000', fontStyle: 'italic' }}\n >\n Secretário/Responsável\n </Typography.Text>\n \n\n \n {imgSecretario != null && (\n \n \n \n )}\n\n \n \n \n Telefone:{' '}\n \n {estruturaOrganizacionalDetalhe.Telefone}\n \n \n\n
\n\n \n E-mail:{' '}\n \n {estruturaOrganizacionalDetalhe.Email}\n \n \n\n
\n\n \n Atendimento ao Publico:{' '}\n \n {estruturaOrganizacionalDetalhe.AtendimentoPublico}\n \n \n\n
\n
\n \n \n\n \n \n \n \n Endereço:{' '}\n \n {estruturaOrganizacionalDetalhe.Logradouro}\n {' '}\n \n \n Nº:{' '}\n \n {estruturaOrganizacionalDetalhe.Numero}\n \n \n\n
\n\n \n Bairro:{' '}\n \n {estruturaOrganizacionalDetalhe.Bairro}\n \n \n\n
\n \n Cidade:{' '}\n \n {estruturaOrganizacionalDetalhe.Cidade}\n \n \n\n
\n \n CEP:{' '}\n \n {estruturaOrganizacionalDetalhe.CEP}\n \n \n\n
\n \n \n \n \n
\n
\n\n \n \n \n \n \n {estruturaOrganizacionalDetalhe.NomeArquivo &&\n estruturaOrganizacionalDetalhe.UrlArquivo && (\n \n \n \n fileManagerPaiDownload(\n estruturaOrganizacionalDetalhe.UrlArquivo\n )\n }\n >\n \n \n {iconEnum\n .find(\n x =>\n x.name ===\n `file-${ChooseIconFile(\n estruturaOrganizacionalDetalhe?.NomeArquivo?.split(\n '.',\n 2\n )[1].toLowerCase()\n )}`\n )\n ?.value({ fontSize: '20px' })}\n \n \n \n \n {estruturaOrganizacionalDetalhe.NomeArquivo}\n \n \n \n \n }\n />\n \n \n \n \n )}\n \n \n \n \n )}\n \n );\n}\n\nexport default EstruturaOrganizacionalDetalhe;\n","import styled from 'styled-components';\nimport Result from '../Result/Result.component';\n\nexport const InfoManutencao = styled(Result)` \n justify-content: center;\n height: 70%;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 1rem;\n\n .ant-result-subtitle {\n font-size: 1.25rem;\n }\n`;\n","import React, { useEffect, useState } from 'react';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport { InfoManutencao } from './EmManutencao.styled';\nimport { Button } from '../Button/Button.styled';\nimport * as ModuloVisaoService from '../../modules/Modulos/services/moduloVisao.service';\n\nfunction EmManutencao() {\n const history = useHistory();\n const location = useLocation();\n const params = new URLSearchParams(location.search);\n\n const visao = params.get('visao');\n const titulo = params.get('titulo');\n const [moduloApi, visaoApi] = visao.split('/');\n const [botaoDisabled, setBotaoDisabled] = useState(true);\n\n useEffect(() => {\n const voltarParaVisao = async () => {\n const responseConfiguracao = await ModuloVisaoService.obterConfiguracoes(\n moduloApi,\n visaoApi\n );\n\n const modoVisao = responseConfiguracao.data.ModoVisao;\n if (modoVisao !== 3) {\n setBotaoDisabled(false);\n }\n };\n\n voltarParaVisao();\n }, [moduloApi, visaoApi]);\n\n const voltarParaVisao = () => {\n if (botaoDisabled) history.push('/');\n else history.push(`/${visao}`);\n };\n\n const textoBotao = botaoDisabled\n ? 'Voltar para a Home'\n : 'Voltar para a Visão';\n\n const tituloPagina = botaoDisabled\n ? `Visão '${titulo}' em manutenção temporária.`\n : `Visão '${titulo}' sofreu uma alteração.`;\n\n const subTituloPagina = botaoDisabled\n ? 'Tente novamente mais tarde.'\n : 'Clique aqui para atualizar';\n\n return (\n <>\n \n {textoBotao}\n \n }\n />\n \n );\n}\n\nexport default EmManutencao;\n","import styled from 'styled-components';\nimport { Button, Card } from '~/components';\n\nexport const ContainerButtons = styled(Card)`\n display: flex;\n justify-content: center;\n align-items: center;\n position: sticky;\n width: 100%;\n top: 0;\n padding: 1em 0 1em 0.35em;\n z-index: 1;\n margin-bottom: 1em;\n\n ${Button} {\n width: 2.8em;\n height: 2.5em;\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 0 0.35em 0.35em 0;\n padding: 1.2em;\n\n @media (max-width: 1440px) {\n width: 2.5em;\n height: 2.5em;\n font-size: 12px;\n }\n\n @media (max-width: 815px) {\n font-size: 10px;\n }\n\n @media (max-width: 768px) {\n font-size: 9px;\n }\n\n @media (max-width: 450px) {\n font-size: 8px;\n }\n\n @media (max-width: 313px) {\n font-size: 7px;\n }\n }\n`;\n","export const alfabeto = [\n 'A',\n 'B',\n 'C',\n 'D',\n 'E',\n 'F',\n 'G',\n 'H',\n 'I',\n 'J',\n 'K',\n 'L',\n 'M',\n 'N',\n 'O',\n 'P',\n 'Q',\n 'R',\n 'S',\n 'T',\n 'U',\n 'V',\n 'W',\n 'X',\n 'Y',\n 'Z',\n];\n","import React from 'react';\nimport { HashLink } from 'react-router-hash-link';\nimport { Button } from '~/components';\nimport { ContainerButtons } from './style';\nimport { alfabeto } from '../constants/alfabeto';\n\nfunction GlossarioButtons({ letrasAtivas = [] }) {\n const verificaBotaoDesabilitado = letra =>\n letrasAtivas.includes(letra) === false;\n\n return (\n \n {alfabeto.map(letra => (\n \n \n \n ))}\n \n );\n}\n\nexport default GlossarioButtons;\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n height: 80vh;\n overflow-y: scroll;\n\n ::-webkit-scrollbar {\n width: 8px;\n }\n\n ::-webkit-scrollbar-track {\n background: #f1f1f1;\n }\n\n ::-webkit-scrollbar-thumb {\n background: #888;\n border-radius: 5px;\n }\n\n ::-webkit-scrollbar-thumb:hover {\n background: #555;\n }\n`;\n\nexport const ItemGlossarioArea = styled.div`\n padding-top: 5em;\n\n @media (max-width: 1244px) {\n padding-top: 6.6em;\n }\n`;\n","import React, { useState, useEffect } from 'react';\nimport { Divider, Typography, PageTitle, Card } from '~/components';\nimport GlossarioButtons from '../componentes/glossario-buttons.component';\nimport { getGlossario } from '../services/glossario.service';\nimport { Container, ItemGlossarioArea } from './style';\n\nfunction Glossario() {\n const [letrasAtivas, setLetrasAtivas] = useState([]);\n const [glossario, setGlossario] = useState([]);\n\n async function obterGlossario() {\n const response = await getGlossario();\n if (response?.data?.Itens?.length) setGlossario(response.data.Itens);\n }\n\n useEffect(() => {\n obterGlossario();\n }, []);\n\n useEffect(() => {\n const letras = glossario.map(item => item.Letra);\n\n setLetrasAtivas(letras);\n }, [glossario]);\n\n return (\n <>\n \n \n \n \n {Boolean(glossario?.length) &&\n glossario.map(({ Letra, PalavrasSignificados }) => (\n \n \n {Letra}\n \n\n \n\n {Boolean(PalavrasSignificados?.length) &&\n PalavrasSignificados.map(({ Palavra, Significado }) => (\n \n {Palavra}: {Significado}\n \n ))}\n \n ))}\n \n \n \n );\n}\n\nexport default Glossario;\n","import api from '~/services/api';\n\nfunction getGlossario() {\n return api.get('glossario');\n}\n\nexport { getGlossario };\n","export function parseToQueryString(data) {\n if (!data) return '';\n\n const urlSearchParams = new URLSearchParams();\n\n Object.keys(data).forEach(key => {\n // remove props null ou undefined\n if (data[key] === null || data[key] === undefined) {\n } else if (Array.isArray(data[key])) {\n data[key].forEach(item => urlSearchParams.append(key, item));\n } else {\n urlSearchParams.append(key, data[key]);\n }\n });\n\n const queryString = urlSearchParams.toString();\n return queryString;\n}\n","export const MODO_VISAO = {\n GridCarregada: 1,\n GridVazia: 2,\n Manutencao: 3,\n};\n","export const NUMERO_QUANTIDADE_REGISTROS = ['5', '10', '20', '50', '100'];\n","export const PARAMS_FILTERS_GRID = [\n 'periodicidade',\n 'exercicio',\n 'pagina',\n 'periodo',\n 'quantidaderegistros',\n 'colunafiltroRedirecionaVisao',\n 'valorfiltroRedirecionaVisao',\n 'tipovalorfiltroRedirecionaVisao',\n 'colunaordem',\n 'tipoordem',\n 'listacolunaordem',\n];\n\nexport const PARAMS_FILTERS_DETALHE = [\n 'periodicidade',\n 'exercicio',\n 'periodo',\n 'pagina',\n 'chavesPeriodicidade',\n];\n\nexport const PARAMS_FILTERS_GRID_BUSCA_AVANCADA = [\n 'pagina',\n 'quantidaderegistros',\n 'listacolunaordem',\n 'filtros',\n];\n","export function getAndFormatSearchParams(data, filtersArray) {\n let searchParams = new URLSearchParams();\n const filtersArrayLowwer = filtersArray.map(item => item.toLowerCase());\n\n Object.entries(data).forEach(key => {\n const values = key.filter(\n () => filtersArrayLowwer.includes(key[0].toLowerCase()) && key[1]\n );\n\n if (values.length > 0) searchParams.append(values[0], values[1]);\n });\n\n const queryString = searchParams.toString();\n return queryString;\n}\n\nexport function getAndFormatSearchParamsBuscaAvancada(data, filtersArray) {\n let searchParams = new URLSearchParams();\n const filtersArrayLowwer = filtersArray.map(item => item.toLowerCase());\n\n Object.entries(data).forEach(key => {\n const values = key.filter(() => {\n if (key[0].toLowerCase() !== 'filtros')\n return filtersArrayLowwer.includes(key[0].toLowerCase()) && key[1];\n });\n\n if (values.length > 0) searchParams.append(values[0], values[1]);\n });\n\n const chavesFiltro = Object.keys(data.filtros);\n\n chavesFiltro.forEach(filtro => {\n const valuesFiltro = [];\n\n if (data.filtros[`${filtro}`] !== undefined) {\n valuesFiltro.push(data.filtros[`${filtro}`].Campo);\n valuesFiltro.push(data.filtros[`${filtro}`].Valor);\n valuesFiltro.push(data.filtros[`${filtro}`].TipoValor);\n\n if (valuesFiltro.length > 0) {\n searchParams.append(\n valuesFiltro[0],\n `${valuesFiltro[1]},${valuesFiltro[2]}`\n );\n }\n }\n });\n\n const queryString = searchParams.toString();\n return queryString;\n}\n","import React, { createContext, useContext, useState } from 'react';\n\nexport const UrlContext = createContext();\n\nexport function UrlProvider({ children }) {\n const [urls, setUrls] = useState([]);\n\n function empilhaUrl(url) {\n setUrls(u => [...u, url]);\n }\n\n function obterUrlPaginaAnterior() {\n const valorDefault = {\n urlCompleta: null,\n urlBase: null,\n queryParam: null,\n };\n\n if (!urls?.length) {\n return valorDefault;\n }\n\n const urlAnterior = String(urls[urls.length - 1]);\n\n if (urlAnterior) {\n const novasUrls = urls.filter(item => item !== urlAnterior);\n\n setUrls(novasUrls);\n\n const [urlBase, queryParam] = urlAnterior.split('?');\n\n return {\n urlCompleta: urlAnterior,\n urlBase,\n queryParam,\n };\n }\n\n return valorDefault;\n }\n\n return (\n \n {children}\n \n );\n}\n\nexport function useUrls() {\n const { urls, empilhaUrl, obterUrlPaginaAnterior } = useContext(UrlContext);\n\n return {\n urls,\n empilhaUrl,\n obterUrlPaginaAnterior,\n };\n}\n","import React from 'react';\nimport { PageTitle, Informacao } from '~/components';\n\nfunction Header({ configuracao }) {\n return (\n <>\n {configuracao?.Titulo && }\n\n {configuracao?.Informacao?.Texto && (\n \n )}\n \n );\n}\n\nexport default Header;\n","export const TIPO_AGRUPAMENTO = {\n CONTADOR: 1,\n SOMA: 2,\n AGRUPADOR: 3,\n MAXIMO: 4,\n};\n","export const TIPO_COLUNA = {\n TEXTO_50: 1,\n TEXTO_100: 2,\n INTEIRO: 3,\n DECIMAL: 4,\n DATA: 5,\n LINK: 6,\n BOOLEANO: 7,\n TEXTO: 8,\n};\n","import React from 'react';\nimport { Row, Col, Divider } from '~/components';\nimport { TIPO_AGRUPAMENTO } from '~/modules/Helper/tipo-agrupamento';\nimport { TIPO_COLUNA } from '~/modules/Helper/tipoColuna';\n\nfunction Totalizadores({ totalizadores }) {\n return (\n <>\n \n \n {totalizadores.map(item => (\n \n {item.DescricaoTotalizador}\n \n {item.TipoValor === TIPO_COLUNA.DECIMAL &&\n item.TipoAgrupamento !== TIPO_AGRUPAMENTO.CONTADOR\n ? item.Total.toLocaleString('pt-br', {\n style: 'currency',\n currency: 'BRL',\n })\n : item.Total}\n \n \n ))}\n \n \n \n );\n}\n\nexport default Totalizadores;\n","import React, { useState, useEffect } from 'react';\nimport { useSelector } from 'react-redux';\nimport { Pagination, notification } from 'antd';\nimport { Select, Exportacao } from '~/components';\nimport { UltimaAtualizacao } from './UltimaAtualizacao.component';\nimport { fileManagerPaiDownload } from '~/services/FileManager/file-manager.service';\nimport { Container, NumberRegistersArea, ButtonsArea } from './Footer.styled';\nimport { exportarVisao } from '../../services/moduloVisao.service';\nimport { exportarBuscaAvancada } from '~/modules/BuscaAvancada/services/buscaAvancada.service';\nimport { getUrlComDominio } from '~/modules/Helper/getUrl-helper';\n\nfunction Footer({\n moduloVisao,\n quantidadeRegistros,\n setQuantidadeRegistros,\n page,\n setPage,\n configuracao,\n modulo,\n visao,\n filter,\n periodicidade,\n periodo,\n exercicio,\n colunaFiltroRedirecionaVisao,\n valorFiltroRedirecionaVisao,\n tipoValorFiltroRedirecionaVisao,\n dataUltimaAtualizacao,\n buscaAvancada,\n}) {\n const [tipo, setTipo] = useState(null);\n\n const configuration = useSelector(state => state.configuration);\n const { corFundoTituloGrid, corTituloGrid } = configuration;\n\n function setNewTipo() {\n if (configuracao.Tipo !== tipo) {\n setTipo(configuracao.Tipo);\n }\n }\n\n useEffect(() => {\n setTipo(configuracao.Tipo);\n setNewTipo();\n }, [configuracao.Tipo, setNewTipo]);\n\n function exportar(tipoExportacao) {\n if (tipoExportacao === 'uri') {\n navigator.clipboard.writeText(window.location.href);\n notification.success({\n message: 'URI Copiada com Sucesso!',\n });\n } else {\n const FiltroRedirecionaVisao = {\n Campo: colunaFiltroRedirecionaVisao,\n Valor: valorFiltroRedirecionaVisao,\n TipoValor: tipoValorFiltroRedirecionaVisao,\n };\n\n const dtoExportacao = {\n ChaveModulo: modulo,\n NomeVisao: visao,\n Filtros: filter,\n Periodicidade: periodicidade,\n Periodo: periodo,\n Exercicio: exercicio,\n Pagina: page,\n QuantidadeRegistros: quantidadeRegistros,\n FiltroRedirecionaVisao,\n UrlExportacao: getUrlComDominio(),\n };\n\n if (buscaAvancada) {\n exportarBuscaAvancada(tipoExportacao, dtoExportacao).then(res => {\n fileManagerPaiDownload(res.data);\n });\n } else {\n exportarVisao(tipoExportacao, dtoExportacao).then(res => {\n fileManagerPaiDownload(res.data);\n });\n }\n }\n }\n\n return (\n \n
\n \n {\n return (\n

\n Total: \n {`${new Intl.NumberFormat('pt-BR').format(total)} registros`}\n

\n );\n }}\n onChange={pag => setPage(pag)}\n />\n\n {\n setPage(1);\n setQuantidadeRegistros(qtde);\n }}\n style={{ color: '#000' }}\n >\n {[5, 10, 20, 50, 100].map(quantidade => (\n \n {quantidade} registros\n \n ))}\n \n \n
\n\n
\n {dataUltimaAtualizacao && (\n \n )}\n
\n\n \n {moduloVisao != null && moduloVisao.Valores.length !== 0 && (\n \n )}\n \n
\n );\n}\n\nexport default Footer;\n","import api from '~/services/api';\n\nasync function getColunasFiltro(nomeModulo) {\n const response = await api.get(`Modulo/${nomeModulo}/colunasfiltro`);\n return response.data;\n}\n\nasync function obterDadosFiltroAvancado(data) {\n const response = await api.post(`ModuloVisao/filtroavancado`, data);\n return response;\n}\n\nasync function exportarBuscaAvancada(tipoExportacao, data) {\n const response = await api.post(\n `Modulovisao/exportacaogridfiltroavancado/${tipoExportacao}`,\n data\n );\n return response;\n}\n\nexport { getColunasFiltro, exportarBuscaAvancada, obterDadosFiltroAvancado };\n","import React from 'react';\n\nimport { Button } from '~/components';\n\nconst ButtonLinkFileManagerLinkAnexo = ({ children, onClick }) => (\n \n {children}\n \n);\n\nexport default ButtonLinkFileManagerLinkAnexo;\n","import React from 'react';\n\nimport { Button, Tooltip, Icons } from '~/components';\n\nconst ButtonDownloadFileManager = ({ onClick }) => (\n \n }\n style={{ margin: '9px' }}\n />\n \n);\n\nexport default ButtonDownloadFileManager;\n","import React from 'react';\n\nimport { Button, Tooltip, Icons } from '~/components';\n\nconst ButtonLinkAnexo = ({ onClick }) => (\n \n }\n style={{ margin: '9px' }}\n />\n \n);\n\nexport default ButtonLinkAnexo;\n","import React, { useState, useEffect } from 'react';\n\nimport { Modal, FormV3 as Form, Row, Col, Table } from '~/components';\nimport { fileManagerPaiDownload } from '~/services/FileManager/file-manager.service';\n\nimport { obterAnexos } from '~/modules/Modulos/services/arquivos.service';\nimport ButtonLinkFileManagerLinkAnexo from './ButtonLinkFileManager';\nimport ButtonDownloadFileManager from './ButtonDowloadFileManager';\nimport ButtonLinkAnexo from './ButtonLinkAnexo';\n\nfunction ArquivosForm({\n visible,\n onCancel,\n chaveModulo,\n filtroPesquisaArquivosDigitais,\n}) {\n const [arquivosAnexados, setArquivosAnexados] = useState([]);\n const titulo = 'Listagem dos Anexos';\n\n useEffect(() => {\n async function buscarAnexos() {\n if (filtroPesquisaArquivosDigitais) {\n const response = await obterAnexos(filtroPesquisaArquivosDigitais);\n setArquivosAnexados(response);\n }\n }\n if (visible) buscarAnexos();\n }, [chaveModulo, filtroPesquisaArquivosDigitais, visible]);\n\n function onCloseModal() {\n onCancel();\n }\n\n function showAnexos() {\n const columns = [\n {\n title: 'Anexos',\n dataIndex: 'NomeArquivoDigital',\n key: 'NomeArquivoDigital',\n render: (text, record) => {\n return {\n children: (\n {\n if (record?.IsLinkAnexo) {\n window.open(record.LinkAnexo, '_blank');\n } else {\n fileManagerPaiDownload(record.UrlArquivoDigital);\n }\n }}\n >\n {text}\n \n ),\n props: {\n 'data-title': 'Anexos',\n },\n };\n },\n },\n {\n title: 'Ações',\n dataIndex: 'Acao',\n align: 'center',\n key: 'Acao',\n width: 100,\n render: (text, record) => {\n return {\n children: record?.IsLinkAnexo ? (\n {\n window.open(record.LinkAnexo, '_blank');\n }}\n />\n ) : (\n {\n fileManagerPaiDownload(record.UrlArquivoDigital);\n }}\n />\n ),\n props: {\n 'data-title': 'Ações',\n },\n };\n },\n },\n ];\n\n return (\n row.IdArquivoDigital || row.NomeArquivoDigital}\n pagination={false}\n scroll={{ x: 650 }}\n columns={columns}\n />\n );\n }\n\n return (\n \n
\n \n {showAnexos()}\n \n
\n
\n );\n}\n\nexport default ArquivosForm;\n","import api from '~/services/api';\n\nasync function obterAnexos(params) {\n const response = await api.post(`ModuloArquivoDigital/arquivos`, params);\n\n return response.data;\n}\n\nexport { obterAnexos };\n","/* eslint-disable react/jsx-props-no-spreading */\nimport React, { useState } from 'react';\nimport { Button, Tooltip, Icons, Table, FilterHeaderTable } from '~/components';\n\nimport { TIPO_COLUNA } from '~/modules/Helper/tipoColuna';\nimport { TIPO_VISAO } from '~/modules/Helper/tipo-visao';\nimport Footer from './Footer.component';\nimport ArquivoForm from './arquivos/arquivos.form.component';\n\nfunction TableDinamic({\n dataUltimaAtualizacao,\n moduloVisao,\n handleTableChange,\n configuracao,\n quantidadeRegistros,\n setQuantidadeRegistros,\n pagina,\n setPagina,\n modulo,\n visao,\n filtro,\n setFiltro,\n periodicidadeSelecionada,\n periodoSelecionado,\n exercicioSelecionado,\n colunaFiltroRedirecionaVisao,\n valorFiltroRedirecionaVisao,\n tipoValorFiltroRedirecionaVisao,\n redirecionarDetalheVisaoAnalitica,\n urlVisaoAnalitica,\n urlVisaoAgrupamento,\n listaColunaOrdem,\n obterValoresChavesPeriodicidadePorLinha,\n redirecionarVisaoAnalitica,\n redirecionarRastreabilidade,\n possuiArquivoDigital,\n exibirAnexos,\n filtroPesquisaArquivosDigitais,\n exibirArquivosForm,\n setFiltroPesquisaArquivosDigitais,\n setExibirArquivosForm,\n buscaAvancada,\n tableKey,\n setDataFilterHeader,\n dataFilterHeader,\n obterColunaChave,\n obterColunaLink,\n}) {\n function verificaAlinhamentoColuna(tipoValor) {\n if (tipoValor === TIPO_COLUNA.DECIMAL) {\n return 'right';\n }\n if (tipoValor === TIPO_COLUNA.LINK) {\n return 'center';\n }\n return 'left';\n }\n\n const BotaoLink = ({ value }) => {\n return (\n \n window.open(value, '_blank')}\n icon={}\n shape=\"circle\"\n />\n \n );\n };\n\n const BotaoArquivoAnexo = props => {\n return (\n \n }\n shape=\"circle\"\n onClick={() => exibirAnexos(props)}\n />\n \n );\n };\n\n const BotaoRedirecionarDetalheVisaoAnalitica = ({\n valoresChavesPeriodicidade,\n value,\n exercicio,\n mes,\n }) => {\n const dadosColuna = Object.values(valoresChavesPeriodicidade)[0].valor;\n\n return (\n 50\n ? 'top'\n : 'right'\n }\n >\n {\n redirecionarDetalheVisaoAnalitica(\n valoresChavesPeriodicidade,\n exercicio,\n mes\n );\n }}\n >\n \n \n \n );\n };\n\n const BotaoRedirecionarRastreabilidade = ({ row, visaoColuna, value }) => {\n const valoresRow = Object.values(row);\n const valorRow = valoresRow.filter(\n valor => typeof valor === 'string' && valor.length > 50\n )[0];\n\n return (\n \n {\n redirecionarRastreabilidade(row, visaoColuna.Rastreabilidade);\n }}\n >\n \n \n \n );\n };\n\n const BotaoRedirecionarVisaoAnalitica = ({ visaoColuna, value }) => {\n return (\n {\n redirecionarVisaoAnalitica(\n visaoColuna.FonteDados,\n value,\n visaoColuna.TipoValor\n );\n }}\n >\n \n \n );\n };\n\n const TextoValorBoolean = ({ value }) => {\n return {value === true ? 'Sim' : 'Não'};\n };\n\n const TextoValorString = ({ value, maxLength }) => {\n return (\n \n {value?.length > maxLength\n ? `${value?.substring(0, maxLength)}...`\n : value}\n \n );\n };\n\n const Columns = ({ row, value, visaoColuna }) => {\n const valoresChavesPeriodicidade = obterValoresChavesPeriodicidadePorLinha(\n row\n );\n if (value !== null && value !== undefined && value !== '') {\n if (\n visaoColuna.ColunaLink &&\n (urlVisaoAnalitica || urlVisaoAgrupamento) &&\n configuracao.Tipo !== TIPO_VISAO.AGRUPAMENTO &&\n periodicidadeSelecionada\n ) {\n return (\n \n );\n }\n\n if (visaoColuna.Chave && configuracao.Tipo === TIPO_VISAO.AGRUPAMENTO) {\n return (\n \n );\n }\n\n if (\n visaoColuna.Rastreabilidade?.FonteDadosColunaLink ===\n visaoColuna.FonteDados\n ) {\n return (\n \n );\n }\n\n if (visaoColuna.TipoValor === TIPO_COLUNA.LINK) {\n return ;\n }\n\n if (visaoColuna.TipoValor === TIPO_COLUNA.BOOLEANO) {\n return ;\n }\n }\n\n return ;\n };\n\n function ordenacao(visaoColuna) {\n if (visaoColuna.TipoValor !== TIPO_COLUNA.LINK && visaoColuna.Ordenacao) {\n const ordenacao = listaColunaOrdem?.find(\n item => item.ColunaOrdem === visaoColuna.FonteDados\n );\n return {\n compare: (a, b) =>\n a[visaoColuna.FonteDados] - b[visaoColuna.FonteDados],\n multiple: ordenacao?.Ordem ?? visaoColuna.Ordenacao.Ordem,\n };\n }\n\n return visaoColuna.TipoValor !== TIPO_COLUNA.LINK;\n }\n\n function tipoOrdenacaoPadrao(visaoColuna) {\n const ordenacao = listaColunaOrdem?.find(\n item => item.ColunaOrdem === visaoColuna.FonteDados\n );\n\n if (ordenacao) return ordenacao.TipoOrdem;\n\n return null;\n }\n\n return (\n <>\n row.Id}\n pagination={false}\n scroll={{ x: 1100 }}\n onChange={handleTableChange}\n footer={() => (\n \n )}\n >\n {configuracao.VisaoColunas?.filter(\n visaoColuna => !visaoColuna?.OcultoGridPortal\n )?.map(visaoColuna => (\n (\n \n )}\n render={(value, row) => {\n return {\n children: (\n \n ),\n props: {\n 'data-title': visaoColuna.NomeColuna,\n },\n };\n }}\n />\n ))}\n\n {possuiArquivoDigital && configuracao.Tipo === TIPO_VISAO.ANALITICO ? (\n {\n return {\n children: ,\n props: {\n 'data-title': 'Anexos',\n },\n };\n }}\n />\n ) : (\n ''\n )}\n \n {filtroPesquisaArquivosDigitais ? (\n {\n setFiltroPesquisaArquivosDigitais([]);\n setExibirArquivosForm(false);\n }}\n filtroPesquisaArquivosDigitais={filtroPesquisaArquivosDigitais}\n chaveModulo={modulo}\n />\n ) : (\n <>\n )}\n \n );\n}\n\nexport default TableDinamic;\n","/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable prefer-const */\nimport React from 'react';\nimport { Row, Col, Tooltip, Input, Select, Button, Icons } from '~/components';\nimport { TIPO_VISAO } from '~/modules/Helper/tipo-visao';\nimport { TIPO_COLUNA } from '~/modules/Helper/tipoColuna';\nimport { useUrls } from '~/contexts/url.context';\n\nconst { Search } = Input;\n\nfunction FiltroPeriodicidadeModuloDinamico({\n filtro,\n pagina,\n setPagina,\n configuracao,\n obterColunaChave,\n obterColunaLink,\n setFiltro,\n InputCarregando,\n periodicidadeSelecionada,\n setPeriocidadeSelecionada,\n listaPeriodicidades,\n periodoDesabilitado,\n periodoSelecionado,\n setPeriodoSelecionado,\n listaPeriodos,\n exercicioSelecionado,\n setExercicioSelecionado,\n listaExercicios,\n isFiltroAvancadoHabilitado,\n history,\n obterOrdenacaoPadrao,\n setDataFilterHeader,\n dataFilterHeader\n}) {\n const { empilhaUrl } = useUrls();\n const tiposValorString = [\n TIPO_COLUNA.TEXTO_50,\n TIPO_COLUNA.TEXTO_100,\n TIPO_COLUNA.LINK,\n TIPO_COLUNA.BOOLEANO,\n ];\n\n const tiposValorData = [TIPO_COLUNA.DATA];\n\n const tiposValorNumber = [TIPO_COLUNA.INTEIRO, TIPO_COLUNA.DECIMAL];\n\n function verificaTipoInputEPlaceholder() {\n let inputType = 'text';\n let textoPlaceholder = 'Filtro';\n if (configuracao && configuracao.VisaoColunas) {\n const visaoColuna =\n configuracao.Tipo === TIPO_VISAO.AGRUPAMENTO\n ? obterColunaChave()\n : obterColunaLink();\n\n if (visaoColuna) {\n const { TipoValor, NomeColuna } = visaoColuna;\n \n if (TipoValor) {\n if (tiposValorString.includes(TipoValor)) {\n inputType = 'text';\n } else if (tiposValorNumber.includes(TipoValor)) {\n inputType = 'number';\n } else if (tiposValorData.includes(TipoValor)) {\n inputType = 'date';\n }\n }\n\n textoPlaceholder = `Filtro por ${NomeColuna}`;\n }\n }\n\n return { inputType, textoPlaceholder };\n }\n\n const {\n inputType,\n textoPlaceholder\n } = verificaTipoInputEPlaceholder();\n\n function restaurarOrdenacao() {\n const colunaChave =\n configuracao?.Tipo === TIPO_VISAO.AGRUPAMENTO\n ? obterColunaChave()\n : obterColunaLink();\n\n if (colunaChave) obterOrdenacaoPadrao(colunaChave);\n\n let dataFilter = {\n ...dataFilterHeader,\n Filtros: null,\n };\n setDataFilterHeader(dataFilter);\n setFiltro([]);\n }\n\n return (\n \n \n \n 0 ? filtro[0]?.Valor : ''}\n type={inputType}\n onChange={event => {\n if (pagina !== 1) setPagina(1);\n\n const { FonteDados, TipoValor } =\n configuracao.Tipo === TIPO_VISAO.AGRUPAMENTO\n ? obterColunaChave()\n : obterColunaLink();\n\n setFiltro([\n {\n Campo: FonteDados,\n Valor: event.target.value,\n TipoValor,\n },\n ]);\n }}\n loading={InputCarregando}\n />\n \n \n\n {isFiltroAvancadoHabilitado &&\n configuracao?.Tipo === TIPO_VISAO.ANALITICO && (\n \n \n }\n onClick={() => {\n empilhaUrl(window.location.hash.split('#')[1]);\n history.push({ pathname: `${configuracao.Uri}/busca` });\n }}\n >\n Busca Avançada\n \n \n \n )}\n\n {configuracao?.Tipo === TIPO_VISAO.AGRUPAMENTO ||\n configuracao?.Tipo === TIPO_VISAO.ANALITICO ? (\n <>\n \n \n }\n onClick={() => restaurarOrdenacao()}\n >\n Restaurar Ordenação\n \n \n \n \n ) : (\n \n )}\n\n {periodicidadeSelecionada && (\n <>\n \n \n {\n setPeriocidadeSelecionada(value);\n setPagina(1);\n }}\n style={{ width: '100%', color: '#000' }}\n >\n {listaPeriodicidades?.length &&\n listaPeriodicidades.map(value => (\n \n {value.Descricao}\n \n ))}\n \n \n \n\n \n \n {\n setPeriodoSelecionado(value);\n setPagina(1);\n }}\n style={{ width: '100%', color: '#000' }}\n >\n {listaPeriodos?.length &&\n listaPeriodos.map(p => (\n \n {p.Descricao}\n \n ))}\n \n \n \n\n \n \n setExercicioSelecionado(value)}\n style={{ width: '100%', color: '#000' }}\n >\n {listaExercicios.map(exerc => (\n \n {exerc.Exercicio}\n \n ))}\n \n \n \n \n )}\n \n );\n}\n\nexport default FiltroPeriodicidadeModuloDinamico;\n","/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable prefer-const */\nimport React, { useState, useEffect, useMemo, useCallback } from 'react';\nimport { createBrowserHistory } from 'history';\nimport { Row, ButtonGoBack } from '~/components';\nimport { parseToQueryString } from '~/modules/Helper/querystring-helper';\n\nimport { TIPO_VISAO } from '~/modules/Helper/tipo-visao';\nimport { MODO_VISAO } from '~/modules/Helper/modoVisao';\nimport { NUMERO_QUANTIDADE_REGISTROS } from '~/modules/Helper/numeroQuantidadeRegistros';\nimport { PARAMS_FILTERS_GRID } from '~/modules/Helper/searchParamsFilters';\nimport { getAndFormatSearchParams } from '~/modules/Helper/searchString-helper';\nimport { useUrls } from '~/contexts/url.context';\nimport * as ModuloVisaoService from './services/moduloVisao.service';\n\nimport Header from './components/Grid/Header.component';\nimport Totalizadores from './components/Totalizadores/Totalizadores.component';\nimport TableDinamic from './components/Grid/TableDinamic.component';\nimport FiltroPeriodicidadeModuloDinamico from './components/Grid/FiltroPeriodicidadeModuloDinamico.component';\n\nimport { useDebounce } from '../Helper/hooks/debounce.hook';\n\nimport { FILTRO_DEFAULT } from '../Helper/FiltrosPeriodicidade';\n\nfunction ModuloDinamicoPage({ match, history }) {\n const browserHistory = createBrowserHistory();\n\n const { empilhaUrl, obterUrlPaginaAnterior } = useUrls();\n\n const routeParams = new URLSearchParams(history.location.search);\n\n const periodicidadeParam = routeParams.get('periodicidade')?.toUpperCase();\n const periodoParam = routeParams.get('periodo')?.toUpperCase();\n const exercicioParam = Number(routeParams.get('exercicio'));\n const paginacaoGridParam = Number(routeParams.get('pagina'));\n const quantidadeRegistrosParam = routeParams.get('quantidaderegistros');\n\n const valorFiltroRedirecionaVisaoParam = routeParams.get(\n 'valorfiltroredirecionavisao'\n );\n\n const colunaFiltroRedirecionaVisaoParam = routeParams.get(\n 'colunafiltroredirecionavisao'\n );\n\n const tipoValorFiltroRedirecionaVisaoParam = routeParams.get(\n 'tipovalorfiltroredirecionavisao'\n );\n\n const listaColunaOrdemParam = JSON.parse(routeParams.get('listacolunaordem'));\n\n const [dataUltimaAtualizacao, setDataUltimaAtualizacao] = useState(null);\n const [configuracao, setConfiguracao] = useState(null);\n const [listaPeriodicidades, setListaPeriodicidades] = useState([]);\n const [listaPeriodos, setListaPeriodos] = useState([]);\n const [listaExercicios, setListaExercicios] = useState([]);\n const [possuiArquivoDigital, setPossuiArquivoDigital] = useState(false);\n const [moduloVisao, setModuloVisao] = useState(null);\n const [urlVisaoAnalitica, setUrlVisaoAnalitica] = useState(null);\n const [urlVisaoAgrupamento, setUrlVisaoAgrupamento] = useState(null);\n const [periodoDesabilitado, setPeriodoDesabilitado] = useState(false);\n const [InputCarregando, setInputCarregando] = useState(false);\n const [filtro, setFiltro] = useState([]);\n const filtroDebounce = useDebounce(filtro, 500);\n const [totalizadores, setTotalizadores] = useState([]);\n const [filtroDefault, setFiltroDefaultEnum] = useState();\n\n const [dataFilterHeader, setDataFilterHeader] = useState([]);\n\n // filtros da visão agrupamento\n const [\n colunaFiltroRedirecionaVisao,\n setColunaFiltroRedirecionaVisao,\n ] = useState(null);\n const [\n valorFiltroRedirecionaVisao,\n setValorFiltroRedirecionaVisao,\n ] = useState(null);\n const [\n tipoValorFiltroRedirecionaVisao,\n setTipoValorFiltroRedirecionaVisao,\n ] = useState(null);\n\n const [periodicidadeSelecionada, setPeriocidadeSelecionada] = useState(null);\n const [periodoSelecionado, setPeriodoSelecionado] = useState(null);\n const [exercicioSelecionado, setExercicioSelecionado] = useState(null);\n const [pagina, setPagina] = useState(1);\n const [quantidadeRegistros, setQuantidadeRegistros] = useState();\n const [listaColunaOrdem, setListaColunaOrdem] = useState([]);\n const [tableKey, setTableKey] = useState(Date.now());\n const [exibirArquivosForm, setExibirArquivosForm] = useState(false);\n const [\n filtroPesquisaArquivosDigitais,\n setFiltroPesquisaArquivosDigitais,\n ] = useState(null);\n const [isFiltroAvancadoHabilitado, setIsFiltroAvancadoHabiltado] = useState(\n false\n );\n\n const { modulo, visao } = match.params;\n const [chavesPeriodicidade, setChavesPeriodicidade] = useState([]);\n\n const obterVisaoColunas = propriedade => {\n return (\n configuracao?.VisaoColunas?.find(\n x => x.OcultoGridPortal !== true && x[propriedade] // A coluna OcultoGridPortal não deve ser utilizada\n ) || null\n );\n };\n\n const obterColunaChave = useCallback(() => {\n return (\n obterVisaoColunas('Chave') ||\n obterVisaoColunas('ChaveUnicaModulo') ||\n obterVisaoColunas('ColunaLink') ||\n configuracao?.VisaoColunas?.[0] ||\n null\n );\n }, [configuracao]);\n\n const obterChaveUnicaModulo = useCallback(() => {\n return obterVisaoColunas('ChaveUnicaModulo') || obterColunaChave();\n }, [configuracao, obterColunaChave]);\n\n const obterColunaLink = useCallback(() => {\n return obterVisaoColunas('ColunaLink') || obterChaveUnicaModulo();\n }, [configuracao, obterChaveUnicaModulo]);\n\n const obterOrdenacaoPadrao = useCallback(\n colunaChave => {\n const ordenacoes = configuracao.VisaoColunas?.map(item => {\n if (item.Ordenacao)\n return {\n ColunaOrdem: item.FonteDados,\n TipoOrdem: item.Ordenacao.TipoOrdenacao,\n Ordem: item.Ordenacao.Ordem,\n };\n return null;\n })?.filter(Boolean);\n\n if (ordenacoes?.length) setListaColunaOrdem(ordenacoes);\n else\n setListaColunaOrdem([\n {\n ColunaOrdem: colunaChave.FonteDados,\n TipoOrdem: 'ascend',\n Ordem: 1,\n },\n ]);\n\n setTableKey(Date.now());\n },\n [configuracao]\n );\n\n function handleTableChange(pagination, filters, sorter) {\n if (!Array.isArray(sorter))\n return setListaColunaOrdem([\n {\n ColunaOrdem: sorter.field,\n TipoOrdem: sorter.order,\n Ordem: 1,\n },\n ]);\n const maxOrdem = Math.max(...listaColunaOrdem?.map(item => item.Ordem));\n\n const novaListaOrdenacaoColuna = sorter?.map((s, index) => {\n const itemOrdenacao = listaColunaOrdem.find(\n (ordenacao, idx) =>\n s.columnKey === ordenacao.ColunaOrdem && index === idx\n );\n if (itemOrdenacao) {\n return {\n ...itemOrdenacao,\n TipoOrdem: s.order,\n };\n }\n return {\n ColunaOrdem: s.field,\n TipoOrdem: s.order,\n Ordem: maxOrdem ? maxOrdem + 1 : 1,\n };\n });\n\n setListaColunaOrdem(novaListaOrdenacaoColuna);\n }\n\n function obterValoresChavesPeriodicidadePorLinha(linhaGrid) {\n const valores = chavesPeriodicidade.map(colunaGrid => ({\n campo: colunaGrid.FonteDados,\n valor: linhaGrid[colunaGrid.FonteDados],\n tipo: colunaGrid.TipoValor,\n }));\n return valores;\n }\n\n const exibirAnexos = useCallback(row => {\n const colunasChave = configuracao?.VisaoColunas.filter(\n colunaGrid => colunaGrid.ChaveUnicaModulo\n );\n\n const chavePesquisa = {\n ChaveModulo: modulo,\n Chave: colunasChave.map(coluna => ({\n Campo: coluna.FonteDados,\n Valor: row[coluna.FonteDados],\n TipoValor: coluna.TipoValor,\n })),\n };\n\n setFiltroPesquisaArquivosDigitais(chavePesquisa);\n setExibirArquivosForm(true);\n });\n\n const validaPeriodicidade = useCallback(() => {\n if (!periodicidadeSelecionada) return false;\n\n const periodoAnualValido =\n periodicidadeSelecionada === 'ANUAL' && !periodoSelecionado;\n\n let periodoValidoParaPeriodicidade;\n if (periodicidadeSelecionada === null) {\n periodoValidoParaPeriodicidade = listaPeriodicidades;\n } else {\n periodoValidoParaPeriodicidade = listaPeriodicidades.some(\n p =>\n p.Id === periodicidadeSelecionada &&\n p.Periodos &&\n p.Periodos.length &&\n p.Periodos.some(x => x.Id === periodoSelecionado)\n );\n }\n\n return periodoAnualValido || periodoValidoParaPeriodicidade;\n }, [periodicidadeSelecionada, listaPeriodicidades, periodoSelecionado]);\n\n function redirecionarDetalheVisaoAnalitica(valoresChavesPeriodicidade) {\n let colunasPeriodicidadeCampoValor = {};\n\n valoresChavesPeriodicidade.forEach(item => {\n colunasPeriodicidadeCampoValor[item.campo] = item.valor;\n });\n\n const data = {\n exercicio: exercicioSelecionado,\n periodicidade: periodicidadeSelecionada,\n periodo: periodoSelecionado,\n\n ...colunasPeriodicidadeCampoValor,\n };\n\n const queryString = parseToQueryString(data);\n\n empilhaUrl(window.location.hash.split('#')[1]);\n\n history.push({\n pathname: `${urlVisaoAnalitica}/detalhevisao`,\n state: {\n pagina,\n quantidadeRegistros,\n colunaFiltroRedirecionaVisao,\n valorFiltroRedirecionaVisao,\n tipoValorFiltroRedirecionaVisao,\n listaColunaOrdem,\n filtro,\n },\n search: queryString,\n });\n }\n\n function redirecionarVisaoAnalitica(\n colunaSelecionada,\n valorSelecionada,\n tipoValorColunaSelecionada\n ) {\n setColunaFiltroRedirecionaVisao(colunaSelecionada);\n setValorFiltroRedirecionaVisao(valorSelecionada);\n setTipoValorFiltroRedirecionaVisao(tipoValorColunaSelecionada);\n\n empilhaUrl(window.location.hash.split('#')[1]);\n\n history.push({\n pathname: urlVisaoAnalitica,\n state: {\n colunaSelecionada,\n chaveSelecionada: valorSelecionada,\n tipoValorColunaSelecionada,\n exercicio: exercicioSelecionado,\n periodicidade: periodicidadeSelecionada,\n periodo: periodoSelecionado,\n quantidadeRegistros,\n valorFiltroRedirecionaVisao,\n tipoValorFiltroRedirecionaVisao,\n isFromAgrupamento: true,\n listacolunaordem: listaColunaOrdem\n ? JSON.stringify(listaColunaOrdem)\n : null,\n },\n });\n }\n\n async function redirecionarRastreabilidade(row, visaoRastreabilidade) {\n const rastreabilidade = {\n campo: visaoRastreabilidade.FonteDadosColunaDestino,\n valor: row[visaoRastreabilidade.FonteDadosColunaOrigem],\n tipo: visaoRastreabilidade.TipoValorColunaDestino,\n link: visaoRastreabilidade.LinkVisaoDestino,\n };\n\n empilhaUrl(window.location.hash.split('#')[1]);\n\n history.push({\n pathname: `${rastreabilidade.link}?${\n window.location.hash.split('#')[1]\n }&colunafiltroredirecionavisao=${\n rastreabilidade.campo\n }&valorfiltroredirecionavisao=${\n rastreabilidade.valor\n }&tipovalorfiltroredirecionavisao=${rastreabilidade.tipo}`,\n state: {\n colunaSelecionada: rastreabilidade.campo,\n chaveSelecionada: rastreabilidade.valor,\n tipoValorColunaSelecionada: rastreabilidade.tipo,\n exercicio: exercicioSelecionado,\n periodicidade: periodicidadeSelecionada,\n periodo: periodoSelecionado,\n quantidadeRegistros,\n valorFiltroRedirecionaVisao: null,\n tipoValorFiltroRedirecionaVisao: null,\n isFromAgrupamento: true,\n listacolunaordem: listaColunaOrdem\n ? JSON.stringify(listaColunaOrdem)\n : null,\n },\n });\n }\n\n function voltarPaginaAnterior() {\n if (configuracao.Tipo === TIPO_VISAO.AGRUPAMENTO) {\n history.push(`/`);\n }\n\n const { urlBase, queryParam } = obterUrlPaginaAnterior();\n\n if (urlBase && queryParam) {\n history.push({ pathname: urlBase, search: queryParam });\n } else {\n history.push(`/`);\n }\n }\n\n const buscaDadosGrid = useCallback(() => {\n if (!filtroDefault) return;\n\n if (\n filtroDefault !== FILTRO_DEFAULT.SEM_FILTRO &&\n (!validaPeriodicidade() || !exercicioSelecionado)\n ) {\n return;\n }\n\n if (!configuracao || !listaColunaOrdem?.length) {\n return;\n }\n const FiltroRedirecionaVisao = {\n Campo: colunaFiltroRedirecionaVisao,\n Valor: valorFiltroRedirecionaVisao,\n TipoValor: tipoValorFiltroRedirecionaVisao,\n };\n\n let mergeFiltro = [];\n let indexFiltro;\n if (dataFilterHeader?.Filtros && dataFilterHeader?.Filtros.length > 0) {\n mergeFiltro = dataFilterHeader.Filtros;\n\n if (filtroDebounce) {\n indexFiltro = mergeFiltro.findIndex(\n x => x.Campo == filtroDebounce[0]?.Campo\n );\n\n if (indexFiltro >= 0) {\n mergeFiltro = mergeFiltro.filter(\n item => item.Campo !== mergeFiltro[indexFiltro].Campo\n );\n }\n\n if (filtroDebounce.length > 0 && filtroDebounce[0].Valor !== '') {\n mergeFiltro.push(filtroDebounce[0]);\n }\n }\n\n if (filtroDebounce === -1 || filtroDebounce === undefined) {\n mergeFiltro = dataFilterHeader.Filtros;\n }\n } else {\n mergeFiltro =\n Array.isArray(dataFilterHeader?.Filtros) &&\n dataFilterHeader?.Filtros.length > 0\n ? dataFilterHeader?.Filtros\n : filtroDebounce;\n }\n\n let data = {\n ChaveModulo: modulo,\n NomeVisao: visao,\n Filtros: mergeFiltro,\n Periodicidade: periodicidadeSelecionada,\n Periodo: periodoSelecionado,\n Exercicio: exercicioSelecionado,\n Pagina: pagina,\n QuantidadeRegistros: quantidadeRegistros,\n Ordenacao: listaColunaOrdem,\n FiltroRedirecionaVisao,\n };\n const dataQueryString = {\n periodicidade: periodicidadeSelecionada,\n periodo: periodoSelecionado,\n exercicio: exercicioSelecionado,\n pagina,\n quantidaderegistros: quantidadeRegistros,\n colunafiltroredirecionavisao: colunaFiltroRedirecionaVisao,\n valorfiltroredirecionavisao: valorFiltroRedirecionaVisao,\n tipovalorfiltroredirecionavisao: tipoValorFiltroRedirecionaVisao,\n listacolunaordem: listaColunaOrdem\n ? JSON.stringify(listaColunaOrdem)\n : null,\n };\n const searchParams = getAndFormatSearchParams(\n dataQueryString,\n PARAMS_FILTERS_GRID\n );\n\n setDataFilterHeader(data);\n\n function filtrarModuloVisao(dataFiltro) {\n setInputCarregando(true);\n ModuloVisaoService.filtrar(dataFiltro)\n .then(res => {\n setModuloVisao(res.data);\n setInputCarregando(false);\n })\n .catch(() => {\n setModuloVisao({\n QuantidadePaginas: 0,\n QuantidadeRegistros: 0,\n Valores: [],\n });\n setInputCarregando(false);\n });\n }\n\n if (configuracao) {\n if (configuracao.ModoVisao === MODO_VISAO.GridVazia) {\n if (data?.Filtros.length > 0) {\n filtrarModuloVisao(data);\n } else {\n setModuloVisao({\n QuantidadePaginas: 0,\n QuantidadeRegistros: 0,\n Valores: [],\n });\n }\n return;\n }\n\n if (configuracao.ModoVisao === MODO_VISAO.Manutencao) {\n history.push(\n `/manutencao?visao=dinamico/${modulo}/${visao}&titulo=${configuracao.Titulo}`\n );\n } else {\n browserHistory.replace(\n `/#/dinamico/${modulo}/${visao}?${searchParams}`,\n history.location.state\n );\n filtrarModuloVisao(data);\n }\n }\n }, [\n valorFiltroRedirecionaVisao,\n colunaFiltroRedirecionaVisao,\n tipoValorFiltroRedirecionaVisao,\n periodoDesabilitado,\n exercicioSelecionado,\n filtroDebounce,\n modulo,\n pagina,\n periodicidadeSelecionada,\n periodoSelecionado,\n quantidadeRegistros,\n validaPeriodicidade,\n visao,\n listaColunaOrdem,\n configuracao,\n filtroDefault,\n ]);\n\n const obterConfiguracoes = useCallback(async () => {\n const responseConfiguracao = await ModuloVisaoService.obterConfiguracoes(\n modulo,\n visao\n );\n\n if (responseConfiguracao?.data) setConfiguracao(responseConfiguracao.data);\n }, [modulo, visao]);\n\n const obterExerciciosEVisaoAnalitica = useCallback(async () => {\n const responseConfiguracoesGerais = await ModuloVisaoService.obterConfiguracoesGerais(\n modulo\n );\n\n if (responseConfiguracoesGerais?.data) {\n const {\n NomeVisaoAnalitica,\n NomeVisaoAgrupamento,\n Exercicios,\n PossuiArquivoDigital,\n DataUltimaSicronizacaoModulo,\n Periodicidades,\n FiltroHabilitado,\n FiltroDefaultEnum,\n } = responseConfiguracoesGerais?.data;\n\n if (NomeVisaoAnalitica) setUrlVisaoAnalitica(NomeVisaoAnalitica);\n\n if (NomeVisaoAgrupamento) setUrlVisaoAgrupamento(NomeVisaoAgrupamento);\n\n if (DataUltimaSicronizacaoModulo)\n setDataUltimaAtualizacao(DataUltimaSicronizacaoModulo);\n\n if (FiltroHabilitado) setIsFiltroAvancadoHabiltado(FiltroHabilitado);\n\n if (FiltroDefaultEnum) setFiltroDefaultEnum(FiltroDefaultEnum);\n\n if (Exercicios?.length) {\n await setListaExercicios(Exercicios);\n\n const exercicioParamExisteArray = Exercicios.find(\n x => x.Exercicio === exercicioParam\n );\n\n await setExercicioSelecionado(\n exercicioParamExisteArray === undefined\n ? Exercicios[0].Exercicio\n : exercicioParam\n );\n }\n\n if (Periodicidades?.length) {\n await setListaPeriodicidades(Periodicidades);\n\n const periodicidadeDoParam = Periodicidades.find(\n x => x.Id === periodicidadeParam\n );\n\n await setPeriocidadeSelecionada(\n periodicidadeDoParam === undefined\n ? Periodicidades[0].Id\n : periodicidadeParam\n );\n }\n\n if (PossuiArquivoDigital !== null && PossuiArquivoDigital !== undefined)\n setPossuiArquivoDigital(PossuiArquivoDigital);\n }\n }, [modulo]);\n\n function setSearchParams() {\n setTipoValorFiltroRedirecionaVisao(\n tipoValorFiltroRedirecionaVisaoParam || null\n );\n setColunaFiltroRedirecionaVisao(colunaFiltroRedirecionaVisaoParam || null);\n setValorFiltroRedirecionaVisao(valorFiltroRedirecionaVisaoParam || null);\n setPeriodoSelecionado(periodoParam || null);\n setExercicioSelecionado(exercicioParam || null);\n setPagina(paginacaoGridParam || 1);\n setQuantidadeRegistros(\n NUMERO_QUANTIDADE_REGISTROS.includes(quantidadeRegistrosParam)\n ? quantidadeRegistrosParam\n : '10'\n );\n\n if (listaColunaOrdemParam?.length)\n setListaColunaOrdem(listaColunaOrdemParam);\n }\n\n function obterChavesPeriocidadeDaConfiguracao() {\n const colunasPeriodicidade = configuracao.ChavesPeriodicidades;\n\n setChavesPeriodicidade(arrayAnterior => [\n ...arrayAnterior,\n ...colunasPeriodicidade,\n ]);\n }\n\n const carregarPagina = useCallback(() => {\n if (visao !== urlVisaoAnalitica && visao !== urlVisaoAgrupamento) {\n setColunaFiltroRedirecionaVisao(null);\n setValorFiltroRedirecionaVisao(null);\n setTipoValorFiltroRedirecionaVisao(null);\n if (filtro?.length) {\n setFiltro([]);\n }\n } else if (history.location.state) {\n const {\n chaveSelecionada,\n colunaSelecionada,\n tipoValorColunaSelecionada,\n exercicio,\n periodicidade,\n periodo,\n tipoOrdem,\n isFromAgrupamento,\n // váriaveis com o mesmo nome já existem no escopo acima\n quantidadeRegistros: quantidadeRegistrosHistory,\n colunaFiltroRedirecionaVisao: colunaFiltroRedirecionaVisaoHistory,\n valorFiltroRedirecionaVisao: valorFiltroRedirecionaVisaoHistory,\n tipoValorFiltroRedirecionaVisao: tipoValorFiltroRedirecionaVisaoHistory,\n colunaOrdem: colunaOrdemHistory,\n filtro: filtroHistory,\n } = history.location.state;\n\n if (colunaFiltroRedirecionaVisaoHistory) {\n setColunaFiltroRedirecionaVisao(colunaFiltroRedirecionaVisaoHistory);\n } else {\n setColunaFiltroRedirecionaVisao(colunaSelecionada);\n }\n\n if (valorFiltroRedirecionaVisaoHistory) {\n setValorFiltroRedirecionaVisao(valorFiltroRedirecionaVisaoHistory);\n } else if (isFromAgrupamento) {\n setValorFiltroRedirecionaVisao(chaveSelecionada);\n }\n\n if (tipoValorFiltroRedirecionaVisaoHistory) {\n setTipoValorFiltroRedirecionaVisao(\n tipoValorFiltroRedirecionaVisaoHistory\n );\n } else {\n setTipoValorFiltroRedirecionaVisao(tipoValorColunaSelecionada);\n }\n\n setFiltro(filtroHistory);\n\n if (listaColunaOrdem && tipoOrdem) {\n setListaColunaOrdem([\n {\n ColunaOrdem: colunaOrdemHistory,\n TipoOrdem: tipoOrdem,\n },\n ]);\n }\n setExercicioSelecionado(exercicio);\n\n setPeriocidadeSelecionada(periodicidade);\n setPeriodoSelecionado(periodo);\n setQuantidadeRegistros(quantidadeRegistrosHistory || '10');\n\n // eslint-disable-next-line no-param-reassign\n history.location.state = null;\n }\n }, [history.location.state, urlVisaoAnalitica, urlVisaoAgrupamento, visao]);\n\n function desabilitarPeriodo() {\n setPeriodoDesabilitado(true);\n setPeriodoSelecionado(null);\n carregarPagina();\n }\n\n function configuraPeriodoPorTipoPeriodicidade() {\n setPeriodoDesabilitado(false);\n const exercicio = listaExercicios.find(\n ex => ex.Exercicio === exercicioSelecionado\n );\n\n if (exercicio) {\n const { IdsPeriodicidadePeriodoUltimoMes } = exercicio;\n\n if (IdsPeriodicidadePeriodoUltimoMes?.length) {\n const IdPeriodicidadePeriodoSelecionado = IdsPeriodicidadePeriodoUltimoMes.find(\n p => p.IdPeriodicidade === periodicidadeSelecionada\n );\n if (IdPeriodicidadePeriodoSelecionado?.IdPeriodo) {\n const periodoValido = listaPeriodicidades.some(\n e =>\n e.Id === periodicidadeSelecionada &&\n e.Periodos.some(p => p.Id === periodoSelecionado)\n );\n setPeriodoSelecionado(\n periodoValido\n ? periodoSelecionado\n : IdPeriodicidadePeriodoSelecionado.IdPeriodo\n );\n carregarPagina();\n }\n }\n }\n }\n\n function configuraPeriodo() {\n if (periodicidadeSelecionada === 'ANUAL') {\n desabilitarPeriodo();\n } else if (\n listaExercicios?.length &&\n exercicioSelecionado &&\n periodicidadeSelecionada\n ) {\n configuraPeriodoPorTipoPeriodicidade();\n }\n }\n\n // set exercicios, exercicio e visao analitica\n useEffect(() => {\n obterExerciciosEVisaoAnalitica();\n obterConfiguracoes();\n setSearchParams();\n }, [obterExerciciosEVisaoAnalitica, obterConfiguracoes]);\n\n // set ordem inicial\n useEffect(() => {\n const colunaChave =\n configuracao?.Tipo === 2 ? obterColunaChave() : obterColunaLink();\n\n if (colunaChave && !listaColunaOrdem?.length) {\n obterOrdenacaoPadrao(colunaChave);\n }\n if (configuracao) obterChavesPeriocidadeDaConfiguracao();\n }, [obterColunaLink, obterColunaChave, configuracao]);\n\n // set periodos\n useEffect(() => {\n if (listaPeriodicidades?.length && periodicidadeSelecionada) {\n const periodicidade = listaPeriodicidades.find(\n x => x.Id === periodicidadeSelecionada\n );\n\n setListaPeriodos(periodicidade?.Periodos || []);\n }\n }, [periodicidadeSelecionada, listaPeriodicidades]);\n\n // set periodo\n useEffect(() => {\n configuraPeriodo();\n }, [\n exercicioSelecionado,\n listaExercicios,\n carregarPagina,\n periodicidadeSelecionada,\n periodoSelecionado,\n urlVisaoAnalitica,\n urlVisaoAgrupamento,\n visao,\n listaPeriodicidades,\n configuracao,\n ]);\n\n // search da grid\n useEffect(() => {\n buscaDadosGrid();\n }, [buscaDadosGrid]);\n\n useEffect(() => {\n if (history.location.state?.pagina) {\n setPagina(history.location.state?.pagina);\n }\n }, [pagina]);\n\n const Grid = useMemo(() => {\n return configuracao?.VisaoColunas && moduloVisao?.Valores ? (\n \n ) : (\n <>\n );\n }, [\n valorFiltroRedirecionaVisao,\n colunaFiltroRedirecionaVisao,\n listaColunaOrdem,\n configuracao,\n exercicioSelecionado,\n possuiArquivoDigital,\n filtro,\n modulo,\n moduloVisao,\n pagina,\n periodicidadeSelecionada,\n periodoSelecionado,\n quantidadeRegistros,\n urlVisaoAnalitica,\n urlVisaoAgrupamento,\n visao,\n filtroPesquisaArquivosDigitais,\n exibirArquivosForm,\n exibirAnexos,\n dataUltimaAtualizacao,\n ]);\n\n useEffect(() => {\n async function obterTotalizadores() {\n const FiltroRedirecionaVisao = {\n Campo: colunaFiltroRedirecionaVisao,\n Valor: valorFiltroRedirecionaVisao,\n TipoValor: tipoValorFiltroRedirecionaVisao,\n };\n\n const data = {\n ChaveModulo: modulo,\n NomeVisao: visao,\n Filtros: filtro,\n Periodicidade: periodicidadeSelecionada,\n Periodo: periodoSelecionado,\n Exercicio: exercicioSelecionado,\n FiltroRedirecionaVisao,\n };\n\n const ColunasTotalizadoras = await ModuloVisaoService.obterTotalizadores(\n data\n );\n\n setTotalizadores(ColunasTotalizadoras.data);\n }\n\n if (!validaPeriodicidade() || !exercicioSelecionado || !configuracao) {\n return;\n }\n\n obterTotalizadores();\n }, [\n colunaFiltroRedirecionaVisao,\n valorFiltroRedirecionaVisao,\n tipoValorFiltroRedirecionaVisao,\n modulo,\n visao,\n configuracao,\n filtroDebounce,\n periodicidadeSelecionada,\n periodoSelecionado,\n exercicioSelecionado,\n ]);\n\n return (\n <>\n
\n\n {totalizadores?.length > 0 && (\n \n )}\n\n \n\n {Grid}\n\n \n \n \n \n );\n}\n\nconst ModuloDinamico = ({ history, match }) => {\n return (\n \n );\n};\n\nexport default ModuloDinamico;\n","import { useState, useEffect } from 'react';\n\nexport function useDebounce(text, delay) {\n const [debouncedValue, setDebouncedValue] = useState(text);\n\n useEffect(() => {\n const time = setTimeout(() => {\n setDebouncedValue(text);\n }, delay);\n\n return () => {\n clearTimeout(time);\n };\n }, [delay, text]);\n\n return debouncedValue;\n}\n","import styled from 'styled-components';\nimport { Input } from '~/components';\n\nconst { Search } = Input;\n\nexport const Row = styled.div`\n display: flex;\n align-items: flex-end;\n justify-content: space-between;\n`;\n\nexport const SearchTool = styled(Search)`\n margin-bottom: 8px;\n width: 50%;\n`;\n","import styled from 'styled-components';\nimport { Tree } from '~/components';\n\nexport const TreeTransparente = styled(Tree)`\n &&.draggable-tree {\n background: transparent !important;\n }\n\n .ant-tree-list-scrollbar-show {\n display: initial !important;\n }\n`;\n\nexport const LinkArquivo = styled.a`\n font-style: italic;\n margin-left: 5px;\n`;\n","import React, {\n useState,\n useEffect,\n forwardRef,\n useImperativeHandle,\n} from 'react';\nimport { useSelector } from 'react-redux';\nimport { Link } from 'react-router-dom';\nimport { Tree, Tooltip, Typography, Icons } from '~/components';\nimport { fileManagerPaiDownload } from '~/services/FileManager/file-manager.service';\nimport { TreeTransparente, LinkArquivo } from './styles';\nimport { iconEnum } from '~/modules/Helper/iconEnum';\nimport { ChooseIconFile } from '~/modules/Helper/chooseIconFile';\nimport RemoveDiacritic from '../../../hooks/removeDiacritic';\n\nconst TreeViewModuloFixo = forwardRef(\n ({ treeView, visao, setSearchValue }, ref) => {\n const { TreeNode } = Tree;\n const { corTema } = useSelector(state => state.configuration);\n const [expandedKeys, setExpandedKeys] = useState([]);\n const [autoExpandParent, setAutoExpandParent] = useState(true);\n const [treeData, setTreeData] = useState(treeView);\n\n useEffect(() => {\n setSearchValue('');\n setTreeData(treeView);\n }, [treeView]);\n\n const loop = data =>\n data.map(item => {\n if (\n (item.children && item.children.length) ||\n item.PrimeiroNivel\n ) {\n return (\n \n \n {item.title}\n \n )\n :\n (<>\n \n \n {item.title}\n \n {item.ExibeDetalhes && (\n \n \n \n \n \n )}\n \n )\n }\n >\n {loop(item.children)}\n \n );\n }\n const fileExtension = item?.Link?.split('.', 2)[1].toLowerCase();\n if (item.Externo) {\n return (\n x.name === `file-${ChooseIconFile(fileExtension)}`\n )\n ?.value({ fontSize: '20px' })\n }\n title={\n <>\n \n \n fileManagerPaiDownload(item.Link)}\n role=\"link\"\n tabIndex=\"0\"\n aria-hidden=\"true\"\n >\n {item.title}\n - Baixar Arquivo\n \n \n \n \n }\n />\n );\n }\n return (\n \n fileManagerPaiDownload(item.Arquivo.Url)\n } />\n \n ) : (\n \n )\n }\n title={\n <>\n \n \n \n \n {item.title}\n \n \n \n \n \n }\n />\n );\n });\n\n const toggleExpandNode = key => {\n setExpandedKeys(prev => {\n const outArr = [...prev];\n if (outArr.includes(key)) {\n return outArr.filter(e => e !== key);\n } else {\n outArr.push(key);\n return outArr;\n }\n });\n setAutoExpandParent(false);\n };\n\n const onExpand = keys => {\n setExpandedKeys(keys);\n setAutoExpandParent(false);\n };\n\n useImperativeHandle(ref, () => ({\n onSearch(busca) {\n const searchWithoutAccents = RemoveDiacritic(busca);\n if (searchWithoutAccents) {\n const hasMatchWord = string => {\n const stringWithoutAccents = RemoveDiacritic(string);\n return stringWithoutAccents?.indexOf(searchWithoutAccents) !== -1;\n };\n const filterData = arr =>\n arr?.filter(\n item =>\n hasMatchWord(item.title) || filterData(item.children)?.length\n );\n const filteredData = filterData(treeView).map(n => {\n return {\n ...n,\n children: filterData(n.children),\n };\n });\n\n const expandedKeys = filteredData?.map(dataItem => dataItem.key);\n\n setTreeData(filteredData);\n setExpandedKeys(expandedKeys);\n setAutoExpandParent(true);\n } else {\n setSearchValue('');\n setTreeData(treeView);\n setExpandedKeys([]);\n setAutoExpandParent(false);\n }\n },\n onChange(e) {\n setSearchValue(e.target.value);\n if (!e.target.value) {\n setExpandedKeys([]);\n setTreeData(treeView);\n }\n },\n }));\n\n return (\n <>\n (\n toggleExpandNode(record.key)}\n style={{ display: 'inline-block', width: '100%', height: '100%' }}\n >\n {record.title}\n \n )}\n >\n {loop(treeData)}\n \n \n );\n }\n);\n\nexport default TreeViewModuloFixo;\n","import React, { createRef, useEffect, useState } from 'react';\nimport {\n InformacaoFilter,\n PageTitle,\n Card,\n ButtonGoBack,\n Exportacao,\n} from '~/components';\nimport { notification } from 'antd';\nimport { getUrlComDominio } from '~/modules/Helper/getUrl-helper';\nimport { fileManagerPaiDownload } from '~/services/FileManager/file-manager.service';\nimport * as S from './styles';\nimport TreeViewModuloFixo from '../components/treeViewModuloFixo.component';\nimport {\n getModuloFixoService,\n exportarVisao,\n} from '../services/moduloFixo.service';\n\nfunction ModuloFixo({ match, history }) {\n const [informacao, setInformacao] = useState({ __html: null });\n const [treeView, setTreeView] = useState([]);\n const [titulo, setTitulo] = useState(null);\n const [searchValue, setSearchValue] = useState('');\n const treeViewMethods = createRef({});\n const infoMethods = createRef({});\n\n const { modulo, visao } = match.params;\n\n useEffect(() => {\n async function getModuloFixo() {\n const response = await getModuloFixoService(modulo, visao);\n if (response && response.data) {\n setInformacao(response.data.Informacao);\n setTreeView(response.data.VisaoItens);\n setTitulo(response.data.Titulo);\n }\n }\n\n getModuloFixo();\n }, [modulo, visao]);\n\n function goBack() {\n history.push(`/`);\n }\n\n function onSearch(busca) {\n if (informacao?.Texto) infoMethods.current.filterElements(busca);\n if (treeView?.length > 0) treeViewMethods.current.onSearch(busca);\n }\n\n function onChange(e) {\n if (informacao?.Texto) infoMethods.current.onChangeInfo(e);\n if (treeView?.length > 0) treeViewMethods.current.onChange(e);\n }\n\n function exportar(tipoExportacao) {\n if (tipoExportacao === 'uri') {\n navigator.clipboard.writeText(window.location.href);\n notification.success({\n message: 'URI Copiada com Sucesso!',\n });\n } else {\n const dtoExportacao = {\n ChaveModulo: modulo,\n NomeVisao: visao,\n UrlExportacao: getUrlComDominio(),\n };\n\n exportarVisao(tipoExportacao, dtoExportacao).then(res => {\n fileManagerPaiDownload(res.data);\n });\n }\n }\n\n return (\n <>\n \n onSearch(busca)}\n onChange={e => onChange(e)}\n allowClear\n value={searchValue}\n />\n {informacao?.Texto && (\n <>\n \n \n )}\n {treeView?.length > 0 && (\n <>\n \n \n \n \n )}\n \n \n \n \n \n );\n}\n\nexport default ModuloFixo;\n","import api from '~/services/api';\n\nfunction getModuloFixoService(modulo, visao) {\n return api.get(`modulovisao/fixo/${modulo}/${visao}`);\n}\n\nasync function exportarVisao(tipoExportacao, data) {\n return api.post(`modulovisao/fixo/${tipoExportacao}`, data);\n}\n\nexport { getModuloFixoService, exportarVisao };\n","import api from '~/services/api';\n\nfunction getPeriodoDetalheVisaoAnaliticaService(\n exercicio,\n periodicidade,\n periodo\n) {\n let params = {};\n if (periodo) params.periodo = periodo;\n\n return api.get(\n `detalhevisaoanalitica/periodos/${exercicio}/${periodicidade}`,\n { params }\n );\n}\n\nfunction getDetalheVisaoAnaliticaService(detalheVisaoAnalitica) {\n return api.post('detalhevisaoanalitica/filter', detalheVisaoAnalitica);\n}\n\nfunction exportarDetalheVisao(tipoExportacao, data) {\n return api.post(`detalhevisaoanalitica/exportar/${tipoExportacao}`, data);\n}\n\nexport {\n getDetalheVisaoAnaliticaService,\n getPeriodoDetalheVisaoAnaliticaService,\n exportarDetalheVisao,\n};\n","import styled from 'styled-components';\nimport { Button } from '~/components';\n\nexport const NextPrevButton = styled.div`\n font-size: ${({ theme }) => `${20 + 2 * theme.zoomFonte}px`};\n border-radius: 3px;\n cursor: pointer;\n padding: 8px;\n :hover {\n background-color: #dedede;\n transition: 0.2s;\n }\n\n -webkit-touch-callout: none; /* iOS Safari */\n -webkit-user-select: none; /* Safari */\n -khtml-user-select: none; /* Konqueror HTML */\n -moz-user-select: none; /* Old versions of Firefox */\n -ms-user-select: none; /* Internet Explorer/Edge */\n user-select: none; /* Non-prefixed version, currently\n supported by Chrome, Edge, Opera and Firefox */\n`;\n\nexport const ButtonArquivoDigital = styled(Button)`\n font-size: ${({ theme }) => `${14 + 2 * theme.zoomFonte}px`};\n padding-left: 0px;\n word-wrap: anywhere;\n white-space: normal;\n text-align: left;\n`;\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { useMediaQuery } from 'react-responsive';\nimport { Col, Row, Icons, Typography, Divider } from '~/components';\nimport { NextPrevButton } from './style';\n\nfunction PeriodicidadeNavigation({\n previous,\n previousFunction,\n next,\n nextFunction,\n current,\n}) {\n const corTema = useSelector(state => state.configuration.corTema);\n const isMobile = useMediaQuery({ query: '(max-width: 900px)' });\n\n return (\n <>\n {isMobile ? (\n <>\n \n \n \n \n {` ${previous} `}\n \n \n\n \n \n {`${next} `}\n \n \n \n \n \n \n \n {`${current}`}\n \n \n \n \n ) : (\n <>\n \n \n \n \n {` ${previous} `}\n \n \n \n \n {`${current}`}\n \n \n \n \n {`${next} `}\n \n \n \n \n \n )}\n\n \n \n );\n}\n\nexport default PeriodicidadeNavigation;\n","export const TIPO_DETALHE = {\n CAMPO: 1,\n TOTAL: 2,\n CAMPO_TOTAL: 3,\n};\n","/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport { Row, Col, Typography, Card } from '~/components';\nimport { TIPO_DETALHE } from '~/modules/Helper/tipoDetalheAnalitica';\n\nfunction Tabelas({ detalheVisaoAnalitica }) {\n const CamposGrid = ({ coluna, fonte, fundo, index }) => {\n const gridStyle = {\n width: '100%',\n background: fundo,\n gridColumn: index === 0 ? 1 : 'unset',\n };\n\n const TextoValorBoolean = ({ valor }) => {\n return valor === true ? 'Sim' : 'Não';\n };\n\n const { Descricao, Valor } = coluna;\n\n return (\n \n
\n
\n \n {Descricao}:\n \n
\n
\n \n {typeof Valor === 'boolean' ? (\n \n ) : (\n Valor\n )}\n \n
\n
\n
\n );\n };\n\n const Grid = ({ tabela }) => {\n switch (tabela.Tipo) {\n case TIPO_DETALHE.CAMPO:\n return (\n \n \n \n {tabela.Grupo.Colunas.map((coluna, index) => (\n \n ))}\n \n \n \n );\n case TIPO_DETALHE.TOTAL:\n return (\n \n \n \n \n \n {tabela.Coluna.Descricao}:\n \n \n {tabela.Coluna.Valor}\n \n \n \n \n \n );\n case TIPO_DETALHE.CAMPO_TOTAL:\n return (\n <>\n \n \n \n {tabela.Grupo.Colunas.map((coluna, index) => (\n \n ))}\n \n \n \n {tabela.Coluna.Descricao}:\n \n\n \n {tabela.Coluna.Valor}\n \n \n \n \n \n );\n default:\n return <>;\n }\n };\n\n return (\n <>\n {detalheVisaoAnalitica.Dados.map((tabela, index) => (\n \n ))}\n \n );\n}\n\nexport default Tabelas;\n","import React from 'react';\nimport { Row, Col, Card, Typography } from '~/components';\nimport { ButtonArquivoDigital } from './style';\n\nimport { fileManagerPaiDownload } from '~/services/FileManager/file-manager.service';\nimport ButtonDownloadFileManager from '~/modules/Modulos/components/Grid/arquivos/ButtonDowloadFileManager';\nimport ButtonLinkAnexo from '~/modules/Modulos/components/Grid/arquivos/ButtonLinkAnexo';\n\nfunction listaAnexos({ anexos }) {\n return (\n \n \n Ações\n }\n >\n {anexos.length > 0\n ? anexos.map(arquivo => (\n \n \n {\n if (arquivo?.IsLinkAnexo) {\n window.open(arquivo.LinkAnexo, '_blank');\n } else {\n fileManagerPaiDownload(arquivo.UrlArquivoDigital);\n }\n }}\n type=\"link\"\n block\n >\n {arquivo.NomeArquivoDigital}\n \n \n \n {arquivo?.IsLinkAnexo ? (\n {\n window.open(arquivo.LinkAnexo, '_blank');\n }}\n />\n ) : (\n {\n fileManagerPaiDownload(arquivo.UrlArquivoDigital);\n }}\n />\n )}\n \n \n ))\n : 'Não há anexos disponíveis.'}\n \n \n \n );\n}\n\nexport default listaAnexos;\n","/* eslint-disable prefer-const */\n/* eslint-disable no-else-return */\nimport React, { useState, useEffect, useCallback } from 'react';\nimport { useSelector } from 'react-redux';\nimport { notification } from 'antd';\nimport { createBrowserHistory } from 'history';\nimport {\n Col,\n Row,\n Card,\n Typography,\n Exportacao,\n ButtonGoBack,\n} from '~/components';\nimport {\n getDetalheVisaoAnaliticaService,\n getPeriodoDetalheVisaoAnaliticaService,\n exportarDetalheVisao,\n} from '../services/detalheVisaoAnalitica.service';\nimport { useUrls } from '~/contexts/url.context';\n\nimport PeriodicidadeNavigation from '../components/periodicidadeNavigation.component';\nimport Tabela from '../components/Tabela.component';\nimport ListaAnexos from '../components/listaAnexos.component';\nimport { fileManagerPaiDownload } from '~/services/FileManager/file-manager.service';\nimport { UltimaAtualizacao } from '~/modules/Modulos/components/Grid/UltimaAtualizacao.component';\nimport { PARAMS_FILTERS_DETALHE } from '~/modules/Helper/searchParamsFilters';\nimport { getAndFormatSearchParams } from '~/modules/Helper/searchString-helper';\nimport { getUrlComDominio } from '~/modules/Helper/getUrl-helper';\nimport {\n obterConfiguracoes,\n obterConfiguracoesGerais,\n} from '~/modules/Modulos/services/moduloVisao.service';\n\nfunction DetalheVisaoAnalitica({ match, history }) {\n const [detalheVisaoAnalitica, setDetalheVisaoAnalitica] = useState({\n Titulo: undefined,\n Descricao: undefined,\n Dados: undefined,\n Anexos: [],\n });\n\n const { obterUrlPaginaAnterior } = useUrls();\n\n const [periodoAnterior, setPeriodoAnterior] = useState(null);\n const [periodoPosterior, setPeriodoPosterior] = useState(null);\n const [periodoAtual, setPeriodoAtual] = useState(null);\n const [exercicioAnterior, setExercicioAnterior] = useState(null);\n const [exercicioPosterior, setExercicioPosterior] = useState(null);\n const [exercicioAtual, setExercicioAtual] = useState(null);\n const [dataUltimaAtualizacao, setDataUltimaAtualizacao] = useState(null);\n const [filtroAnterior, setFiltroAnterior] = useState(null);\n\n const { modulo, visao } = match.params;\n\n const [exercicioFilter, setExercicioFilter] = useState(undefined);\n const [periodicidadeFilter, setPeriodicidadeFilter] = useState(undefined);\n\n // filtros da visão agrupamento\n const [\n colunaFiltroRedirecionaVisao,\n setColunaFiltroRedirecionaVisao,\n ] = useState(undefined);\n const [\n valorFiltroRedirecionaVisao,\n setValorFiltroRedirecionaVisao,\n ] = useState(undefined);\n const [\n tipoValorFiltroRedirecionaVisao,\n setTipoValorFiltroRedirecionaVisao,\n ] = useState(null);\n\n const [periodoFilter, setPeriodoFilter] = useState(undefined);\n const [chavesPeriodicidade, setChavesPeriodicidade] = useState([]);\n const [configuracao, setConfiguracao] = useState(null);\n const [pagina, setPagina] = useState(1);\n const [quantidadeRegistros, setQuantidadeRegistros] = useState(10);\n const [colunaOrdem, setColunaOrdem] = useState(null);\n\n const browserHistory = createBrowserHistory();\n\n const [queryParamsDefault, setQueryParamsDefault] = useState(\n PARAMS_FILTERS_DETALHE\n );\n\n const corTema = useSelector(state => state.configuration.corTema);\n\n async function obterDetalheVisao(detalheVisao) {\n try {\n const response = await getDetalheVisaoAnaliticaService(detalheVisao);\n setDetalheVisaoAnalitica(response.data);\n } catch (ex) {\n setDetalheVisaoAnalitica({ ...detalheVisaoAnalitica, Dados: [] });\n }\n }\n\n async function obterPeriodoDetalheVisaoAnalitica(\n exercicio,\n periodicidade,\n periodo\n ) {\n const responsePeriodo = await getPeriodoDetalheVisaoAnaliticaService(\n exercicio,\n periodicidade,\n periodo\n );\n\n if (responsePeriodo?.data?.PeriodoAnterior)\n setPeriodoAnterior(responsePeriodo.data.PeriodoAnterior);\n if (responsePeriodo?.data?.PeriodoAtual)\n setPeriodoAtual(responsePeriodo.data.PeriodoAtual);\n if (responsePeriodo?.data?.PeriodoPosterior)\n setPeriodoPosterior(responsePeriodo.data.PeriodoPosterior);\n if (responsePeriodo?.data?.ExercicioAnterior)\n setExercicioAnterior(responsePeriodo.data.ExercicioAnterior);\n if (responsePeriodo?.data?.ExercicioAtual)\n setExercicioAtual(responsePeriodo.data.ExercicioAtual);\n if (responsePeriodo?.data?.ExercicioPosterior)\n setExercicioPosterior(responsePeriodo.data.ExercicioPosterior);\n\n const detalheVisao = {\n ChaveModulo: modulo,\n Exercicio: exercicio,\n Periodicidade: periodicidade,\n Periodo: periodo,\n ChavesPeriodicidade: chavesPeriodicidade,\n };\n\n if (configuracao && configuracao.VisaoColunas) {\n const { VisaoColunas } = configuracao;\n const visaoColuna = VisaoColunas.find(x => x.Chave);\n if (visaoColuna) {\n const { TipoValor } = visaoColuna;\n if (TipoValor) {\n detalheVisao.TipoValor = TipoValor;\n }\n }\n }\n\n obterDetalheVisao(detalheVisao);\n\n let queryParamData = {\n chaveModulo: modulo,\n exercicio,\n periodicidade,\n periodo,\n };\n\n chavesPeriodicidade.forEach(item => {\n queryParamData[item.Campo] = item.Valor;\n });\n\n const searchParams = getAndFormatSearchParams(\n queryParamData,\n queryParamsDefault\n );\n\n browserHistory.replace(\n `/#/dinamico/${modulo}/${visao}/detalhevisao?${searchParams}`,\n history.location.state\n );\n }\n\n const getPeriodo = useCallback(\n async (exercicio, periodicidade, periodo) => {\n const [responsePeriodo, responseConfiguracao] = await Promise.all([\n getPeriodoDetalheVisaoAnaliticaService(\n exercicio,\n periodicidade,\n periodo\n ),\n obterConfiguracoes(modulo, visao),\n ]);\n\n if (responseConfiguracao.data) setConfiguracao(responseConfiguracao.data);\n if (responsePeriodo?.data?.PeriodoAnterior)\n setPeriodoAnterior(responsePeriodo.data.PeriodoAnterior);\n if (responsePeriodo?.data?.PeriodoAtual)\n setPeriodoAtual(responsePeriodo.data.PeriodoAtual);\n if (responsePeriodo?.data?.PeriodoPosterior)\n setPeriodoPosterior(responsePeriodo.data.PeriodoPosterior);\n if (responsePeriodo?.data?.ExercicioAnterior)\n setExercicioAnterior(responsePeriodo.data.ExercicioAnterior);\n if (responsePeriodo?.data?.ExercicioAtual)\n setExercicioAtual(responsePeriodo.data.ExercicioAtual);\n if (responsePeriodo?.data?.ExercicioPosterior)\n setExercicioPosterior(responsePeriodo.data.ExercicioPosterior);\n\n const params = new URLSearchParams(history.location.search);\n\n const ChavesPeriodicidade = responseConfiguracao.data.ChavesPeriodicidades.map(\n item => {\n const { TipoValor, FonteDados } = item;\n const Valor = params.get(FonteDados);\n\n return {\n Campo: FonteDados,\n Valor,\n TipoValor,\n };\n }\n );\n\n const campos = ChavesPeriodicidade.map(x => x.Campo);\n\n setQueryParamsDefault([...queryParamsDefault, ...campos]);\n\n setChavesPeriodicidade(ChavesPeriodicidade);\n\n const detalheVisao = {\n ChaveModulo: modulo,\n Exercicio: exercicio,\n Periodicidade: periodicidade,\n Periodo: periodo,\n ChavesPeriodicidade,\n };\n\n if (\n responseConfiguracao &&\n responseConfiguracao.data &&\n responseConfiguracao.data.VisaoColunas\n ) {\n const { VisaoColunas } = responseConfiguracao.data;\n const visaoColuna = VisaoColunas.find(x => x.Chave);\n if (visaoColuna) {\n const { TipoValor } = visaoColuna;\n if (TipoValor) {\n detalheVisao.TipoValor = TipoValor;\n }\n }\n }\n\n obterDetalheVisao(detalheVisao);\n },\n [modulo, visao]\n );\n\n async function obterDataUltimaAlteracao() {\n const response = await obterConfiguracoesGerais(modulo);\n\n if (response?.data?.DataUltimaSicronizacaoModulo)\n setDataUltimaAtualizacao(response.data.DataUltimaSicronizacaoModulo);\n }\n\n useEffect(() => {\n setPagina(history.location.state?.pagina);\n setQuantidadeRegistros(history.location.state?.quantidadeRegistros);\n setColunaFiltroRedirecionaVisao(\n history.location.state?.colunaFiltroRedirecionaVisao\n );\n setValorFiltroRedirecionaVisao(\n history.location.state?.valorFiltroRedirecionaVisao\n );\n setTipoValorFiltroRedirecionaVisao(\n history.location.state?.tipoValorFiltroRedirecionaVisao\n );\n\n setColunaOrdem({\n colunaOrdem: history.location.state?.colunaOrdem,\n tipoOrdem: history.location.state?.tipoOrdem,\n });\n setFiltroAnterior(history.location.state?.filtro);\n }, []);\n\n useEffect(() => {\n if (modulo) obterDataUltimaAlteracao();\n }, [modulo]);\n\n useEffect(() => {\n const params = new URLSearchParams(history.location.search);\n\n const exercicio = Number(params.get('exercicio'));\n const periodicidade = params.get('periodicidade')?.toUpperCase();\n const periodo = params.get('periodo')?.toUpperCase();\n\n setExercicioFilter(exercicio);\n setPeriodicidadeFilter(periodicidade);\n\n setPeriodoFilter(periodo);\n\n getPeriodo(exercicio, periodicidade, periodo);\n }, [getPeriodo, history.location.search, modulo, visao]);\n\n function obterAnterior() {\n if (periodoAnterior) {\n obterPeriodoDetalheVisaoAnalitica(\n periodoAnterior.Exercicio,\n periodicidadeFilter,\n periodoAnterior.Valor\n );\n } else {\n obterPeriodoDetalheVisaoAnalitica(\n exercicioAnterior,\n periodicidadeFilter,\n null\n );\n }\n }\n\n function obterProximo() {\n if (periodoPosterior) {\n obterPeriodoDetalheVisaoAnalitica(\n periodoPosterior.Exercicio,\n periodicidadeFilter,\n periodoPosterior.Valor\n );\n } else {\n obterPeriodoDetalheVisaoAnalitica(\n exercicioPosterior,\n periodicidadeFilter,\n null\n );\n }\n }\n\n function exportar(tipoExportacao) {\n let payload = {\n ChaveModulo: modulo,\n Exercicio: exercicioFilter,\n Periodicidade: periodicidadeFilter,\n Periodo: periodoAtual?.Valor,\n ChavesPeriodicidade: chavesPeriodicidade,\n UrlExportacao: getUrlComDominio(),\n };\n\n if (configuracao && configuracao.VisaoColunas) {\n const { VisaoColunas } = configuracao;\n const visaoColuna = VisaoColunas.find(x => x.Chave);\n if (visaoColuna) {\n const { TipoValor } = visaoColuna;\n payload = { ...payload, TipoValor };\n }\n }\n\n if (tipoExportacao === 'uri') {\n navigator.clipboard.writeText(window.location.href);\n notification.success({\n message: 'URI Copiada com Sucesso!',\n });\n } else {\n exportarDetalheVisao(tipoExportacao, payload).then(res => {\n fileManagerPaiDownload(res.data);\n });\n }\n }\n\n const tituloVisaoAnalitica = () => {\n if (periodoAtual)\n return `${periodoAtual.Descricao}/${periodoAtual.Exercicio}`;\n else if (exercicioAtual) return exercicioAtual;\n else return '';\n };\n\n const tituloVisaoAnaliticaPosterior = () => {\n if (periodoPosterior)\n return `${periodoPosterior.Descricao}/${periodoPosterior.Exercicio}`;\n else if (exercicioPosterior) return exercicioPosterior;\n else return '';\n };\n\n const tituloVisaoAnaliticaAnterior = () => {\n if (periodoAnterior)\n return `${periodoAnterior.Descricao}/${periodoAnterior.Exercicio}`;\n else if (exercicioAnterior) return exercicioAnterior;\n else return '';\n };\n\n function voltarPaginaAnterior() {\n const { urlBase, queryParam } = obterUrlPaginaAnterior();\n if (urlBase && queryParam) {\n history.push({ pathname: urlBase, search: queryParam });\n } else {\n history.push({\n pathname: `/dinamico/${modulo}/${visao}`,\n state: {\n pagina,\n periodicidade: periodicidadeFilter,\n exercicio: exercicioFilter,\n periodo: periodoFilter,\n quantidadeRegistros,\n valorFiltroRedirecionaVisao,\n colunaFiltroRedirecionaVisao,\n tipoValorFiltroRedirecionaVisao,\n colunaOrdem: colunaOrdem.colunaOrdem,\n tipoOrdem: colunaOrdem.tipoOrdem,\n filtro: filtroAnterior,\n },\n });\n }\n }\n\n return (\n <>\n \n \n {detalheVisaoAnalitica.Descricao}\n \n\n \n {detalheVisaoAnalitica.Titulo}\n \n\n {detalheVisaoAnalitica.Dados && detalheVisaoAnalitica.Dados.length > 0 ? (\n <>\n \n \n \n \n \n \n \n {dataUltimaAtualizacao && (\n \n )}\n \n \n \n \n \n \n \n \n \n ) : (\n detalheVisaoAnalitica.Dados &&\n detalheVisaoAnalitica.Dados.length === 0 && (\n \n Não há dados para este período.\n \n )\n )}\n\n \n \n \n \n );\n}\n\nexport default DetalheVisaoAnalitica;\n","export const TIPO_FILTRO = {\n TEXTO: 1,\n OPCOES: 2,\n};\n","import styled from 'styled-components';\nimport { Divider } from 'antd';\n\nexport const StyledDivider = styled(Divider)`\n &&.ant-divider-horizontal.ant-divider-with-text-left::before {\n width: 0px;\n }\n && .ant-divider-inner-text {\n padding: 0 1em 0 0.5em;\n }\n`;\n","import React, { useState, useEffect } from 'react';\nimport {\n Tooltip,\n Col,\n RangePickerComponent,\n FormV3 as Form,\n Input,\n InputNumber,\n Select,\n} from '~/components';\n\nimport { TIPO_COLUNA } from '~/modules/Helper/tipoColuna';\nimport { TIPO_FILTRO } from '~/modules/Helper/tipoFiltro';\nimport transformaDataParaAmericano from '../../../Helper/transformaDataParaAmericano-helper';\n\nimport * as S from './FiltrosAvancados.styled';\n\nfunction FiltrosAccordion({ filtros, form, paramsFiltros, handlePesquisa }) {\n const { getFieldDecorator, setFieldsValue } = form;\n const [filtrosTransformados, setFiltrosTransformados] = useState([]);\n\n function fazerPesquisaParams(){\n if (paramsFiltros.length > 0) {\n const objetoForm = {};\n\n paramsFiltros.forEach(element => {\n objetoForm[`${element.Campo}`] = {\n Campo: element.Campo,\n Valor: element.Valor,\n TipoValor: element.TipoValor,\n };\n\n setFieldsValue(objetoForm);\n });\n\n handlePesquisa();\n }\n }\n\n async function setValoresDoInputComoObjeto(coluna, event, isParam) {\n let valor = event;\n\n let dataFormatada;\n\n if (coluna.TipoValor === TIPO_COLUNA.DATA) {\n if (valor[0] !== '' && valor[1] !== '') {\n valor = transformaDataParaAmericano(valor);\n dataFormatada = `${valor[0]},${valor[1]}`;\n }\n }\n\n if (\n coluna.TipoFiltro === TIPO_FILTRO.TEXTO &&\n coluna.TipoValor !== TIPO_COLUNA.DATA &&\n !isParam\n ) {\n valor = valor.target.value;\n\n if (coluna.TipoValor === TIPO_COLUNA.DECIMAL || TIPO_COLUNA.INTEIRO) {\n valor = valor.replace(',', '.');\n }\n }\n\n const objetoForm = {};\n\n objetoForm[`${coluna.FonteDados}`] = {\n Campo: coluna.FonteDados,\n Valor: coluna.TipoValor === TIPO_COLUNA.DATA ? dataFormatada : valor,\n TipoValor: coluna.TipoValor,\n };\n\n if (coluna.TipoValor === TIPO_COLUNA.DATA && dataFormatada === undefined) {\n objetoForm[`${coluna.FonteDados}`] = undefined;\n }\n\n if (coluna.TipoValor === TIPO_FILTRO.OPCOES && valor === '') {\n objetoForm[`${coluna.FonteDados}`] = undefined;\n }\n\n await setFieldsValue(objetoForm);\n }\n\n function renderizaInputTexto(coluna) {\n return (\n \n {\n setValoresDoInputComoObjeto(coluna, event);\n }}\n >\n \n {getFieldDecorator(coluna.FonteDados)(\n \n )}\n \n \n \n );\n }\n\n function renderizaInputNumero(coluna) {\n return (\n \n {\n setValoresDoInputComoObjeto(coluna, event);\n }}\n >\n \n {getFieldDecorator(coluna.FonteDados)(\n \n )}\n \n \n \n );\n }\n\n function renderizaInputData(coluna) {\n return (\n \n \n \n {getFieldDecorator(coluna.FonteDados)(\n {\n setValoresDoInputComoObjeto(coluna, dateString);\n }}\n />\n )}\n \n \n \n );\n }\n\n function renderizaSelect(coluna) {\n return (\n \n \n \n {getFieldDecorator(coluna.FonteDados)(\n {\n setValoresDoInputComoObjeto(coluna, value);\n }}\n placeholder={coluna.NomePadrao}\n >\n Nenhum Selecionado\n {coluna.ColunaValores?.map(valoresSelect => (\n \n {valoresSelect.Valor}\n \n ))}\n \n )}\n \n \n \n );\n }\n\n function renderizaSelectBooleano(coluna) {\n return (\n \n \n \n {getFieldDecorator(coluna.FonteDados)(\n {\n setValoresDoInputComoObjeto(coluna, value);\n }}\n placeholder={coluna.NomePadrao}\n >\n Nenhum Selecionado\n Sim\n Não\n \n )}\n \n \n \n );\n }\n\n function transformaColunaEmInput(filtrosModulo) {\n setFiltrosTransformados([]);\n filtrosModulo.Grupos.forEach(grupo => {\n setFiltrosTransformados(arrayFiltros => [\n ...arrayFiltros,\n \n {grupo.Nome}\n ,\n ]);\n\n grupo.Colunas.forEach(coluna => {\n if (\n coluna.TipoFiltro === TIPO_FILTRO.TEXTO &&\n coluna.TipoValor !== TIPO_COLUNA.DATA &&\n coluna.TipoValor !== TIPO_COLUNA.INTEIRO &&\n coluna.TipoValor !== TIPO_COLUNA.DECIMAL\n ) {\n setFiltrosTransformados(arrayFiltros => [\n ...arrayFiltros,\n renderizaInputTexto(coluna),\n ]);\n } else if (\n (coluna.TipoFiltro === TIPO_FILTRO.TEXTO &&\n coluna.TipoValor === TIPO_COLUNA.INTEIRO) ||\n coluna.TipoValor === TIPO_COLUNA.DECIMAL\n ) {\n setFiltrosTransformados(arrayFiltros => [\n ...arrayFiltros,\n renderizaInputNumero(coluna),\n ]);\n }\n\n if (\n coluna.TipoFiltro === TIPO_FILTRO.TEXTO &&\n coluna.TipoValor === TIPO_COLUNA.DATA\n ) {\n setFiltrosTransformados(arrayFiltros => [\n ...arrayFiltros,\n renderizaInputData(coluna),\n ]);\n }\n\n if (\n coluna.TipoFiltro === TIPO_FILTRO.OPCOES &&\n coluna.TipoValor === TIPO_COLUNA.BOOLEANO\n ) {\n setFiltrosTransformados(arrayFiltros => [\n ...arrayFiltros,\n renderizaSelectBooleano(coluna),\n ]);\n } else if (coluna.TipoFiltro === TIPO_FILTRO.OPCOES) {\n setFiltrosTransformados(arrayFiltros => [\n ...arrayFiltros,\n renderizaSelect(coluna),\n ]);\n }\n });\n });\n }\n\n useEffect(() => {\n fazerPesquisaParams();\n }, [paramsFiltros]);\n\n useEffect(() => {\n if (filtros) transformaColunaEmInput(filtros);\n }, [filtros, paramsFiltros]);\n\n return <>{filtrosTransformados};\n}\n\nexport default FiltrosAccordion;\n","export default function transformaDataParaAmericano(datas) {\n const dataFormatada = [];\n\n datas.forEach((data, index) => {\n const dataAux = datas[index].split('/');\n dataFormatada.push(`${dataAux[2]}-${dataAux[1]}-${dataAux[0]}`);\n });\n\n return dataFormatada;\n}","import React, { useState, useEffect } from 'react';\nimport { useSelector } from 'react-redux';\nimport { Tag, Col, Row, Button, Icons, Tooltip } from '~/components';\nimport { TIPO_COLUNA } from '~/modules/Helper/tipoColuna';\n\nfunction ShowFiltros({\n filtros,\n setFiltros,\n form,\n removeTodosOsFiltros,\n colunasFiltro,\n}) {\n const { corTema } = useSelector(state => state.configuration);\n const [tags, setTags] = useState(null);\n\n function removeFiltro(event, campo) {\n event.preventDefault();\n\n const novosFiltros = filtros.filter(filtro => {\n return filtro.Campo !== campo;\n });\n\n if (novosFiltros.length === 0) removeTodosOsFiltros();\n else setFiltros(novosFiltros);\n\n form.resetFields([campo]);\n }\n\n function transformaFiltrosEmTags() {\n const arrayTags = [];\n\n filtros.forEach(filtro => {\n let nomePadrao;\n\n colunasFiltro.Grupos.forEach(grupo => {\n grupo.Colunas.forEach(coluna => {\n if (coluna.FonteDados === filtro.Campo)\n nomePadrao = coluna.NomePadrao;\n });\n });\n\n let valor = `${filtro.Valor}`;\n\n if (filtro.TipoValor === TIPO_COLUNA.DECIMAL) {\n const pos = valor.lastIndexOf('.');\n valor = `${valor.substring(0, pos)},${valor.substring(pos + 1)}`;\n }\n\n if (filtro.TipoValor === TIPO_COLUNA.DATA) {\n let aux = filtro.Valor.replace(',', '-');\n aux = aux.split('-');\n valor = `De ${aux[2]}/${aux[1]}/${aux[0]} até ${aux[5]}/${aux[4]}/${aux[3]}`;\n }\n\n arrayTags.push(\n \n {nomePadrao}:\n removeFiltro(event, filtro.Campo)}\n color={corTema}\n >\n {valor}\n \n \n );\n });\n\n setTags(arrayTags);\n }\n\n useEffect(() => {\n if (filtros.length > 0) transformaFiltrosEmTags();\n else setTags([]);\n }, [filtros]);\n\n return (\n <>\n {tags && tags.length > 0 ? (\n <>\n \n Filtros Aplicados:\n {tags}\n \n \n \n removeTodosOsFiltros()}\n >\n Limpar\n Filtros\n \n \n \n \n ) : (\n <>\n )}\n \n );\n}\n\nexport default ShowFiltros;\n","import React, { useState, useEffect, useCallback, useMemo } from 'react';\nimport { createBrowserHistory } from 'history';\nimport { notification } from 'antd';\nimport FiltrosAvancados from '../components/FiltrosAvancados/FiltrosAvancados.component';\nimport ShowFiltros from '../components/ShowFiltros/ShowFiltros.component';\nimport TableDinamic from '../../Modulos/components/Grid/TableDinamic.component';\nimport {\n getColunasFiltro,\n obterDadosFiltroAvancado,\n} from '../services/buscaAvancada.service';\nimport * as ModuloVisaoService from '../../Modulos/services/moduloVisao.service';\n\nimport {\n obterConfiguracoes,\n obterConfiguracoesGerais,\n} from '../../Modulos/services/moduloVisao.service';\nimport { PARAMS_FILTERS_GRID_BUSCA_AVANCADA } from '~/modules/Helper/searchParamsFilters';\nimport { NUMERO_QUANTIDADE_REGISTROS } from '~/modules/Helper/numeroQuantidadeRegistros';\nimport { getAndFormatSearchParamsBuscaAvancada } from '~/modules/Helper/searchString-helper';\nimport { parseToQueryString } from '~/modules/Helper/querystring-helper';\nimport {\n Row,\n Col,\n Card,\n PageTitle,\n FormV3 as Form,\n Button,\n ButtonGoBack,\n} from '~/components';\nimport { useUrls } from '~/contexts/url.context';\nimport { TIPO_VISAO } from '~/modules/Helper/tipo-visao';\nimport { TIPO_COLUNA } from '~/modules/Helper/tipoColuna';\nimport Totalizadores from '../../Modulos/components/Totalizadores/Totalizadores.component';\n\nfunction BuscaAvancada({ match, history, form }) {\n const { empilhaUrl, obterUrlPaginaAnterior } = useUrls();\n const [colunasFiltro, setColunasFiltro] = useState();\n const [configuracoesVisao, setConfiguracoesVisao] = useState(null);\n const [filtros, setFiltros] = useState([]);\n const [moduloVisao, setModuloVisao] = useState(null);\n\n const [listaColunaOrdem, setListaColunaOrdem] = useState([]);\n const [quantidadeRegistros, setQuantidadeRegistros] = useState(null);\n const [pagina, setPagina] = useState(null);\n const [urlVisaoAnalitica, setUrlVisaoAnalitica] = useState(null);\n const [urlVisaoAgrupamento, setUrlVisaoAgrupamento] = useState(null);\n const [dataUltimaAtualizacao, setDataUltimaAtualizacao] = useState(null);\n const [possuiArquivoDigital, setPossuiArquivoDigital] = useState(false);\n const [exibirArquivosForm, setExibirArquivosForm] = useState(false);\n const [\n filtroPesquisaArquivosDigitais,\n setFiltroPesquisaArquivosDigitais,\n ] = useState(null);\n const [FiltroHabilitado, setFiltroHabilitado] = useState(null);\n const [chavesPeriodicidade, setChavesPeriodicidade] = useState([]);\n\n const { modulo, visao } = match.params;\n\n const browserHistory = createBrowserHistory();\n\n const routeParams = new URLSearchParams(history.location.search);\n\n const arrayFonteDados = [];\n\n const [valoresParamsFiltros, setValoresParamsFiltros] = useState([]);\n const [totalizadores, setTotalizadores] = useState([]);\n\n const paginacaoGridParam = Number(routeParams.get('pagina'));\n const quantidadeRegistrosParam = routeParams.get('quantidaderegistros');\n const listaColunaOrdemParam = JSON.parse(routeParams.get('listacolunaordem'));\n\n function setSearchParams() {\n setPagina(paginacaoGridParam || 1);\n setQuantidadeRegistros(\n NUMERO_QUANTIDADE_REGISTROS.includes(quantidadeRegistrosParam)\n ? quantidadeRegistrosParam\n : '10'\n );\n if (listaColunaOrdemParam?.length)\n setListaColunaOrdem(listaColunaOrdemParam);\n }\n\n function voltarPaginaAnterior() {\n const { urlBase, queryParam } = obterUrlPaginaAnterior();\n\n if (urlBase && queryParam) {\n history.push({ pathname: urlBase, search: queryParam });\n } else {\n history.push(`/`);\n }\n }\n\n function handleTableChange(pagination, filters, sorter) {\n if (!Array.isArray(sorter))\n return setListaColunaOrdem([\n {\n ColunaOrdem: sorter.field,\n TipoOrdem: sorter.order,\n Ordem: 1,\n },\n ]);\n const maxOrdem = Math.max(...listaColunaOrdem?.map(item => item.Ordem));\n\n const novaListaOrdenacaoColuna = sorter?.map((s, index) => {\n const itemOrdenacao = listaColunaOrdem.find(\n (ordenacao, idx) =>\n s.columnKey === ordenacao.ColunaOrdem && index === idx\n );\n if (itemOrdenacao) {\n return {\n ...itemOrdenacao,\n TipoOrdem: s.order,\n };\n }\n return {\n ColunaOrdem: s.field,\n TipoOrdem: s.order,\n Ordem: maxOrdem ? maxOrdem + 1 : 1,\n };\n });\n\n setListaColunaOrdem(novaListaOrdenacaoColuna);\n }\n\n const obterConfiguracoesVisao = useCallback(async () => {\n const response = await obterConfiguracoes(modulo, visao);\n if (response?.data) setConfiguracoesVisao(response.data);\n }, [modulo, visao]);\n\n function getFonteDadosColunas() {\n if (colunasFiltro?.Grupos?.length > 0) {\n colunasFiltro.Grupos.forEach(grupo => {\n grupo.Colunas.forEach(coluna => {\n arrayFonteDados.push(coluna.FonteDados);\n });\n });\n }\n }\n\n const obterExerciciosEVisaoAnalitica = useCallback(async () => {\n const responseConfiguracoesGerais = await obterConfiguracoesGerais(modulo);\n\n if (responseConfiguracoesGerais?.data) {\n const {\n NomeVisaoAnalitica,\n NomeVisaoAgrupamento,\n PossuiArquivoDigital,\n DataUltimaSicronizacaoModulo,\n FiltroHabilitado,\n } = responseConfiguracoesGerais?.data;\n\n if (NomeVisaoAnalitica) setUrlVisaoAnalitica(NomeVisaoAnalitica);\n\n if (NomeVisaoAgrupamento) setUrlVisaoAgrupamento(NomeVisaoAgrupamento);\n\n if (DataUltimaSicronizacaoModulo)\n setDataUltimaAtualizacao(DataUltimaSicronizacaoModulo);\n\n if (FiltroHabilitado) setFiltroHabilitado(FiltroHabilitado);\n\n if (PossuiArquivoDigital !== null && PossuiArquivoDigital !== undefined)\n setPossuiArquivoDigital(PossuiArquivoDigital);\n }\n }, [modulo]);\n\n function obterChavesPeriocidadeDaConfiguracao() {\n const colunasPeriodicidade = configuracoesVisao.ChavesPeriodicidades;\n\n setChavesPeriodicidade(arrayAnterior => [\n ...arrayAnterior,\n ...colunasPeriodicidade,\n ]);\n }\n\n function obterValoresChavesPeriodicidadePorLinha(linhaGrid) {\n const valores = chavesPeriodicidade.map(colunaGrid => ({\n campo: colunaGrid.FonteDados,\n valor: linhaGrid[colunaGrid.FonteDados],\n tipo: colunaGrid.TipoValor,\n }));\n return valores;\n }\n\n const obterColunaLink = useCallback(() => {\n if (!(configuracoesVisao && configuracoesVisao.VisaoColunas)) return null;\n\n return configuracoesVisao.VisaoColunas.find(x => x.ColunaLink);\n }, [configuracoesVisao]);\n\n const exibirAnexos = useCallback(row => {\n const valoresChavesPeriodicidade = obterValoresChavesPeriodicidadePorLinha(\n row\n );\n\n const chavePesquisa = {\n ChaveModulo: modulo,\n Exercicio: row.Exercicio,\n Periodicidade: 'MENSAL',\n Periodo: row.Mes,\n ChavesPeriodicidade: valoresChavesPeriodicidade.map(item => ({\n Campo: item.campo,\n Valor: item.valor,\n TipoValor: item.tipo,\n })),\n };\n\n setFiltroPesquisaArquivosDigitais(chavePesquisa);\n setExibirArquivosForm(true);\n });\n\n function redirecionarDetalheVisaoAnalitica(\n valoresChavesPeriodicidade,\n exercicio,\n mes\n ) {\n const colunasPeriodicidadeCampoValor = {};\n\n valoresChavesPeriodicidade.forEach(item => {\n colunasPeriodicidadeCampoValor[item.campo] = item.valor;\n });\n\n const data = {\n exercicio,\n periodicidade: 'MENSAL',\n periodo: mes,\n\n ...colunasPeriodicidadeCampoValor,\n };\n\n const queryString = parseToQueryString(data);\n\n empilhaUrl(window.location.hash.split('#')[1]);\n\n history.push({\n pathname: `detalhevisao`,\n state: {\n pagina,\n quantidadeRegistros,\n listaColunaOrdem: listaColunaOrdem,\n },\n search: queryString,\n });\n }\n\n const buscaDadosGrid = useCallback(() => {\n if (!configuracoesVisao) {\n return;\n }\n\n const data = {\n ChaveModulo: modulo,\n NomeVisao: visao,\n Filtros: filtros,\n Periodicidade: null,\n Periodo: null,\n Exercicio: null,\n FiltroRedirecionaVisao: null,\n Pagina: pagina,\n QuantidadeRegistros: quantidadeRegistros,\n Ordenacao: listaColunaOrdem,\n };\n\n obterDadosFiltroAvancado(data)\n .then(res => {\n setModuloVisao(res.data);\n return null;\n })\n .catch(() => {\n setModuloVisao({\n QuantidadePaginas: 0,\n QuantidadeRegistros: 0,\n Valores: [],\n });\n });\n\n const dataQueryString = {\n filtros,\n pagina,\n quantidaderegistros: quantidadeRegistros,\n listacolunaordem: listaColunaOrdem\n ? JSON.stringify(listaColunaOrdem)\n : null,\n };\n\n const searchParams = getAndFormatSearchParamsBuscaAvancada(\n dataQueryString,\n PARAMS_FILTERS_GRID_BUSCA_AVANCADA\n );\n\n browserHistory.replace(\n `/#/dinamico/${modulo}/${visao}/busca?${searchParams}`,\n history.location.state\n );\n }, [\n modulo,\n pagina,\n quantidadeRegistros,\n visao,\n listaColunaOrdem,\n configuracoesVisao,\n filtros,\n ]);\n\n async function getColunas() {\n const response = await getColunasFiltro(modulo);\n setColunasFiltro(response);\n }\n\n function getParamsUrlFonteDadosColunas(array) {\n const arrayAuxiliar = [];\n\n array.forEach(fonteDados => {\n let valorParam = routeParams.get(`${fonteDados}`);\n\n if (valorParam !== null) {\n valorParam = valorParam.split(',');\n\n const objetoFiltro = {\n Campo: fonteDados,\n Valor:\n valorParam[valorParam.length - 1] === '5'\n ? `${valorParam[0]},${valorParam[1]}`\n : valorParam[0],\n TipoValor: valorParam[valorParam.length - 1],\n };\n\n arrayAuxiliar.push(objetoFiltro);\n }\n });\n\n setValoresParamsFiltros(arrayAuxiliar);\n }\n\n function transformaFormEmObjetoRequisicao(valores) {\n const chavesFiltro = Object.keys(valores);\n\n const novoFiltro = [];\n\n function montaNovoFiltro(filtro, isBool) {\n novoFiltro.push({\n Campo: valores[`${filtro}`].Campo,\n // eslint-disable-next-line no-nested-ternary\n Valor: isBool\n ? valores[`${filtro}`].Valor === 1\n ? 'Sim'\n : 'Não'\n : valores[`${filtro}`].Valor,\n TipoValor: valores[`${filtro}`].TipoValor,\n });\n }\n\n chavesFiltro.forEach(filtro => {\n if (\n valores[`${filtro}`] !== undefined &&\n valores[`${filtro}`].TipoValor !== TIPO_COLUNA.BOOLEANO\n ) {\n if (valores[`${filtro}`].Valor.trim() !== '') {\n montaNovoFiltro(filtro);\n }\n } else if (valores[`${filtro}`] !== undefined) {\n if (valores[`${filtro}`].Valor !== '') {\n montaNovoFiltro(filtro, true);\n }\n }\n });\n\n return novoFiltro;\n }\n\n function handlePesquisa() {\n form.validateFields(async function _(err, values) {\n if (!err) {\n const filtrosRequisicao = transformaFormEmObjetoRequisicao(values);\n\n if (filtrosRequisicao.length > 0) {\n setFiltros(filtrosRequisicao);\n } else {\n notification.error({\n message: 'Preencha ao menos um filtro para continuar',\n });\n }\n }\n });\n }\n\n function handleSubmit(event) {\n event.preventDefault();\n handlePesquisa();\n }\n\n function removeTodosOsFiltros() {\n setFiltros([]);\n setValoresParamsFiltros([]);\n setTotalizadores([]);\n setPagina(1);\n setQuantidadeRegistros('10');\n setListaColunaOrdem([]);\n\n browserHistory.replace(\n `/#/dinamico/${modulo}/${visao}/busca`,\n history.location.state\n );\n }\n\n async function obterTotalizadores() {\n const data = {\n ChaveModulo: modulo,\n NomeVisao: visao,\n Filtros: filtros,\n Periodicidade: 'MENSAL',\n BuscaAvancada: true,\n };\n\n const ColunasTotalizadoras = await ModuloVisaoService.obterTotalizadores(\n data\n );\n\n setTotalizadores(ColunasTotalizadoras.data);\n }\n\n const Grid = useMemo(() => {\n return configuracoesVisao?.VisaoColunas &&\n moduloVisao?.Valores &&\n filtros.length > 0 ? (\n \n ) : (\n <>\n );\n }, [\n listaColunaOrdem,\n configuracoesVisao,\n possuiArquivoDigital,\n filtros,\n modulo,\n moduloVisao,\n pagina,\n quantidadeRegistros,\n urlVisaoAnalitica,\n urlVisaoAgrupamento,\n visao,\n filtroPesquisaArquivosDigitais,\n exibirArquivosForm,\n exibirAnexos,\n dataUltimaAtualizacao,\n ]);\n\n useEffect(() => {\n if (\n FiltroHabilitado === false ||\n (configuracoesVisao && configuracoesVisao?.Tipo !== TIPO_VISAO.ANALITICO)\n )\n history.push('/notfound');\n }, [FiltroHabilitado, configuracoesVisao]);\n\n useEffect(() => {\n getColunas();\n obterConfiguracoesVisao();\n obterExerciciosEVisaoAnalitica();\n setSearchParams();\n }, [obterConfiguracoesVisao, obterExerciciosEVisaoAnalitica]);\n\n useEffect(() => {\n getFonteDadosColunas();\n getParamsUrlFonteDadosColunas(arrayFonteDados);\n }, [colunasFiltro]);\n\n useEffect(() => {\n if (configuracoesVisao) obterChavesPeriocidadeDaConfiguracao();\n }, [configuracoesVisao]);\n\n useEffect(() => {\n if (filtros.length > 0) {\n buscaDadosGrid();\n obterTotalizadores();\n }\n }, [buscaDadosGrid]);\n\n return (\n <>\n \n {filtros.length === 0 ? (\n \n
\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n Filtrar\n \n \n \n \n
\n
\n ) : (\n <>\n )}\n\n {totalizadores?.length > 0 && (\n \n )}\n\n \n\n {Grid}\n\n {filtros.length > 0 ? (\n \n \n \n ) : (\n <>\n )}\n \n );\n}\n\nexport default Form.create({\n name: 'FormBuscaAvancada',\n})(BuscaAvancada);\n","import React, { useState, useEffect } from 'react';\nimport { useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport { getItemVisaoService } from '../services/visaoItem.service';\nimport {\n Informacao,\n Typography,\n Icons,\n Row,\n Col,\n ButtonGoBack,\n Card,\n Button,\n Tooltip,\n} from '~/components';\nimport { iconEnum } from '~/modules/Helper/iconEnum';\nimport { ChooseIconFile } from '~/modules/Helper/chooseIconFile';\nimport { fileManagerPaiDownload } from '~/services/FileManager/file-manager.service';\n\nfunction VisaoItem({ match }) {\n const history = useHistory();\n const [visaoItem, setVisaoItem] = useState(null);\n\n const { corTema } = useSelector(state => state.configuration);\n\n useEffect(() => {\n async function getItemVisao() {\n const { modulo, visao, itemVisao } = match.params;\n const response = await getItemVisaoService(modulo, visao, itemVisao);\n\n if (response?.data) setVisaoItem(response.data);\n }\n\n getItemVisao();\n }, [match.params]);\n\n function goBack() {\n history.goBack();\n }\n\n return (\n <>\n {visaoItem?.Titulo}\n \n {visaoItem?.NomeArquivo && (\n \n \n fileManagerPaiDownload(visaoItem?.UrlArquivo)}>\n \n \n {iconEnum\n .find(\n x =>\n x.name ===\n `file-${ChooseIconFile(\n visaoItem?.NomeArquivo?.split('.', 2)[1].toLowerCase()\n )}`\n )\n ?.value({ fontSize: '20px' })}\n \n \n \n \n {visaoItem?.NomeArquivo}\n \n \n \n }\n />\n \n \n \n \n )}\n \n \n \n \n );\n}\n\nexport default VisaoItem;\n","import api from '~/services/api';\n\nexport function getItemVisaoService(chaveModulo, uriVisao, idVisaoItemDetalhe) {\n return api.get(\n `ModuloVisaoItemDetalhe/${chaveModulo}/${uriVisao}/${parseInt(\n idVisaoItemDetalhe,\n 10\n )}`\n );\n}\n","import React, { useState, useRef } from 'react';\nimport { useSelector } from 'react-redux';\nimport ReCaptcha from '~/components/ReCaptcha/reCacptcha.component';\n\nimport {\n Tooltip,\n Row,\n Col,\n Card,\n PageTitle,\n FormV3 as Form,\n Input,\n Button,\n Notification,\n Map,\n} from '~/components';\nimport { insertFaleConoscoService } from '../services/faleconosco.service';\n\nfunction FaleConoscoForm({ form }) {\n const { endereco, bairro, cidade, corFonte } = useSelector(\n state => state.configuration\n );\n const { getFieldDecorator } = form;\n const [captcha, SetCaptcha] = useState(null);\n const recaptchaInputRef = useRef({});\n\n function handleOnCaptchaChange(value) {\n SetCaptcha(value);\n }\n\n function resetForm() {\n form.resetFields();\n SetCaptcha(null);\n window.grecaptcha.reset();\n }\n\n function handleSubmit(event) {\n event.preventDefault();\n\n form.validateFields(async function _(err, values) {\n if (!err) {\n const { Nome, Email, Assunto, Mensagem } = values;\n\n const faleConosco = {\n Nome,\n Email,\n Assunto,\n Mensagem,\n captcha,\n };\n await insertFaleConoscoService(faleConosco)\n .then(x => {\n Notification.showSuccess('Mensagem enviada com sucesso');\n resetForm();\n })\n .catch(res => Notification.showError(res.response.data));\n }\n });\n }\n\n return (\n <>\n \n \n \n \n
\n \n \n \n \n {getFieldDecorator('Nome', {\n rules: [\n {\n required: true,\n message: 'Campo obrigatório.',\n },\n ],\n })(\n \n )}\n \n \n \n \n \n \n \n \n {getFieldDecorator('Email', {\n rules: [\n {\n type: 'email',\n message: 'Email inválido',\n },\n {\n required: true,\n message: 'Campo obrigatório.',\n },\n ],\n })(\n \n )}\n \n \n \n \n \n \n \n \n {getFieldDecorator('Assunto', {\n rules: [\n {\n required: true,\n message: 'Campo obrigatório.',\n },\n ],\n })(\n \n )}\n \n \n \n \n \n \n \n \n {getFieldDecorator('Mensagem', {\n rules: [\n {\n required: true,\n message: 'Campo obrigatório.',\n },\n {\n min: 10,\n message:\n 'O campo Mensagem deve ter no mínimo 10 caracteres',\n },\n ],\n })(\n \n )}\n \n \n \n \n\n \n \n \n \n \n \n Enviar\n \n \n \n \n \n \n \n \n
\n
\n \n );\n}\nexport default Form.create({\n name: 'FaleConosco',\n})(FaleConoscoForm);\n","import api from '~/services/api';\n\nexport function insertFaleConoscoService(data) {\n return api.post('/faleconosco', data);\n}","import React, { useEffect } from 'react';\nimport * as ModuloService from '../../../services/modulos.service';\nimport { CHAVES_MODULO } from '../../Helper/chave-modulo-constants';\nimport FaleConoscoForm from '../components/faleConosco.form.component';\n\nfunction FaleConosco() {\n useEffect(() => {\n ModuloService.verificaModuloHabilitado(CHAVES_MODULO.FALE_CONOSCO);\n }, []);\n\n return ;\n}\n\nexport default FaleConosco;\n","import styled from 'styled-components';\nimport { Card } from '~/components';\n\nexport const CardWithTitleStyled = styled(Card)`\n .ant-card-head {\n font-weight: 700;\n }\n\n .ant-card-body {\n padding-right: 24px;\n padding-left: 24px;\n padding-top: 16px;\n padding-bottom: 16px;\n }\n`;\n\nexport const InfosContainer = styled.div`\n .info-autenticidade {\n font-weight: 700;\n margin-right: 10px;\n }\n\n .ant-tag-error {\n background: #fff2f0 !important;\n }\n`;\n\nexport const SubInfosContainer = styled.div`\n margin-left: 15px;\n`;\n\nexport const ContainerAviso = styled.div`\n margin-top: 12px;\n\n p {\n margin-bottom: 0px;\n }\n\n .anticon {\n margin-right: 10px;\n }\n\n div.ant-typography {\n margin-bottom: 0px;\n }\n\n div:nth-child(2) {\n margin-left: 25px;\n margin-bottom: 0px;\n }\n\n div:nth-child(2) div {\n padding: 0px;\n }\n`;\n","export const STATUS_AUTENTICIDADE = {\n DENTRO_PRAZO: 1,\n FORA_PRAZO: 2,\n};\n","import React from 'react';\n\nimport {\n Tooltip,\n Row,\n Col,\n Button,\n Informacao,\n Icons,\n Tag,\n Typography,\n Card,\n} from '~/components';\n\nimport * as S from './autenticidadeValidacao.styled';\n\nimport { iconEnum } from '~/modules/Helper/iconEnum';\nimport { ChooseIconFile } from '~/modules/Helper/chooseIconFile';\n\nimport { fileManagerPaiDownload } from '~/services/FileManager/file-manager.service';\nimport { STATUS_AUTENTICIDADE } from '~/modules/Helper/statusAutenticidade';\n\nfunction AutenticidadeValidacao({ dadosValidacao, aviso }) {\n function renderTagFromStatusAutenticidade() {\n if (dadosValidacao?.Status === STATUS_AUTENTICIDADE.DENTRO_PRAZO)\n return (\n \n Documento dentro do Prazo de Validade\n \n );\n if (dadosValidacao?.Status === STATUS_AUTENTICIDADE.FORA_PRAZO)\n return (\n \n Documento com Prazo Vencido\n \n );\n\n return null;\n }\n\n return (\n <>\n \n \n \n Status:\n {renderTagFromStatusAutenticidade()}\n \n \n Informações do Documento\n \n \n \n Nome:\n {dadosValidacao?.NomeArquivo}\n \n \n Data/Hora:\n {dadosValidacao?.DataHoraExportacao}\n \n \n Válido até:\n {dadosValidacao?.DataHoraValidade}\n \n \n \n {aviso && (\n \n }\n />\n \n )}\n \n\n \n \n \n \n {dadosValidacao?.TituloRelatorio}\n \n \n \n \n window.open(dadosValidacao?.UrlExportacao, '_blank')\n }\n >\n \n \n \n \n \n \n\n {dadosValidacao.Status === STATUS_AUTENTICIDADE.DENTRO_PRAZO && (\n \n \n \n \n {iconEnum\n .find(\n x =>\n x.name ===\n `file-${ChooseIconFile(\n dadosValidacao?.NomeArquivo?.split(\n '.',\n 2\n )[1].toLowerCase()\n )}`\n )\n ?.value({ fontSize: '20px' })}\n \n {dadosValidacao?.NomeArquivo}\n \n \n \n \n fileManagerPaiDownload(dadosValidacao?.NomeArquivo)\n }\n >\n \n \n \n \n \n \n )}\n \n );\n}\n\nexport default AutenticidadeValidacao;\n","import styled from 'styled-components';\n\nexport const ContainerInformacao = styled.div`\n div.ant-typography {\n margin-bottom: 0px;\n }\n\n div:nth-child(2) div {\n padding: 0px;\n }\n`;\n","import React, { useState, useRef, useEffect } from 'react';\nimport ReCaptcha from '~/components/ReCaptcha/reCacptcha.component';\n\nimport {\n Tooltip,\n Row,\n Col,\n Card,\n PageTitle,\n FormV3 as Form,\n Input,\n Button,\n Notification,\n Informacao,\n ButtonGoBack,\n} from '~/components';\nimport {\n obterAutenticidade,\n obterConfiguracoes,\n} from '../services/autenticidade.service';\nimport AutenticidadeValidacao from './autenticidadeValidacao.component';\n\nimport * as S from './autenticidade.styled';\n\nfunction AutenticidadeForm({ form }) {\n const { getFieldDecorator } = form;\n const [captcha, SetCaptcha] = useState(null);\n const recaptchaInputRef = useRef({});\n const [hasSubmitted, setHasSubmitted] = useState(false);\n const [dadosValidacao, setDadosValidacao] = useState();\n const [configuracoes, setConfiguracoes] = useState();\n\n function handleOnCaptchaChange(value) {\n SetCaptcha(value);\n }\n\n function handleSubmit(event) {\n event.preventDefault();\n\n form.validateFields(async function _(err, values) {\n if (!err) {\n const { CodigoValidacao } = values;\n\n await obterAutenticidade(CodigoValidacao, true)\n .then(resp => {\n setDadosValidacao(resp.data);\n setHasSubmitted(true);\n })\n .catch(() => Notification.showError('Código de Validação Inválido'));\n }\n });\n }\n\n function goBack() {\n SetCaptcha(null);\n setHasSubmitted(false);\n }\n\n useEffect(() => {\n obterConfiguracoes().then(resp => setConfiguracoes(resp.data));\n }, []);\n\n return (\n <>\n \n {!hasSubmitted ? (\n \n {configuracoes?.Informacao && (\n \n \n \n )}\n \n \n
\n \n \n \n \n {getFieldDecorator('CodigoValidacao', {\n rules: [\n {\n required: true,\n message: 'Campo obrigatório.',\n },\n ],\n })(\n \n )}\n \n \n \n \n\n \n \n \n \n \n \n Validar\n \n \n \n \n \n
\n
\n ) : (\n \n )}\n {hasSubmitted && (\n \n \n \n )}\n \n );\n}\nexport default Form.create({\n name: 'Autenticidade',\n})(AutenticidadeForm);\n","import api from '~/services/api';\n\nexport async function obterAutenticidade(codigoValidacao) {\n return api.get(`/autenticidade/obter/${codigoValidacao}`);\n}\n\nexport async function obterConfiguracoes() {\n return api.get('/autenticidade/configuracoes');\n}\n","import React, { useEffect } from 'react';\nimport * as ModuloService from '../../../services/modulos.service';\nimport { CHAVES_MODULO } from '../../Helper/chave-modulo-constants';\nimport AutenticidadeForm from '../components/autenticidade.form.component';\n\nfunction Autenticidade() {\n useEffect(() => {\n ModuloService.verificaModuloHabilitado(CHAVES_MODULO.AUTENTICIDADE);\n }, []);\n\n return ;\n}\n\nexport default Autenticidade;\n","import React, { useEffect, useState } from 'react';\nimport { Line } from '@antv/g2plot';\nimport { Link } from 'react-router-dom';\nimport { useSelector } from 'react-redux';\nimport { Row, Icons } from '~/components';\nimport { GraficoLine, Visualizar, CardWrapper } from './style';\n\nfunction LineGraphic({\n id,\n titulo,\n data,\n xField = 'EixoY',\n yField = 'EixoX',\n seriesField,\n legendaEixoX,\n legendaEixoY,\n legenda,\n ValorLink,\n showEyeButton = false,\n corFonte,\n onLineClick,\n onPointClick,\n}) {\n const [line, setLine] = useState(null);\n\n const NumberFormatter = function NumberFormatter(value) {\n let newNum = value;\n const suffix = ['', ' Mil', ' Mi', ' Bi', ' Tri'];\n let suffixNum = 0;\n if (newNum > 10000) {\n while (newNum >= 1000) {\n newNum /= 1000;\n suffixNum += 1;\n }\n return Math.trunc(newNum) + suffix[suffixNum];\n }\n return newNum;\n };\n\n const {\n graficHighContrastStyle,\n highContrast,\n graficDefaultStyle,\n zoomFonte,\n } = useSelector(state => state.configuration);\n\n const getConfigStyle = highContrast\n ? graficHighContrastStyle\n : graficDefaultStyle;\n\n const [config] = useState({\n title: false,\n autoFit: true,\n data,\n xField,\n yField,\n seriesField,\n xAxis: {\n title: {\n visible: legendaEixoX || false,\n text: legendaEixoX,\n style: getConfigStyle,\n },\n label: {\n style: getConfigStyle,\n formatter: v => {\n return v.length >= 7 ? `${v.substring(0, 7)}...` : v;\n },\n },\n },\n yAxis: {\n title: {\n visible: false,\n text: legendaEixoY,\n offset: 45,\n style: getConfigStyle,\n },\n label: {\n formatter: v => {\n return NumberFormatter(v);\n },\n style: getConfigStyle,\n },\n },\n color: [\n '#30BBAA',\n '#F39366',\n '#876AB0',\n '#FDF25B',\n '#77C966',\n '#EE7B80',\n '#7F8BB2',\n '#F9D04F',\n '#D85B81',\n '#D3E045',\n '#2DA0D7',\n '#FBB141',\n ],\n point: {\n visible: true,\n size: 5,\n shape: 'circle',\n style: {\n lineWidth: 2,\n },\n },\n legend: {\n visible: true,\n title: {\n visible: true,\n text: legenda,\n style: getConfigStyle,\n },\n itemName: {\n formatter: v => {\n return v.trim().length >= 25 ? `${v.substring(0, 25)}...` : v.trim();\n },\n style: getConfigStyle,\n },\n },\n tooltip: {\n title: () => legendaEixoY,\n },\n smooth: true,\n });\n\n useEffect(() => {\n if (line) return;\n\n const element = document.getElementById(id);\n if (element) {\n const lineRender = new Line(element, {\n data,\n ...config,\n events: {\n onLineClick,\n onPointClick,\n },\n });\n setLine(lineRender);\n lineRender.render();\n }\n }, [line, config, data, id]);\n\n useEffect(() => {\n if (line) {\n line.update({\n xAxis: {\n ...config.xAxis,\n title: {\n ...config.xAxis.title,\n style: getConfigStyle,\n },\n label: {\n ...config.xAxis.label,\n style: getConfigStyle,\n },\n },\n yAxis: {\n ...config.yAxis,\n title: {\n ...config.yAxis.title,\n style: getConfigStyle,\n },\n label: {\n ...config.yAxis.label,\n style: getConfigStyle,\n },\n },\n legend: {\n ...config.legend,\n itemName: {\n ...config.itemName,\n style: getConfigStyle,\n },\n title: {\n ...config.label,\n style: getConfigStyle,\n },\n },\n smooth: config.smooth,\n point: config.point,\n tooltip: config.tooltip,\n });\n }\n\n if (line) line.render();\n }, [\n line,\n config.xAxis,\n config.yAxis,\n config.legend,\n getConfigStyle,\n highContrast,\n zoomFonte,\n ]);\n\n useEffect(() => {\n if (line) {\n line.update({\n data,\n });\n line.render();\n }\n }, [data, line]);\n\n return (\n <>\n \n {titulo}\n \n }\n extra={\n showEyeButton ? (\n \n \n \n \n \n ) : (\n ''\n )\n }\n size=\"small\"\n >\n \n \n \n \n \n \n );\n}\n\nexport default LineGraphic;\n","import React, { useEffect, useState } from 'react';\nimport EmptyCardGrafico from '../../../components/Grafico/EmptyCardGraphic.component';\nimport LineGraphic from '../../../components/Grafico/LineGraphic.component';\nimport * as EstatisticasService from '../services/Estatisticas.service';\n\nexport default function GraficoAnos() {\n const [acessosAnos, setAcessosAnos] = useState([]);\n\n useEffect(() => {\n EstatisticasService.getEstatisticasAcessoAno().then(({ data }) => {\n if (data) setAcessosAnos(data);\n });\n }, []);\n\n return acessosAnos?.length ? (\n
\n \n
\n ) : (\n \n );\n}\n","import api from '~/services/api';\n\nfunction getEstatisticasAcessosVisao(exercicio) {\n return api.get(`/estatistica/grafico/visao/portal/${exercicio}`); // DTO para o Gráfico de Pie\n}\n\nfunction getEstatisticasAcessoAno() {\n return api.get('/estatistica/grafico/ano/portal'); // DTO para o Gráfico de Line\n}\n\nfunction getEstatisticasAnosComDados() {\n return api.get('/estatistica/anos'); // DTO para o select de apenas Exercícios com dados.\n}\n\nexport {\n getEstatisticasAcessosVisao,\n getEstatisticasAcessoAno,\n getEstatisticasAnosComDados,\n};\n","import React, { useEffect, useState } from 'react';\nimport PieGraphic from '../../../components/Grafico/PieGraphic.component';\nimport EmptyCardGrafico from '../../../components/Grafico/EmptyCardGraphic.component';\nimport * as EstatisticasService from '../services/Estatisticas.service';\n\nexport default function GraficoVisoes({ anoSelecionado }) {\n const [acessosVisoes, setAcessosVisoes] = useState([]);\n\n useEffect(() => {\n EstatisticasService.getEstatisticasAcessosVisao(anoSelecionado).then(\n ({ data }) => {\n if (data) setAcessosVisoes(data);\n }\n );\n }, [anoSelecionado]);\n\n const tooltipFormatter = ({ Acessos, NomeVisao }) => {\n return {\n name: NomeVisao,\n value: new Intl.NumberFormat('pt-BR').format(Acessos),\n };\n };\n\n return acessosVisoes?.length ? (\n
\n 'Acessos'}\n legendMaxRow={5}\n legendItemMarginBottom={8}\n legendItemSpacing={8}\n tooltipFormatter={tooltipFormatter}\n />\n
\n ) : (\n \n );\n}\n","import React from 'react';\nimport { Select, Tooltip, Row, Typography, Card } from '~/components';\n\nexport default function FiltroExercicio({\n handleChangeExercicio,\n exercicios,\n exercicio,\n}) {\n return (\n \n \n \n Exercício\n \n \n \n {exercicios.map(ano => (\n \n {ano}\n \n ))}\n \n \n \n \n );\n}\n","import React, { useState, useEffect } from 'react';\nimport { PageTitle } from '~/components';\nimport GraficoAnos from '../components/GraficoAnos.component';\nimport GraficoVisoes from '../components/GraficoVisoes.component';\nimport FiltroExercicio from '../components/FiltroExercicio.component';\nimport * as EstatisticasService from '../services/Estatisticas.service';\n\nexport default function Estatiscas() {\n const anoAtual = new Date().getFullYear();\n\n const [exercicioSelcionado, setExercicioSelecionado] = useState(anoAtual);\n const [exercicios, setExercicios] = useState([]);\n\n useEffect(() => {\n EstatisticasService.getEstatisticasAnosComDados().then(({ data }) => {\n if (data) setExercicios(data);\n });\n }, []);\n\n function handleChangeExercicio(anoSelecionado) {\n setExercicioSelecionado(anoSelecionado);\n }\n\n return (\n <>\n \n \n handleChangeExercicio(value)}\n exercicios={exercicios}\n exercicio={exercicioSelcionado}\n />\n \n \n );\n}\n","/* eslint-disable react/jsx-props-no-spreading */\nimport React from 'react';\nimport { Route as ReactRoute } from 'react-router-dom';\nimport { Breadcrumb } from '~/components';\nimport { salvaEstatistica } from './routes.service';\n\nfunction Route({ path, component: Component, hasStatistics }) {\n function handleStatistics(url) {\n const payload = {\n Rota: url,\n };\n\n salvaEstatistica(payload);\n }\n\n return (\n {\n if (hasStatistics) handleStatistics(props.location.pathname);\n return (\n <>\n \n \n \n );\n }}\n />\n );\n}\n\nexport default Route;\n","import api from '~/services/api';\n\nfunction salvaEstatistica(data) {\n return api.post('Estatistica', data);\n}\n\nexport { salvaEstatistica };\n","import React from 'react';\nimport { Router, Switch } from 'react-router-dom';\nimport DefaultLayout from '~/modules/_layouts/default/default.layout';\nimport Dashboard from '~/modules/Dashboard/containers/dashboard.container';\nimport Faq from '~/modules/FAQ/containers/faq.container';\nimport DadosAbertos from '~/modules/DadosAbertos/containers/dadosAbertos.container';\nimport ESic from '~/modules/ESic/containers/esic.container';\nimport Sumario from '~/modules/Sumario/containers/sumario.container';\nimport EstruturaOrganizacional from '~/modules/EstruturaOrganizacional/containers/estruturaOrganizacional.container';\nimport EstruturaOrganizacionalDetalhe from '~/modules/EstruturaOrganizacional/containers/estruturaOrganizacionalDetalhe.container';\nimport NotFound from '~/components/NotFound/NotFound.component';\nimport EmManutencao from '~/components/EmManutencao/EmManutencao.component';\nimport Glossario from '~/modules/Glossario/containers/glossario.container';\nimport ModuloDinamico from '~/modules/Modulos/ModuloDinamico.component';\nimport ModuloFixo from '~/modules/Modulos/ModuloFixo/ModuloFixo.component';\nimport DetalheVisaoAnalitica from '~/modules/DetalheVisaoAnalitica/containers/detalheVisaoAnalitica.container';\nimport BuscaAvancada from '~/modules/BuscaAvancada/containers/buscaAvancada.container';\nimport ItemVisao from '~/modules/Modulos/containers/visaoItem.container';\n\nimport history from '~/services/history';\nimport FaleConosco from '~/modules/FaleConosco/containers/faleConosco';\nimport Autenticidade from '~/modules/Autenticidade/containers/autenticidade';\nimport Estatisticas from '~/modules/Estatisticas/containers/Estatisticas';\nimport Route from './Route';\n\nfunction Routes() {\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\nexport default Routes;\n","/* eslint-disable import/no-extraneous-dependencies */\nimport 'react-grid-layout/css/styles.css';\nimport 'react-resizable/css/styles.css';\nimport 'leaflet/dist/leaflet.css';\n\nimport './config/reactotron';\n\nimport React from 'react';\nimport { Provider } from 'react-redux';\nimport { PersistGate } from 'redux-persist/integration/react';\nimport VLibras from '@djpfs/react-vlibras';\n\nimport GlobalStyle from '~/styles/global';\nimport { Internationalization, Theme, Loader } from '~/components';\n\nimport Routes from './routes';\n\nimport store, { persistor } from './store';\nimport MenuProvider from '~/contexts/menu.context';\nimport { UrlProvider } from '~/contexts/url.context';\n\nfunction App() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport default App;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\n\nReactDOM.render(, document.getElementById('root'));\n"],"sourceRoot":""}