diff --git a/quartz-manager-frontend/src/app/components/simple-trigger-config/simple-trigger-config.component.spec.ts b/quartz-manager-frontend/src/app/components/simple-trigger-config/simple-trigger-config.component.spec.ts index 1f66f48..d186a80 100644 --- a/quartz-manager-frontend/src/app/components/simple-trigger-config/simple-trigger-config.component.spec.ts +++ b/quartz-manager-frontend/src/app/components/simple-trigger-config/simple-trigger-config.component.spec.ts @@ -222,6 +222,13 @@ describe('SimpleTriggerConfig', () => { const componentDe: DebugElement = fixture.debugElement; const submitButton = componentDe.query(By.css('form button[color="primary"]')); expect(submitButton.nativeElement.textContent.trim()).toEqual('Submit'); + + expect(component.simpleTriggerReactiveForm.value.triggerName).toBeNull(); + + }); + + it('should reset the form when a new trigger is selected', () => { + }); it('should display the warning if there are no eligible jobs', () => { diff --git a/quartz-manager-frontend/src/app/components/simple-trigger-config/simple-trigger-config.component.ts b/quartz-manager-frontend/src/app/components/simple-trigger-config/simple-trigger-config.component.ts index 15bd6db..000d7a4 100644 --- a/quartz-manager-frontend/src/app/components/simple-trigger-config/simple-trigger-config.component.ts +++ b/quartz-manager-frontend/src/app/components/simple-trigger-config/simple-trigger-config.component.ts @@ -34,9 +34,8 @@ export class SimpleTriggerConfigComponent implements OnInit { scheduler: Scheduler; - triggerLoading = true; + triggerLoading = false; - private fetchedTriggers = false; private triggerInProgress = false; private selectedTriggerKey: TriggerKey; @@ -64,6 +63,9 @@ export class SimpleTriggerConfigComponent implements OnInit { } openTriggerForm() { + // this.selectedTriggerKey = null; + // this.trigger = null; + // this.simpleTriggerReactiveForm.setValue(new SimpleTriggerReactiveForm()); this.enabledTriggerForm = true; } @@ -73,13 +75,26 @@ export class SimpleTriggerConfigComponent implements OnInit { @Input() set triggerKey(triggerKey: TriggerKey) { - if (!this.selectedTriggerKey || this.selectedTriggerKey.name !== triggerKey.name){ + if (!triggerKey) { + this.selectedTriggerKey = null; + this.trigger = null; + this.simpleTriggerReactiveForm.reset(new SimpleTriggerReactiveForm()); + } else if (!this.selectedTriggerKey || this.selectedTriggerKey.name !== triggerKey.name) { + this._resetTheTrigger(); this.selectedTriggerKey = {...triggerKey} as TriggerKey; this.fetchSelectedTrigger(); } + this.openTriggerForm(); } + private _resetTheTrigger() { + this.trigger = null; + this.triggerInProgress = false; + this.selectedTriggerKey = null; + this.simpleTriggerReactiveForm.reset(new SimpleTriggerReactiveForm()); + } + fetchSelectedTrigger = () => { this.triggerLoading = true; this.schedulerService.getSimpleTriggerConfig(this.selectedTriggerKey.name) @@ -105,13 +120,13 @@ export class SimpleTriggerConfigComponent implements OnInit { this.schedulerService.updateSimpleTriggerConfig : this.schedulerService.saveSimpleTriggerConfig; const simpleTriggerCommand = this._fromReactiveFormToCommand(); + this.triggerLoading = true; schedulerServiceCall(simpleTriggerCommand) .subscribe((retTrigger: SimpleTrigger) => { this.trigger = retTrigger; this.simpleTriggerReactiveForm.setValue(this._fromTriggerToReactiveForm(retTrigger)); - this.fetchedTriggers = true; this.triggerInProgress = this.trigger.mayFireAgain; if (schedulerServiceCall === this.schedulerService.saveSimpleTriggerConfig) { @@ -121,7 +136,7 @@ export class SimpleTriggerConfigComponent implements OnInit { this.closeTriggerForm(); }, error => { this.simpleTriggerReactiveForm.setValue(this._fromTriggerToReactiveForm(this.trigger)); - }); + }, () => {this.triggerLoading = true}); } diff --git a/quartz-manager-frontend/src/app/components/trigger-list/trigger-list.component.html b/quartz-manager-frontend/src/app/components/trigger-list/trigger-list.component.html index 88677dd..7718dfb 100644 --- a/quartz-manager-frontend/src/app/components/trigger-list/trigger-list.component.html +++ b/quartz-manager-frontend/src/app/components/trigger-list/trigger-list.component.html @@ -9,7 +9,9 @@ + [ngClass]="{'selectedTrigger': selectedTrigger && selectedTrigger.name==triggerKey.name}" + (click)="selectTrigger(triggerKey)" + > {{ triggerKey.name }} diff --git a/quartz-manager-frontend/src/app/components/trigger-list/trigger-list.component.ts b/quartz-manager-frontend/src/app/components/trigger-list/trigger-list.component.ts index 14e784c..3a41163 100644 --- a/quartz-manager-frontend/src/app/components/trigger-list/trigger-list.component.ts +++ b/quartz-manager-frontend/src/app/components/trigger-list/trigger-list.component.ts @@ -81,11 +81,12 @@ export class TriggerListComponent implements OnInit { } onNewTriggerBtnClicked() { - if (this.getTriggerKeyList() && this.getTriggerKeyList().length > 0) { - this.dialog.open(UnsupportedMultipleJobsDialog) - } else { - this.onNewTriggerClicked.emit(); - } + this.onNewTriggerClicked.emit(); + // if (this.getTriggerKeyList() && this.getTriggerKeyList().length > 0) { + // this.dialog.open(UnsupportedMultipleJobsDialog) + // } else { + // this.onNewTriggerClicked.emit(); + // } } onNewTrigger(newTrigger: SimpleTrigger) { diff --git a/quartz-manager-frontend/src/app/views/manager/manager.component.ts b/quartz-manager-frontend/src/app/views/manager/manager.component.ts index 01ce9f1..8c010dd 100644 --- a/quartz-manager-frontend/src/app/views/manager/manager.component.ts +++ b/quartz-manager-frontend/src/app/views/manager/manager.component.ts @@ -32,7 +32,8 @@ export class ManagerComponent implements OnInit { } onNewTriggerRequested() { - this.triggerConfigComponent.openTriggerForm(); + this.selectedTriggerKey = null; + // this.triggerConfigComponent.openTriggerForm(); } onNewTriggerCreated(newTrigger: SimpleTrigger) {