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){
}