Save plugin config when enabled/disabled

This commit is contained in:
Samuel Elliott 2018-02-05 14:33:30 +00:00
parent 9fb51c57b3
commit 6e4d6307e8
No known key found for this signature in database
GPG Key ID: 8420C7CDE43DC4D6
2 changed files with 19 additions and 19 deletions

View File

@ -166,4 +166,4 @@ export default class {
static getContentByPath(path) { return this.localContent.find(c => c.contentPath === path) }
static getContentByDirName(dirName) { return this.localContent.find(c => c.dirName === dirName) }
}
}

View File

@ -44,13 +44,15 @@ export default class {
}
async saveSettings(newSettings) {
for (let category of newSettings) {
const oldCategory = this.pluginConfig.find(c => c.category === category.category);
for (let setting of category.settings) {
const oldSetting = oldCategory.settings.find(s => s.id === setting.id);
if (oldSetting.value === setting.value) continue;
oldSetting.value = setting.value;
if (this.settingChanged) this.settingChanged(category.category, setting.id, setting.value);
if (newSettings) {
for (let category of newSettings) {
const oldCategory = this.pluginConfig.find(c => c.category === category.category);
for (let setting of category.settings) {
const oldSetting = oldCategory.settings.find(s => s.id === setting.id);
if (oldSetting.value === setting.value) continue;
oldSetting.value = setting.value;
if (this.settingChanged) this.settingChanged(category.category, setting.id, setting.value);
}
}
}
@ -68,25 +70,23 @@ export default class {
start() {
if (this.onStart) {
const started = this.onStart();
if (started) {
return this.userConfig.enabled = true;
}
return false;
if (!started) return false;
}
return this.userConfig.enabled = true; //Assume plugin started since it doesn't have onStart
this.userConfig.enabled = true;
this.saveSettings();
return true;
}
stop() {
if (this.onStop) {
const stopped = this.onStop();
if (stopped) {
this.userConfig.enabled = false;
return true;
}
return false;
if (!stopped) return false;
}
this.userConfig.enabled = false;
return true; //Assume plugin stopped since it doesn't have onStop
this.saveSettings();
return true;
}
}