mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2026-04-24 01:48:34 +00:00
### New Feature
- New chunking algorithm `V3: Fine deduplication` has been added, and will be recommended after updates. - New language `ko` (Korean) has been added. - Chinese (Simplified) translation has been updated. ### Fixed - Numeric settings are now never lost the focus during the value changing. ### Improved - All translations have rewritten into YAML format, to easier manage and contribution. - Doctor recommendations have now shown in the user-friendly notation. ### Refactored - Never ending `ObsidianLiveSyncSettingTag.ts` finally had separated into each pane's file. - Some commented-out codes have been removed.
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
import { LiveSyncSetting as Setting } from "./LiveSyncSetting.ts";
|
||||
import { EVENT_REQUEST_OPEN_PLUGIN_SYNC_DIALOG, eventHub } from "../../../common/events.ts";
|
||||
import type { ObsidianLiveSyncSettingTab } from "./ObsidianLiveSyncSettingTab.ts";
|
||||
import type { PageFunctions } from "./SettingPane.ts";
|
||||
import { enableOnly, visibleOnly } from "./SettingPane.ts";
|
||||
export function paneCustomisationSync(
|
||||
this: ObsidianLiveSyncSettingTab,
|
||||
paneEl: HTMLElement,
|
||||
{ addPanel }: PageFunctions
|
||||
): void {
|
||||
// With great respect, thank you TfTHacker!
|
||||
// Refer: https://github.com/TfTHacker/obsidian42-brat/blob/main/src/features/BetaPlugins.ts
|
||||
void addPanel(paneEl, "Customization Sync").then((paneEl) => {
|
||||
const enableOnlyOnPluginSyncIsNotEnabled = enableOnly(() => this.isConfiguredAs("usePluginSync", false));
|
||||
const visibleOnlyOnPluginSyncEnabled = visibleOnly(() => this.isConfiguredAs("usePluginSync", true));
|
||||
|
||||
this.createEl(
|
||||
paneEl,
|
||||
"div",
|
||||
{
|
||||
text: "Please set device name to identify this device. This name should be unique among your devices. While not configured, we cannot enable this feature.",
|
||||
cls: "op-warn",
|
||||
},
|
||||
(c) => {},
|
||||
visibleOnly(() => this.isConfiguredAs("deviceAndVaultName", ""))
|
||||
);
|
||||
this.createEl(
|
||||
paneEl,
|
||||
"div",
|
||||
{
|
||||
text: "We cannot change the device name while this feature is enabled. Please disable this feature to change the device name.",
|
||||
cls: "op-warn-info",
|
||||
},
|
||||
(c) => {},
|
||||
visibleOnly(() => this.isConfiguredAs("usePluginSync", true))
|
||||
);
|
||||
|
||||
new Setting(paneEl).autoWireText("deviceAndVaultName", {
|
||||
placeHolder: "desktop",
|
||||
onUpdate: enableOnlyOnPluginSyncIsNotEnabled,
|
||||
});
|
||||
|
||||
new Setting(paneEl).autoWireToggle("usePluginSyncV2");
|
||||
|
||||
new Setting(paneEl).autoWireToggle("usePluginSync", {
|
||||
onUpdate: enableOnly(() => !this.isConfiguredAs("deviceAndVaultName", "")),
|
||||
});
|
||||
|
||||
new Setting(paneEl).autoWireToggle("autoSweepPlugins", {
|
||||
onUpdate: visibleOnlyOnPluginSyncEnabled,
|
||||
});
|
||||
|
||||
new Setting(paneEl).autoWireToggle("autoSweepPluginsPeriodic", {
|
||||
onUpdate: visibleOnly(
|
||||
() => this.isConfiguredAs("usePluginSync", true) && this.isConfiguredAs("autoSweepPlugins", true)
|
||||
),
|
||||
});
|
||||
new Setting(paneEl).autoWireToggle("notifyPluginOrSettingUpdated", {
|
||||
onUpdate: visibleOnlyOnPluginSyncEnabled,
|
||||
});
|
||||
|
||||
new Setting(paneEl)
|
||||
.setName("Open")
|
||||
.setDesc("Open the dialog")
|
||||
.addButton((button) => {
|
||||
button
|
||||
.setButtonText("Open")
|
||||
.setDisabled(false)
|
||||
.onClick(() => {
|
||||
// this.plugin.getAddOn<ConfigSync>(ConfigSync.name)?.showPluginSyncModal();
|
||||
// this.plugin.addOnConfigSync.showPluginSyncModal();
|
||||
eventHub.emitEvent(EVENT_REQUEST_OPEN_PLUGIN_SYNC_DIALOG);
|
||||
});
|
||||
})
|
||||
.addOnUpdate(visibleOnlyOnPluginSyncEnabled);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user