mirror of
https://github.com/Wanxp/obsidian-douban.git
synced 2026-04-04 08:38:41 +08:00
291 lines
9.2 KiB
TypeScript
291 lines
9.2 KiB
TypeScript
import { App, PluginSettingTab, Setting } from "obsidian";
|
|
import { DEFAULT_SETTINGS, PersonNameMode, personNameModeRecords } from "./Douban";
|
|
|
|
import DoubanPlugin from "main";
|
|
import { i18nHelper } from "src/lang/helper";
|
|
|
|
export class DoubanSettingTab extends PluginSettingTab {
|
|
plugin: DoubanPlugin;
|
|
|
|
constructor(app: App, plugin: DoubanPlugin) {
|
|
super(app, plugin);
|
|
this.plugin = plugin;
|
|
}
|
|
|
|
display(): void {
|
|
let { containerEl } = this;
|
|
|
|
containerEl.empty();
|
|
|
|
containerEl.createEl("h2", { text: i18nHelper.getMessage('1201') });
|
|
|
|
new Setting(containerEl).setName(i18nHelper.getMessage('120001'))
|
|
.then((setting) => {
|
|
setting.addText((textField) => {
|
|
setting.descEl.appendChild(
|
|
createFragment((frag) => {
|
|
frag.appendText(i18nHelper.getMessage('120002'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120003'));
|
|
frag.createEl(
|
|
'a',
|
|
{
|
|
text: i18nHelper.getMessage('120901'),
|
|
href: 'https://www.douban.com',
|
|
},
|
|
(a) => {
|
|
a.setAttr('target', '_blank');
|
|
}
|
|
);
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120004'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120005'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120006'));
|
|
frag.createEl('br');
|
|
})
|
|
);
|
|
textField.inputEl.addClass("obsidian_douban_settings_textField");
|
|
textField
|
|
.setPlaceholder(DEFAULT_SETTINGS.searchUrl)
|
|
.setValue(this.plugin.settings.searchUrl)
|
|
.onChange(async (value) => {
|
|
this.plugin.settings.searchUrl = value;
|
|
await this.plugin.saveSettings();
|
|
});
|
|
|
|
});
|
|
});
|
|
|
|
new Setting(containerEl).setName(i18nHelper.getMessage('120101')).then((setting) => {
|
|
setting.addTextArea((textarea) => {
|
|
setting.descEl.appendChild(
|
|
createFragment((frag) => {
|
|
frag.appendText(i18nHelper.getMessage('120102'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120103'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120104'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120105'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120106'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120107'));
|
|
frag.createEl('br');
|
|
})
|
|
);
|
|
textarea.inputEl.addClass("obsidian_douban_settings_area");
|
|
textarea.inputEl.setAttr("rows", 10);
|
|
textarea.setPlaceholder(DEFAULT_SETTINGS.movieTemplate)
|
|
.setValue(this.plugin.settings.movieTemplate)
|
|
.onChange(async (value) => {
|
|
this.plugin.settings.movieTemplate = value;
|
|
await this.plugin.saveSettings();
|
|
});
|
|
});
|
|
});
|
|
|
|
new Setting(containerEl).setName(i18nHelper.getMessage('120201')).then((setting) => {
|
|
setting.addTextArea((textarea) => {
|
|
setting.descEl.appendChild(
|
|
createFragment((frag) => {
|
|
frag.appendText(i18nHelper.getMessage('120202'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120203'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120204'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120205'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120206'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120207'));
|
|
frag.createEl('br');
|
|
})
|
|
);
|
|
textarea.inputEl.addClass("obsidian_douban_settings_area");
|
|
textarea.inputEl.setAttr("rows", 10);
|
|
textarea.setPlaceholder(DEFAULT_SETTINGS.bookTemplate)
|
|
.setValue(this.plugin.settings.bookTemplate)
|
|
.onChange(async (value) => {
|
|
this.plugin.settings.bookTemplate = value;
|
|
await this.plugin.saveSettings();
|
|
});
|
|
});
|
|
});
|
|
|
|
new Setting(containerEl).setName(i18nHelper.getMessage('120301')).then((setting) => {
|
|
setting.addTextArea((textarea) => {
|
|
setting.descEl.appendChild(
|
|
createFragment((frag) => {
|
|
frag.appendText(i18nHelper.getMessage('120302'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120303'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120304'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120305'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120306'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120307'));
|
|
frag.createEl('br');
|
|
})
|
|
);
|
|
textarea.inputEl.addClass("obsidian_douban_settings_area");
|
|
textarea.inputEl.setAttr("rows", 10);
|
|
textarea.setPlaceholder(DEFAULT_SETTINGS.musicTemplate)
|
|
.setValue(this.plugin.settings.musicTemplate)
|
|
.onChange(async (value) => {
|
|
this.plugin.settings.musicTemplate = value;
|
|
await this.plugin.saveSettings();
|
|
});
|
|
});
|
|
});
|
|
|
|
new Setting(containerEl).setName(i18nHelper.getMessage("120401")).then((setting) => {
|
|
setting.addTextArea((textarea) => {
|
|
setting.descEl.appendChild(
|
|
createFragment((frag) => {
|
|
frag.appendText(i18nHelper.getMessage('120402'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120403'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120404'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120405'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120406'));
|
|
frag.createEl('br');
|
|
|
|
})
|
|
);
|
|
textarea.inputEl.addClass("obsidian_douban_settings_area");
|
|
textarea.inputEl.setAttr("rows", 10);
|
|
textarea.setPlaceholder(DEFAULT_SETTINGS.noteTemplate)
|
|
.setValue(this.plugin.settings.noteTemplate)
|
|
.onChange(async (value) => {
|
|
this.plugin.settings.noteTemplate = value;
|
|
await this.plugin.saveSettings();
|
|
});
|
|
});
|
|
});
|
|
|
|
new Setting(containerEl).setName(i18nHelper.getMessage('121201')).then((setting) => {
|
|
setting.addDropdown((dropdwon) => {
|
|
setting.descEl.appendChild(
|
|
createFragment((frag) => {
|
|
frag.appendText(i18nHelper.getMessage('121202'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('121203'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('121204'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('121205'));
|
|
frag.createEl('br');
|
|
})
|
|
);
|
|
// dropdwon.inputEl.addClass("settings_area");
|
|
// dropdwon.inputEl.setAttr("rows", 10);
|
|
dropdwon.addOption(PersonNameMode.CH_NAME, personNameModeRecords.CH)
|
|
dropdwon.addOption(PersonNameMode.EN_NAME, personNameModeRecords.EN)
|
|
dropdwon.addOption(PersonNameMode.CH_EN_NAME, personNameModeRecords.CH_EN)
|
|
dropdwon.setValue(this.plugin.settings.personNameMode)
|
|
.onChange(async (value:string) => {
|
|
this.plugin.settings.personNameMode = value as PersonNameMode;
|
|
await this.plugin.saveSettings();
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
new Setting(containerEl).setName(i18nHelper.getMessage('120501')).then((setting) => {
|
|
setting.addMomentFormat((mf) => {
|
|
setting.descEl.appendChild(
|
|
createFragment((frag) => {
|
|
frag.appendText(
|
|
i18nHelper.getMessage('120503')
|
|
);
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120506') + ' ');
|
|
frag.createEl(
|
|
'a',
|
|
{
|
|
text: i18nHelper.getMessage('120508'),
|
|
href: 'https://momentjs.com/docs/#/displaying/format/',
|
|
},
|
|
(a) => {
|
|
a.setAttr('target', '_blank');
|
|
}
|
|
);
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120507') + ': ');
|
|
mf.setSampleEl(frag.createEl('b', { cls: 'u-pop' }));
|
|
frag.createEl('br');
|
|
})
|
|
);
|
|
mf.setPlaceholder(DEFAULT_SETTINGS.dateFormat);
|
|
mf.setValue(this.plugin.settings.dateFormat)
|
|
mf.onChange(async (value) => {
|
|
this.plugin.settings.dateFormat = value;
|
|
await this.plugin.saveSettings();
|
|
});
|
|
|
|
});
|
|
});
|
|
|
|
new Setting(containerEl).setName(i18nHelper.getMessage('120502')).then((setting) => {
|
|
setting.addMomentFormat((mf) => {
|
|
setting.descEl.appendChild(
|
|
createFragment((frag) => {
|
|
frag.appendText(
|
|
i18nHelper.getMessage('120504')
|
|
);
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120506') + ' ');
|
|
frag.createEl(
|
|
'a',
|
|
{
|
|
text: i18nHelper.getMessage('120508'),
|
|
href: 'https://momentjs.com/docs/#/displaying/format/',
|
|
},
|
|
(a) => {
|
|
a.setAttr('target', '_blank');
|
|
}
|
|
);
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('120507') + ': ');
|
|
mf.setSampleEl(frag.createEl('b', { cls: 'u-pop' }));
|
|
frag.createEl('br');
|
|
})
|
|
);
|
|
mf.setPlaceholder(DEFAULT_SETTINGS.timeFormat);
|
|
mf.setValue(this.plugin.settings.timeFormat)
|
|
mf.onChange(async (value) => {
|
|
this.plugin.settings.timeFormat = value;
|
|
await this.plugin.saveSettings();
|
|
});
|
|
|
|
});
|
|
});
|
|
|
|
|
|
new Setting(containerEl)
|
|
.setName(i18nHelper.getMessage('120601'))
|
|
.setDesc(i18nHelper.getMessage('120602'))
|
|
.addText((textField) => {
|
|
textField.setPlaceholder(DEFAULT_SETTINGS.arraySpilt)
|
|
.setValue(this.plugin.settings.arraySpilt)
|
|
.onChange(async (value) => {
|
|
this.plugin.settings.arraySpilt = value;
|
|
await this.plugin.saveSettings();
|
|
});
|
|
});
|
|
|
|
}
|
|
}
|