Skip to content

Commit 155f5a1

Browse files
author
Lionel Bijaoui
committed
Fix problem with comments and update test
1 parent c868aab commit 155f5a1

File tree

2 files changed

+28
-35
lines changed

2 files changed

+28
-35
lines changed

src/fields/optional/fieldVueMultiSelect.vue

+3-8
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
<template lang="pug">
2-
multiselect(
3-
//- multiselectMixin.js
2+
multiselect(
43
:id="selectOptions.id",
54
:options="options",
65
:value="value",
7-
:multiple="schema.multiple",
6+
:multiple="selectOptions.multiple",
87
:track-by="selectOptions.trackBy || null",
98
:label="selectOptions.label || null",
109
:searchable="selectOptions.searchable",
@@ -22,7 +21,6 @@
2221
:group-label="selectOptions.groupLabel",
2322
:block-keys="selectOptions.blockKeys",
2423
:internal-search="selectOptions.internalSearch",
25-
//- Multiselect.vue
2624
:select-label="selectOptions.selectLabel",
2725
:selected-label="selectOptions.selectedLabel",
2826
:deselect-label="selectOptions.deselectLabel",
@@ -32,17 +30,14 @@
3230
:loading="selectOptions.loading",
3331
:disabled="disabled",
3432
:max-height="selectOptions.maxHeight",
35-
//- pointerMixin.js
3633
:show-pointer="selectOptions.showPointer",
37-
//- Events
3834
@input="updateSelected",
3935
@select="onSelect",
4036
@remove="onRemove",
4137
@search-change="onSearchChange",
4238
@tag="addTag",
4339
@open="onOpen",
44-
@close="onClose",
45-
//- Slots
40+
@close="onClose",
4641
:option-height="selectOptions.optionHeight",
4742
)
4843
</template>

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

+25-27
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Vue.component("multiselect", VueMultiSelect);
1212
let el, vm, field;
1313

1414
function createField(test, schema = {}, model = null, disabled = false, options) {
15-
[ el, vm, field ] = createVueField(test, "fieldVueMultiSelect", schema, model, disabled, options);
15+
[el, vm, field] = createVueField(test, "fieldVueMultiSelect", schema, model, disabled, options);
1616
}
1717

1818
describe("fieldVueMultiSelect.vue", function() {
@@ -22,20 +22,21 @@ describe("fieldVueMultiSelect.vue", function() {
2222
type: "vueMultiSelect",
2323
label: "Cities",
2424
model: "city",
25-
multiSelect: true,
2625
required: false,
2726
values: [
2827
"London",
2928
"Paris",
3029
"Rome",
3130
"Berlin"
3231
],
33-
selectOptions: {}
32+
selectOptions: {
33+
multiple: true
34+
}
3435
};
3536
let model = { city: "Paris" };
3637
let input;
3738

38-
before( () => {
39+
before(() => {
3940
createField(this, schema, model, false);
4041
input = el.querySelector(".multiselect");
4142
});
@@ -58,7 +59,7 @@ describe("fieldVueMultiSelect.vue", function() {
5859

5960
it("should set disabled", (done) => {
6061
field.disabled = true;
61-
vm.$nextTick( () => {
62+
vm.$nextTick(() => {
6263
expect(input.classList.contains("multiselect--disabled")).to.be.true;
6364
field.disabled = false;
6465
done();
@@ -67,7 +68,7 @@ describe("fieldVueMultiSelect.vue", function() {
6768

6869
it("input value should be the model value after changed", (done) => {
6970
model.city = "Rome";
70-
vm.$nextTick( () => {
71+
vm.$nextTick(() => {
7172
expect(input.querySelectorAll("li .multiselect__option--selected").length).to.be.equal(1);
7273
let options = input.querySelectorAll("li .multiselect__option");
7374
expect(options[2].querySelector("span").textContent).to.be.equal("Rome");
@@ -77,8 +78,8 @@ describe("fieldVueMultiSelect.vue", function() {
7778
});
7879

7980
it("input value should be the model value after changed (multiselection)", (done) => {
80-
model.city = ["Paris","Rome"];
81-
vm.$nextTick( () => {
81+
model.city = ["Paris", "Rome"];
82+
vm.$nextTick(() => {
8283
expect(input.querySelectorAll("li .multiselect__option--selected").length).to.be.equal(2);
8384
let options = input.querySelectorAll("li .multiselect__option");
8485
expect(options[1].querySelector("span").textContent).to.be.equal("Paris");
@@ -93,7 +94,7 @@ describe("fieldVueMultiSelect.vue", function() {
9394
let options = input.querySelectorAll("li .multiselect__option");
9495
trigger(options[2], "mousedown");
9596

96-
vm.$nextTick( () => {
97+
vm.$nextTick(() => {
9798
expect(model.city.length).to.be.equal(1);
9899
expect(model.city[0]).to.be.equal("Paris");
99100
done();
@@ -106,31 +107,28 @@ describe("fieldVueMultiSelect.vue", function() {
106107
name: "Vue.js",
107108
language: "JavaScript"
108109
};
109-
let schema = {...schema};
110+
let schema = {...schema };
110111
let model = {
111112
city: [option]
112113
};
113-
schema.values = [
114-
{
115-
name: "Vue.js",
116-
language: "JavaScript"
117-
},
118-
{
119-
name: "Rails",
120-
language: "Ruby"
121-
},
122-
{
123-
name: "Sinatra",
124-
language: "Ruby"
125-
}];
114+
schema.values = [{
115+
name: "Vue.js",
116+
language: "JavaScript"
117+
}, {
118+
name: "Rails",
119+
language: "Ruby"
120+
}, {
121+
name: "Sinatra",
122+
language: "Ruby"
123+
}];
126124
schema.selectOptions = {};
127125
before(() => {
128126
createField(this, schema, model, false);
129127
input = el.querySelector(".multiselect");
130128
});
131129

132130
it("model value should work with objects", (done) => {
133-
schema.selectOptions = {label: "name", trackBy: "name"};
131+
schema.selectOptions = { label: "name", trackBy: "name" };
134132
vm.$nextTick(() => {
135133
expect(model.city.length).to.be.equal(1);
136134
expect(model.city[0]).to.be.eql(schema.values[0]);
@@ -139,7 +137,7 @@ describe("fieldVueMultiSelect.vue", function() {
139137
});
140138

141139
it("options should contain only text specified in label", (done) => {
142-
schema.selectOptions = {label: "language", trackBy: "language"};
140+
schema.selectOptions = { label: "language", trackBy: "language" };
143141
vm.$nextTick(() => {
144142
let options = input.querySelectorAll("li .multiselect__option");
145143
expect(options[0].querySelector("span").textContent).to.be.equal("JavaScript");
@@ -151,7 +149,7 @@ describe("fieldVueMultiSelect.vue", function() {
151149
schema.selectOptions = {
152150
label: "name",
153151
trackBy: "name",
154-
customLabel: ({name, language}) => {
152+
customLabel: ({ name, language }) => {
155153
return `${name}-${language}`;
156154
}
157155
};
@@ -163,4 +161,4 @@ describe("fieldVueMultiSelect.vue", function() {
163161
});
164162
});
165163
});
166-
});
164+
});

0 commit comments

Comments
 (0)