Skip to content

Commit 8e528b4

Browse files
committed
add every component to the body
If not, the ready() was not called.
1 parent 2be0307 commit 8e528b4

8 files changed

+21
-10
lines changed

src/fields/fieldCleave.vue

+5
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,11 @@ export default {
4343
} else {
4444
console.warn("Cleave is missing. Please download from https://github.com/nosir/cleave.js/ and load the script in the HTML head section!");
4545
}
46+
},
47+
48+
beforeDestroy() {
49+
if (this.cleave)
50+
this.cleave.destroy();
4651
}
4752
};
4853
</script>

src/fields/fieldDateTime.vue

+4-2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
/* global $ */
1010
import abstractField from "./abstractField";
1111
import moment from "moment";
12+
import { defaults } from "lodash";
1213
1314
let inputFormat = "YYYY-MM-DD HH:mm:ss";
1415
@@ -46,11 +47,12 @@
4647
},
4748
4849
ready() {
49-
if ($.fn.datetimepicker)
50+
if ($.fn.datetimepicker) {
5051
$(this.$el).datetimepicker(this.schema.dateTimePickerOptions);
52+
//$(this.$el).data("DateTimePicker").date(this.formatValueToField(this.value));
53+
}
5154
else
5255
console.warn("Bootstrap datetimepicker library is missing. Please download from https://eonasdan.github.io/bootstrap-datetimepicker/ and load the script and CSS in the HTML head section!");
53-
5456
}
5557
};
5658
</script>

src/fields/fieldSpectrum.vue

+3-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
},
1919
2020
ready() {
21-
if ($.fn.spectrum)
21+
if ($.fn.spectrum) {
2222
$(this.$el).spectrum("destroy").spectrum(defaults(this.schema.colorOptions || {}, {
2323
showInput: true,
2424
showAlpha: true,
@@ -29,8 +29,9 @@
2929
this.value = color ? color.toString() : null;
3030
}
3131
}));
32-
else
32+
} else {
3333
console.warn("Spectrum color library is missing. Please download from http://bgrins.github.io/spectrum/ and load the script and CSS in the HTML head section!");
34+
}
3435
}
3536
3637
};

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

+7-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ function createField(schema = {}, model = null, disabled = false, options) {
1313
[ el, vm, field ] = createVueField("fieldDateTime", schema, model, disabled, options);
1414
}
1515

16-
describe("fieldDateTime.vue", () => {
16+
describe.only("fieldDateTime.vue", () => {
1717

1818
describe("check template", () => {
1919
let schema = {
@@ -50,7 +50,12 @@ describe("fieldDateTime.vue", () => {
5050
field.disabled = true;
5151
vm.$nextTick( () => {
5252
expect(input.disabled).to.be.true;
53-
done();
53+
54+
// Rollback
55+
field.disabled = false;
56+
vm.$nextTick( () => {
57+
done();
58+
});
5459
});
5560
});
5661

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

-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ describe("fieldMasked.vue", () => {
2828

2929
before( () => {
3030
createField(schema, model, false);
31-
vm.$appendTo(document.body);
3231
input = el.getElementsByTagName("input")[0];
3332
});
3433

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

-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ describe("fieldNoUiSlider.vue", () => {
2828

2929
before( () => {
3030
createField(schema, model, false);
31-
vm.$appendTo(document.body);
3231
input = el.getElementsByClassName("slider")[0];
3332
});
3433

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

-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ describe("fieldVueMultiSelect.vue", () => {
3535

3636
before( () => {
3737
createField(schema, model, false);
38-
vm.$appendTo(document.body);
3938
input = el.querySelector(".multiselect");
4039
});
4140

test/unit/specs/util.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export function trigger (el, event, args) {
2020
export function createVueField(type, schema = {}, model = null, disabled = false, options) {
2121
let elName = Vue.util.hyphenate(type);
2222
let el = document.createElement("div");
23+
document.body.appendChild(el);
2324
el.innerHTML = `<${elName} :schema.sync="schema" :model.sync="model" :disabled="disabled" v-ref:field></${elName}>`;
2425
let vm = new Vue({
2526
el: el,
@@ -31,6 +32,6 @@ export function createVueField(type, schema = {}, model = null, disabled = false
3132
}
3233
});
3334
let field = vm.$refs.field;
34-
35+
3536
return [ el, vm, field ];
3637
}

0 commit comments

Comments
 (0)