in desktop/src/app/components/job-schedule/action/job-schedule-commands.ts [58:154]
private _buildCommands() {
this.edit = this.simpleCommand({
name: "build",
...COMMAND_LABEL_ICON.Edit,
action: (jobSchedule) => this._editJobSchedule(jobSchedule),
enabled: (jobSchedule) => jobSchedule.state !== JobScheduleState.completed,
multiple: false,
confirm: false,
notify: false,
permission: Permission.Write,
});
this.delete = this.simpleCommand({
name: "delete",
...COMMAND_LABEL_ICON.Delete,
action: (jobSchedule: JobSchedule) => this.jobScheduleService.delete(jobSchedule.id),
permission: Permission.Write,
});
this.terminate = this.simpleCommand({
name: "terminate",
label: this.i18n.t("task-commands.terminate"),
icon: "fa fa-stop",
action: (jobSchedule) => this.jobScheduleService.terminate(jobSchedule.id),
enabled: (jobSchedule) => jobSchedule.state !== JobScheduleState.completed,
permission: Permission.Write,
});
this.enable = this.simpleCommand({
name: "enable",
...COMMAND_LABEL_ICON.Enable,
action: (jobSchedule: JobSchedule) => this.jobScheduleService.enable(jobSchedule.id),
enabled: (jobSchedule: JobSchedule) => {
return jobSchedule.state === JobScheduleState.disabled
|| jobSchedule.state === JobScheduleState.completed;
},
visible: (jobSchedule: JobSchedule) => {
return jobSchedule.state === JobScheduleState.disabled
|| jobSchedule.state === JobScheduleState.completed;
},
permission: Permission.Write,
});
this.disable = this.simpleCommand({
name: "disable",
...COMMAND_LABEL_ICON.Disable,
action: (jobSchedule: JobSchedule) => this.jobScheduleService.disable(jobSchedule.id),
enabled: (jobSchedule: JobSchedule) => jobSchedule.state !== JobScheduleState.disabled,
visible: (jobSchedule: JobSchedule) => jobSchedule.state !== JobScheduleState.disabled,
permission: Permission.Write,
});
this.clone = this.simpleCommand({
name: "clone",
...COMMAND_LABEL_ICON.Clone,
action: (jobSchedule) => this._cloneJobSchedule(jobSchedule),
multiple: false,
confirm: false,
notify: false,
permission: Permission.Write,
});
this.exportAsJSON = this.simpleCommand({
name: "exportAsJSON",
...COMMAND_LABEL_ICON.ExportAsJSON,
action: (jobSchedule) => this._exportAsJSON(jobSchedule),
multiple: false,
confirm: false,
notify: false,
});
this.pin = this.simpleCommand({
name: "pin",
label: (jobSchedule: JobSchedule) => {
return this.pinnedEntityService.isFavorite(jobSchedule)
? COMMAND_LABEL_ICON.UnpinFavoriteLabel : COMMAND_LABEL_ICON.PinFavoriteLabel;
},
icon: (jobSchedule: JobSchedule) => {
return this.pinnedEntityService.isFavorite(jobSchedule)
? COMMAND_LABEL_ICON.UnpinFavoriteIcon : COMMAND_LABEL_ICON.PinFavoriteIcon;
},
action: (jobSchedule: JobSchedule) => this._pinJobSchedule(jobSchedule),
confirm: false,
multiple: false,
});
this.commands = [
this.edit,
this.delete,
this.terminate,
this.enable,
this.disable,
this.clone,
this.exportAsJSON,
this.pin,
];
}