source: [view]
if(context.forloop){
if(context.forloop.counter <= this.shared.counter){
this.shared.last = null;
}
this.shared.counter = context.forloop.counter;
}
var change;
if(this.vars.length){
change = dojo.toJson(dojo.map(this.vars, function(item){
return item.resolve(context);
}));
}else{
change = this.nodes.dummyRender(context, buffer);
}
if(change != this.shared.last){
var firstloop = (this.shared.last === null);
this.shared.last = change;
context = context.push();
context.ifchanged = {firstloop: firstloop};
buffer = this.nodes.render(context, buffer);
context = context.pop();
}else{
buffer = this.nodes.unrender(context, buffer);
}
return buffer;