Skip to content

Commit cfbbf9d

Browse files
committed
Set data to null on unchecked elements (checkboxes)
1 parent f5e34fa commit cfbbf9d

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

src/LiveComponent/assets/dist/live_controller.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1057,11 +1057,17 @@ class default_1 extends Controller {
10571057
window.removeEventListener('beforeunload', this.markAsWindowUnloaded);
10581058
}
10591059
update(event) {
1060-
const value = this._getValueFromElement(event.target);
1060+
let value = this._getValueFromElement(event.target);
1061+
if (event.target.type === 'checkbox' && !event.target.checked) {
1062+
value = null;
1063+
}
10611064
this._updateModelFromElement(event.target, value, true);
10621065
}
10631066
updateDefer(event) {
1064-
const value = this._getValueFromElement(event.target);
1067+
let value = this._getValueFromElement(event.target);
1068+
if (event.target.type === 'checkbox' && !event.target.checked) {
1069+
value = null;
1070+
}
10651071
this._updateModelFromElement(event.target, value, false);
10661072
}
10671073
action(event) {

src/LiveComponent/assets/src/live_controller.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,13 +110,21 @@ export default class extends Controller {
110110
* Called to update one piece of the model
111111
*/
112112
update(event: any) {
113-
const value = this._getValueFromElement(event.target);
113+
let value = this._getValueFromElement(event.target);
114+
115+
if (event.target.type === 'checkbox' && !event.target.checked) {
116+
value = null;
117+
}
114118

115119
this._updateModelFromElement(event.target, value, true);
116120
}
117121

118122
updateDefer(event: any) {
119-
const value = this._getValueFromElement(event.target);
123+
let value = this._getValueFromElement(event.target);
124+
125+
if (event.target.type === 'checkbox' && !event.target.checked) {
126+
value = null;
127+
}
120128

121129
this._updateModelFromElement(event.target, value, false);
122130
}

0 commit comments

Comments
 (0)