From 6779b46f55cb41a2cd3bf44b05b81b1fb6645e84 Mon Sep 17 00:00:00 2001 From: Joffrey JAFFEUX Date: Wed, 13 Nov 2024 22:53:42 +0900 Subject: [PATCH] FIX: correctly makes @disabled dynamic (#29738) Disabled was set on field init which was preventing it to be dynamic. --- .../components/fk/control-wrapper.gjs | 12 ++++++++--- .../components/fk/control/checkbox.gjs | 2 +- .../form-kit/components/fk/control/code.gjs | 2 +- .../components/fk/control/composer.gjs | 2 +- .../form-kit/components/fk/control/icon.gjs | 2 +- .../form-kit/components/fk/control/input.gjs | 2 +- .../form-kit/components/fk/control/menu.gjs | 2 +- .../components/fk/control/password.gjs | 2 +- .../components/fk/control/question.gjs | 4 ++-- .../components/fk/control/radio-group.gjs | 5 ++++- .../fk/control/radio-group/radio.gjs | 2 +- .../form-kit/components/fk/control/select.gjs | 2 +- .../components/fk/control/textarea.gjs | 1 + .../form-kit/components/fk/control/toggle.gjs | 1 + .../app/form-kit/components/fk/field.gjs | 15 +++++++++++++- .../app/form-kit/components/fk/meta.gjs | 2 +- .../tests/helpers/form-kit-assertions.js | 7 ++----- .../form-kit/controls/checkbox-test.gjs | 12 +++++++++++ .../form-kit/controls/code-test.gjs | 12 +++++++++++ .../form-kit/controls/composer-test.gjs | 12 +++++++++++ .../form-kit/controls/icon-test.gjs | 12 +++++++++++ .../form-kit/controls/image-test.gjs | 4 +++- .../form-kit/controls/input-text-test.gjs | 12 +++++++++++ .../form-kit/controls/menu-test.gjs | 12 +++++++++++ .../form-kit/controls/radio-test.gjs | 16 +++++++++++++++ .../form-kit/controls/select-test.gjs | 14 +++++++++++++ .../form-kit/controls/textarea-test.gjs | 12 +++++++++++ .../form-kit/controls/toggle-test.gjs | 12 +++++++++++ .../components/form-kit/field-test.gjs | 20 ++++++++++++++++--- 29 files changed, 189 insertions(+), 26 deletions(-) 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 f30d352923d..4af4afe4943 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 @@ -44,10 +44,10 @@ export default class FKControlWrapper extends Component { "form-kit__field" (concat "form-kit__field-" this.controlType) (if this.error "has-error") - (if @field.disabled "is-disabled") + (if @disabled "is-disabled") (if (eq @format "full") "--full") }} - data-disabled={{@field.disabled}} + data-disabled={{@disabled}} data-name={{@field.name}} data-control-type={{this.controlType}} > @@ -86,6 +86,7 @@ export default class FKControlWrapper extends Component { @after={{@after}} @height={{@height}} @selection={{@selection}} + @disabled={{@disabled}} id={{@field.id}} name={{@field.name}} aria-invalid={{if this.error "true"}} @@ -96,7 +97,12 @@ export default class FKControlWrapper extends Component { {{yield components}} - + diff --git a/app/assets/javascripts/discourse/app/form-kit/components/fk/control/checkbox.gjs b/app/assets/javascripts/discourse/app/form-kit/components/fk/control/checkbox.gjs index 5a19dfbbc77..50ee04db14b 100644 --- a/app/assets/javascripts/discourse/app/form-kit/components/fk/control/checkbox.gjs +++ b/app/assets/javascripts/discourse/app/form-kit/components/fk/control/checkbox.gjs @@ -18,7 +18,7 @@ export default class FKControlCheckbox extends Component { type="checkbox" checked={{eq @value true}} class="form-kit__control-checkbox" - disabled={{@field.disabled}} + disabled={{@disabled}} ...attributes {{on "change" this.handleInput}} /> diff --git a/app/assets/javascripts/discourse/app/form-kit/components/fk/control/code.gjs b/app/assets/javascripts/discourse/app/form-kit/components/fk/control/code.gjs index fc6edb72bdc..772f22ac851 100644 --- a/app/assets/javascripts/discourse/app/form-kit/components/fk/control/code.gjs +++ b/app/assets/javascripts/discourse/app/form-kit/components/fk/control/code.gjs @@ -27,7 +27,7 @@ export default class FKControlCode extends Component { @content={{this.initialValue}} @onChange={{this.handleInput}} @mode={{@lang}} - @disabled={{@field.disabled}} + @disabled={{@disabled}} class="form-kit__control-code" style={{this.style}} ...attributes diff --git a/app/assets/javascripts/discourse/app/form-kit/components/fk/control/composer.gjs b/app/assets/javascripts/discourse/app/form-kit/components/fk/control/composer.gjs index e683562752b..bcdf20b9b9d 100644 --- a/app/assets/javascripts/discourse/app/form-kit/components/fk/control/composer.gjs +++ b/app/assets/javascripts/discourse/app/form-kit/components/fk/control/composer.gjs @@ -24,7 +24,7 @@ export default class FKControlComposer extends Component { diff --git a/app/assets/javascripts/discourse/app/form-kit/components/fk/control/menu.gjs b/app/assets/javascripts/discourse/app/form-kit/components/fk/control/menu.gjs index c8ceb7adfb7..77e76476adb 100644 --- a/app/assets/javascripts/discourse/app/form-kit/components/fk/control/menu.gjs +++ b/app/assets/javascripts/discourse/app/form-kit/components/fk/control/menu.gjs @@ -23,7 +23,7 @@ export default class FKControlMenu extends Component { checked={{eq @groupValue @value}} id={{uuid}} class="form-kit__control-radio" - disabled={{@field.disabled}} + disabled={{@disabled}} ...attributes {{on "change" (withEventValue @field.set)}} /> 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 9b3a304b3b3..859a4cdd460 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 @@ -20,7 +20,7 @@ export default class FKControlSelect extends Component {