Skip to content

Commit cef504d

Browse files
Merge pull request #143 from lionel-bijaoui/lb_fix_checklist_value_onChange
Change `onChange` trigger event from `change` to `input` for `checklist`
2 parents a878aac + 6126f25 commit cef504d

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

src/fields/core/fieldChecklist.vue

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
.listbox.form-control(v-if="schema.listBox", :disabled="disabled")
44
.list-row(v-for="item in items")
55
label
6-
input(type="checkbox", :checked="getItemIsChecked(item)", :disabled="disabled", @change="onChanged($event, item)")
6+
input(type="checkbox", :checked="getItemIsChecked(item)", :disabled="disabled", @input="onChanged($event, item)")
77
| {{ getItemName(item) }}
88

99
.combobox.form-control(v-if="!schema.listBox", :disabled="disabled")
@@ -14,7 +14,7 @@
1414
.dropList
1515
.list-row(v-if="comboExpanded", v-for="item in items")
1616
label
17-
input(type="checkbox", :checked="getItemIsChecked(item)", :disabled="disabled", @change="onChanged($event, item)")
17+
input(type="checkbox", :checked="getItemIsChecked(item)", :disabled="disabled", @input="onChanged($event, item)")
1818
| {{ getItemName(item) }}
1919
</template>
2020

@@ -69,7 +69,7 @@
6969
7070
onChanged(event, item) {
7171
if (isNil(this.value))
72-
this.value = [];
72+
this.$set(this, "value", []);
7373
7474
if (event.target.checked)
7575
this.value.push(this.getItemID(item));

test/unit/specs/fields/fieldChecklist.spec.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ describe("fieldChecklist.vue", function() {
7878

7979
it("model value should be the listbox value if changed", (done) => {
8080
checkboxes[0].checked = true;
81-
trigger(checkboxes[0], "change");
81+
trigger(checkboxes[0], "input");
8282

8383
vm.$nextTick( () => {
8484
expect(model.skills).to.be.deep.equal(["ReactJS", "HTML5"]);
@@ -142,7 +142,7 @@ describe("fieldChecklist.vue", function() {
142142

143143
it("model value should be the listbox value if changed", (done) => {
144144
checkboxes[0].checked = true;
145-
trigger(checkboxes[0], "change");
145+
trigger(checkboxes[0], "input");
146146

147147
vm.$nextTick( () => {
148148
expect(model.skills).to.be.deep.equal([3, 1]);
@@ -208,7 +208,7 @@ describe("fieldChecklist.vue", function() {
208208

209209
it("model value should be the listbox value if changed", (done) => {
210210
checkboxes[0].checked = true;
211-
trigger(checkboxes[0], "change");
211+
trigger(checkboxes[0], "input");
212212

213213
vm.$nextTick( () => {
214214
expect(model.skills).to.be.deep.equal([3, 1]);
@@ -305,7 +305,7 @@ describe("fieldChecklist.vue", function() {
305305

306306
it("model value should be the dropList value if changed (add)", (done) => {
307307
checkboxes[0].checked = true;
308-
trigger(checkboxes[0], "change");
308+
trigger(checkboxes[0], "input");
309309

310310
vm.$nextTick( () => {
311311
expect(model.skills).to.be.deep.equal(["ReactJS", "HTML5"]);
@@ -316,7 +316,7 @@ describe("fieldChecklist.vue", function() {
316316

317317
it("model value should be the checklist value if changed (remove)", (done) => {
318318
checkboxes[0].checked = false;
319-
trigger(checkboxes[0], "change");
319+
trigger(checkboxes[0], "input");
320320

321321
vm.$nextTick( () => {
322322
expect(model.skills).to.be.deep.equal(["ReactJS"]);
@@ -328,7 +328,7 @@ describe("fieldChecklist.vue", function() {
328328
it("model value should be the dropList value if changed (null)", (done) => {
329329
model.skills = null;
330330
checkboxes[0].checked = true;
331-
trigger(checkboxes[0], "change");
331+
trigger(checkboxes[0], "input");
332332

333333
vm.$nextTick( () => {
334334
expect(model.skills).to.be.deep.equal(["HTML5"]);

0 commit comments

Comments
 (0)