$(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'); console.log('teste'); /**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
*/ $("form").each(function () { let tableName = $(this).attr('@tab'); /**CASO A TABELA TENHA SIDO LOCALIZADA NO FORM, * INICIA A REQUISIÇÃO DOS DADOS */ if (!isUndefined(tableName)) { let formID = $(this).attr('id'); /**CASO O ELEMETNO @no-exec SEJA DECLARADO NO FORM, A OPERAÇÃO SERÁ ABORTADA */ if (!isUndefined($('#' + formID).attr('@no-exec'))) return false; let dataGet = ""; dataGet += "table_id=" + aURL[aURL.length - 1]; dataGet += "&table_name=" + tableName.replace("@", ""); /**FAZ A REQUISIÇÃO DOS DADOS */ _GET("App/Controller/Query/get.controller.php", dataGet) .done(function (data) { try { let OBJ = JSON.parse(data); /**TRATA O RETORNO, SE * SE FOR UMA STRING, POSSIVELMENTE RETORNOU UMA MENSAGEM COM ERRO, OU VEIO VAZIO. DEFINIDO POR PADRÃO NO JSON: {"erro":"1", "msg":"mensagem aqui"} */ if (!isUndefined(OBJ.length)) if (OBJ.length == 1) { _LOAD(JSON.stringify(OBJ[0])); } else { /**COMO NÃO TEM RETORNO REMOVE O ID DA URL*/ RemoveIdURL(); } } catch (error) { console.log('_GET error: ' + error + ' - DATA: ' + data); } }) .fail(function (e) { console.log(e); }); /**ABORTA NO PRIMEIRO FORM ENCONTRADO */ return false; } }); // } } }) return setEditForm(); /**end:: load form data */ }); /** */ // $('link').each(function () { // let aLink = $(this).attr('href').replace(/{{@dir}}/g, '/' + URL_BASE); // $(this).attr('href', aLink); // });