X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=Roo%2FJsonView.js;h=4d9513c4b8302ed88dc65b99d08bc42466d713b7;hb=0b69a11b1055a6d3a3fd0719bdd58b5a235de0e4;hp=eeee5a3651f92a7fa8839bb95147a49058ef9805;hpb=f0fe22b5d1a3700b127aef1c5ceaf0a954ef1e75;p=roojs1 diff --git a/Roo/JsonView.js b/Roo/JsonView.js index eeee5a3651..4d9513c4b8 100644 --- a/Roo/JsonView.js +++ b/Roo/JsonView.js @@ -16,7 +16,7 @@

 var view = new Roo.JsonView({
     container: "my-element",
-    template: '<div id="{id}">{foo} - {bar}</div>', // auto create template
+    tpl: '<div id="{id}">{foo} - {bar}</div>', // auto create template
     multiSelect: true, 
     jsonRoot: "data" 
 });
@@ -50,7 +50,7 @@ moreView.load({
 });
 
* -* Note: old code is supported with arguments, (container, template, config) +* Note: old code is supported with arguments : (container, template, config) * * * @constructor @@ -59,10 +59,10 @@ moreView.load({ * @param {Object} config The config object * */ -Roo.JsonView = function(container, tpl, config){ +Roo.JsonView = function(config, depreciated_tpl, depreciated_config){ - Roo.JsonView.superclass.constructor.call(this, container, tpl, config); + Roo.JsonView.superclass.constructor.call(this, config, depreciated_tpl, depreciated_config); var um = this.el.getUpdateManager(); um.setRenderer(this); @@ -96,8 +96,7 @@ Roo.JsonView = function(container, tpl, config){ }; Roo.extend(Roo.JsonView, Roo.View, { /** - * The root property in the loaded JSON object that contains the data - * @type {String} + * @type {String} The root property in the loaded JSON object that contains the data */ jsonRoot : "", @@ -149,15 +148,20 @@ Roo.extend(Roo.JsonView, Roo.View, { um.update.apply(um, arguments); }, + // note - render is a standard framework call... + // using it for the response is really flaky... - it's called by UpdateManager normally, except when called by the XComponent/addXtype. render : function(el, response){ + this.clearSelections(); this.el.update(""); var o; try{ - o = Roo.util.JSON.decode(response.responseText); - if(this.jsonRoot){ - - o = /** eval:var:o */ eval("o." + this.jsonRoot); + if (response != '') { + o = Roo.util.JSON.decode(response.responseText); + if(this.jsonRoot){ + + o = o[this.jsonRoot]; + } } } catch(e){ }