{"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","STATUS","ATIVO","INATIVO","ctx_r13","ctx_r16","ctx_r21","ctx_r25","ctx_r26","ctx_r27","ctx_r28","routes","cursoService","formacaoService","habilitacaoService","carregarDados","presentLoading","findAll","formacoes","habilitacoes","findByStatus","cursos","displayedCursos","dismissLoading","onFormacaoChange","atualizarFiltroCursos","onHabilitacaoChange","onCursoChange","atualizarCursosExibidos","findByModalidadesAndFormacoesAndHabilitacoes","selectedFormacoes","selectedHabilitacoes","selectedCursos","filter","curso","includes","abrirEmailModal","selectedCurso","isEmailModalOpen","salvarFecharModal","newEmail","emailError","fecharModal","addEmail","validarEmail","emailsSecretaria","push","removerEmail","email","e","removerEmailSalvar","test","capitalize","text","toLowerCase","replace","a","toUpperCase","GcCadastrarDestinatarioEmailPage","ctx","GcCadastrarDestinatarioEmailPageRoutingModule","RouterModule","GcCadastrarDestinatarioEmailPageModule","CommonModule","FormsModule","IonicModule","ComponentsModule","DataSharingService","BehaviorSubject","factory","CursoService","http","insert","cursoDTO","post","API_CONFIG","observe","put","get","findByFilter","filtro","page","pageSize","sort","findByFormacao","idFormacao","idsModalidades","idsFormacoes","idsHabilitacoes","status","delete","getTextoCursosSelecionados","cursosSelecionados","todosCursos","textoCursosSelecionados","habilitacao","nome","b","_a","T","modalidade","_b","O","_c","substring","A","_d","y","_e","D","_f"],"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/status.config.ts","./src/app/pages/modulo-gc/comunicacao/gc-cadastrar-destinatario-email/gc-cadastrar-destinatario-email.page.html","./src/app/pages/modulo-gc/comunicacao/gc-cadastrar-destinatario-email/gc-cadastrar-destinatario-email-routing.module.ts","./src/app/pages/modulo-gc/comunicacao/gc-cadastrar-destinatario-email/gc-cadastrar-destinatario-email.page.ts","./src/app/pages/modulo-gc/comunicacao/gc-cadastrar-destinatario-email/gc-cadastrar-destinatario-email.module.ts","./src/app/services/common/data-sharing.service.ts","./src/app/services/curso/curso.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 STATUS = {\r\n \r\n ATIVO: \"ATIVO\",\r\n INATIVO: \"INATIVO\"\r\n \r\n}","\n\n\n \n DESTINATÁRIOS DE E-MAIL\n \n\n\n \n \n \n \n \n \n Formações\n \n \n {{ capitalize(formacao.nome) }}\n \n \n \n \n\n \n \n Habilitações\n \n \n {{ capitalize(habilitacao.nome) }}\n \n \n \n \n\n \n \n Cursos\n \n \n {{ curso.nome }}\n \n \n \n \n\n \n \n\n \n \n \n \n

{{ curso.nome }}

\n
\n \n {{ email }}\n \n \n
\n

Nenhum email cadastrado

\n
\n Editar Emails\n
\n
\n\n \n \n \n \n Editar Emails - {{ selectedCurso?.nome }}\n \n \n\n \n \n
\n \n \n E-mail\n \n \n \n\n Adicionar\n\n
\n \n\n

Por favor, insira um email válido.

