You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metron.apache.org by sa...@apache.org on 2019/05/16 16:03:11 UTC
[metron] branch master updated: METRON-2058 UI: Actions ->
Add to Alert can still be selected from dropdown when no alerts are
selected. (ruffle1986 via sardell) closes apache/metron#1373
This is an automated email from the ASF dual-hosted git repository.
sardell pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/metron.git
The following commit(s) were added to refs/heads/master by this push:
new 2653157 METRON-2058 UI: Actions -> Add to Alert can still be selected from dropdown when no alerts are selected. (ruffle1986 via sardell) closes apache/metron#1373
2653157 is described below
commit 2653157862740fc05ce8b3a8dcf4745a9f996c23
Author: ruffle1986 <ft...@gmail.com>
AuthorDate: Thu May 16 18:02:30 2019 +0200
METRON-2058 UI: Actions -> Add to Alert can still be selected from dropdown when no alerts are selected. (ruffle1986 via sardell) closes apache/metron#1373
---
.../alerts/alerts-list/alerts-list.component.html | 10 ++--
.../alerts/alerts-list/alerts-list.component.ts | 61 ++++++++++++++--------
2 files changed, 45 insertions(+), 26 deletions(-)
diff --git a/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.html b/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.html
index a02147f..9f12cbd 100644
--- a/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.html
+++ b/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.html
@@ -57,11 +57,11 @@
<div id="table-actions" class="dropdown d-inline-block">
<button class="btn btn-primary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">ACTIONS</button>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenuButton">
- <span class="dropdown-item" [class.disabled]="selectedAlerts.length == 0" (click)="processOpen()">Open</span>
- <span class="dropdown-item" [class.disabled]="selectedAlerts.length == 0" (click)="processDismiss()">Dismiss</span>
- <span class="dropdown-item" [class.disabled]="selectedAlerts.length == 0" (click)="processEscalate()">Escalate</span>
- <span class="dropdown-item" [class.disabled]="selectedAlerts.length == 0" (click)="processResolve()">Resolve</span>
- <span class="dropdown-item" [class.disabled]="selectedAlerts.length == 0 || isMetaAlertPresentInSelectedAlerts" (click)="processAddToAlert()">Add to Alert</span>
+ <span class="dropdown-item" [class.disabled]="selectedAlerts.length == 0" (click)="processOpen($event)">Open</span>
+ <span class="dropdown-item" [class.disabled]="selectedAlerts.length == 0" (click)="processDismiss($event)">Dismiss</span>
+ <span class="dropdown-item" [class.disabled]="selectedAlerts.length == 0" (click)="processEscalate($event)">Escalate</span>
+ <span class="dropdown-item" [class.disabled]="selectedAlerts.length == 0" (click)="processResolve($event)">Resolve</span>
+ <span class="dropdown-item" [class.disabled]="selectedAlerts.length == 0 || isMetaAlertPresentInSelectedAlerts" (click)="processAddToAlert($event)">Add to Alert</span>
</div>
</div>
</div>
diff --git a/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.ts b/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.ts
index 87c5aaa..26b472d 100644
--- a/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.ts
+++ b/metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.ts
@@ -314,35 +314,54 @@ export class AlertsListComponent implements OnInit, OnDestroy {
this.prepareColumnData(tableMetaData.tableColumns, defaultColumns);
}
- processEscalate() {
- this.updateService.updateAlertState(this.selectedAlerts, 'ESCALATE', false).subscribe(() => {
- const alerts = [...this.selectedAlerts];
- this.updateSelectedAlertStatus('ESCALATE');
- this.alertsService.escalate(alerts).subscribe();
- });
+ preventDropdownOptionIfDisabled(event: Event): boolean {
+ if ((event.target as HTMLElement).classList.contains('disabled')) {
+ event.stopPropagation();
+ event.preventDefault();
+ return false;
+ }
+ return true
}
- processDismiss() {
- this.updateService.updateAlertState(this.selectedAlerts, 'DISMISS', false).subscribe(results => {
- this.updateSelectedAlertStatus('DISMISS');
- });
+ processEscalate(event: Event) {
+ if (this.preventDropdownOptionIfDisabled(event) === true) {
+ this.updateService.updateAlertState(this.selectedAlerts, 'ESCALATE', false).subscribe(() => {
+ const alerts = [...this.selectedAlerts];
+ this.updateSelectedAlertStatus('ESCALATE');
+ this.alertsService.escalate(alerts).subscribe();
+ });
+ }
}
- processOpen() {
- this.updateService.updateAlertState(this.selectedAlerts, 'OPEN', false).subscribe(results => {
- this.updateSelectedAlertStatus('OPEN');
- });
+ processDismiss(event: Event) {
+ if (this.preventDropdownOptionIfDisabled(event) === true) {
+ this.updateService.updateAlertState(this.selectedAlerts, 'DISMISS', false).subscribe(results => {
+ this.updateSelectedAlertStatus('DISMISS');
+ });
+ }
}
- processResolve() {
- this.updateService.updateAlertState(this.selectedAlerts, 'RESOLVE', false).subscribe(results => {
- this.updateSelectedAlertStatus('RESOLVE');
- });
+ processOpen(event: Event) {
+ if (this.preventDropdownOptionIfDisabled(event) === true) {
+ this.updateService.updateAlertState(this.selectedAlerts, 'OPEN', false).subscribe(results => {
+ this.updateSelectedAlertStatus('OPEN');
+ });
+ }
+ }
+
+ processResolve(event: Event) {
+ if (this.preventDropdownOptionIfDisabled(event) === true) {
+ this.updateService.updateAlertState(this.selectedAlerts, 'RESOLVE', false).subscribe(results => {
+ this.updateSelectedAlertStatus('RESOLVE');
+ });
+ }
}
- processAddToAlert() {
- this.metaAlertsService.selectedAlerts = this.selectedAlerts;
- this.router.navigateByUrl('/alerts-list(dialog:add-to-meta-alert)');
+ processAddToAlert(event: Event) {
+ if (this.preventDropdownOptionIfDisabled(event) === true) {
+ this.metaAlertsService.selectedAlerts = this.selectedAlerts;
+ this.router.navigateByUrl('/alerts-list(dialog:add-to-meta-alert)');
+ }
}
removeFilter(field: string) {