import { HttpClient,HttpHeaders } from '@angular/common/http'; import { ElementRef, Injectable } from '@angular/core'; import { environment } from '../../environments/environment'; import { Combo } from '../model/combo'; import { Observable } from 'rxjs'; import { delegate } from 'utils-decorators'; import { RequestService} from '../model/requestService' import { ResponseService} from '../model/responseService' import {Parametro} from '../model/parametro'; import { UntypedFormBuilder,UntypedFormGroup } from '@angular/forms'; import { BlockService } from '../services/block.service'; type SelectorType = string | HTMLElement | HTMLElement[]; @Injectable({ providedIn: 'root' }) export class GenericService { responseService : ResponseService; constructor( private http: HttpClient, private block: BlockService ) { } executaConsulta(request: RequestService, htmlBlock? : HTMLDivElement) { this.block.block(htmlBlock, 'Carregando dados...'); let headers = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJsbHVpeiIsImV4cCI6MTY2MTgwMjA2OH0.sJRF952n-E2CJelWk6ebzLBHXuV8RReSlTnxy-iwtsEgw5mbD_c9HlEzHiMusKQVla63l6SP4pB4Ytx2g6v7Aw' ,'Access-Control-Allow-Origin': '*' }); return this.http.post(`${environment.urlLocalhostJava}${environment.resourceExecutaConsulta}` ,request ,{headers} ).toPromise().catch( (err) => { let responseService = new ResponseService(); console.log('Erro na genericService: '+err) return responseService; } ).finally(() => { this.block.unblock(htmlBlock, 800); } ); //.subscribe(response => this.response = response); //return this.response; } executaConsultaSub(request: RequestService, htmlBlock? : HTMLDivElement) { debugger; this.block.block(htmlBlock, 'Carregando dados...'); let headers = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJsbHVpeiIsImV4cCI6MTY2MTgwMjA2OH0.sJRF952n-E2CJelWk6ebzLBHXuV8RReSlTnxy-iwtsEgw5mbD_c9HlEzHiMusKQVla63l6SP4pB4Ytx2g6v7Aw' ,'Access-Control-Allow-Origin': '*' }); return this.http.post(`${environment.urlLocalhostJava}${environment.resourceExecutaConsulta}` ,request ,{headers} ); } /* public retornaObjeto(response : ResponseService) : any[] //| any { try{ return response.cursor.map( function(e){return e.registroCursor} ); }catch(e){ console.log(e); } }*/ public retornaObjeto(response : ResponseService) : any{ try{ return response.cursor.map( function(e){return e.registroCursor} ); }catch(e){ console.log(e); } } public retornaObjetoParametro(formBuilder : UntypedFormGroup[]) : Parametro[]{ let objectReturn : Parametro[] = []; let parametro : Parametro = new Parametro(); let contadorParametro : number = 0; for (var x = 0; x