An Angular 15+ component for building cron expressions graphically. It is meant to be used in reactive forms and support Angular Material Design styling.
A work-in-progress demo can be found here
Install the npm package:
$ npm i ngx-cron-editor -S
Import the module in your own module:
import { CronEditorModule } from 'ngx-cron-editor';
@NgModule({
imports: [..., CronEditorModule],
...
})
export class MyModule {
}
Setup the FormControl in you component's typescript file:
ngOnInit(): void {
this.cronForm = new FormControl('0 0 1/1 * *');
}
Include the component in your html code:
<cron-editor [formControl]="cronForm"></cron-editor>
or use the formControlName='...'
directive if your form controller
lives in a FormGroup.
<cron-editor [formControl]="cronForm" [options]="cronOptions"></cron-editor>
import { CronOptions } from 'ngx-cron-editor';
@Component({
...
})
export class MyComponent {
public cronOptions: CronOptions = {
defaultTime: "00:00:00",
hideMinutesTab: false,
hideHourlyTab: false,
hideDailyTab: false,
hideWeeklyTab: false,
hideMonthlyTab: false,
hideYearlyTab: false,
hideAdvancedTab: true,
hideSpecificWeekDayTab: false,
hideSpecificMonthWeekTab : false,
use24HourTime: true,
hideSeconds: false,
cronFlavor: "quartz" //standard or quartz
};
}
The ngx-cron-editor is a fork of the vincentjames501's angular-cron-gen for AngularJS 1.5+ and claudiuconstantin's cron-editor.
The main additions of this fork is support for Angular 8+ and material design.
Licensed under the MIT license