fix: Fix cleaning up running jobs when deleting crons

Fixes #4
This commit is contained in:
Callum Loh 2023-08-24 11:22:46 +01:00
parent e548b24a72
commit e505695003

View file

@ -12,10 +12,10 @@ export default class CronSettingTab extends PluginSettingTab {
}
display(): void {
const {containerEl} = this;
const { containerEl } = this;
containerEl.empty();
containerEl.createEl('h2', {text: 'Settings for Cron.'});
containerEl.createEl('h2', { text: 'Settings for Cron.' });
new Setting(containerEl)
.setName('Cron Interval')
@ -23,7 +23,7 @@ export default class CronSettingTab extends PluginSettingTab {
.addText(text => text
.setValue(this.plugin.settings.cronInterval.toString())
.onChange(async (value) => {
if(value == "") {return}
if (value == "") { return }
this.plugin.settings.cronInterval = parseInt(value);
await this.plugin.saveSettings();
this.plugin.loadInterval();
@ -82,7 +82,7 @@ export default class CronSettingTab extends PluginSettingTab {
this.addCommandSearch()
}
addCommandSearch (): void {
addCommandSearch(): void {
this.plugin.settings.crons.forEach((cronjob, index) => {
const jobSetting = new Setting(this.containerEl)
@ -101,7 +101,7 @@ export default class CronSettingTab extends PluginSettingTab {
cb.setPlaceholder("Command")
.setValue(cronjob.job)
.onChange(async (command) => {
if(!command) { return }
if (!command) { return }
this.plugin.settings.crons[index].job = command;
await this.plugin.saveSettings();
@ -157,6 +157,7 @@ export default class CronSettingTab extends PluginSettingTab {
.setTooltip("Delete Job")
.onClick(() => {
this.plugin.settings.crons.splice(index, 1)
delete this.plugin.jobs[cronjob.id]
delete this.plugin.settings.locks[cronjob.id]
this.plugin.saveSettings();
// Force refresh