$(document).ready(function () { /**begin::FORM DATA TYPES */ $('input[tp=integer]').keypress(function () { return onlynumber(); }); $('input[tp=integer]').blur(function () { $(this).val(apenasNumeros($(this).val())); }); $('input[tp=float]').blur(function () { if (!$(this).attr('readonly')) $(this).val(MoedaPrint($(this).val())); }); /**end::FORM DATA TYPES */ /**begin::input="checkbox" to array*/ /**FICA VERIFICANDO O CHANDE DE TODOS OS INPUT="CHECKBOX" * DEPOIS PREENCHE EM FORMA DE ARRAY O VALUR DO INPUT COM NAME IDENTICO AO @PARENT="" DO CHECKBOX * ACIONADO * EX: * */ $('input[type=checkbox]').on('change', function () { let aInputValues = $('input*[name="' + $(this).attr('@parent') + '"]'); /**SÓ PROSSEGUE CASO O INPUT PARENT TENHA SIDO LOCALIZADO */ if (!isUndefined(aInputValues.attr('name'))) { let aValues = new Array(); /**VERIFICA SE UM INPUT PAI POSSUI ALGUM VALOR, CASO SIM TRANSFORMA O VALUE EM ARRAY E PREENCHE NA VARIAVEL aValues*/ if (aInputValues.val() !== '') { aValues = aInputValues.val().split(','); } /**CASO ENCONTRE O VALOR NO ARRAY JÁ PREENCHIDOM, EU O REMOVO */ if (aValues.indexOf($(this).val()) > -1) { aValues.splice(aValues.indexOf($(this).val()), 1); } /**SE O CHECKED RETORNE COMO TRUE, O VALOR É ADICIONADO AO ARRAY */ if ($(this).is(":checked")) { aValues.push($(this).val()); } /**ATUALIZA O VALUE DO INPUT PAI COM O NOVO ARRAY */ aInputValues.val(aValues); } }); /**end::input="checkbox" to array*/ /**begin::button: type="submit" click */ /**EXEUTA AS FUNÇÕES DA VALIDAÇÃO E METHODOS POST, PUT DE FORMA AUTOMATICA, BASTA O SUBMIT SER UM BUTTON COM TYPE="SUBMIT" */ $('button*[type="submit"]').on('click', function () { /**AQUI .closest() BUSCA O ELEMENTO PAI MAIS PROXIMO DE THIS, NO CASO "FORM" e retorna o valor de id=""*/ let formID = $(this).closest('form').attr('id'); /**APENAS CHECA SE O ID DO FOM FOI LOCALIZADO, CASO NÃO SAI DA ROTINA */ if (isUndefined(formID)) return false; /**CASO O ELEMTNO @no-exec SEJA DECLARADO NO FORM, A OPERAÇÃO DE VALIDAÇÃO E GRAVAÇÃO DINAMICA SERÁ ABORTADA */ if (!isUndefined($('#' + formID).attr('@no-exec'))) return false; /**FAZ A VALIDAÇÃO DO FORM */ if (!ValidaForm(formID)) { return false; } else { _EXEC(formID); /**REMOVE O DISABLE DE ABAS QUE SÓ FUNCIONAM EM EDIÇÃO */ $('.nav-link').removeClass('disabled'); } return false; }); /**end::button: type="submit" click */ /**begin:: load form data */ /**FUNÇÃO QUE IDENTIFICA SE É UMA EDIÇÃO * CASO SEJA CARREGA AUTOMATICAMENTE OS DADOS NA TELA */ setEditForm = (function () { /**CONVERTE A URL ATUAL EM UM ARRAY */ let aURL = $(location).attr('href').split("/"); /**VERIFICA SE O ÚLTIMO ITEM DO ARRAY É NÚMERICO * CASO SIM, ENTRA COMO EDIÇÃO */ if ($.isNumeric(aURL[aURL.length - 1])) { /**ANTES DE CONFIRMAR SE REALMENTE É EDIÇÃO, ELE VALIDA PELO NOME DA PAGE COM BASE NO NOME CADASTRO*/ // if (aURL[aURL.length - 2].toUpperCase() == 'CADASTRO') { /**BUSCA PELO