{"version":3,"mappings":"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","names":["i0","ctx_r2","oxw","PopoverListarInscricoesComponent","constructor","popoverController","ngOnInit","find","idInscricao","this","dismiss","selectors","ctx_r3","ctx_r5","HeaderGcComponent","storageService","functionsService","inscricaoService","dataSharingService","usuarioLogado","getUsuarioLogado","location","pathname","indexOf","showNotificacaoNovosDocsEnviados","getMostRecentUpdated","source","interval","subscription","subscribe","val","unsubscribe","tipoDocumentos","findByUltimosDocsInscricaoEnviados","next","resp","inscricoesRecentementeAtualizadas","error","console","log","findByUltimosDocsMatriculaEnviados","ngOnDestroy","hideSubmenu","event","idSubmenu","element","document","getElementById","style","visibility","showSubmenu","showingSubmenu","showHideSubmenu","goToPath","path","logoff","setUsuarioLogado","openPopoverListarInscricoes","popover","create","component","componentProps","inscricoes","translucent","showBackdrop","backdropDismiss","trigger","present","onDidDismiss","then","data","idInscricaoSelecionada","i","length","id","dataUltimaVisualizacaoDocumentacaoInscricao","Date","dataUltimaVisualizacaoDocumentacaoMatricula","update","TIPO_ARQUIVO","IMAGEM","PDF","VIDEO","DOCX","XLSX","PPTX","JPG","PNG","ZIP","ctx_r10","ctx_r13","ctx_r20","ctx_r23","ctx_r33","ctx_r37","ctx_r45","ctx_r49","ctx_r57","ctx_r62","ctx_r71","ctx_r87","ctx_r89","routes","menuService","permissaoAcessoService","formacaoService","parametrosSistemaService","arquivoService","ParametrosSistemaDTO","ionViewWillEnter","checkAccessControl","loadObjs","canCreateAndEdit","window","href","canCreateEdit","canRemove","presentLoading","findAll","menus","menusOriginal","getDeepCopyArray","respPS","paramentrosSistema","qtdMenusVisiveisSite","findByPath","ENTIDADE","DIRETORIO","logo","idLogoOriginal","dismissLoading","errorPS","formacoes","menuCursos","MenuDTO","ordemExibicao","ativo","editavel","label","submenus","submenuGraduacao","f","nome","toLowerCase","urlDestino","push","submenuPosGraduacao","menuNoticias","disableUndo","JSON","stringify","addMenu","newMenu","addSubmenu","menu","newSubmenu","removeMenu","showConfirmAlert","index","splice","menusPrincipaisExcluidos","removeSubmenu","submenu","showAlert","removeSubmenu2","submenu2","index2","changeMenuPosition","move","aux","vizinho","changeSubmenuPosition","changeSubmenu2Position","indexSubmenu","save","trim","todosSubmenusInativos","j","todosSubmenus2Inativos","k","o","n","_a","_b","copyAndPaste","tipo","respCopy","delete","respDel","errorDel","body","descricao","respUpd","erroUpd","saveAll","deleteAll","undo","uploadLogo","fileLoader","that","onchange","upload","files","value","click","getFilePublicURL","fullPath","fileName","API_CONFIG","validateLabel","text","handler","isVisible","contInativos","GcAdmMenuPage","ctx","GcAdmMenuPageRoutingModule","RouterModule","GcAdmMenuPageModule","CommonModule","FormsModule","IonicModule","ComponentsModule","DataSharingService","BehaviorSubject","factory","ParametrosSistemaService","http","insert","parametrosSistemaDTO","post","observe","put","get"],"sources":["./src/app/components/header-gc/components/popover-listar-inscricoes/popover-listar-inscricoes.component.html","./src/app/components/header-gc/components/popover-listar-inscricoes/popover-listar-inscricoes.component.ts","./src/app/components/header-gc/header-gc.component.html","./src/app/components/header-gc/header-gc.component.ts","./src/app/config/tipo-arquivo.config.ts","./src/app/models/parametrosSistemaDTO.ts","./src/app/models/site/menuDTO.ts","./src/app/pages/modulo-gc/site/gc-adm-menu/gc-adm-menu.page.html","./src/app/pages/modulo-gc/site/gc-adm-menu/gc-adm-menu-routing.module.ts","./src/app/pages/modulo-gc/site/gc-adm-menu/gc-adm-menu.page.ts","./src/app/pages/modulo-gc/site/gc-adm-menu/gc-adm-menu.module.ts","./src/app/services/common/data-sharing.service.ts","./src/app/services/parametros-sistema/parametros-sistema.service.ts"],"sourcesContent":["
\n\n
\n \n {{inscricao.candidato.nome}} {{inscricao.candidato.sobrenome}}, inscrição {{inscricao.id}}, enviou nova documentação.\n \n
\n\n
","import { PopoverController } from '@ionic/angular';\nimport { InscricaoDTO } from '../../../../models/vestibular/inscricaoDTO';\nimport { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-popover-listar-inscricoes',\n templateUrl: './popover-listar-inscricoes.component.html',\n styleUrls: ['./popover-listar-inscricoes.component.scss'],\n})\nexport class PopoverListarInscricoesComponent implements OnInit {\n\n constructor( private popoverController: PopoverController ) { }\n\n inscricoes: InscricaoDTO[];\n\n ngOnInit() {}\n\n\n find(idInscricao: number){\n\n //fecha o popover e indica o id da inscrição para disparar o método find do componente header-gc\n this.popoverController.dismiss(idInscricao);\n }\n}\n"," \n\n \n \"logo\"\n\n \n\n 0\">\n {{inscricoesRecentementeAtualizadas.length}}\n \n \n\n \n \n \n \n \n \n \n \n \n\n\n \n \n\n \n\n \n\n\n\n\n\n","import { DataSharingService } from './../../services/common/data-sharing.service';\nimport { PopoverListarInscricoesComponent } from './components/popover-listar-inscricoes/popover-listar-inscricoes.component';\nimport { PopoverController } from '@ionic/angular';\nimport { InscricaoDTO } from '../../models/vestibular/inscricaoDTO';\nimport { InscricaoService } from './../../services/inscricao/inscricao.service';\nimport { UsuarioDTO } from '../../models/controle-acesso/usuarioDTO';\nimport { StorageService } from './../../services/storage/storage.service';\nimport { FunctionsService } from './../../services/common/functions.service';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { interval, Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-header-gc',\n templateUrl: './header-gc.component.html',\n styleUrls: ['./header-gc.component.scss'],\n})\nexport class HeaderGcComponent implements OnInit {\n\n \n\n showingSubmenu = '';\n menuGCItems = [];\n usuarioLogado: UsuarioDTO = null;\n\n showNotificacaoNovosDocsEnviados: boolean = false;\n inscricoesRecentementeAtualizadas: InscricaoDTO[] = [];\n\n subscription: Subscription;\n\n constructor( private storageService : StorageService\n , private functionsService: FunctionsService\n , private inscricaoService: InscricaoService\n , private popoverController: PopoverController\n , private dataSharingService: DataSharingService ) { \n\n this.usuarioLogado = this.storageService.getUsuarioLogado(); \n \n if(location.pathname.indexOf('modulo-gc/gc-analisar-documentacao-inscricao')>-1){\n this.showNotificacaoNovosDocsEnviados = true;\n \n this.getMostRecentUpdated('inscrição');\n\n //repetir a consulta de inscrições recentemente atualizadas a cada 60 segundos\n const source = interval(60000);\n this.subscription = source.subscribe(val => this.getMostRecentUpdated('inscrição'));\n\n }else if(location.pathname.indexOf('modulo-gc/gc-analisar-documentacao-matricula')>-1){\n \n this.showNotificacaoNovosDocsEnviados = true;\n this.getMostRecentUpdated('matrícula');\n\n //repetir a consulta de inscrições recentemente atualizadas a cada 60 segundos\n const source = interval(60000);\n this.subscription = source.subscribe(val => this.getMostRecentUpdated('matrícula'));\n }else {\n // Cancelar a execução de this.getMostRecentUpdated\n this.showNotificacaoNovosDocsEnviados = false;\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n }\n\n getMostRecentUpdated(tipoDocumentos: string){\n\n if(tipoDocumentos=='inscrição'){\n this.inscricaoService.findByUltimosDocsInscricaoEnviados().subscribe({\n next:(resp)=>{\n this.inscricoesRecentementeAtualizadas = resp;\n \n },\n error:(error)=>{\n console.log(error);\n }\n });\n \n }else if(tipoDocumentos == 'matrícula'){\n\n this.inscricaoService.findByUltimosDocsMatriculaEnviados().subscribe({\n next:(resp)=>{\n this.inscricoesRecentementeAtualizadas = resp;\n \n },\n error:(error)=>{\n console.log(error);\n }\n });\n\n }\n \n\n }\n\n ngOnInit() {\n \n }\n\n ngOnDestroy() {\n \n //mata a repetição das consultas de atualização da tela\n if(this.subscription){\n this.subscription.unsubscribe();\n }\n \n }\n\n /**\n * método disparado pelo evento mouseout \n */\n hideSubmenu(event, idSubmenu: string) { \n \n let element = document.getElementById(idSubmenu);\n //this.showingSubmenu = idSubmenu; \n if(element){\n element.style.visibility = 'hidden';\n }\n \n \n }\n\n /**\n * método disparado pelo evento mouseenter \n */\n showSubmenu(idSubmenu: string){\n \n this.showingSubmenu = idSubmenu;\n\n let element = document.getElementById(idSubmenu);\n \n if(element){\n element.style.visibility = 'visible';\n }\n \n\n }\n\n\n /*\n método usado para tablets, disparado através do click no menu, pois em tablet não tem cursor do mouse\n */\n showHideSubmenu(idSubmenu: string){\n \n this.showingSubmenu = idSubmenu;\n\n let element = document.getElementById(idSubmenu);\n \n if(element){\n\n if(element.style.visibility === 'visible'){\n element.style.visibility = 'hidden';\n }else{\n element.style.visibility = 'visible';\n }\n }\n \n }\n\n\n \n goToPath(path:string){\n\n if(path){\n this.functionsService.goToPath(path);\n }\n }\n \n\n logoff(){\n this.storageService.setUsuarioLogado(null);\n this.functionsService.goToPath('modulo-gc/gc-login');\n\n }\n\n\n async openPopoverListarInscricoes(event) {\n \n let tipoDocumentos = 'inscrição';\n if(location.pathname.indexOf('modulo-gc/gc-analisar-documentacao-matricula')>-1){\n tipoDocumentos = 'matrícula'\n }\n const popover = await this.popoverController.create({\n component: PopoverListarInscricoesComponent,\n componentProps: { 'inscricoes': this.inscricoesRecentementeAtualizadas\n , 'tipoDocumentos': tipoDocumentos},\n translucent: false,\n showBackdrop: true,\n backdropDismiss: true,\n event: event,\n trigger: event,\n //cssClass: 'popover-listar-inscricoes', //definido no global.css \n \n });\n\n await popover.present();\n \n //quando fechar o popover\n await popover.onDidDismiss().then((data)=>{\n\n //se tiver selecionado uma inscrição o campo data.data estará preenchido do contrário será null\n if(data && data.data){\n\n //informa ao serviço de notificação/compartilhamento de dados entre componentes o id da inscrição selecionada\n //este id será utilizado para preencher a tela de análise de docs com a inscrição selecionada\n this.dataSharingService.idInscricaoSelecionada.next( data.data ); \n\n //atualiza a inscrição selecionada para ela sair da lista\n for(var i=0; i{\n\n //atualizar o contador no ícone de notificações\n this.getMostRecentUpdated(tipoDocumentos);\n\n },\n error:(error)=>{\n console.log(error);\n }\n });\n\n }\n }\n \n }\n \n });\n \n }\n}\n","export const TIPO_ARQUIVO = {\r\n \r\n IMAGEM: \"IMAGEM\",\r\n PDF: \"PDF\",\r\n VIDEO: \"VIDEO\" ,\r\n DOCX: \"DOCX\",\r\n XLSX: \"XLSX\",\r\n PPTX: \"PPTX\",\r\n JPG: \"JPG\",\r\n PNG: \"PNG\",\r\n ZIP: \"ZIP\"\r\n}","\r\nexport class ParametrosSistemaDTO{\r\n\r\n id!: number;\r\n qtdDiasEnviarEmailConvocacaoProva!: number;\r\n qtdDiasEnviarEmailAgendarProva!: number;\r\n qtdDiasEnviarEmailCartaoConfirmacaoInscricao!: number;\r\n qtdDiasEnviarEmailResultadoGeralMedicina!:number;\r\n pathAssetsVestibular!:string;\r\n pathAssetsSite!:string;\r\n pathDossie!: string;\r\n horaDisparoEmails!: number;\r\n\tminutoDisparoEmails!: number;\r\n\tsegundosDisparoEmails!: number;\r\n qtdMenusVisiveisSite!: number;\r\n \r\n}","\r\nexport class MenuDTO{\r\n\r\n id!: number;\r\n label!: string;\r\n ordemExibicao!: number;\r\n urlDestino!: string;\r\n ativo!: boolean;\r\n submenus!: MenuDTO[];\r\n editavel!: boolean;\r\n abrirNovaJanela!: boolean;\r\n}","\n\n\n\n \n MENUS DO SITE\n \n \n\n\n \n \n Upload do Logo  \n \n \n \n \n \n \n \n \n \n\n \n Menus Visíveis no Site\n \n \n\n \n\n
\n\n
\n \n \n
\n\n
\n \n 1\" \n (click)=\"changeMenuPosition(menu,-1)\">\n \n \n \n
\n\n
\n\n \n \n Label\n \n \n
\n \n
\n \n \n URL Destino\n \n \n \n
\n \n
\n \n \n \n \n \n\n \n \n\n \n \n\n \n \n
\n \n
\n \n \n
\n \n
\n \n
\n\n \n 1\" \n (click)=\"changeSubmenuPosition(menu, submenu, -1)\">\n \n \n \n
\n\n
\n \n \n Label\n \n \n
\n \n
\n \n \n URL Destino\n \n \n
\n \n
\n \n \n \n \n \n\n \n \n\n \n \n \n \n \n \n
\n \n
\n \n \n
\n \n
\n \n 1\" \n (click)=\"changeSubmenu2Position(menu, submenu, submenu2, -1)\">\n \n \n \n
\n\n
\n \n \n Label\n \n \n
\n \n
\n \n \n URL Destino\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 Novo Menu  \n \n \n\n \n Desfazer Alterações  \n \n \n \n
\n\n
\n \n\n \n
 
\n  Menu visível\n
\n\n \n
 
\n  Menu agrupado no menu \"Mais\"\n
\n\n \n \n \n \n \n \n Salvar  \n \n \n \n \n \n \n\n
\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { GcAdmMenuPage } from './gc-adm-menu.page';\n\nconst routes: Routes = [\n {\n path: '',\n component: GcAdmMenuPage\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class GcAdmMenuPageRoutingModule {}\n","import { API_CONFIG } from 'src/app/config/api.config';\nimport { ArquivoDTO } from '../../../../models/arquivoDTO';\nimport { TIPO_ARQUIVO } from '../../../../config/tipo-arquivo.config';\nimport { DIRETORIO } from '../../../../config/diretorio.config';\nimport { ENTIDADE } from '../../../../config/entidade.config';\nimport { ArquivoService } from '../../../../services/arquivo/arquivo.service';\nimport { ParametrosSistemaService } from '../../../../services/parametros-sistema/parametros-sistema.service';\nimport { ParametrosSistemaDTO } from '../../../../models/parametrosSistemaDTO';\nimport { FormacaoDTO } from 'src/app/models/curso/formacaoDTO';\nimport { FormacaoService } from '../../../../services/formacao/formacao.service';\nimport { FunctionsService } from '../../../../services/common/functions.service';\nimport { PermissaoAcessoService } from '../../../../services/permissao-acesso/permissao-acesso.service';\nimport { MenuDTO } from '../../../../models/site/menuDTO';\nimport { MenuService } from '../../../../services/menu/menu.service';\nimport { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-gc-adm-menu',\n templateUrl: './gc-adm-menu.page.html',\n styleUrls: ['./gc-adm-menu.page.scss'],\n})\nexport class GcAdmMenuPage implements OnInit {\n\n paramentrosSistema: ParametrosSistemaDTO = new ParametrosSistemaDTO();\n\n canCreateEdit: boolean;\n canRemove: boolean; \n\n logo: ArquivoDTO;\n idLogoOriginal: number;\n\n menus: MenuDTO[] = [];\n menusOriginal: MenuDTO[] = [];\n menusPrincipaisExcluidos: MenuDTO[] = [];\n\n formacoes: FormacaoDTO[] = [];\n \n \n\n constructor( private menuService: MenuService\n , private permissaoAcessoService: PermissaoAcessoService\n , private functionsService: FunctionsService\n , private formacaoService: FormacaoService\n , private parametrosSistemaService: ParametrosSistemaService\n , private arquivoService: ArquivoService ) { \n\n\n \n }\n\n ngOnInit() {\n }\n\n\n ionViewWillEnter(){\n \n \n //verificar as permissões de acesso\n this.checkAccessControl();\n \n this.loadObjs();\n\n \n }\n\n\n checkAccessControl(){\n\n this.permissaoAcessoService.canCreateAndEdit(window.location.href).subscribe({\n next:(resp)=>{\n this.canCreateEdit = resp;\n },\n error:(error)=>{\n this.canCreateEdit = false;\n }\n });\n\n this.permissaoAcessoService.canRemove(window.location.href).subscribe({\n next:(resp)=>{\n this.canRemove = resp;\n },\n error:(error)=>{\n this.canRemove = false;\n }\n });\n\n\n }\n\n\n loadObjs(){\n\n this.functionsService.presentLoading();\n \n this.menuService.findAll().subscribe({\n next:(resp)=>{\n\n if(resp.length>0){\n this.menus = resp;\n this.menusOriginal = this.functionsService.getDeepCopyArray(resp);\n\n this.parametrosSistemaService.findAll().subscribe({\n next:(respPS)=>{\n\n if(respPS.length>0){\n this.paramentrosSistema = respPS[0];\n \n if(!this.paramentrosSistema.qtdMenusVisiveisSite){\n this.paramentrosSistema.qtdMenusVisiveisSite = 5;\n }\n\n \n }\n\n //preencher o arquivo do logo\n this.arquivoService.findByPath(ENTIDADE.SITE, 0, DIRETORIO.LOGO).subscribe({\n next:(resp)=>{\n if(resp.length>0){\n this.logo = resp[0];\n this.idLogoOriginal = this.logo.id;\n }\n\n this.functionsService.dismissLoading();\n },\n error:(error)=>{\n console.log(error);\n this.functionsService.dismissLoading();\n }\n });\n\n \n },\n error:(errorPS)=>{\n console.log(errorPS);\n this.functionsService.dismissLoading();\n }\n\n });\n \n \n }else{\n \n this.menus = [];\n //monta os menus obrigatórios - cursos e notícias\n \n this.formacaoService.findAll().subscribe({\n next:(resp)=>{\n \n this.formacoes = resp;\n \n //menu principal - cursos\n let menuCursos = new MenuDTO();\n menuCursos.ordemExibicao = 1;\n menuCursos.ativo = true;\n menuCursos.editavel = false;\n menuCursos.label = 'Cursos';\n menuCursos.submenus = [];\n\n //submenu de cursos - graduação\n let submenuGraduacao = new MenuDTO();\n submenuGraduacao.ordemExibicao = 1;\n submenuGraduacao.ativo = true;\n submenuGraduacao.editavel = false;\n submenuGraduacao.label = 'Graduação';\n\n for(var f=0; f{\n if(resp.length>0){\n this.logo = resp[0];\n this.idLogoOriginal = this.logo.id;\n }\n\n this.functionsService.dismissLoading();\n },\n error:(error)=>{\n console.log(error);\n this.functionsService.dismissLoading();\n }\n });\n \n\n },\n error:(error)=>{\n console.log(error);\n this.functionsService.dismissLoading();\n }\n }); \n\n }\n\n },\n error:(error)=>{\n \n console.log(error);\n this.functionsService.dismissLoading();\n\n }\n });\n\n }\n\n\n disableUndo():boolean{\n\n return JSON.stringify(this.menus) == JSON.stringify(this.menusOriginal);\n\n }\n \n\n addMenu(){\n\n let newMenu = new MenuDTO();\n newMenu.label = 'Novo menu ' + (this.menus.length + 1);\n newMenu.ativo = true;\n newMenu.editavel = true;\n newMenu.ordemExibicao = this.menus.length+1;\n\n this.menus.push(newMenu);\n\n }\n\n \n\n addSubmenu(menu: MenuDTO){\n\n if(!menu.submenus){\n menu.submenus = [];\n //se terá submenus então não pode ter url de destino\n menu.urlDestino = '';\n }\n\n let newSubmenu = new MenuDTO();\n newSubmenu.label = 'Novo submenu ' + (menu.submenus.length + 1);\n newSubmenu.ativo = true;\n newSubmenu.editavel = true;\n newSubmenu.ordemExibicao = menu.submenus.length+1;\n \n menu.submenus.push(newSubmenu);\n \n }\n\n\n async removeMenu(menu: MenuDTO){\n\n const confirma = await this.functionsService.showConfirmAlert( \"Confirma?\"\n , \"Confirma a exclusão do menu principal \" + menu.label + \"?\"\n , \"Confirmar\"\n , \"Cancelar\");\n\n\n if(confirma){\n\n const index = this.menus.indexOf(menu);\n this.menus.splice(index, 1);\n\n for(var i=0; iSalvar.\"\n , [\"Ok\"] );\n */\n \n }\n }\n\n\n async removeSubmenu(menu: MenuDTO, submenu: MenuDTO){\n\n const confirma = await this.functionsService.showConfirmAlert( \"Confirma?\"\n , \"Confirma a exclusão do submenu (nível 1) \" + submenu.label + \"?\"\n , \"Confirmar\"\n , \"Cancelar\");\n\n if(confirma){\n \n const index = menu.submenus.indexOf(submenu);\n\n menu.submenus.splice(index, 1);\n\n for(var i=0; iSalvar.\"\n , [\"Ok\"] );\n \n }\n \n }\n\n async removeSubmenu2(menu: MenuDTO, submenu: MenuDTO, submenu2: MenuDTO){\n\n const confirma = await this.functionsService.showConfirmAlert( \"Confirma?\"\n , \"Confirma a exclusão do submenu (nível 2) \" + submenu2.label + \"?\"\n , \"Confirmar\"\n , \"Cancelar\");\n\n if(confirma){\n \n const index = menu.submenus.indexOf(submenu);\n const index2 = menu.submenus[index].submenus.indexOf(submenu2);\n \n menu.submenus[index].submenus.splice(index2, 1);\n\n for(var i=0; iSalvar.\"\n , [\"Ok\"]);\n\n \n }\n\n \n }\n\n\n changeMenuPosition(menu:MenuDTO, move: number){\n\n //move igual a +1 move pra frente, igual a -1 move pra traz\n\n this.functionsService.presentLoading();\n\n const index = this.menus.indexOf(menu);\n //guarda o objeto que está na posição que se deseja movimentar\n let aux = this.menus[index];\n aux.ordemExibicao += (move); //nova ordem de exibição dele\n\n let vizinho = this.menus[index + (move)]; //o vizinho que está em aux + move vai pra posição do objeto movido\n vizinho.ordemExibicao -= (move);\n this.menus[index] = vizinho;\n \n this.menus[index + (move)] = aux; //a posição que era do vizinho recebe o objeto movido\n\n this.functionsService.dismissLoading();\n }\n\n\n changeSubmenuPosition(menu:MenuDTO, submenu: MenuDTO, move: number){\n //move igual a +1 move pra frente, igual a -1 move pra traz\n\n this.functionsService.presentLoading();\n\n const index = menu.submenus.indexOf(submenu);\n //guarda o objeto que está na posição que se deseja movimentar\n let aux = menu.submenus[index];\n aux.ordemExibicao += (move); //nova ordem de exibição dele\n\n let vizinho = menu.submenus[index + (move)]; //o vizinho que está em aux + move vai pra posição do objeto movido\n vizinho.ordemExibicao -= (move);\n menu.submenus[index] = vizinho;\n \n menu.submenus[index + (move)] = aux; //a posição que era do vizinho recebe o objeto movido\n\n this.functionsService.dismissLoading();\n }\n\n\n changeSubmenu2Position(menu:MenuDTO, submenu: MenuDTO, submenu2: MenuDTO, move: number){\n //move igual a +1 move pra frente, igual a -1 move pra traz\n\n this.functionsService.presentLoading();\n\n const indexSubmenu = menu.submenus.indexOf(submenu);\n const index = menu.submenus[indexSubmenu].submenus.indexOf(submenu2);\n //guarda o objeto que está na posição que se deseja movimentar\n let aux = menu.submenus[indexSubmenu].submenus[index];\n aux.ordemExibicao += (move); //nova ordem de exibição dele\n\n let vizinho = menu.submenus[indexSubmenu].submenus[index + (move)]; //o vizinho que está em aux + move vai pra posição do objeto movido\n vizinho.ordemExibicao -= (move);\n menu.submenus[indexSubmenu].submenus[index] = vizinho;\n \n menu.submenus[indexSubmenu].submenus[index + (move)] = aux; //a posição que era do vizinho recebe o objeto movido\n\n this.functionsService.dismissLoading();\n }\n\n\n async save(){\n\n //validações\n for(var i=0; i0){//se ele tem submenus\n\n if(menu.ativo){\n let todosSubmenusInativos = true;\n for(var j=0; j0){//se ele tem submenu2\n\n if(submenu.ativo){\n\n let todosSubmenus2Inativos = true;\n for(var k=0; k' + menu.label + ' > ' + submenu.label + ' ou inative todo o submenu ' + submenu.label + '.' \n , ['Ok'] ) ;\n return; \n }\n\n } //if submenu.ativo\n }\n }\n\n if(todosSubmenusInativos){\n this.functionsService.showAlert( 'Atenção!'\n , 'Ative ao menos 1 submenu de ' + menu.label + ' ou inative todo o menu.'\n , ['Ok'] ) ;\n return; \n }\n\n }//if menu.ativo\n }\n\n\n \n }\n\n const confirma = await this.functionsService.showConfirmAlert( \"Confirma?\"\n , \"Confirma a atualização do menu do site? Esta ação terá impacto imediato no site.\"\n , \"Confirmar\"\n , \"Cancelar\");\n\n if(!confirma){\n return;\n }\n\n this.functionsService.presentLoading();\n\n //se fez upload de um novo logo o path dele contém a palavra temp\n if(this.logo?.path?.indexOf('/temp')>-1){\n \n //copia ele pro diretório do logo\n this.arquivoService.copyAndPaste( this.logo.path\n , this.logo.nome\n , ENTIDADE.SITE\n , 0\n , this.logo.tipo\n , DIRETORIO.LOGO\n , 'logo.png' ).subscribe({\n next:(respCopy)=>{\n\n console.log(respCopy)\n //apaga o registro do logo antigo\n this.arquivoService.delete(this.idLogoOriginal).subscribe({\n next:(respDel)=>{\n console.log(respDel)\n },\n error:(errorDel)=>{\n console.log(errorDel);\n }\n });\n \n\n //atualiza o novo logo com o path do arquivo recém copiado pro diretório de logos\n this.logo.path = respCopy.body.path;\n this.logo.nome = respCopy.body.nome;\n this.logo.descricao = 'Logo do site';\n\n this.arquivoService.update(this.logo).subscribe({\n next:(respUpd)=>{\n this.logo = respUpd.body;\n },\n error:(erroUpd)=>{\n console.log(erroUpd);\n }\n }); \n\n },\n error:(error)=>{\n console.log(error);\n }\n });\n\n \n }\n \n this.menuService.saveAll(this.menus).subscribe({\n next:(resp)=>{\n\n //para atualizar os novos menus com seus ids\n this.menus = resp.body;\n \n this.parametrosSistemaService.update(this.paramentrosSistema).subscribe({\n next:(respPS)=>{\n\n //os menus principais não são deletados automaticamente, pois não estão associados a uma entidade com cascade all\n if(this.menusPrincipaisExcluidos.length>0){\n\n console.log(this.menusPrincipaisExcluidos)\n this.menuService.deleteAll(this.menusPrincipaisExcluidos).subscribe({\n next:(respDel)=>{\n this.menusPrincipaisExcluidos = [];\n this.functionsService.dismissLoading();\n this.functionsService.showAlert( 'Sucesso!'\n , 'A estrutura do menu foi salva com sucesso!'\n , ['Ok'] );\n \n \n },\n error:(errorDel)=>{\n\n this.functionsService.dismissLoading();\n console.log(errorDel);\n }\n\n });\n \n\n }else{\n\n this.functionsService.dismissLoading();\n this.functionsService.showAlert( 'Sucesso!'\n , 'A estrutura do menu foi salva com sucesso!'\n , ['Ok'] );\n\n \n }\n \n\n },\n error:(errorPS)=>{\n console.log(errorPS);\n this.functionsService.dismissLoading();\n }\n });\n \n\n },\n error:(error)=>{\n console.log(error);\n this.functionsService.dismissLoading();\n }\n });\n\n }\n\n\n async undo(){\n //recarrega os menus desfazendo toda as alterações não salvas \n \n const confirma = await this.functionsService.showConfirmAlert( \"Confirma?\"\n , \"Confirma desfazer todas as alterações não salvas?\"\n , \"Confirmar\"\n , \"Cancelar\");\n\n\n if(confirma){\n this.loadObjs();\n }\n\n }\n\n\n\n uploadLogo(fileLoader: HTMLInputElement){\n\n let that = this;\n\n fileLoader.onchange = function () {\n\n let banner = fileLoader.files[0];\n \n //salva o arquivo no diretorio temp e só retira do diretório temp quando acionar o botão salvar\n that.arquivoService.upload( banner\n , ENTIDADE.SITE\n , null\n , DIRETORIO.TEMP\n , TIPO_ARQUIVO.IMAGEM ).subscribe(\n resp=>{\n that.logo = resp.body;\n fileLoader.value = '';\n \n },\n error=>{\n console.log(error);\n }\n ); \n \n }\n\n fileLoader.click();\n\n \n }\n\n getFilePublicURL(fullPath: string, fileName: string): string{\n \n if(!fullPath || !fileName){\n return API_CONFIG.iisVirtualDirectoryURL + 'empty_photo_270x70.jpg';\n }\n\n return this.arquivoService.getFilePublicURL(fullPath, fileName);\n }\n\n\n validateLabel(menu: MenuDTO){\n\n const index = this.menus.indexOf(menu);\n\n for(var i=0; iJá existe um menu ' + menu.label + '.'\n , [{ \n text: 'Ok',\n handler: () => {\n menu.label = ''; \n }\n }]);\n \n }\n\n }\n\n }\n\n isVisible(menu: MenuDTO): boolean{\n\n \n let index = this.menus.indexOf(menu);\n\n //verifica quantos menus antes do menu procurado estão ativos\n let contInativos = 0;\n for(var i=0; i<=index; i++){\n if(!this.menus[i].ativo){\n contInativos++;\n }\n }\n\n //o verdadeiro index do menu deve desconsiderar a qtd de menus inativos\n index = index - contInativos;\n\n if(index+1 <= this.paramentrosSistema.qtdMenusVisiveisSite){\n return true;\n }\n\n return false;\n\n }\n}\n\n\n\n\n\n\n","import { ComponentsModule } from '../../../../components/components.module';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { IonicModule } from '@ionic/angular';\n\nimport { GcAdmMenuPageRoutingModule } from './gc-adm-menu-routing.module';\n\nimport { GcAdmMenuPage } from './gc-adm-menu.page';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n GcAdmMenuPageRoutingModule,\n ComponentsModule\n ],\n declarations: [GcAdmMenuPage]\n})\nexport class GcAdmMenuPageModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DataSharingService {\n\n //serviço usado para emitir a mensagem para outros componentes que precisem saber quando o usuário está logado ou não\n public isUserLoggedIn: BehaviorSubject = new BehaviorSubject(false);\n \n //serviço usado para emitir a mensagem do header para a página gc-analisar-documentacao\n public idInscricaoSelecionada: BehaviorSubject = new BehaviorSubject(0);\n \n \n constructor() { }\n\n}\n","import { Observable } from 'rxjs/internal/Observable';\nimport { ParametrosSistemaDTO } from '../../models/parametrosSistemaDTO';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { API_CONFIG } from 'src/app/config/api.config';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ParametrosSistemaService {\n\n constructor( private http: HttpClient ) { }\n\n insert(parametrosSistemaDTO: ParametrosSistemaDTO) : Observable {\n\n return this.http.post( API_CONFIG.apiURL+'/parametrossistema'\n , parametrosSistemaDTO\n , { observe: 'response' });\n\n }\n\n update(parametrosSistemaDTO: ParametrosSistemaDTO) : Observable {\n\n \n return this.http.put( API_CONFIG.apiURL+'/parametrossistema/' + parametrosSistemaDTO.id\n , parametrosSistemaDTO\n , { observe: 'response' });\n\n }\n\n\n findAll() : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/parametrossistema');\n\n }\n\n \n\n find(id: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/parametrossistema/' + id);\n\n }\n \n \n\n delete(id: number) : Observable {\n\n return this.http.delete( API_CONFIG.apiURL + '/parametrossistema/' + id);\n\n }\n\n\n \n\n}\n"],"sourceRoot":"webpack:///","file":"4695.602f49d3d2754d1a.js"}