Código de: publico/js/novo.js
var FormWizard = function () {
var handleSummernote = function () {
var myElement = $('#texto');
myElement.show();
myElement.summernote({
height: 250,
dialogsFade: true,
placeholder: 'Digite ou cole aqui o texto',
lang: 'pt-BR',
toolbar: [
['style', ['style']],
['font', ['bold', 'underline', 'clear']],
//['fontname', ['fontname']],
['color', ['color']],
['para', ['ul', 'ol', 'paragraph']],
['table', ['table']],
['insert', ['link'/*, 'picture', 'video'*/]],
['view', ['fullscreen', 'codeview', 'help']]
],
callbacks: {
onChange: function(contents, $editable) {
myElement.val(myElement.summernote('isEmpty') ? "" : contents);
v.element(myElement);
}
}
});
//API:
//var sHTML = $('#summernote_1').code(); // get code
//$('#summernote_1').destroy(); // destroy
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-novo');
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
},
secao: {
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-novo').serialize();
var action = $('#form-novo').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();
});
function select2() {
$.fn.select2.defaults.set("theme", "bootstrap");
$.fn.select2.defaults.set('language', 'pt-BR');
$(".select2").select2({
selectOnClose: true,
placeholder: 'Selecione',
selectOnBlur: true,
tags: false,
});
} select2();
$('[name=grupo]').on('change', function() {
//console.log(this.value);
$('#selectCategoria').html(grupo[this.value]);
$('#selectCategoria').select2({
selectOnClose: true,
placeholder: 'Selecione',
selectOnBlur: true,
tags: false,
});
})