From d1dba01923fdc162ba9be6cbef644cdf8733fc2e Mon Sep 17 00:00:00 2001 From: Elio Struyf Date: Fri, 1 Mar 2024 09:00:42 +0100 Subject: [PATCH] #769 - Fix folder update --- src/commands/Folders.ts | 18 ++++++++++++++++++ src/models/ContentFolder.ts | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/commands/Folders.ts b/src/commands/Folders.ts index 21b3410a..4493374d 100644 --- a/src/commands/Folders.ts +++ b/src/commands/Folders.ts @@ -405,8 +405,13 @@ export class Folders { * @param folders */ public static async update(folders: ContentFolder[]) { + const originalFolders = Settings.get(SETTING_CONTENT_PAGE_FOLDERS) as ContentFolder[]; const wsFolder = Folders.getWorkspaceFolder(); + // Filter out the locale folders + folders = folders.filter((folder) => !folder.locale || folder.locale === folder.defaultLocale); + + // Remove the internal FM properties const folderDetails = folders .map((folder) => { const detail = { @@ -418,6 +423,19 @@ export class Folders { return null; } + if (detail.locale && detail.locale === detail.defaultLocale) { + // Check if the folder was on the original list + const originalFolder = originalFolders.find((f) => f.path === folder.originalPath); + + if (originalFolder && !originalFolder.locales && folder.locales) { + delete detail.locales; + } + + delete detail.localeSourcePath; + delete detail.localeTitle; + } + + delete detail.locale; delete detail.originalPath; return detail; diff --git a/src/models/ContentFolder.ts b/src/models/ContentFolder.ts index 646fe5e0..66bb39d9 100644 --- a/src/models/ContentFolder.ts +++ b/src/models/ContentFolder.ts @@ -17,5 +17,5 @@ export interface ContentFolder { localeTitle?: string; localeSourcePath?: string; defaultLocale?: string; - locales: I18nConfig[]; + locales?: I18nConfig[]; }