split chooser and basic settings
This commit is contained in:
parent
7c2a17c404
commit
069e993fb0
@ -1 +1 @@
|
||||
Subproject commit ad48de922720d668477583a6b313a5eaaf4a7516
|
||||
Subproject commit 4726d51d60bcd8f7c4920736b256dc5131e8c0f3
|
||||
230
src/settings.ts
230
src/settings.ts
@ -675,123 +675,13 @@ export class RemotelySaveSettingTab extends PluginSettingTab {
|
||||
containerEl.createEl("h1", { text: "Remotely Save" });
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
// below for general
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
const generalDiv = containerEl.createEl("div");
|
||||
generalDiv.createEl("h2", { text: t("settings_general") });
|
||||
|
||||
const passwordDiv = generalDiv.createEl("div");
|
||||
let newPassword = `${this.plugin.settings.password}`;
|
||||
new Setting(passwordDiv)
|
||||
.setName(t("settings_password"))
|
||||
.setDesc(t("settings_password_desc"))
|
||||
.addText((text) => {
|
||||
wrapTextWithPasswordHide(text);
|
||||
text
|
||||
.setPlaceholder("")
|
||||
.setValue(`${this.plugin.settings.password}`)
|
||||
.onChange(async (value) => {
|
||||
newPassword = value.trim();
|
||||
});
|
||||
})
|
||||
.addButton(async (button) => {
|
||||
button.setButtonText(t("confirm"));
|
||||
button.onClick(async () => {
|
||||
new PasswordModal(this.app, this.plugin, newPassword).open();
|
||||
});
|
||||
});
|
||||
|
||||
const scheduleDiv = generalDiv.createEl("div");
|
||||
new Setting(scheduleDiv)
|
||||
.setName(t("settings_autorun"))
|
||||
.setDesc(t("settings_autorun_desc"))
|
||||
.addDropdown((dropdown) => {
|
||||
dropdown.addOption("-1", t("settings_autorun_notset"));
|
||||
dropdown.addOption(`${1000 * 60 * 1}`, t("settings_autorun_1min"));
|
||||
dropdown.addOption(`${1000 * 60 * 5}`, t("settings_autorun_5min"));
|
||||
dropdown.addOption(`${1000 * 60 * 10}`, t("settings_autorun_10min"));
|
||||
dropdown.addOption(`${1000 * 60 * 30}`, t("settings_autorun_30min"));
|
||||
|
||||
dropdown
|
||||
.setValue(`${this.plugin.settings.autoRunEveryMilliseconds}`)
|
||||
.onChange(async (val: string) => {
|
||||
const realVal = parseInt(val);
|
||||
this.plugin.settings.autoRunEveryMilliseconds = realVal;
|
||||
await this.plugin.saveSettings();
|
||||
if (
|
||||
(realVal === undefined || realVal === null || realVal <= 0) &&
|
||||
this.plugin.autoRunIntervalID !== undefined
|
||||
) {
|
||||
// clear
|
||||
window.clearInterval(this.plugin.autoRunIntervalID);
|
||||
this.plugin.autoRunIntervalID = undefined;
|
||||
} else if (
|
||||
realVal !== undefined &&
|
||||
realVal !== null &&
|
||||
realVal > 0
|
||||
) {
|
||||
const intervalID = window.setInterval(() => {
|
||||
this.plugin.syncRun("auto");
|
||||
}, realVal);
|
||||
this.plugin.autoRunIntervalID = intervalID;
|
||||
this.plugin.registerInterval(intervalID);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
const runOnceStartUpDiv = generalDiv.createEl("div");
|
||||
new Setting(runOnceStartUpDiv)
|
||||
.setName(t("settings_runoncestartup"))
|
||||
.setDesc(t("settings_runoncestartup_desc"))
|
||||
.addDropdown((dropdown) => {
|
||||
dropdown.addOption("-1", t("settings_runoncestartup_notset"));
|
||||
dropdown.addOption(
|
||||
`${1000 * 1 * 1}`,
|
||||
t("settings_runoncestartup_1sec")
|
||||
);
|
||||
dropdown.addOption(
|
||||
`${1000 * 10 * 1}`,
|
||||
t("settings_runoncestartup_10sec")
|
||||
);
|
||||
dropdown.addOption(
|
||||
`${1000 * 30 * 1}`,
|
||||
t("settings_runoncestartup_30sec")
|
||||
);
|
||||
dropdown
|
||||
.setValue(`${this.plugin.settings.initRunAfterMilliseconds}`)
|
||||
.onChange(async (val: string) => {
|
||||
const realVal = parseInt(val);
|
||||
this.plugin.settings.initRunAfterMilliseconds = realVal;
|
||||
await this.plugin.saveSettings();
|
||||
});
|
||||
});
|
||||
|
||||
const skipLargeFilesDiv = generalDiv.createEl("div");
|
||||
new Setting(skipLargeFilesDiv)
|
||||
.setName(t("settings_skiplargefiles"))
|
||||
.setDesc(t("settings_skiplargefiles_desc"))
|
||||
.addDropdown((dropdown) => {
|
||||
dropdown.addOption("-1", t("settings_skiplargefiles_notset"));
|
||||
|
||||
const mbs = [1, 5, 10, 50, 100, 500, 1000];
|
||||
for (const mb of mbs) {
|
||||
dropdown.addOption(`${mb * 1000 * 1000}`, `${mb} MB`);
|
||||
}
|
||||
dropdown
|
||||
.setValue(`${this.plugin.settings.skipSizeLargerThan}`)
|
||||
.onChange(async (val) => {
|
||||
this.plugin.settings.skipSizeLargerThan = parseInt(val);
|
||||
await this.plugin.saveSettings();
|
||||
});
|
||||
});
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
// below for general chooser (part 1/2)
|
||||
// below for service chooser (part 1/2)
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
// we need to create the div in advance of any other service divs
|
||||
const serviceChooserDiv = generalDiv.createEl("div");
|
||||
const serviceChooserFragDiv = containerEl.createEl("div");
|
||||
serviceChooserFragDiv.createEl("h2", { text: t("settings_chooseservice") });
|
||||
const serviceChooserDiv = serviceChooserFragDiv.createEl("div");
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
// below for s3
|
||||
@ -1588,6 +1478,118 @@ export class RemotelySaveSettingTab extends PluginSettingTab {
|
||||
});
|
||||
});
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
// below for basic settings
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
const basicDiv = containerEl.createEl("div");
|
||||
basicDiv.createEl("h2", { text: t("settings_basic") });
|
||||
|
||||
const passwordDiv = basicDiv.createEl("div");
|
||||
let newPassword = `${this.plugin.settings.password}`;
|
||||
new Setting(passwordDiv)
|
||||
.setName(t("settings_password"))
|
||||
.setDesc(t("settings_password_desc"))
|
||||
.addText((text) => {
|
||||
wrapTextWithPasswordHide(text);
|
||||
text
|
||||
.setPlaceholder("")
|
||||
.setValue(`${this.plugin.settings.password}`)
|
||||
.onChange(async (value) => {
|
||||
newPassword = value.trim();
|
||||
});
|
||||
})
|
||||
.addButton(async (button) => {
|
||||
button.setButtonText(t("confirm"));
|
||||
button.onClick(async () => {
|
||||
new PasswordModal(this.app, this.plugin, newPassword).open();
|
||||
});
|
||||
});
|
||||
|
||||
const scheduleDiv = basicDiv.createEl("div");
|
||||
new Setting(scheduleDiv)
|
||||
.setName(t("settings_autorun"))
|
||||
.setDesc(t("settings_autorun_desc"))
|
||||
.addDropdown((dropdown) => {
|
||||
dropdown.addOption("-1", t("settings_autorun_notset"));
|
||||
dropdown.addOption(`${1000 * 60 * 1}`, t("settings_autorun_1min"));
|
||||
dropdown.addOption(`${1000 * 60 * 5}`, t("settings_autorun_5min"));
|
||||
dropdown.addOption(`${1000 * 60 * 10}`, t("settings_autorun_10min"));
|
||||
dropdown.addOption(`${1000 * 60 * 30}`, t("settings_autorun_30min"));
|
||||
|
||||
dropdown
|
||||
.setValue(`${this.plugin.settings.autoRunEveryMilliseconds}`)
|
||||
.onChange(async (val: string) => {
|
||||
const realVal = parseInt(val);
|
||||
this.plugin.settings.autoRunEveryMilliseconds = realVal;
|
||||
await this.plugin.saveSettings();
|
||||
if (
|
||||
(realVal === undefined || realVal === null || realVal <= 0) &&
|
||||
this.plugin.autoRunIntervalID !== undefined
|
||||
) {
|
||||
// clear
|
||||
window.clearInterval(this.plugin.autoRunIntervalID);
|
||||
this.plugin.autoRunIntervalID = undefined;
|
||||
} else if (
|
||||
realVal !== undefined &&
|
||||
realVal !== null &&
|
||||
realVal > 0
|
||||
) {
|
||||
const intervalID = window.setInterval(() => {
|
||||
this.plugin.syncRun("auto");
|
||||
}, realVal);
|
||||
this.plugin.autoRunIntervalID = intervalID;
|
||||
this.plugin.registerInterval(intervalID);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
const runOnceStartUpDiv = basicDiv.createEl("div");
|
||||
new Setting(runOnceStartUpDiv)
|
||||
.setName(t("settings_runoncestartup"))
|
||||
.setDesc(t("settings_runoncestartup_desc"))
|
||||
.addDropdown((dropdown) => {
|
||||
dropdown.addOption("-1", t("settings_runoncestartup_notset"));
|
||||
dropdown.addOption(
|
||||
`${1000 * 1 * 1}`,
|
||||
t("settings_runoncestartup_1sec")
|
||||
);
|
||||
dropdown.addOption(
|
||||
`${1000 * 10 * 1}`,
|
||||
t("settings_runoncestartup_10sec")
|
||||
);
|
||||
dropdown.addOption(
|
||||
`${1000 * 30 * 1}`,
|
||||
t("settings_runoncestartup_30sec")
|
||||
);
|
||||
dropdown
|
||||
.setValue(`${this.plugin.settings.initRunAfterMilliseconds}`)
|
||||
.onChange(async (val: string) => {
|
||||
const realVal = parseInt(val);
|
||||
this.plugin.settings.initRunAfterMilliseconds = realVal;
|
||||
await this.plugin.saveSettings();
|
||||
});
|
||||
});
|
||||
|
||||
const skipLargeFilesDiv = basicDiv.createEl("div");
|
||||
new Setting(skipLargeFilesDiv)
|
||||
.setName(t("settings_skiplargefiles"))
|
||||
.setDesc(t("settings_skiplargefiles_desc"))
|
||||
.addDropdown((dropdown) => {
|
||||
dropdown.addOption("-1", t("settings_skiplargefiles_notset"));
|
||||
|
||||
const mbs = [1, 5, 10, 50, 100, 500, 1000];
|
||||
for (const mb of mbs) {
|
||||
dropdown.addOption(`${mb * 1000 * 1000}`, `${mb} MB`);
|
||||
}
|
||||
dropdown
|
||||
.setValue(`${this.plugin.settings.skipSizeLargerThan}`)
|
||||
.onChange(async (val) => {
|
||||
this.plugin.settings.skipSizeLargerThan = parseInt(val);
|
||||
await this.plugin.saveSettings();
|
||||
});
|
||||
});
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
// below for advanced settings
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
Loading…
Reference in New Issue
Block a user