import { Component, ViewChild, Input} from '@angular/core' import { FormBuilder, Validators } from '@angular/forms' import { CoRequestManagerService } from './co-request-manager.service' import { CoRequestFormComponent } from 'co-request-form/co-request-form' import { BehaviorSubject } from 'rxjs/Rx' @Component({ selector: 'co-request-manager', template: `

Saved Requests


REST Client



Required field
Required field
Save currently entered values as a new request

` }) export class CoRequestManagerComponent { // emit new values when updated @Input() url = ''; @Input() method = 'GET'; @Input() body = '{}'; @Input() headers = {}; @Input() listHeight; @ViewChild(CoRequestFormComponent) coRequestFormComponent: CoRequestFormComponent; public saveRequestForm; public fc; constructor ( private requestManagerService: CoRequestManagerService, private formBuilder: FormBuilder ) {} ngOnInit () { this.saveRequestForm = this.formBuilder.group({ newRequestName: ['', Validators.required], newRequestGroup: ['', Validators.required] }) this.fc = this.saveRequestForm.controls } public selectedRequest ({url, method, body, headers}) { this.url = url this.method = method this.body = body this.headers = headers } public saveNewRequest () { if (!this.saveRequestForm.valid) { alert('name or group is missing') return } let requestData = this.coRequestFormComponent.request() let newRequestNameControl = this.saveRequestForm.controls.newRequestName let newRequestGroupControl = this.saveRequestForm.controls.newRequestGroup this.requestManagerService.saveNewRequest(Object.assign({}, requestData, { name: newRequestNameControl.value, tags: [newRequestGroupControl.value] })) newRequestGroupControl.updateValue('') newRequestNameControl.updateValue('') } }