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)); ```
---