Github user james-sirota commented on a diff in the pull request: https://github.com/apache/metron/pull/788#discussion_r144174823 --- Diff: metron-interface/metron-alerts/src/app/alerts/alert-details/alert-details.component.ts --- @@ -133,6 +173,40 @@ export class AlertDetailsComponent implements OnInit { }); } + onAddComment() { + let alertComment = new AlertComment(this.alertCommentStr, this.authenticationService.getCurrentUserName(), new Date().getTime()); + let tAlertComments = this.alertCommentsWrapper.map(alertsWrapper => alertsWrapper.alertComment); + tAlertComments.unshift(alertComment); + this.patchAlert(new Patch('add', '/comments', tAlertComments)); + } + + patchAlert(patch: Patch) { + let patchRequest = new PatchRequest(); + patchRequest.guid = this.alertSource.guid; + patchRequest.index = this.alertIndex; + patchRequest.patch = [patch]; + patchRequest.sensorType = this.alertSourceType; + + this.updateService.patch(patchRequest).subscribe(() => { + this.getData(); + }); + } + + onDeleteComment(index: number) { + let commentText = 'Do you wish to delete the comment '; + if (this.alertCommentsWrapper[index].alertComment.comment.length > 25 ) { + commentText += ' \'' + this.alertCommentsWrapper[index].alertComment.comment.substr(0, 25) + '...\''; + } else { + commentText += ' \'' + this.alertCommentsWrapper[index].alertComment.comment + '\''; + } + + this.metronDialogBox.showConfirmationMessage(commentText).subscribe(response => { + if (response) { + this.alertCommentsWrapper.splice(index, 1); + this.patchAlert(new Patch('add', '/comments', this.alertCommentsWrapper.map(alertsWrapper => alertsWrapper.alertComment))); --- End diff -- What I would recommend is just to document around potential issues. I think what we have here is fine
---