[AMBARI-25012] Log Search UI: cannot save filters + select all selecting the ovirrides as well (#57)
diff --git a/ambari-logsearch-web/src/app/components/action-menu/action-menu.component.html b/ambari-logsearch-web/src/app/components/action-menu/action-menu.component.html
index f8c65de..acd6504 100644
--- a/ambari-logsearch-web/src/app/components/action-menu/action-menu.component.html
+++ b/ambari-logsearch-web/src/app/components/action-menu/action-menu.component.html
@@ -31,7 +31,7 @@
title="{{'logIndexFilter.title' | translate}}">
<header>
<dropdown-button [options]="clustersListItems$ | async" (selectItem)="onSelectCluster($event)"
- label="{{'logIndexFilter.selectCluster' | translate}}" buttonClass="btn-link"></dropdown-button>
+ label="{{'logIndexFilter.selectCluster' | translate}}" buttonClass="btn-link" (selectItem)="onSelectCluster($event)"></dropdown-button>
</header>
<section>
<p>{{'logIndexFilter.caption' | translate}}</p>
@@ -41,7 +41,7 @@
</section>
<footer>
<button class="btn btn-secondary" (click)="closeLogIndexFilter()">{{'modal.cancel' | translate}}</button>
- <button class="btn btn-primary" (click)="saveLogIndexFilter()" [disabled]="isModalSubmitDisabled">
+ <button class="btn btn-primary" (click)="saveLogIndexFilter()" [disabled]="isModalSubmitDisabled$ | async">
{{'modal.save' | translate}}
</button>
</footer>
diff --git a/ambari-logsearch-web/src/app/components/action-menu/action-menu.component.ts b/ambari-logsearch-web/src/app/components/action-menu/action-menu.component.ts
index cbc35f1..f00eb2d 100644
--- a/ambari-logsearch-web/src/app/components/action-menu/action-menu.component.ts
+++ b/ambari-logsearch-web/src/app/components/action-menu/action-menu.component.ts
@@ -46,8 +46,6 @@
settingsForm: FormGroup = this.settings.settingsFormGroup;
- isModalSubmitDisabled = true;
-
clustersListItems$: Observable<ListItem[]> = this.clustersService.getAll()
.map((clusterNames: string[]): ListItem[] => clusterNames.map(this.utilsService.getListItemFromString))
.map((clusters: ListItem[]) => {
@@ -58,6 +56,7 @@
});
selectedClusterName$: BehaviorSubject<string> = new BehaviorSubject('');
+ isModalSubmitDisabled$: Observable<boolean> = this.selectedClusterName$.map(cluster => !cluster);
destroyed$ = new Subject();
@@ -72,10 +71,7 @@
}
ngOnInit() {
- this.selectedClusterName$.takeUntil(this.destroyed$).subscribe(
- (clusterName: string) => this.setModalSubmitDisabled(!clusterName)
- );
- this.clustersListItems$.filter((items: ListItem[]) => items.some((item: ListItem) => item.isChecked)).first()
+ this.clustersListItems$.filter((items: ListItem[]) => items.some((item: ListItem) => item.isChecked)).take(1)
.map((items: ListItem[]) => items.find((item: ListItem) => item.isChecked))
.subscribe((item) => this.selectedClusterName$.next(item.value));
}
@@ -88,10 +84,6 @@
return this.logsContainerService.captureSeconds;
}
- setModalSubmitDisabled(isDisabled: boolean): void {
- this.isModalSubmitDisabled = isDisabled;
- }
-
refresh(): void {
this.logsContainerService.loadLogs();
}
diff --git a/ambari-logsearch-web/src/app/components/log-index-filter/log-index-filter.component.ts b/ambari-logsearch-web/src/app/components/log-index-filter/log-index-filter.component.ts
index 5ea0803..02e1679 100644
--- a/ambari-logsearch-web/src/app/components/log-index-filter/log-index-filter.component.ts
+++ b/ambari-logsearch-web/src/app/components/log-index-filter/log-index-filter.component.ts
@@ -143,7 +143,7 @@
processAllComponentsForLevel(levelName: LogLevel, isChecked: boolean): void {
this.activeClusterConfigs.forEach((component: LogIndexFilterComponentConfig): void => {
component[levelName].defaults = isChecked;
- component[levelName].overrides = isChecked;
+ component[levelName].overrides = component.hasOverrides && isChecked;
});
this.updateValue();
}