Código de: publico/js/editar.js
var FormWizard = function () {
var handleSummernote = function () {
function format(state) {
if (!state.id) return state.text; // optgroup
return "<img class='flag' src='../../assets/global/img/flags/" + state.id.toLowerCase() + ".png'/> " + state.text;
}
var form = $('#form-editar');
var error = $('.alert-danger', form);
var success = $('.alert-success', form);
var v = form.validate({
doNotHideMessage: true, //this option enables to show the error/success messages on tab switch.
errorElement: 'span', //default input error message container
errorClass: 'help-block help-block-error', // default input error message class
focusInvalid: false, // do not focus the last invalid input
rules: {
//account
data: {
required: true
},
hora: {
required: true
},
grupo: {
required: true
},
categoria: {
required: true
},
titulo: {
required: true
},
texto: {
//required: false
}
},
ignore: ":hidden:not(#texto),.note-editable.panel-body",
messages: { // custom messages for radio buttons and checkboxes
},
errorPlacement: function (error, element) { // render error placement for each input type
if (element.attr("name") == "gender") { // for uniform radio buttons, insert the after the given container
error.insertAfter("#form_gender_error");
} else if (element.attr("name") == "texto") { // for uniform checkboxes, insert the after the given container
error.insertAfter("#erro-editor");
} else {
error.insertAfter(element); // for other inputs, just perform default behavior
}
},
invalidHandler: function (event, validator) { //display error alert on form submit
success.hide();
error.show();
App.scrollTo(error, -200);
},
highlight: function (element) { // hightlight error inputs
$(element)
.closest('.form-group').removeClass('has-success').addClass('has-error'); // set error class to the control group
},
unhighlight: function (element) { // revert the change done by hightlight
$(element)
.closest('.form-group').removeClass('has-error'); // set error class to the control group
},
success: function (label) {
if (label.attr("for") == "gender" || label.attr("for") == "payment[]") { // for checkboxes and radio buttons, no need to show OK icon
label
.closest('.form-group').removeClass('has-error');
label.remove(); // remove error label here
} else { // display success icon for other inputs
label
.addClass('valid') // mark the current input as valid and display OK icon
.closest('.form-group').removeClass('has-error'); // set success class to the control group
}
},
submitHandler: function (form) {
data = $('#form-editar').serialize();
var action = $('#form-editar').attr('action');
//var acao = 'criar';
$.ajax({
type: "POST",
dataType: "json",
url: action,
data: data,
success: function( data ) {
retornoAjax(data);
},
error: function( data ) {
$toast = toastr['error']('Informações inválidas. Atualize a página para continuar.');
}
});
}
});
}
return {
//main function to initiate the module
init: function () {
//validations();
handleSummernote();
}
};
}();
jQuery(document).ready(function() {
FormWizard.init();
});
$('[name=grupo]').on('change', function() {
$('#selectCategoria').html(grupo[this.value]);
$('#selectCategoria').select2({
selectOnClose: true,
placeholder: 'Selecione',
selectOnBlur: true,
tags: false,
});
})