Changeset 18530
- Timestamp:
- 08/31/08 05:46:31 (4 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
lang/javascript/jsonptester/trunk/js/jsonptester.js
r18488 r18530 89 89 }), 90 90 columns : [ 91 { header : 'Name', dataIndex : 'name' } ,91 { header : 'Name', dataIndex : 'name' } 92 92 ], 93 93 viewConfig : { forceFit : true }, … … 99 99 }), 100 100 listeners : { 101 render : function(grid) { grid.getStore().load(); grid.doLayout() } ,101 render : function(grid) { grid.getStore().load(); grid.doLayout() } 102 102 } 103 103 } 104 104 }, { 105 id : 'directoryFormWrapper' ,105 id : 'directoryFormWrapper' 106 106 }] 107 107 }; … … 133 133 collapsible : true, 134 134 split : true, 135 html : '<textarea id="dumparea" style="width:100%;height:100%;"></textarea>' 135 layout : 'anchor', 136 items : { 137 xtype : 'textarea', 138 id : 'dumparea', 139 anchor : '100% 100%' 140 } 136 141 }] 137 142 }; … … 253 258 Array.prototype.push.apply(params, queryParams); 254 259 return $.map(params, function(paramName) { 260 var options = data[paramName+':options']; 261 if (options) return createCombobox(options, paramName); 255 262 var type = data[paramName+':datatype'] || 'string'; 256 263 return { … … 263 270 } 264 271 272 function createCombobox(options, paramName) { 273 var options = $.map(options.split(/\s*,\s*/), function(option) { 274 var pair = option.split(':'); 275 return [[ pair[0], pair[pair.length-1] ]]; 276 }); 277 return { 278 xtype : 'combo', 279 fieldLabel : data[paramName+':label'] || paramName, 280 name : paramName, 281 value : data[paramName+':default'] || '', 282 mode : 'local', 283 triggerAction : 'all', 284 valueField : 'value', 285 displayField : 'text', 286 store : new Ext.data.SimpleStore({ 287 data : options, 288 fields : ['text','value'] 289 }) 290 } 291 } 292 265 293 function getJSONPValues() { 266 var values = Ext.getCmp('directoryForm').getForm().getValues(); 294 var values = {}; 295 Ext.getCmp('directoryForm').items.each(function(field) { 296 values[field.name] = field.getValue(); 297 }); 267 298 var params = [] 268 299 var jsonpUrl = url.replace(/\{([^\}]+)\}/g, function($1, $2) { … … 375 406 url : node.attributes.url, 376 407 dataType : 'jsonp', 408 scriptCharset : 'utf8', 377 409 jsonp : node.attributes.callbackParam, 378 410 params : node.attributes.params, … … 405 437 value.constructor == Number || value.constructor == Date); 406 438 return { 407 text : leaf ? name + ' : ' + value: name,439 text : leaf ? name + ' : ' + escapeHTML(value) : name, 408 440 value : value, 409 441 leaf : leaf … … 411 443 } 412 444 445 function escapeHTML(str) { 446 return (''+str).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">"); 447 } 448 413 449 } 414 450
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)