From 3f8665cadfdb4eae42b64218d8d40d7383a36f0a Mon Sep 17 00:00:00 2001 From: Elio Struyf Date: Thu, 5 Sep 2024 14:05:37 +0200 Subject: [PATCH] #845 - Fix empty values for number fields --- CHANGELOG.md | 2 ++ src/listeners/panel/DataListener.ts | 2 ++ src/panelWebView/components/Fields/WrapperField.tsx | 6 +++++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ebb0f96..e0920536 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ ### 🐞 Fixes +- [#845](https://github.com/estruyf/vscode-front-matter/issues/845): Fix empty values for number fields + ## [10.3.0] - 2024-08-13 - [Release notes](https://beta.frontmatter.codes/updates/v10.3.0) ### ✨ New features diff --git a/src/listeners/panel/DataListener.ts b/src/listeners/panel/DataListener.ts index dcf35b5f..213ea204 100644 --- a/src/listeners/panel/DataListener.ts +++ b/src/listeners/panel/DataListener.ts @@ -437,6 +437,8 @@ export class DataListener extends BaseListener { if (!sourceField.default) { value = undefined; } + } else if (sourceField?.type === 'number') { + // We don't have to do anything for numbers, we can leave the 0 value } else { value = undefined; } diff --git a/src/panelWebView/components/Fields/WrapperField.tsx b/src/panelWebView/components/Fields/WrapperField.tsx index caf431a2..5bf4e98a 100644 --- a/src/panelWebView/components/Fields/WrapperField.tsx +++ b/src/panelWebView/components/Fields/WrapperField.tsx @@ -129,7 +129,11 @@ export const WrapperField: React.FunctionComponent = ({ } else { // Did not contain a placeholder, so value can be set if (fieldValue === undefined || value !== fieldValue) { - setFieldValue(value || null); + if (typeof value === 'number') { + setFieldValue(value); + } else { + setFieldValue(value || null); + } } } }, [field, parent]);