Advertisement
Guest User

Untitled

a guest
May 31st, 2013
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. String.format = function() {
  2.   var s = arguments[0];
  3.   for (var i = 0; i < arguments.length - 1; i++) {      
  4.     var reg = new RegExp("\\{" + i + "\\}", "gm");            
  5.     s = s.replace(reg, arguments[i + 1]);
  6.   }
  7.  
  8.   return s;
  9. };
  10.  
  11. $.fn.hemisphereGridCalculo = function(configuracao) {
  12.  
  13.     if (typeof configuracao != "object") {
  14.         console.error("A configuração deve ser um objeto");
  15.         return;
  16.     }
  17.    
  18.     configuracao.place = this;
  19.  
  20.     $.ajax({
  21.         url : (configuracao.url === undefined ? '' : configuracao.url),
  22.         type : (configuracao.method === undefined ? 'POST' : configuracao.method),
  23.         dataType : (configuracao.protocolo === undefined ? 'json' : configuracao.protocolo),
  24.         statusCode : {
  25.             404 : function() {
  26.                 console.error("Endereço de requisição invalido");
  27.                 return;
  28.             },
  29.             500 : function() {
  30.                 console.error("Ocorreu um erro na requisição");
  31.                 return;
  32.             }
  33.         }
  34.     }).done(function(data) {
  35.         console.log("Done: ",data);
  36.        
  37.         configuracao.callback(data);
  38.     }).error(function(jqXHR, textStatus, errorThrown) {
  39.         return configuracao.onError(jqXHR, textStatus, errorThrown);
  40.     }).success(function(data, textStatus, jqXHR) {
  41.  
  42.         //Limpa os parametros antigos
  43.         $(configuracao.place).html("");
  44.         var indice = 0;
  45.         $.each(data.parametros, function (indice, valor) {
  46.            
  47.             // Input com validação customizada
  48.             switch (valor.tipoParametroCalculo) {
  49.                 case "BOOLEAN":
  50.                     var input = String.format("<select name='valoresParametroCalculo[{0}].valor'>", indice);
  51.                     if(valor.valorDefault == true) {
  52.                         input += "<option value='true' selected='selected'>Verdadeiro</option>";
  53.                         input += "<option value='falso'>Falso</option>";
  54.                     }else {
  55.                         input += "<option value='true'>Verdadeiro</option>";
  56.                         input += "<option value='falso' selected='selected'>Falso</option>";
  57.                     }
  58.                     input += "</select>";
  59.                     break;
  60.                 case "DATE":
  61.                     var input = String.format("<input value='{0}' name='valoresParametroCalculo[{1}].valor' type='text' class='dataInicio'/>", valor.valorDefault, indice);
  62.                     break;
  63.                 default:
  64.                    
  65.                     if(valor.chave == 'tabela.vds') {
  66.                         var input = String.format("<select name='valoresParametroCalculo[{0}].valor'>", indice);
  67.                         $.ajax({
  68.                             url : configuracao.tabelavdsUrl,
  69.                             type : (configuracao.method === undefined ? 'POST' : configuracao.method),
  70.                             dataType : (configuracao.protocolo === undefined ? 'json' : configuracao.protocolo),
  71.                         }).success(function (data, textStatus, jqXHR) {
  72.                             console.log("Tabela VDS: ", data);
  73.                             input += "<option value='01'>Tabela 1</option>";
  74.                         });
  75.                         input += "</select>";
  76.                        
  77.                     }else {
  78.                         var input = String.format("<input value='{0}' name='valoresParametroCalculo[{1}].valor' type='text'/>", valor.valorDefault, indice);
  79.                     }
  80.                     break;
  81.             }
  82.            
  83.             var idParametroInput = String.format("<input type='hidden' name='valoresParametroCalculo[{0}].parametro' value='{1}' />", indice, valor.id);
  84.            
  85.             var atributo = String.format("<tr><td>{0}</td><td>{1}{2}</td></tr>", valor.descricao, input, idParametroInput);
  86.             $(configuracao.place).append(atributo);
  87.            
  88.             indice++;
  89.         });
  90.        
  91.         if(data.parametros.length == 0) {
  92.             var atributo = String.format("<tr><td colspan='2'>{0}</td></tr>", "Este cálculo não possui parâmetros de configuração");
  93.             $(configuracao.place).append(atributo);
  94.         }
  95.        
  96.         return data.parametros.length;
  97.     });
  98.  
  99. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement