60 lines
1.9 KiB
JavaScript
60 lines
1.9 KiB
JavaScript
Vue.config.debug = true;
|
|
Vue.config.devtools = true;
|
|
var x = new Vue({
|
|
el: '#forms-render',
|
|
|
|
data: {
|
|
forms: []
|
|
},
|
|
|
|
ready: function() {
|
|
this.fetchForms();
|
|
},
|
|
|
|
methods: {
|
|
fetchForms: function() {
|
|
this.$http.get(Routing.generate('api_get_forms'), function(forms) {
|
|
for (var i = 0; i < forms.data.length; i++) {
|
|
forms.data[i].errors = {};
|
|
}
|
|
this.$set('forms', forms.data);
|
|
});
|
|
},
|
|
|
|
save: function() {
|
|
var that = this;
|
|
var data = {
|
|
forms: {
|
|
forms: this.forms
|
|
}
|
|
};
|
|
|
|
this.$http.post(Routing.generate('api_post_forms'), data)
|
|
.success(function (data) {
|
|
console.log(data);
|
|
})
|
|
.error(function (data) {
|
|
console.log(data);
|
|
if (data.hasOwnProperty("code") && data.code === 400
|
|
&& data.hasOwnProperty('message') && data.message === "Validation Failed" ) {
|
|
var k = 0;
|
|
for (var i = 0; i < data.errors.children.forms.children.length; i++) {
|
|
var form = data.errors.children.forms.children[i];
|
|
//console.log(form);
|
|
for ( var j in form ) {
|
|
var errorsInputs = form[j];
|
|
//console.log(errorsInputs);
|
|
that.forms[k].errors = errorsInputs;
|
|
//that.forms[k].label = 'toto';
|
|
|
|
k++;
|
|
}
|
|
}
|
|
console.log(that.forms);
|
|
//that.$set('forms', that.forms); //change rien avec ou sans
|
|
}
|
|
});
|
|
}
|
|
}
|
|
})
|