Github user merrimanr commented on a diff in the pull request:

    https://github.com/apache/metron/pull/787#discussion_r144306688
  
    --- Diff: metron-interface/metron-alerts/src/app/service/update.service.ts 
---
    @@ -32,13 +33,31 @@ export class UpdateService {
     
       defaultHeaders = {'Content-Type': 'application/json', 
'X-Requested-With': 'XMLHttpRequest'};
     
    +  alertChangedSource = new Subject<PatchRequest>();
    +  alertChanged$ = this.alertChangedSource.asObservable();
     
       constructor(private http: Http) { }
     
       public patch(patchRequest: PatchRequest): Observable<{}> {
         let url = '/api/v1/update/patch';
    -    return this.http.patch(url, patchRequest, new RequestOptions({headers: 
new Headers(this.defaultHeaders)}))
    -    .catch(HttpUtil.handleError);
    +    let observable = Observable.create((observer => {
    --- End diff --
    
    I'm not suggesting we move the alertChangedSource call to all the 
subscribing components.  Instead you can move that call to a map function 
similar to:
    ```
    this.http.patch(url, patchRequest, new RequestOptions({headers: new 
Headers(this.defaultHeaders)}))
      .catch(HttpUtil.handleError)
      .map(res => {
        this.alertChangedSource.next(patchRequest);
        return res;
      }
     .subscribe(result => reqCompleted(result));
    ```


---

Reply via email to