{"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","ctx_r19","ctx_r24","routes","agrupamentoService","arquivoService","permissaoAcessoService","ionViewWillEnter","checkAccessControl","findByFilter","canCreateAndEdit","window","href","canCreateEdit","canRemove","presentLoading","mensagem","filtro","sort","agrupamentos","dismissLoading","delete","agrupamento","showConfirmAlert","nome","index","splice","showErrorAlert","getFilePublicURL","fullPath","fileName","API_CONFIG","trackId","fieldObject","changeStatus","GcListarAgrupamentosCursosPage","ctx","GcListarAgrupamentosCursosPageRoutingModule","RouterModule","GcListarAgrupamentosCursosPageModule","CommonModule","FormsModule","IonicModule","ComponentsModule","DataSharingService","BehaviorSubject","factory"],"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/pages/modulo-gc/curso/gc-listar-agrupamentos-cursos/gc-listar-agrupamentos-cursos.page.html","./src/app/pages/modulo-gc/curso/gc-listar-agrupamentos-cursos/gc-listar-agrupamentos-cursos-routing.module.ts","./src/app/pages/modulo-gc/curso/gc-listar-agrupamentos-cursos/gc-listar-agrupamentos-cursos.page.ts","./src/app/pages/modulo-gc/curso/gc-listar-agrupamentos-cursos/gc-listar-agrupamentos-cursos.module.ts","./src/app/services/common/data-sharing.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","\n\n\n\n \n \n \n \n \n\n \n AGRUPAMENTOS DE CURSOS\n \n \n\n \n \n \n \n \n \n Filtro\n \n \n \n\n \n Filtrar \n \n\n \n \n\n \n \n  {{mensagem}}\n \n\n \n \n \n \n \n \n \n \n \n \n \n {{agrupamento.nome}}
\n \n Publicar\n
\n\n \n \n {{agrupamento.areaConhecimento?.nome}}
\n \n
\n \n {{agrupamentoCurso.curso.nome}} \n | {{agrupamentoCurso.curso.formacao?.nome}} \n | {{agrupamentoCurso.curso.habilitacao?.nome}}\n | {{agrupamentoCurso.curso.modalidade?.nome}}
\n
\n
\n\n
\n
\n Criado em {{agrupamento.dataCriacao | date: \"dd/MM/yyyy HH:mm:ss\"}} por {{agrupamento.criador?.funcionario.nome}} {{agrupamento.criador?.funcionario.sobrenome}}
\n
\n
\n Última alteração em {{agrupamento.dataUltimaEdicao | date: \"dd/MM/yyyy HH:mm:ss\"}} por {{agrupamento.ultimoEditor?.funcionario.nome}} {{agrupamento.ultimoEditor?.funcionario.sobrenome}}\n
\n
\n
\n
\n
\n \n \n \n \n \n \n\n
\n
\n\n\n
\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { GcListarAgrupamentosCursosPage } from './gc-listar-agrupamentos-cursos.page';\n\nconst routes: Routes = [\n {\n path: '',\n component: GcListarAgrupamentosCursosPage\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class GcListarAgrupamentosCursosPageRoutingModule {}\n","import { PermissaoAcessoService } from '../../../../services/permissao-acesso/permissao-acesso.service';\nimport { ArquivoService } from '../../../../services/arquivo/arquivo.service';\nimport { API_CONFIG } from '../../../../config/api.config';\nimport { AgrupamentoDTO } from '../../../../models/curso/agrupamentoDTO';\nimport { AgrupamentoService } from '../../../../services/agrupamento/agrupamento.service';\nimport { FunctionsService } from '../../../../services/common/functions.service';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { IonContent } from '@ionic/angular';\n\n@Component({\n selector: 'app-gc-listar-agrupamentos-cursos',\n templateUrl: './gc-listar-agrupamentos-cursos.page.html',\n styleUrls: ['./gc-listar-agrupamentos-cursos.page.scss'],\n})\nexport class GcListarAgrupamentosCursosPage implements OnInit {\n\n \n canCreateEdit: boolean;\n canRemove: boolean; \n\n mensagem: string = '';\n filtro: string = '';\n sort: string = 'ASC';\n agrupamentos: AgrupamentoDTO[] = [];\n\n constructor( private functionsService: FunctionsService\n , private agrupamentoService: AgrupamentoService\n , private arquivoService: ArquivoService \n , private permissaoAcessoService: PermissaoAcessoService ) { }\n\n ngOnInit() {\n }\n\n ionViewWillEnter(){\n \n //verificar as permissões de acesso\n this.checkAccessControl();\n\n this.findByFilter();\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 findByFilter(){\n\n this.functionsService.presentLoading();\n\n this.mensagem = 'Aguarde...';\n \n this.agrupamentoService.findByFilter(this.filtro, 0, 10000, this.sort).subscribe(\n resp=>{\n\n this.agrupamentos = resp;\n\n if(this.agrupamentos.length===0){\n this.mensagem = 'A consulta não retornou registros.'\n }else if(this.agrupamentos.length===1){\n this.mensagem = '1 agrupamento encontrado.';\n }else{\n this.mensagem = this.agrupamentos.length + ' agrupamento(s) encontrado(s).';\n }\n\n this.functionsService.dismissLoading();\n \n },\n error=>{\n\n this.mensagem = 'Ocorreu um erro.'\n console.log(error);\n this.functionsService.dismissLoading();\n\n });\n\n }\n\n\n \n \n async delete(agrupamento: AgrupamentoDTO){\n \n const id = agrupamento.id;\n const confirma = await this.functionsService.showConfirmAlert( \"Confirma?\"\n , \"Confirma a exclusão do agrupamento \" + agrupamento.nome + \"?\"\n , \"Confirmar\"\n , \"Cancelar\");\n\n if(confirma){\n this.functionsService.presentLoading();\n\n this.agrupamentoService.delete(id).subscribe(\n resp=>{\n\n const index = this.agrupamentos.indexOf(agrupamento);\n this.agrupamentos.splice(index,1);\n\n if(this.agrupamentos.length===0){\n this.mensagem = 'Não há mais agrupamentos.'\n }else{\n this.mensagem = '';\n }\n\n this.functionsService.dismissLoading();\n },\n error=>{\n this.functionsService.dismissLoading();\n\n this.functionsService.showErrorAlert('Atenção!','Ocorreu um erro ao executar a exclusão.', error, ['Ok']);\n }\n );\n } \n\n }\n \n\n getFilePublicURL(fullPath: string, fileName: string): string{\n \n if(!fullPath || !fileName){\n return API_CONFIG.iisVirtualDirectoryURL + 'empty_photo.jpg';\n }\n\n return this.arquivoService.getFilePublicURL(fullPath, fileName);\n }\n\n\n\n trackId(index: number, fieldObject: any) {\n return fieldObject.id;\n }\n \n \n changeStatus(agrupamento: AgrupamentoDTO){\n\n this.functionsService.presentLoading();\n this.agrupamentoService.update(agrupamento).subscribe(\n resp=>{\n this.functionsService.dismissLoading();\n },\n error=>{\n console.log(error);\n this.functionsService.dismissLoading();\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 { GcListarAgrupamentosCursosPageRoutingModule } from './gc-listar-agrupamentos-cursos-routing.module';\n\nimport { GcListarAgrupamentosCursosPage } from './gc-listar-agrupamentos-cursos.page';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n GcListarAgrupamentosCursosPageRoutingModule,\n ComponentsModule\n ],\n declarations: [GcListarAgrupamentosCursosPage]\n})\nexport class GcListarAgrupamentosCursosPageModule {}\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"],"sourceRoot":"webpack:///","file":"7786.c793ead6a090acba.js"}