Changeset 18488 for lang

Show
Ignore:
Timestamp:
08/30/08 22:36:22 (4 months ago)
Author:
stomita
Message:

lang/javascript/jsonptester : changed according to wedata jsonp directory schema

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/jsonptester/trunk/js/jsonptester.js

    r18478 r18488  
    226226    var data = rec.data; 
    227227    var url = data.url; 
     228    var queryParams = data.queryParams ? data.queryParams.split(/\s+/) : []; 
    228229  
    229230    var wrapper = Ext.getCmp('directoryFormWrapper'); 
     
    247248    wrapper.doLayout(); 
    248249 
    249     function createFields(rec) { 
    250      var params = []; 
     250    function createFields() { 
     251      var params = []; 
    251252      url.replace(/\{([^\}]+)\}/g, function($1,$2) { params.push($2) }); 
     253      Array.prototype.push.apply(params, queryParams); 
    252254      return $.map(params, function(paramName) { 
    253255        var type = data[paramName+':datatype'] || 'string'; 
     
    263265    function getJSONPValues() { 
    264266      var values = Ext.getCmp('directoryForm').getForm().getValues(); 
     267      var params = []  
     268      var jsonpUrl = url.replace(/\{([^\}]+)\}/g, function($1, $2) { 
     269        return encodeURIComponent(values[$2] || ''); 
     270      }); 
     271      $.map(queryParams, function(paramName) { 
     272        if (values[paramName]) { 
     273          params.push({ name : paramName, value : values[paramName] }); 
     274        } 
     275      }); 
     276      if (params.length>0) { 
     277        jsonpUrl += jsonpUrl.indexOf('?')>=0 ? '&' : '?'; 
     278        jsonpUrl += $.map(params, function(param) { 
     279          return param.name + '=' + encodeURIComponent(param.value); 
     280        }).join('&'); 
     281      } 
    265282      return { 
    266         url : url.replace(/\{([^\}]+)\}/g, function($1, $2) { 
    267           var v = values[$2] || ''; 
    268           return data[$2+':encodeURI'] ? encodeURIComponent(v) : v; 
    269         }), 
     283        url : jsonpUrl, 
    270284        callbackParam : data.jsonpParam 
    271       }; 
     285      } 
    272286    } 
    273287  } 
     
    362376        dataType : 'jsonp', 
    363377        jsonp : node.attributes.callbackParam, 
     378        params : node.attributes.params, 
    364379        cache : !node.attributes.nocache, 
    365380        success : onSuccess, 
     
    395410      }; 
    396411    } 
     412 
    397413  } 
    398414