set the class next tabs

This commit is contained in:
Jiaxin Peng
2023-12-25 22:43:11 +00:00
parent 6c30d0c2b4
commit f3fb251cf7
4 changed files with 199 additions and 26 deletions

48
src/ui/settingNextTabs.ts Normal file
View File

@@ -0,0 +1,48 @@
import {App, PluginSettingTab, Setting} from "obsidian";
import ObsidianSyncNotionPlugin from "../main";
import {i18nConfig} from "../lang/I18n";
import {ObsidianSettingTab} from "./settingTabs";
export class SettingNextTab extends PluginSettingTab {
plugin: ObsidianSyncNotionPlugin;
private settingTab: ObsidianSettingTab;
constructor(app: App, plugin: ObsidianSyncNotionPlugin, settingTab: ObsidianSettingTab) {
super(app, plugin);
this.plugin = plugin;
this.settingTab = settingTab;
}
display(): void {
// notion next database settings
this.settingTab.containerEl.createEl('h2', { text: i18nConfig.NotionNextSettingHeader })
new Setting(this.settingTab.containerEl)
.setName(i18nConfig.NotionNextButton)
.setDesc(i18nConfig.NotionNextButtonDesc)
.addToggle((toggle) =>
toggle
.setValue(this.plugin.settings.NextButton)
.onChange(async (value) => {
this.plugin.settings.NextButton = value;
this.settingTab.updateSettingEl(notionAPINextEl, value)
this.settingTab.updateSettingEl(databaseIDNextEl, value)
await this.plugin.saveSettings();
await this.plugin.commands.updateCommand();
})
);
const notionAPINextEl = this.settingTab.createStyleDiv('api-next', this.plugin.settings.NextButton)
this.settingTab.createSettingEl(notionAPINextEl, i18nConfig.NotionAPI, i18nConfig.NotionAPIDesc, 'password', i18nConfig.NotionAPIText, this.plugin.settings.notionAPINext, 'notionAPINext')
const databaseIDNextEl = this.settingTab.createStyleDiv('databaseID-next', this.plugin.settings.NextButton)
this.settingTab.createSettingEl(databaseIDNextEl, i18nConfig.DatabaseID, i18nConfig.NotionAPIDesc, 'password', i18nConfig.DatabaseIDText, this.plugin.settings.databaseIDNext, 'databaseIDNext')
}
}