From 8ad34862e4386ac682f437211c7ac24d8465d21e Mon Sep 17 00:00:00 2001 From: Joffrey JAFFEUX Date: Tue, 4 Feb 2025 11:46:24 +0100 Subject: [PATCH] DEV: adds includeNone param to form-kit select (#31162) This option allows to force the presence of none when a value is selected. --- .../form-kit/components/fk/control-wrapper.gjs | 1 + .../form-kit/components/fk/control/select.gjs | 4 +++- .../components/form-kit/controls/select-test.gjs | 16 ++++++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/discourse/app/form-kit/components/fk/control-wrapper.gjs b/app/assets/javascripts/discourse/app/form-kit/components/fk/control-wrapper.gjs index 9d7f0ca5cd9..c3c2e2a0e2a 100644 --- a/app/assets/javascripts/discourse/app/form-kit/components/fk/control-wrapper.gjs +++ b/app/assets/javascripts/discourse/app/form-kit/components/fk/control-wrapper.gjs @@ -96,6 +96,7 @@ export default class FKControlWrapper extends Component { @height={{@height}} @preview={{@preview}} @selection={{@selection}} + @includeNone={{@includeNone}} id={{@field.id}} name={{@field.name}} aria-invalid={{if this.error "true"}} diff --git a/app/assets/javascripts/discourse/app/form-kit/components/fk/control/select.gjs b/app/assets/javascripts/discourse/app/form-kit/components/fk/control/select.gjs index 657ff2bee23..fc1292df744 100644 --- a/app/assets/javascripts/discourse/app/form-kit/components/fk/control/select.gjs +++ b/app/assets/javascripts/discourse/app/form-kit/components/fk/control/select.gjs @@ -21,7 +21,9 @@ export default class FKControlSelect extends Component { return true; } - return !this.args.field.validation?.includes("required"); + return ( + this.args.includeNone ?? !this.args.field.validation?.includes("required") + ); }