From 80f1ce33571508b6210628b3338f09840f7b870f Mon Sep 17 00:00:00 2001 From: Eric Kwoka <43540491+ekwoka@users.noreply.github.com> Date: Wed, 20 Mar 2024 18:50:05 +0900 Subject: [PATCH 1/2] :test_tube: Adds failing .fill.debounce test --- tests/cypress/integration/directives/x-model.spec.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/cypress/integration/directives/x-model.spec.js b/tests/cypress/integration/directives/x-model.spec.js index db280bee9..c45422a3d 100644 --- a/tests/cypress/integration/directives/x-model.spec.js +++ b/tests/cypress/integration/directives/x-model.spec.js @@ -282,3 +282,15 @@ test( } ); +test( + 'x-model with fill and debounce still fills value', + html` +
+ +
+ `, + ({ get }) => { + get('[x-data]').should(haveData('a', 'hello')); + } +); + From 7e05a9102ae7948e51ae7c9f21545a000a59b739 Mon Sep 17 00:00:00 2001 From: Eric Kwoka <43540491+ekwoka@users.noreply.github.com> Date: Wed, 20 Mar 2024 19:17:55 +0900 Subject: [PATCH 2/2] :bug: Fixes .fill.debounce conflict --- packages/alpinejs/src/directives/x-model.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/alpinejs/src/directives/x-model.js b/packages/alpinejs/src/directives/x-model.js index ed3c79f0d..80dbbb272 100644 --- a/packages/alpinejs/src/directives/x-model.js +++ b/packages/alpinejs/src/directives/x-model.js @@ -72,7 +72,9 @@ directive('model', (el, { modifiers, expression }, { effect, cleanup }) => { if (modifiers.includes('fill')) if ([undefined, null, ''].includes(getValue()) || (el.type === 'checkbox' && Array.isArray(getValue()))) { - el.dispatchEvent(new Event(event, {})); + setValue( + getInputValue(el, modifiers, { target: el }, getValue()) + ); } // Register the listener removal callback on the element, so that // in addition to the cleanup function, x-modelable may call it.