Skip to content

Commit

Permalink
fix(settings): better handling autoclean
Browse files Browse the repository at this point in the history
  • Loading branch information
Mara-Li committed Aug 24, 2023
1 parent acee905 commit 6ce665e
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 22 deletions.
4 changes: 3 additions & 1 deletion src/i18n/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
"cancel": "Cancel",
"close": "Close",
"default": "default",
"defaultName": "default folder",
"delete": "Delete {{- things}}",
"edit": "Edit {{- things}}",
"error": "Error",
Expand All @@ -64,6 +65,7 @@
"published": "Published",
"regex": "regex",
"repository": "Repository",
"rootFolder": "root folder",
"save": "Save",
"shared": "Shared",
"text": "text",
Expand All @@ -77,7 +79,7 @@
"success": "Successfully deleted {{- nb}} files."
},
"error": {
"autoClean": "The default folder is empty, auto-cleaning will be disabled.",
"autoClean": "Since {{- what}} is empty, auto-cleaning is disabled.",
"dataview": "Unable to render dataview query. Please update the dataview plugin to the last version.",
"errorConfig": "Error configuring {{- repo.owner}}/{{- repo.repo}}. Please check your settings.",
"errorPublish": "Error during upload to {{- repo.owner}}/{{- repo.repo}}",
Expand Down
4 changes: 3 additions & 1 deletion src/i18n/locales/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
"cancel": "Annuler",
"close": "Fermer",
"default": "défaut",
"defaultName": "dossier par défaut",
"delete": "Supprimer {{- things}}",
"edit": "Éditer {{- things}}",
"error": "Erreur",
Expand All @@ -64,6 +65,7 @@
"published": "publiés",
"regex": "regex",
"repository": "Dépôt",
"rootFolder": "dossier racine",
"save": "Sauvegarder",
"shared": "partagés",
"text": "texte",
Expand All @@ -77,7 +79,7 @@
"success": "Suppression réussie de {{- nb}} fichiers."
},
"error": {
"autoClean": "Le dossier par défaut est vide, l'auto-nettoyage sera désactivée.",
"autoClean": "Le {{- what}} étant vide, l'auto-nettoyage est désactivée.",
"dataview": "Impossible de convertir la requête Dataview. Veuillez mettre à jour le module Dataview à la dernière version;",
"errorConfig": "Erreur de configuration pour {{- repo.owner}}/{{- repo.repo}}:{{- repo.branch}}. Merci de vérifier vos paramètres.",
"errorPublish": "Erreur lors de la publication sur {{- repo.owner}}/{{- repo.repo}}:{{- repo.branch}}",
Expand Down
17 changes: 8 additions & 9 deletions src/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -395,7 +395,9 @@ export class GithubPublisherSettingsTab extends PluginSettingTab {
await autoCleanCondition(
value,
autoCleanSetting,
this.plugin
this.plugin,
"defaultName",
this
);
await this.plugin.saveSettings();
});
Expand Down Expand Up @@ -428,10 +430,11 @@ export class GithubPublisherSettingsTab extends PluginSettingTab {
await autoCleanCondition(
value,
autoCleanSetting,
this.plugin
this.plugin,
"rootFolder",
this
);
await this.plugin.saveSettings();
this.renderSettingsPage(EnumbSettingsTabId.upload);
});
});
const frontmatterTitleSet = new Setting(this.settingsPage)
Expand Down Expand Up @@ -462,10 +465,7 @@ export class GithubPublisherSettingsTab extends PluginSettingTab {
});
}

let desc = i18next.t("settings.upload.regexFilePathTitle.title.FolderPathTitle") ;
if (uploadSettings.behavior === FolderSettings.fixed) {
desc = i18next.t("settings.upload.regexFilePathTitle.title.titleOnly");
}
const desc = uploadSettings.behavior === FolderSettings.fixed ? i18next.t("settings.upload.regexFilePathTitle.title.titleOnly") : i18next.t("settings.upload.regexFilePathTitle.title.FolderPathTitle") ;

new Setting(this.settingsPage)
.setName(desc)
Expand Down Expand Up @@ -518,9 +518,8 @@ export class GithubPublisherSettingsTab extends PluginSettingTab {

showHideBasedOnFolder(this.plugin.settings, frontmatterKeySettings, rootFolderSettings, folderNoteSettings);


//@ts-ignore
if (this.app.plugins.enabledPlugins.has("metadata-extractor")) {
if (this.app.plugins.manifests["metadata-extractor"]) {
new Setting(this.settingsPage)
.setName(
i18next.t("settings.githubWorkflow.useMetadataExtractor.title")
Expand Down
23 changes: 12 additions & 11 deletions src/settings/style.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import i18next from "i18next";
import { Notice, Setting } from "obsidian";
import { GithubPublisherSettingsTab } from "src/settings";

import GithubPublisherPlugin from "../main";
import {FolderSettings, GitHubPublisherSettings} from "./interface";
import {EnumbSettingsTabId, FolderSettings, GitHubPublisherSettings} from "./interface";
/**
* show a settings
* @param {Setting} containerEl setting to show
Expand Down Expand Up @@ -63,28 +64,33 @@ export function showHideBasedOnFolder(settings: GitHubPublisherSettings, frontma
export async function autoCleanCondition(
value: string,
autoCleanSetting: Setting,
plugin: GithubPublisherPlugin
plugin: GithubPublisherPlugin,
what: "rootFolder" | "defaultName" = "defaultName",
settingsTab: GithubPublisherSettingsTab
) {
const settings = plugin.settings.upload;
const translation = what === "rootFolder" ? i18next.t("common.rootFolder") : i18next.t("common.defaultName");
if (value.length === 0 && settings.defaultName) {
new Notice(i18next.t("error.autoClean"));
if (settings.autoclean.enable)
new Notice(i18next.t("error.autoClean", {what: translation}));
settings.autoclean.enable = false;
await plugin.saveSettings();
autoCleanSetting.setDisabled(true);
// @ts-ignore
autoCleanSetting.components[0].toggleEl.classList.remove("is-enabled");
return;
settingsTab.renderSettingsPage(EnumbSettingsTabId.upload);
}
if (
value.length === 0 &&
settings.behavior !== FolderSettings.yaml
) {
new Notice(i18next.t("error.autoClean"));
if (settings.autoclean.enable)
new Notice(i18next.t("error.autoClean", {what: i18next.t("common.defaultName")}),);
settings.autoclean.enable = false;
autoCleanSetting.setDisabled(true);
// @ts-ignore
autoCleanSetting.components[0].toggleEl.classList.remove("is-enabled");
return;
settingsTab.renderSettingsPage(EnumbSettingsTabId.upload);
}
autoCleanSetting.setDisabled(false);
if (settings.autoclean.enable) {
Expand Down Expand Up @@ -123,11 +129,6 @@ export async function folderHideShowSettings(
if (value === FolderSettings.yaml) {
showSettings(frontmatterKeySettings);
showSettings(rootFolderSettings);
autoCleanCondition(
settings.rootFolder,
autoCleanSetting,
plugin
).then();
} else {
if (settings.defaultName.length > 0) {
autoCleanSetting.setDisabled(false);
Expand Down

0 comments on commit 6ce665e

Please sign in to comment.