sarga/packages/Webkul/Admin/src/Resources/assets/js/app.js

96 lines
2.6 KiB
JavaScript
Executable File

require("./bootstrap");
window.Vue = require("vue");
window.VeeValidate = require("vee-validate");
Vue.use(VeeValidate);
Vue.prototype.$http = axios
window.eventBus = new Vue();
$(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: function (e) {
this.toggleButtonDisable(true);
if(typeof tinyMCE !== 'undefined')
tinyMCE.triggerSave();
this.$validator.validateAll().then(result => {
if (result) {
e.target.submit();
} else {
this.toggleButtonDisable(false);
}
});
},
toggleButtonDisable (value) {
var buttons = document.getElementsByTagName("button");
for (var i = 0; i < buttons.length; i++) {
buttons[i].disabled = value;
}
},
addServerErrors(scope = null) {
for (var key in serverErrors) {
var inputNames = [];
key.split('.').forEach(function(chunk, index) {
if(index) {
inputNames.push('[' + chunk + ']')
} else {
inputNames.push(chunk)
}
})
var inputName = inputNames.join('');
const field = this.$validator.fields.find({
name: inputName,
scope: scope
});
if (field) {
this.$validator.errors.add({
id: field.id,
field: inputName,
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);
}
}
});
});