source: [view]
dojo.provide("dojox.dtl.tag.misc");
dojo.require("dojox.dtl._base");
(function(){
var dd = dojox.dtl;
var ddtm = dd.tag.misc;
ddtm.DebugNode = dojo.extend(function(text){
this.text = text;
},
{
render: function(context, buffer){
var keys = context.getKeys();
var debug = [];
var only = {};
for(var i = 0, key; key = keys[i]; i++){
only[key] = context[key];
debug += "[" + key + ": " + typeof context[key] + "]\n";
}
console.debug(only);
return this.text.set(debug).render(context, buffer, this);
},
unrender: function(context, buffer){
return buffer;
},
clone: function(buffer){
return new this.constructor(this.text.clone(buffer));
},
toString: function(){ return "ddtm.DebugNode"; }
});
ddtm.FilterNode = dojo.extend(function(varnode, nodelist){
this._varnode = varnode;
this._nodelist = nodelist;
},
{
render: function(context, buffer){
// Doing this in HTML requires a different buffer with a fake root node
var output = this._nodelist.render(context, new dojox.string.Builder());
context = context.update({ "var": output.toString() });
var filtered = this._varnode.render(context, buffer);
context = context.pop();
return buffer;