\n\n \n \n {{ email }}\n \n \n \n\n\n
\n \n Sair\n \n \n Salvar\n \n
\n
\n
\n
\n
\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { GcCadastrarDestinatarioEmailPage } from './gc-cadastrar-destinatario-email.page';\n\nconst routes: Routes = [\n {\n path: '',\n component: GcCadastrarDestinatarioEmailPage\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class GcCadastrarDestinatarioEmailPageRoutingModule {}\n","import { Component, OnInit } from \"@angular/core\";\nimport { STATUS } from \"src/app/config/status.config\";\nimport { CursoDTO } from \"src/app/models/curso/cursoDTO\";\nimport { FormacaoDTO } from \"src/app/models/curso/formacaoDTO\";\nimport { HabilitacaoDTO } from \"src/app/models/curso/habilitacaoDTO\";\nimport { ModalidadeDTO } from \"src/app/models/curso/modalidadeDTO\";\nimport { FunctionsService } from \"src/app/services/common/functions.service\";\nimport { CursoService } from \"src/app/services/curso/curso.service\";\nimport { FormacaoService } from \"src/app/services/formacao/formacao.service\";\nimport { HabilitacaoService } from \"src/app/services/habilitacao/habilitacao.service\";\nimport { ModalidadeService } from \"src/app/services/modalidade/modalidade.service\";\n\n\n@Component({\n selector: 'app-gc-cadastrar-destinatario-email',\n templateUrl: './gc-cadastrar-destinatario-email.page.html',\n styleUrls: ['./gc-cadastrar-destinatario-email.page.scss'],\n})\nexport class GcCadastrarDestinatarioEmailPage implements OnInit {\n\n cursos: CursoDTO[] = [];\n formacoes: FormacaoDTO[] = [];\n habilitacoes: HabilitacaoDTO[] = [];\n selectedFormacoes: number[] = [];\n selectedHabilitacoes: number[] = [];\n selectedCursos: number[] = [];\n \n displayedCursos: CursoDTO[] = []; // Cursos exibidos na lista principal\n\n // Variáveis para modal\n isEmailModalOpen = false;\n selectedCurso: CursoDTO | null = null;\n newEmail = '';\n emailError = false;\n\n constructor(\n private functionsService: FunctionsService,\n private cursoService: CursoService,\n private formacaoService: FormacaoService,\n private habilitacaoService: HabilitacaoService\n ) { }\n\n ngOnInit() {\n this.carregarDados();\n }\n\n carregarDados() {\n this.functionsService.presentLoading();\n\n // Carrega Formações\n this.formacaoService.findAll().subscribe({\n next: (formacoes) => this.formacoes = formacoes,\n error: (error) => console.error(error)\n });\n\n // Carrega Habilitações\n this.habilitacaoService.findAll().subscribe({\n next: (habilitacoes) => this.habilitacoes = habilitacoes,\n error: (error) => console.error(error)\n });\n\n // Carrega Cursos\n this.cursoService.findByStatus(STATUS.ATIVO).subscribe({\n next: (cursos) => {\n this.cursos = cursos;\n this.displayedCursos = cursos; // Inicializa a lista exibida\n this.functionsService.dismissLoading();\n },\n error: (error) => {\n console.error(error);\n this.functionsService.dismissLoading();\n }\n });\n }\n\n onFormacaoChange() {\n this.atualizarFiltroCursos();\n }\n\n onHabilitacaoChange() {\n this.atualizarFiltroCursos();\n }\n \n\n onCursoChange() {\n this.atualizarCursosExibidos();\n }\n\n atualizarFiltroCursos() {\n // Chama o método de filtragem para atualizar habilitações e cursos com base nos filtros aplicados\n this.cursoService.findByModalidadesAndFormacoesAndHabilitacoes(\n [],\n this.selectedFormacoes,\n this.selectedHabilitacoes\n ).subscribe({\n next: (cursos) => {\n this.cursos = cursos;\n this.atualizarCursosExibidos(); // Atualiza a lista exibida\n },\n error: (error) => console.error(error)\n });\n }\n\n atualizarCursosExibidos() {\n if (this.selectedCursos.length > 0) {\n // Filtra os cursos exibidos com base nos IDs de cursos selecionados na combo\n this.displayedCursos = this.cursos.filter(curso => this.selectedCursos.includes(curso.id));\n } else {\n // Se não houver seleção, exibe todos os cursos filtrados pela lógica anterior\n this.displayedCursos = this.cursos;\n }\n }\n\n // Métodos do modal\n abrirEmailModal(curso: CursoDTO) {\n this.selectedCurso = curso;\n this.isEmailModalOpen = true;\n }\n\n salvarFecharModal() {\n\n this.functionsService.presentLoading();\n\n this.cursoService.update(this.selectedCurso).subscribe({\n next:(resp)=>{\n\n this.isEmailModalOpen = false;\n this.selectedCurso = null;\n this.newEmail = '';\n this.emailError = false;\n this.functionsService.dismissLoading();\n },\n error:(error)=>{\n console.log(error);\n this.functionsService.dismissLoading();\n }\n }); \n }\n\n\n fecharModal() {\n\n this.isEmailModalOpen = false;\n this.selectedCurso = null;\n this.newEmail = '';\n this.emailError = false;\n \n this.carregarDados();\n }\n\n\n\n\n addEmail() {\n if (this.validarEmail(this.newEmail) && this.selectedCurso) {\n if (!this.selectedCurso.emailsSecretaria) {\n this.selectedCurso.emailsSecretaria = [];\n }\n if (!this.selectedCurso.emailsSecretaria.includes(this.newEmail)) {\n this.selectedCurso.emailsSecretaria.push(this.newEmail);\n this.newEmail = '';\n this.emailError = false;\n }\n } else {\n this.emailError = true;\n }\n }\n\n removerEmail(curso: CursoDTO, email: string) {\n curso.emailsSecretaria = curso.emailsSecretaria.filter(e => e !== email);\n }\n\n removerEmailSalvar(curso: CursoDTO, email: string) {\n \n this.functionsService.presentLoading();\n\n curso.emailsSecretaria = curso.emailsSecretaria.filter(e => e !== email);\n\n this.cursoService.update(curso).subscribe({\n next:(resp)=>{\n this.functionsService.dismissLoading();\n },\n error:(error)=>{\n console.log(error);\n this.functionsService.dismissLoading();\n }\n }); \n }\n\n\n validarEmail(email: string): boolean {\n const emailPattern = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n return emailPattern.test(email);\n }\n\n\n capitalize(text: string): string {\n return text.toLowerCase().replace(/(?:^|\\s)\\S/g, (a) => a.toUpperCase());\n }\n\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { IonicModule } from '@ionic/angular';\n\nimport { GcCadastrarDestinatarioEmailPageRoutingModule } from './gc-cadastrar-destinatario-email-routing.module';\n\nimport { GcCadastrarDestinatarioEmailPage } from './gc-cadastrar-destinatario-email.page';\nimport { ComponentsModule } from 'src/app/components/components.module';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n ComponentsModule,\n GcCadastrarDestinatarioEmailPageRoutingModule\n ],\n declarations: [GcCadastrarDestinatarioEmailPage]\n})\nexport class GcCadastrarDestinatarioEmailPageModule {}\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 { HttpClient } from '@angular/common/http';\nimport { CursoDTO } from '../../models/curso/cursoDTO';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { API_CONFIG } from './../../config/api.config';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CursoService {\n\n constructor(private http: HttpClient){ \n }\n\n insert(cursoDTO: CursoDTO) : Observable {\n \n\n return this.http.post( API_CONFIG.apiURL+'/cursos'\n , cursoDTO\n , { observe: 'response' }); //.pipe(timeout(100000))\n\n }\n\n update(cursoDTO: CursoDTO) : Observable {\n \n return this.http.put( API_CONFIG.apiURL+'/cursos/' + cursoDTO.id\n , cursoDTO\n , { observe: 'response' });\n\n }\n\n\n findAll() : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/cursos');\n\n }\n\n findByFilter(filtro: string, page: number, pageSize: number, sort: string = 'ASC') : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/cursos/findByFilter?filter='+filtro+'&page='+page+'&size='+pageSize+'&sort='+sort);\n\n }\n\n findByFormacao(idFormacao: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/cursos/findByFormacao?idFormacao='+idFormacao);\n\n }\n\n findByModalidadesAndFormacoesAndHabilitacoes(idsModalidades: number[], idsFormacoes: number[], idsHabilitacoes: number[]) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/cursos/findByModalidadesAndFormacoesAndHabilitacoes?idsModalidades='+idsModalidades+'&idsFormacoes='+idsFormacoes+'&idsHabilitacoes='+idsHabilitacoes);\n\n }\n\n findByStatus(status: string) : Observable {\n \n return this.http.get( API_CONFIG.apiURL+'/cursos/findByStatus?status='+status);\n\n }\n\n \n find(id: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/cursos/' + id);\n\n }\n\n delete(id: number) : Observable {\n\n return this.http.delete( `${API_CONFIG.apiURL}${'/cursos/'}${id}`);\n\n }\n\n\n getTextoCursosSelecionados(cursosSelecionados: CursoDTO[], todosCursos: CursoDTO[]){\n\n if(cursosSelecionados.length==0){\n\n return 'Nenhum curso selecionado';\n\n }else if(cursosSelecionados.length==todosCursos.length){\n \n return 'Todos os cursos';\n \n }else if(cursosSelecionados.length<4){\n \n let textoCursosSelecionados = '';\n for(var i=0; i