From 963866736845227ff93bde559b2b1f34c3988345 Mon Sep 17 00:00:00 2001 From: Fabio Formosa Date: Sat, 3 Sep 2022 15:50:34 +0200 Subject: [PATCH] #52 added the trigger name to the trigger form --- quartz-manager-frontend/src/app/app.module.ts | 2 - .../src/app/components/index.ts | 1 - .../app/components/scheduler-config/index.ts | 1 - .../scheduler-config.component.html | 68 ------------------ .../scheduler-config.component.scss | 3 - .../scheduler-config.component.ts | 72 ------------------- .../simple-trigger-config.component.html | 10 +++ .../simple-trigger-config.component.ts | 2 + .../trigger-list/trigger-list.component.html | 4 -- .../src/app/model/simple-trigger.command.ts | 1 + .../src/app/model/simple-trigger.form.ts | 1 + .../src/app/services/scheduler.service.ts | 36 ++++------ 12 files changed, 26 insertions(+), 175 deletions(-) delete mode 100644 quartz-manager-frontend/src/app/components/scheduler-config/index.ts delete mode 100644 quartz-manager-frontend/src/app/components/scheduler-config/scheduler-config.component.html delete mode 100644 quartz-manager-frontend/src/app/components/scheduler-config/scheduler-config.component.scss delete mode 100644 quartz-manager-frontend/src/app/components/scheduler-config/scheduler-config.component.ts diff --git a/quartz-manager-frontend/src/app/app.module.ts b/quartz-manager-frontend/src/app/app.module.ts index 15dd847..081bb21 100644 --- a/quartz-manager-frontend/src/app/app.module.ts +++ b/quartz-manager-frontend/src/app/app.module.ts @@ -39,7 +39,6 @@ import { HeaderComponent, FooterComponent, GithubComponent, - SchedulerConfigComponent, SchedulerControlComponent, LogsPanelComponent, ProgressPanelComponent, @@ -111,7 +110,6 @@ export function jwtOptionsFactory(apiService: ApiService) { LoginComponent, NotFoundComponent, AccountMenuComponent, - SchedulerConfigComponent, SimpleTriggerConfigComponent, SchedulerControlComponent, LogsPanelComponent, diff --git a/quartz-manager-frontend/src/app/components/index.ts b/quartz-manager-frontend/src/app/components/index.ts index fe73207..2a77c4a 100644 --- a/quartz-manager-frontend/src/app/components/index.ts +++ b/quartz-manager-frontend/src/app/components/index.ts @@ -2,7 +2,6 @@ export * from './header'; export * from './github'; export * from './footer'; export * from './logs-panel'; -export * from './scheduler-config'; export * from './scheduler-control'; export * from './progress-panel'; export * from './trigger-list'; diff --git a/quartz-manager-frontend/src/app/components/scheduler-config/index.ts b/quartz-manager-frontend/src/app/components/scheduler-config/index.ts deleted file mode 100644 index d8d3e69..0000000 --- a/quartz-manager-frontend/src/app/components/scheduler-config/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './scheduler-config.component'; diff --git a/quartz-manager-frontend/src/app/components/scheduler-config/scheduler-config.component.html b/quartz-manager-frontend/src/app/components/scheduler-config/scheduler-config.component.html deleted file mode 100644 index fe87e40..0000000 --- a/quartz-manager-frontend/src/app/components/scheduler-config/scheduler-config.component.html +++ /dev/null @@ -1,68 +0,0 @@ - - - SCHEDULER CONFIG - - - - - - - - - -
-
-
- - Freq [Num per day] - - -
-
- - Max Occurrences - - -
-
-
-
Misfire Policy
-
RESCHEDULE NEXT WITH REMAINING COUNT
-
- In case of misfire event, the trigger is re-scheduled to the next scheduled time after 'now' with the repeat count set to what it would be, if it had not missed any firings. -
- Warning: This policy could cause the Trigger to go directly to the 'COMPLETE' state if all fire-times where missed. -
-
- -
- - - - -
-
-
-
diff --git a/quartz-manager-frontend/src/app/components/scheduler-config/scheduler-config.component.scss b/quartz-manager-frontend/src/app/components/scheduler-config/scheduler-config.component.scss deleted file mode 100644 index 3176491..0000000 --- a/quartz-manager-frontend/src/app/components/scheduler-config/scheduler-config.component.scss +++ /dev/null @@ -1,3 +0,0 @@ -.small{ - font-size: 0.8em; -} diff --git a/quartz-manager-frontend/src/app/components/scheduler-config/scheduler-config.component.ts b/quartz-manager-frontend/src/app/components/scheduler-config/scheduler-config.component.ts deleted file mode 100644 index 17b404e..0000000 --- a/quartz-manager-frontend/src/app/components/scheduler-config/scheduler-config.component.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; -import { SchedulerService } from '../../services'; -import { SchedulerConfig } from '../../model/schedulerConfig.model' -import {Scheduler} from '../../model/scheduler.model'; - -/** - * DEPRECATED! Not more used - */ -@Component({ - selector: 'qrzmng-scheduler-config', - templateUrl: './scheduler-config.component.html', - styleUrls: ['./scheduler-config.component.scss'] -}) -export class SchedulerConfigComponent implements OnInit { - - config: SchedulerConfig = new SchedulerConfig() - configBackup: SchedulerConfig = new SchedulerConfig() - scheduler: Scheduler; - - triggerLoading = true; - enabledTriggerForm = false; - private fetchedTriggers = false; - private triggerInProgress = false; - - constructor( - private schedulerService: SchedulerService - ) { } - - ngOnInit() { - this.triggerLoading = true; - this._getScheduler(); - this.retrieveConfig(); - } - - retrieveConfig = () => { - this.schedulerService.getConfig() - .subscribe(res => { - this.config = new SchedulerConfig(res.triggerPerDay, res.maxCount, res.timesTriggered) - this.configBackup = res - this.triggerLoading = false; - this.triggerInProgress = res.timesTriggered < res.maxCount; - }) - } - - private _getScheduler() { - this.schedulerService.getScheduler() - .subscribe( res => { - this.scheduler = res; - this.fetchedTriggers = this.scheduler.triggerKeys.length > 0 - }) - } - - existsATriggerInProgress = (): boolean => this.fetchedTriggers && this.triggerInProgress; - - cancelConfigForm = () => this.enabledTriggerForm = false; - - submitConfig = () => { - const schedulerServiceCall = this.existsATriggerInProgress() ? this.schedulerService.updateConfig : this.schedulerService.saveConfig; - - schedulerServiceCall(this.config) - .subscribe(res => { - this.configBackup = this.config; - this.enabledTriggerForm = false; - this.fetchedTriggers = true; - this.triggerInProgress = true; - }, error => { - this.config = this.configBackup; - }); - }; - - enableTriggerForm = () => this.enabledTriggerForm = true; -} diff --git a/quartz-manager-frontend/src/app/components/simple-trigger-config/simple-trigger-config.component.html b/quartz-manager-frontend/src/app/components/simple-trigger-config/simple-trigger-config.component.html index ebfe195..886f35a 100644 --- a/quartz-manager-frontend/src/app/components/simple-trigger-config/simple-trigger-config.component.html +++ b/quartz-manager-frontend/src/app/components/simple-trigger-config/simple-trigger-config.component.html @@ -7,6 +7,16 @@
+
+ + Trigger Name + + + +
+
Start Date (optional) 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 3888801..a9c2587 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 @@ -94,6 +94,7 @@ export class SimpleTriggerConfigComponent implements OnInit { private _fromTriggerToForm = (simpleTrigger: SimpleTrigger): SimpleTriggerForm => { const command = new SimpleTriggerForm(); + command.triggerName = simpleTrigger.triggerKeyDTO.name; command.repeatCount = simpleTrigger.repeatCount; command.repeatInterval = simpleTrigger.repeatInterval; command.startDate = moment(simpleTrigger.startTime); @@ -103,6 +104,7 @@ export class SimpleTriggerConfigComponent implements OnInit { private _fromFormToCommand = (simpleTriggerForm: SimpleTriggerForm): SimpleTriggerCommand => { const simpleTriggerCommand = new SimpleTriggerCommand(); + simpleTriggerCommand.triggerName = simpleTriggerForm.triggerName; simpleTriggerCommand.repeatCount = simpleTriggerForm.repeatCount; simpleTriggerCommand.repeatInterval = simpleTriggerForm.repeatInterval; simpleTriggerCommand.startDate = simpleTriggerForm.startDate.toDate(); 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 ce1ebd0..67cac7d 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 @@ -10,11 +10,7 @@ - {{ triggerKey.name }} - - - diff --git a/quartz-manager-frontend/src/app/model/simple-trigger.command.ts b/quartz-manager-frontend/src/app/model/simple-trigger.command.ts index 3d9db64..f6dc70b 100644 --- a/quartz-manager-frontend/src/app/model/simple-trigger.command.ts +++ b/quartz-manager-frontend/src/app/model/simple-trigger.command.ts @@ -1,4 +1,5 @@ export class SimpleTriggerCommand { + triggerName: string; startDate: Date; endDate: Date; repeatCount: number; diff --git a/quartz-manager-frontend/src/app/model/simple-trigger.form.ts b/quartz-manager-frontend/src/app/model/simple-trigger.form.ts index 98a0210..165f531 100644 --- a/quartz-manager-frontend/src/app/model/simple-trigger.form.ts +++ b/quartz-manager-frontend/src/app/model/simple-trigger.form.ts @@ -1,6 +1,7 @@ import {Moment} from 'moment/moment'; export class SimpleTriggerForm { + triggerName: string; startDate: Moment; endDate: Moment; repeatCount: number; diff --git a/quartz-manager-frontend/src/app/services/scheduler.service.ts b/quartz-manager-frontend/src/app/services/scheduler.service.ts index 9a26d1b..3f7642c 100644 --- a/quartz-manager-frontend/src/app/services/scheduler.service.ts +++ b/quartz-manager-frontend/src/app/services/scheduler.service.ts @@ -7,62 +7,50 @@ import {SimpleTriggerCommand} from '../model/simple-trigger.command'; import {SchedulerConfig} from '../model/schedulerConfig.model'; import {Scheduler} from '../model/scheduler.model'; +const CONTEXT_PATH = '/quartz-manager'; + @Injectable() export class SchedulerService { + constructor( private apiService: ApiService ) { } startScheduler = (): Observable => { - return this.apiService.get(getBaseUrl() + '/quartz-manager/scheduler/run') + return this.apiService.get(getBaseUrl() + `${CONTEXT_PATH}/scheduler/run`); } stopScheduler = (): Observable => { - return this.apiService.get(getBaseUrl() + '/quartz-manager/scheduler/stop') + return this.apiService.get(getBaseUrl() + `${CONTEXT_PATH}/scheduler/stop`); } pauseScheduler = (): Observable => { - return this.apiService.get(getBaseUrl() + '/quartz-manager/scheduler/pause') + return this.apiService.get(getBaseUrl() + `${CONTEXT_PATH}/scheduler/pause`); } resumeScheduler = (): Observable => { - return this.apiService.get(getBaseUrl() + '/quartz-manager/scheduler/resume') + return this.apiService.get(getBaseUrl() + `${CONTEXT_PATH}/scheduler/resume`); } getStatus = () => { - return this.apiService.get(getBaseUrl() + '/quartz-manager/scheduler/status') + return this.apiService.get(getBaseUrl() + `${CONTEXT_PATH}/scheduler/status`); } getScheduler = (): Observable => { - return this.apiService.get(getBaseUrl() + '/quartz-manager/scheduler') - } - - // deprecated - getConfig = () => { - return this.apiService.get(getBaseUrl() + '/quartz-manager/scheduler/config') + return this.apiService.get(getBaseUrl() + `${CONTEXT_PATH}/scheduler`); } getSimpleTriggerConfig = (triggerName: string): Observable => { - return this.apiService.get(getBaseUrl() + `/quartz-manager/simple-triggers/${triggerName}`); - } - - // deprecated - saveConfig = (config: Object) => { - return this.apiService.post(getBaseUrl() + '/quartz-manager/triggers/mytrigger', config) + return this.apiService.get(getBaseUrl() + `${CONTEXT_PATH}/simple-triggers/${triggerName}`); } saveSimpleTriggerConfig = (config: SimpleTriggerCommand) => { - return this.apiService.post(getBaseUrl() + '/quartz-manager/simple-triggers/my-simple-trigger', config) - } - - // deprecated - updateConfig = (config: SchedulerConfig) => { - return this.apiService.put(getBaseUrl() + '/quartz-manager/triggers/mytrigger', config) + return this.apiService.post(getBaseUrl() + `${CONTEXT_PATH}/simple-triggers/${config.triggerName}`, config) } updateSimpleTriggerConfig = (config: SimpleTriggerCommand) => { - return this.apiService.put(getBaseUrl() + '/quartz-manager/simple-triggers/my-simple-trigger', config) + return this.apiService.put(getBaseUrl() + `${CONTEXT_PATH}/simple-triggers/${config.triggerName}`, config) }