{"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","TIPO_SEXO","Masculino","Feminino","NAO_BINARIO","CandidatoService","http","candidatoDTO","put","API_CONFIG","observe","findAll","get","findByFilter","filtro","page","pageSize","sort","findByFilter2","filtroTexto","vestibularOnline","vestibularPresencial","enem","transferenciaExterna","reingresso","portadorDiploma","idsCursos","dataInscricaoInicial","dataInscricaoFinal","findByCPF","cpf","findByEmail","email","factory","EstadoService","sigla","ctx_r10","ctx_r22","ctx_r35","ctx_r37","routes","candidatoService","activatedRoute","estadoService","arquivoService","permissaoAcessoService","CandidatoDTO","TIPO_TELEFONE","candidato","endereco","EnderecoDTO","estado","EstadoDTO","ionViewWillEnter","presentLoading","checkAccessControl","queryParams","param","respCandidato","dataNascimentoFormatada","formatDate","dataNascimento","dataEmissaoRGFormatada","dataEmissaoRg","dismissLoading","errorCandidato","canCreateAndEdit","window","href","canCreateEdit","setCelPhoneMask","setPhoneMask","setCEPMask","setDateMask","setCPFMask","date","getDateBrPattern","setBirthDate","showAlert","text","handler","arrDataNascimento","split","dia","parseInt","mes","ano","getFullYear","setDate","setMonth","setFullYear","setRGIssueDate","arrDataEmissao","dataEmissao","validateCPF","documento","validateEmail","validadeUF","e","quit","navigate","disableSave","nome","sobrenome","rg","orgaoEmissorRg","logradouro","bairro","cidade","cep","save","getFilePublicURL","fullPath","fileName","uploadAvatar","fileLoader","that","onchange","avatar","files","upload","ENTIDADE","DIRETORIO","arquivoAvatar","body","click","GcEditarCandidatoPage","ctx","GcEditarCandidatoPageRoutingModule","RouterModule","GcEditarCandidatoPageModule","CommonModule","FormsModule","IonicModule","ComponentsModule","DataSharingService","BehaviorSubject"],"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/config/tipo-sexo.config.ts","./src/app/models/estadoDTO.ts","./src/app/models/vestibular/candidatoDTO.ts","./src/app/models/enderecoDTO.ts","./src/app/services/candidato/candidato.service.ts","./src/app/services/estado/estado.service.ts","./src/app/pages/modulo-gc/vestibular/gc-editar-candidato/gc-editar-candidato.page.html","./src/app/pages/modulo-gc/vestibular/gc-editar-candidato/gc-editar-candidato-routing.module.ts","./src/app/pages/modulo-gc/vestibular/gc-editar-candidato/gc-editar-candidato.page.ts","./src/app/pages/modulo-gc/vestibular/gc-editar-candidato/gc-editar-candidato.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","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}","export const TIPO_SEXO = {\r\n \r\n Masculino: \"Masculino\",\r\n Feminino: \"Feminino\",\r\n NAO_BINARIO: \"NAO_BINARIO\"\r\n \r\n}","export class EstadoDTO{\r\n\r\n id!: number;\r\n nome!: string;\r\n sigla!: string;\r\n \r\n}","import { ArquivoDTO } from '../arquivoDTO';\r\nimport { TelefoneDTO } from '../telefoneDTO';\r\nimport { EnderecoDTO } from '../enderecoDTO';\r\nexport class CandidatoDTO{\r\n\r\n id!: number;\r\n tituloSocial!: string;\r\n nome!: string;\r\n sobrenome!: string;\r\n ativarNomeSocial!: boolean;\r\n nomeSocial!:string;\r\n email!: string;\r\n dataNascimento!: Date;\r\n tipoDocumento!: string;\r\n documento!: string;\r\n rg!: string;\r\n orgaoEmissorRg: string;\r\n dataEmissaoRg!: Date;\r\n endereco!: EnderecoDTO;\r\n telefones!: TelefoneDTO[];\r\n pcdVisual!: boolean;\r\n\tpcdAuditiva!: boolean;\r\n\tpcdMotora!: boolean;\r\n\tpcdMental!: boolean;\r\n sexo!: string;\r\n raca!: string;\r\n arquivoAvatar!: ArquivoDTO;\r\n dataInicioRegistro!: Date;\r\n dataGravacaoRegistro!: Date;\r\n \r\n}","import { EstadoDTO } from './estadoDTO';\r\n\r\nexport class EnderecoDTO{\r\n\r\n id!: number;\r\n logradouro!: string;\r\n numero!: string;\r\n complemento!: string;\r\n bairro!: string;\r\n cidade!: string;\r\n estado!: EstadoDTO;\r\n cep!: string;\r\n}","import { API_CONFIG } from './../../config/api.config';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { CandidatoDTO } from '../../models/vestibular/candidatoDTO';\nimport { Router } from '@angular/router';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CandidatoService {\n\n constructor( private http: HttpClient ) { }\n\n\n\n\n update(candidatoDTO: CandidatoDTO) : Observable {\n\n return this.http.put( API_CONFIG.apiURL+'/candidatos/' + candidatoDTO.id\n , candidatoDTO\n , { observe: 'response' });\n\n\n }\n\n\n\n findAll() : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/candidatos');\n\n }\n\n\n findByFilter(filtro: string, page: number, pageSize: number, sort: string = 'ASC') : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/candidatos/findByFilter?filtro='+filtro+'&page='+page+'&size='+pageSize+'&sort='+sort);\n\n }\n\n\n findByFilter2( filtroTexto: string\n , vestibularOnline: boolean\n , vestibularPresencial: boolean\n , enem: boolean\n , transferenciaExterna: boolean\n , reingresso: boolean\n , portadorDiploma: boolean\n , idsCursos: number[]\n , dataInscricaoInicial: Date\n , dataInscricaoFinal: Date\n , page: number\n , pageSize: number\n , sort: string = 'ASC') : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/candidatos/findByFilter2?filtroTexto='+filtroTexto+\n '&vestibularOnline='+vestibularOnline+\n '&vestibularPresencial='+vestibularPresencial+\n '&enem='+enem+\n '&transferenciaExterna='+transferenciaExterna+\n '&reingresso='+reingresso+\n '&portadorDiploma='+portadorDiploma+\n '&idsCursos='+idsCursos+\n '&dataInscricaoInicial='+dataInscricaoInicial+\n '&dataInscricaoFinal='+dataInscricaoFinal+\n '&page='+page+'&size='+pageSize+'&sort='+sort);\n\n }\n\n\n find(id: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/candidatos/' + id);\n\n }\n\n\n findByCPF(cpf: string) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/candidatos/findByCPF?cpf=' + cpf);\n\n }\n\n\n findByEmail(email: string) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/candidatos/findByEmail?email=' + email);\n\n }\n\n\n}\n","import { Observable } from 'rxjs/internal/Observable';\nimport { EstadoDTO } from './../../models/estadoDTO';\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 EstadoService {\n\n constructor(private http: HttpClient) { }\n\n find(sigla: string) : Observable {\n \n return this.http.get( API_CONFIG.apiURL+'/estados/'+sigla);\n \n\n }\n\n}\n","\n\n\n\n \n\n \n \n \n\n \n \n \n \n\n\n \n CADASTRO DE CANDIDATO\n \n\n \n\n \n \n\n \n \n Foto \n \n \n
\n \n \n \n \n\n Editar\n\n \n\n
\n
\n\n \n \n\n \n \n Dados Pessoais \n \n \n
\n \n \n\n Nome\n \n \n\n \n\n Sobrenome\n \n \n \n\n \n\n Nome Social\n \n \n \n\n \n \n\n Data de Nascimento\n \n \n \n\n \n \n \n  Feminino\n \n \n \n \n  Masculino\n \n \n\n
\n
\n\n \n \n\n \n \n Documentos \n \n \n
\n \n \n\n CPF\n \n \n \n\n \n
\n
\n \n \n RG\n \n \n\n
\n
\n \n Emissor\n \n \n
\n
\n \n Data de Emissão\n \n\n \n
\n \n
\n\n \n \n\n
\n
\n\n \n \n\n \n \n Contatos \n \n \n
\n\n \n \n \n Email\n \n \n \n \n
\n \n \n Telefone Celular\n
\n \n \n
\n \n
\n
\n \n
\n
\n \n
\n \n \n Telefone Fixo\n
\n \n
\n \n \n
\n
\n \n
\n
\n\n
\n
\n\n \n \n\n \n \n Endereço \n \n \n
\n\n \n
\n
\n \n \n Logradouro\n \n \n\n
\n
\n \n Número\n \n \n
\n
\n \n Complemento\n \n \n
\n
\n \n \n \n \n Bairro\n \n \n \n\n \n
\n
\n\n \n Cidade\n \n \n \n
\n
\n \n \n UF\n \n \n
\n
\n\n
\n \n \n \n \n CEP\n \n \n \n \n \n\n
\n
\n \n
\n\n\n \n \n \n \n \n Voltar  \n \n \n \n\n \n \n Salvar  \n \n \n \n \n \n \n\n\n
\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { GcEditarCandidatoPage } from './gc-editar-candidato.page';\n\nconst routes: Routes = [\n {\n path: '',\n component: GcEditarCandidatoPage\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class GcEditarCandidatoPageRoutingModule {}\n","import { PermissaoAcessoService } from '../../../../services/permissao-acesso/permissao-acesso.service';\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 { API_CONFIG } from 'src/app/config/api.config';\nimport { IonInput } from '@ionic/angular';\nimport { StorageService } from '../../../../services/storage/storage.service';\nimport { TIPO_SEXO } from '../../../../config/tipo-sexo.config';\nimport { EstadoDTO } from '../../../../models/estadoDTO';\nimport { EstadoService } from '../../../../services/estado/estado.service';\nimport { TIPO_TELEFONE } from '../../../../config/tipo-telefone.config';\nimport { CandidatoDTO } from '../../../../models/vestibular/candidatoDTO';\nimport { ActivatedRoute } from '@angular/router';\nimport { FunctionsService } from '../../../../services/common/functions.service';\nimport { CandidatoService } from '../../../../services/candidato/candidato.service';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { EnderecoDTO } from 'src/app/models/enderecoDTO';\n\n@Component({\n selector: 'app-gc-editar-candidato',\n templateUrl: './gc-editar-candidato.page.html',\n styleUrls: ['./gc-editar-candidato.page.scss'],\n})\nexport class GcEditarCandidatoPage implements OnInit {\n\n canCreateEdit: boolean;\n \n candidato: CandidatoDTO = new CandidatoDTO();\n dataNascimentoFormatada: string = '';\n dataEmissaoRGFormatada: string = '';\n\n TELEFONE_CELULAR = TIPO_TELEFONE.CELULAR;\n TELEFONE_FIXO = TIPO_TELEFONE.FIXO;\n\n FEMININO = TIPO_SEXO.Feminino;\n MASCULINO = TIPO_SEXO.Masculino;\n \n constructor( private candidatoService: CandidatoService \n , private functionsService: FunctionsService\n , private activatedRoute: ActivatedRoute\n , private estadoService: EstadoService\n , private arquivoService: ArquivoService\n , private permissaoAcessoService: PermissaoAcessoService ) { \n\n \n this.candidato.endereco = new EnderecoDTO(); \n this.candidato.endereco.estado = new EstadoDTO(); \n \n }\n\n ngOnInit() {\n }\n\n ionViewWillEnter(){\n \n this.functionsService.presentLoading();\n\n //verificar as permissões de acesso\n this.checkAccessControl();\n\n this.activatedRoute.queryParams.subscribe({\n next: (param)=>{\n \n if(param.id){\n\n this.candidatoService.find(param.id).subscribe({\n next: (respCandidato)=>{\n\n this.candidato = respCandidato;\n\n this.dataNascimentoFormatada = this.formatDate(this.candidato.dataNascimento);\n this.dataEmissaoRGFormatada = this.formatDate(this.candidato.dataEmissaoRg);\n\n this.functionsService.dismissLoading();\n\n },\n error: (errorCandidato)=>{\n console.log(errorCandidato);\n this.functionsService.dismissLoading();\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 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 \n\n }\n\n setCelPhoneMask(event){\n this.functionsService.setCelPhoneMask(event, '00000-0000');\n }\n\n\n setPhoneMask(event){\n this.functionsService.setPhoneMask(event, '0000-0000'); \n }\n\n setCEPMask(event){\n this.functionsService.setCEPMask(event); \n }\n\n\n setDateMask(event){\n this.functionsService.setDateMask(event, 'dd/MM/yyyy'); \n }\n\n setCPFMask(event){\n this.functionsService.setCPFMask(event); \n }\n\n formatDate(date: Date){\n return this.functionsService.getDateBrPattern(date); \n }\n\n setBirthDate(){\n\n if(this.dataNascimentoFormatada.length<10){\n this.functionsService.showAlert( 'Atenção!'\n , 'Data inválida!'\n , [{ \n text: 'Ok',\n handler: () => {\n this.dataNascimentoFormatada = '';\n }\n }] );\n return; \n }\n\n //divide a data em um array de 3 posições\n let arrDataNascimento = this.dataNascimentoFormatada.split('/');\n const dia = parseInt(arrDataNascimento[0]);\n const mes = parseInt(arrDataNascimento[1]);\n const ano = parseInt(arrDataNascimento[2]);\n \n if( (dia>31 || mes>12 || ano>new Date().getFullYear()) ||\n (dia===31 && [1,3,5,7,8,10,12].indexOf(mes)===-1) ){\n\n this.functionsService.showAlert( 'Atenção!'\n , 'Data inválida!'\n , [{ \n text: 'Ok',\n handler: () => {\n this.dataNascimentoFormatada = '';\n }\n }] );\n return;\n\n }\n\n let dataNascimento = new Date();\n dataNascimento.setDate(dia);\n dataNascimento.setMonth(mes-1);\n dataNascimento.setFullYear(ano);\n\n this.candidato.dataNascimento = dataNascimento;\n }\n\n setRGIssueDate(){\n\n if(this.dataEmissaoRGFormatada.length<10){\n this.functionsService.showAlert( 'Atenção!'\n , 'Data inválida!'\n , [{ \n text: 'Ok',\n handler: () => {\n this.dataEmissaoRGFormatada = '';\n }\n }] );\n return; \n }\n\n //divide a data em um array de 3 posições\n let arrDataEmissao = this.dataEmissaoRGFormatada.split('/');\n const dia = parseInt(arrDataEmissao[0]);\n const mes = parseInt(arrDataEmissao[1]);\n const ano = parseInt(arrDataEmissao[2]);\n \n if( (dia>31 || mes>12 || ano>new Date().getFullYear()) ||\n (dia===31 && [1,3,5,7,8,10,12].indexOf(mes)===-1) ){\n\n this.functionsService.showAlert( 'Atenção!'\n , 'Data inválida!'\n , [{ \n text: 'Ok',\n handler: () => {\n this.dataEmissaoRGFormatada = '';\n }\n }] );\n return;\n\n }\n\n let dataEmissao = new Date();\n dataEmissao.setDate(dia);\n dataEmissao.setMonth(mes-1);\n dataEmissao.setFullYear(ano);\n\n this.candidato.dataEmissaoRg = dataEmissao;\n }\n\n\n validateCPF(){\n if(!this.functionsService.validateCPF(this.candidato.documento)){\n \n this.functionsService.showAlert( 'Atenção!'\n , 'O CPF ' + this.candidato.documento + ' é inválido.'\n , [{ \n text: 'Ok',\n handler: () => {\n this.candidato.documento = '';\n }\n }]);\n \n \n }else{\n\n this.functionsService.presentLoading();\n this.candidatoService.findByCPF(this.candidato.documento).subscribe({\n next:(resp)=>{\n this.functionsService.dismissLoading();\n \n for(var i=0; i {\n this.candidato.documento = '';\n }\n }]);\n \n break;\n }\n\n }\n \n \n },\n error: (error)=>{\n this.functionsService.dismissLoading();\n }\n });\n }\n }\n\n\n\n validateEmail(){\n \n\n this.functionsService.presentLoading();\n this.candidatoService.findByEmail(this.candidato.email).subscribe({\n next:(resp)=>{\n this.functionsService.dismissLoading();\n \n if(resp.id !== this.candidato.id){\n \n this.functionsService.showAlert( 'Atenção!'\n , 'O email ' + this.candidato.email + ' já está cadastrado para outro candidato!'\n , [{ \n text: 'Ok',\n handler: () => {\n this.candidato.email = '';\n }\n }]);\n }\n \n \n },\n error: (error)=>{\n this.functionsService.dismissLoading();\n }\n });\n \n \n }\n\n\n\n validadeUF(){\n \n \n\n const sigla = this.candidato.endereco.estado.sigla;\n\n if(sigla===''){\n return;\n }\n\n this.functionsService.presentLoading('');\n\n this.estadoService.find(sigla).subscribe(\n resp=>{\n\n this.functionsService.dismissLoading();\n \n\n },\n error=>{\n\n this.functionsService.dismissLoading();\n\n if(error.error.error==='Not Found'){\n this.functionsService.showAlert('Atenção','A UF ' + sigla + ' é inválida!',['Ok']);\n \n }else{\n this.functionsService.showAlert('Atenção!','Estamos com dificuldades para validar esta informação.
Por favor, tente novamente.',['Ok']);\n \n }\n \n this.candidato.endereco.estado.sigla = '';\n }\n );\n }\n\n\n\n async quit(){\n this.functionsService.navigate('/modulo-gc/gc-listar-candidatos');\n }\n\n disableSave(): boolean{\n\n if(!this.candidato.nome ||\n !this.candidato.sobrenome ||\n !this.candidato.dataNascimento ||\n !this.candidato.documento ||\n !this.candidato.rg ||\n !this.candidato.dataEmissaoRg ||\n !this.candidato.orgaoEmissorRg ||\n !this.candidato.email ||\n !this.candidato.endereco.logradouro ||\n !this.candidato.endereco.bairro ||\n !this.candidato.endereco.cidade ||\n !this.candidato.endereco.cep ||\n !this.candidato.endereco.estado){\n\n return true;\n }\n\n return false;\n\n }\n\n save(){\n\n \n this.functionsService.presentLoading();\n\n this.candidatoService.update(this.candidato).subscribe(\n resp=>{\n this.functionsService.dismissLoading();\n \n this.functionsService.showAlert( 'Sucesso!'\n , 'Dados salvos com sucesso!'\n , ['Ok'] );\n },\n error=>{\n this.functionsService.dismissLoading();\n console.log(error);\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 uploadAvatar(fileLoader: HTMLInputElement){\n\n let that = this;\n\n fileLoader.onchange = function () {\n\n let avatar = fileLoader.files[0];\n \n that.functionsService.presentLoading();\n \n that.arquivoService.upload( avatar\n , ENTIDADE.CANDIDATO\n , that.candidato.id\n , DIRETORIO.AVATAR\n , TIPO_ARQUIVO.IMAGEM ).subscribe(\n resp=>{\n\n //Salva apenas na variável local. Para efetivar o processo tem que acionar o botão salvar \n that.candidato.arquivoAvatar = resp.body;\n that.functionsService.dismissLoading();\n\n },\n error=>{\n console.log(error);\n that.functionsService.dismissLoading();\n }\n );\n \n }\n\n fileLoader.click();\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 { GcEditarCandidatoPageRoutingModule } from './gc-editar-candidato-routing.module';\n\nimport { GcEditarCandidatoPage } from './gc-editar-candidato.page';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n GcEditarCandidatoPageRoutingModule,\n ComponentsModule\n ],\n declarations: [GcEditarCandidatoPage]\n})\nexport class GcEditarCandidatoPageModule {}\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":"2999.7816f1677ddb95c3.js"}