diff --git a/CHANGELOG.md b/CHANGELOG.md index f3af7d0a..4b35928b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ - [#372](https://github.com/estruyf/vscode-front-matter/issues/372): Rename Taxonomy tab to Taxonomies - [#374](https://github.com/estruyf/vscode-front-matter/issues/374): Hide the front matter section to use the panel instead - [#383](https://github.com/estruyf/vscode-front-matter/issues/383): Add the item menu to the content list view +- [#385](https://github.com/estruyf/vscode-front-matter/issues/385): If no default value for the draft field is defined, the field value will be set to `true` ### ⚡️ Optimizations @@ -23,6 +24,7 @@ ### 🐞 Fixes - [#378](https://github.com/estruyf/vscode-front-matter/issues/378): Fix last modified update only to content in content folders +- [#384](https://github.com/estruyf/vscode-front-matter/issues/384): Fix issue `title` field in sub-fields ## [8.0.1] - 2022-07-13 diff --git a/src/dashboardWebView/components/Contents/Item.tsx b/src/dashboardWebView/components/Contents/Item.tsx index 8a645664..bfd4becc 100644 --- a/src/dashboardWebView/components/Contents/Item.tsx +++ b/src/dashboardWebView/components/Contents/Item.tsx @@ -88,11 +88,13 @@ export const Item: React.FunctionComponent = ({ fmFilePath, date, ti
{ tags.map((tag, index) => ( - - #{tag} - + tag && ( + + #{tag} + + ) )) }
diff --git a/src/dashboardWebView/index.tsx b/src/dashboardWebView/index.tsx index cd648392..fdd64f11 100644 --- a/src/dashboardWebView/index.tsx +++ b/src/dashboardWebView/index.tsx @@ -40,7 +40,10 @@ if (elm) { tracesSampleRate: 0, // No performance tracing required release: version || "", environment: environment || "", - ignoreErrors: ['ResizeObserver loop limit exceeded'] + ignoreErrors: [ + 'ResizeObserver loop limit exceeded', + "Cannot read properties of undefined (reading 'unobserve')" + ] }); } diff --git a/src/helpers/ContentType.ts b/src/helpers/ContentType.ts index f1b3cf1d..3a54d6fb 100644 --- a/src/helpers/ContentType.ts +++ b/src/helpers/ContentType.ts @@ -572,29 +572,40 @@ export class ContentType { * @param contentType * @param data */ - private static async processFields(obj: IContentType | Field, titleValue: string, data: any, filePath: string) { + private static async processFields(obj: IContentType | Field, titleValue: string, data: any, filePath: string, isRoot: boolean = true): Promise { if (obj.fields) { const dateFormat = Settings.get(SETTING_DATE_FORMAT) as string; + for (const field of obj.fields) { if (field.name === "title") { if (field.default) { data[field.name] = processKnownPlaceholders(field.default, titleValue, dateFormat); data[field.name] = await ArticleHelper.processCustomPlaceholders(data[field.name], titleValue, filePath); - } else { + } else if (isRoot) { data[field.name] = titleValue; + } else { + data[field.name] = "" } } else { if (field.type === "fields") { - data[field.name] = await this.processFields(field, titleValue, {}, filePath); + data[field.name] = await this.processFields(field, titleValue, {}, filePath, false); } else { const defaultValue = field.default; if (typeof defaultValue === "string") { data[field.name] = processKnownPlaceholders(defaultValue, titleValue, dateFormat); data[field.name] = await ArticleHelper.processCustomPlaceholders(data[field.name], titleValue, filePath); + } else if (typeof defaultValue !== "undefined") { + data[field.name] = defaultValue; } else { - data[field.name] = typeof defaultValue !== "undefined" ? defaultValue : ""; + const draftField = ContentType.getDraftField(); + + if (field.type === "draft" && (draftField?.type === "boolean" || draftField?.type === undefined)) { + data[field.name] = true; + } else { + data[field.name] = ""; + } } } }