63 lines
1.6 KiB
JavaScript
63 lines
1.6 KiB
JavaScript
window.jQuery = window.$ = $ = require('jquery');
|
|
window.Vue = require('vue');
|
|
window.VeeValidate = require('vee-validate');
|
|
|
|
Vue.use(VeeValidate);
|
|
|
|
$(document).ready(function () {
|
|
Vue.config.ignoredElements = [
|
|
'option-wrapper',
|
|
'group-form',
|
|
'group-list'
|
|
];
|
|
|
|
var app = new Vue({
|
|
el: '#app',
|
|
|
|
data: {
|
|
modalIds: {}
|
|
},
|
|
|
|
mounted () {
|
|
this.addServerErrors()
|
|
this.addFlashMessages()
|
|
},
|
|
|
|
methods: {
|
|
onSubmit (e) {
|
|
this.$validator.validateAll().then((result) => {
|
|
if (result) {
|
|
e.target.submit()
|
|
}
|
|
});
|
|
},
|
|
|
|
addServerErrors () {
|
|
var scope = null;
|
|
for (var key in serverErrors) {
|
|
const field = this.$validator.fields.find({ name: key, scope: scope });
|
|
if (field) {
|
|
this.$validator.errors.add({
|
|
id: field.id,
|
|
field: key,
|
|
msg: serverErrors[key][0],
|
|
scope: scope,
|
|
});
|
|
}
|
|
}
|
|
},
|
|
|
|
addFlashMessages () {
|
|
const flashes = this.$refs.flashes
|
|
|
|
flashMessages.forEach(function(flash) {
|
|
flashes.addFlash(flash)
|
|
}, this);
|
|
},
|
|
|
|
showModal (id) {
|
|
this.$set(this.modalIds, id, true);
|
|
}
|
|
}
|
|
});
|
|
}); |