function dd(value) { console.log(value); } $(function() { maskInit(); dpStart(); }); function maskInit() { $("[data-mask]").each(function(){ maskItem($(this)); }); $("[data-an]").each(function(){ var _a = $(this).attr('data-an'); switch(_a) { case "numeric": $(this).numeric({ allowMinus : false, allowThouSep : false, allowDecSep : false, }); break; case "alpha": $(this).alpha(); break; default : $(this).alphanum(); break; } }); $(".field-repeater-items").on("DOMSubtreeModified", function(){ $(this).find("input[data-mask]:not([mask-ready])").each(function(){ maskItem($(this)); }); }); $(document).on("shown.bs.modal", ".modal", function(){ $(this).find("input[data-mask]:not([mask-ready])").each(function(){ maskItem($(this)); }); }); } function maskItem($obj) { var _mask = $obj.attr('data-mask'); var _maskIcon = $obj.attr('data-mask-icon'); var _maskIcon_top = "35px"; var _maskMoney_top = "35px"; if($obj.hasClass("input-sm")) { _maskIcon_top = "33px"; _maskMoney_top = "29px"; } if(_maskIcon == undefined){ _maskIcon = 'true'; } if($obj.attr("mask-ready") != "1") { $obj.attr("mask-ready", "1"); switch(_mask) { case "money": if($obj.attr('value') != undefined) { let _val = $obj.attr('value').replace(".", ""); $obj.val(_val); } $obj.mask("0.000.000.000,00", {reverse: true}); $obj.addClass('uk-text-right'); if($obj.parent("div.form-group").length) { $obj.parent("div.form-group").append("R$"); } break; case "decimal": if($obj.attr('value') != undefined) { let _val = $obj.attr('value').replace(".", ""); $obj.val(_val); } $obj.mask("0.000.000.000,00", {reverse: true}); $obj.addClass('uk-text-right'); break; case "rg": $obj.mask("000000000000000"); if(_maskIcon == 'true') { $obj.addClass('p-left-35'); $obj.parent("div.form-group").append(""); } break; case "f": $obj.mask("000.000.000-00"); $obj.val($obj.attr("value")); if(_maskIcon == 'true') { $obj.addClass('p-left-35'); $obj.parent("div.form-group").append(""); } break; case "cnpj": $obj.mask("00.000.000/0000-00"); $obj.val($obj.attr("value")); if(_maskIcon == 'true') { $obj.addClass('p-left-30'); $obj.parent("div.form-group").append(""); } break; case "fcnpj": case "cnpjf": var mask_behavior = function (val) { return val.replace(/\D/g, '').length > 11 ? '00.000.000/0000-00' : '000.000.000-009'; }, options = { onKeyPress: function (val, e, field, options) { field.mask(mask_behavior.apply({}, arguments), options); } }; $obj.mask(mask_behavior, options); $obj.val($obj.attr("value")); if($obj.attr('mask-icon')) { $icon = $obj.attr('mask-icon'); } if(_maskIcon == 'true') { $obj.addClass('p-left-30'); $obj.parent("div.form-group").append(""); } break; case "phone": var phone_behavior = function (val) { return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009'; }, options = { onKeyPress: function (val, e, field, options) { field.mask(phone_behavior.apply({}, arguments), options); } }; $obj.mask(phone_behavior, options); $obj.val($obj.attr("value")); if(_maskIcon == 'true') { $obj.addClass("p-left-30"); $obj.parent("div.form-group").append(""); } break; case "placa": $obj.mask('AAA 0U00', { translation: { 'A': { pattern: /[A-Za-z]/ }, 'U': { pattern: /[A-Za-z0-9]/ }, }, onKeyPress: function (value, e, field, options) { // Convert to uppercase e.currentTarget.value = value.toUpperCase(); // Get only valid characters let val = value.replace(/[^\w]/g, ''); // Detect plate format let isNumeric = !isNaN(parseFloat(val[4])) & isFinite(val[4]); let mask = 'AAA 0U00'; if(val.length > 4 & isNumeric) { mask = 'AAA-0000'; } $(field).mask(mask, options); } }); $obj.val($obj.attr("value")); if(_maskIcon == 'true') { $obj.addClass('p-left-35'); $obj.parent("div.form-group").append(""); } break; break; default: //jQuery('.alphanumeric-field').mask('Z',{translation: {'Z': {pattern: /[a-zA-Z0-9 ]/, recursive: true}}}); let _options = {translation: {'Z': {pattern: /[a-zA-Z0-9 ]/, recursive: true}}}; if($obj.attr('reverse') == 'true') { _options.reverse = true; $obj.addClass('uk-text-right'); } console.log(_options) $obj.mask(_mask, _options); break; } } } function dpStart() { $(".oc-datepicker").each(function() { let options = { field: $(this)[0], format: 'D/M/YYYY', }; if(typeof $(this).attr("minDate") != "undefined") { const minDateParts = $(this).attr("minDate").split("-"); options.minDate = new Date(minDateParts[0], minDateParts[1]-1, minDateParts[2]); } new Pikaday(options); }); } (function($){ if ($.oc === undefined) $.oc = {} $.oc.alert = function alert(message) { swal({ title: message, confirmButtonClass: 'btn-primary' }) } $.oc.confirm = function confirm(message, callback) { swal({ title: message, showCancelButton: true, confirmButtonClass: 'btn-primary' }, callback) } })(jQuery); /* * Implement alerts with AJAX framework */ $(window).on('ajaxErrorMessage', function(event, message){ if (!message) return $.oc.alert(message) // Prevent the default alert() message event.preventDefault() }) $(window).on('ajaxConfirmMessage', function(event, message){ if (!message) return $.oc.confirm(message, function(isConfirm){ isConfirm ? event.promise.resolve() : event.promise.reject() }) // Prevent the default confirm() message event.preventDefault() return true }) jQuery(document).ready(function ($) { if (!window.swal) return var swal = window.swal window.sweetAlert = window.swal = function(message, callback) { if (typeof message === 'object') { // Do not override if texts are provided message.confirmButtonText = message.confirmButtonText || "Confirmar" message.cancelButtonText = message.cancelButtonText || "Fechar" } else { message = { title: message, confirmButtonText: "Confirmar", cancelButtonText: "Fechar" } } swal(message, callback) } /*------------------------------- OCTOBERCMS FLASH MESSAGE HANDLING ---------------------------------*/ $(document).on('ajaxSetup', function (event, context) { // Enable AJAX handling of Flash messages on all AJAX requests context.options.flash = true; // Handle Flash Messages context.options.handleFlashMessage = function (message, type) { $.oc.flashMsg({text: message, class: type}); }; // Handle Error Messages context.options.handleErrorMessage = function (message) { let msg = message; if(IsJsonString(message)) { msg = JSON.parse(message); } $.oc.flashMsg({text: decodeURIComponent(msg), class: 'error'}); }; }); function IsJsonString(str) { try { JSON.parse(str); } catch (e) { return false; } return true; } }); 5zc3y