mirror of
https://github.com/Wanxp/obsidian-douban.git
synced 2026-04-06 18:18:45 +08:00
349 lines
11 KiB
TypeScript
349 lines
11 KiB
TypeScript
import {App, PluginSettingTab, Setting} from "obsidian";
|
|
import {DEFAULT_SETTINGS} from "./Douban";
|
|
|
|
import DoubanPlugin from "main";
|
|
import {i18nHelper} from "src/lang/helper";
|
|
import {PersonNameMode, PersonNameModeRecords} from "../constant/Constsant";
|
|
|
|
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: 'Obsidian Douban'});
|
|
|
|
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", 20);
|
|
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('120101') + 111)
|
|
// .then((setting) => {
|
|
// setting.addTextArea((textarea) => {
|
|
// setting.descEl.appendChild(
|
|
// createEl('table', 'table', (table) => {
|
|
// table.createEl('thead', 'thread', (thead) => {
|
|
// thead.createEl('tr', 'tr',(tr) => {
|
|
// tr.createEl('th', { text: i18nHelper.getMessage('120108') });
|
|
// tr.createEl('th', { text: i18nHelper.getMessage('120109') });
|
|
// tr.createEl('th', { text: i18nHelper.getMessage('120110') });
|
|
// });
|
|
// });
|
|
// table.createEl('tbody', 'tbody', (tbody) => {
|
|
// personNameModeRecords.forEach((record) => {
|
|
// tbody.createEl('tr', (tr) => {
|
|
// tr.createEl('td', { text: record.name });
|
|
// tr.createEl('td', { text: record.key });
|
|
// tr.createEl('td', { text: record.desc });
|
|
// });
|
|
// });
|
|
// });
|
|
// }
|
|
//
|
|
// );
|
|
// }));
|
|
|
|
|
|
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');
|
|
frag.appendText(i18nHelper.getMessage('120208'));
|
|
frag.createEl('br');
|
|
})
|
|
);
|
|
textarea.inputEl.addClass("obsidian_douban_settings_area");
|
|
textarea.inputEl.setAttr("rows", 20);
|
|
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", 20);
|
|
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');
|
|
frag.appendText(i18nHelper.getMessage('120407'));
|
|
frag.createEl('br');
|
|
|
|
})
|
|
);
|
|
textarea.inputEl.addClass("obsidian_douban_settings_area");
|
|
textarea.inputEl.setAttr("rows", 20);
|
|
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('121301')).then((setting) => {
|
|
setting.addTextArea((textarea) => {
|
|
setting.descEl.appendChild(
|
|
createFragment((frag) => {
|
|
frag.appendText(i18nHelper.getMessage('121302'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('121303'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('121304'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('121305'));
|
|
frag.createEl('br');
|
|
frag.appendText(i18nHelper.getMessage('121306'));
|
|
frag.createEl('br');
|
|
})
|
|
);
|
|
textarea.inputEl.addClass("obsidian_douban_settings_area");
|
|
textarea.inputEl.setAttr("rows", 20);
|
|
textarea.setPlaceholder(DEFAULT_SETTINGS.gameTemplate)
|
|
.setValue(this.plugin.settings.gameTemplate)
|
|
.onChange(async (value) => {
|
|
this.plugin.settings.gameTemplate = 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();
|
|
});
|
|
});
|
|
|
|
}
|
|
}
|