a:29:{s:9:"#provides";s:21:"dojox.widget.Iterator";s:9:"#resource";s:18:"widget/Iterator.js";s:9:"#requires";a:1:{i:0;a:3:{i:0;s:6:"common";i:1;s:17:"dijit.Declaration";i:2;s:5:"dijit";}}s:21:"dojox.widget.Iterator";a:4:{s:4:"type";s:8:"Function";s:6:"chains";a:2:{s:9:"prototype";a:1:{i:0;s:17:"dijit.Declaration";}s:4:"call";a:1:{i:0;s:17:"dijit.Declaration";}}s:9:"classlike";b:1;s:7:"summary";s:0:"";}s:33:"dojox.widget.Iterator.constructor";a:2:{s:9:"prototype";s:21:"dojox.widget.Iterator";s:7:"summary";s:0:"";}s:27:"dojox.widget.Iterator.start";a:2:{s:9:"prototype";s:21:"dojox.widget.Iterator";s:7:"summary";s:0:"";}s:30:"dojox.widget.Iterator.fetchMax";a:2:{s:9:"prototype";s:21:"dojox.widget.Iterator";s:7:"summary";s:0:"";}s:27:"dojox.widget.Iterator.query";a:3:{s:9:"prototype";s:21:"dojox.widget.Iterator";s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}s:27:"dojox.widget.Iterator.attrs";a:3:{s:9:"prototype";s:21:"dojox.widget.Iterator";s:8:"instance";s:21:"dojox.widget.Iterator";s:7:"summary";s:0:"";}s:34:"dojox.widget.Iterator.defaultValue";a:2:{s:9:"prototype";s:21:"dojox.widget.Iterator";s:7:"summary";s:0:"";}s:32:"dojox.widget.Iterator.widgetCtor";a:3:{s:9:"prototype";s:21:"dojox.widget.Iterator";s:8:"instance";s:21:"dojox.widget.Iterator";s:7:"summary";s:0:"";}s:32:"dojox.widget.Iterator.dataValues";a:2:{s:9:"prototype";s:21:"dojox.widget.Iterator";s:7:"summary";s:0:"";}s:26:"dojox.widget.Iterator.data";a:2:{s:9:"prototype";s:21:"dojox.widget.Iterator";s:7:"summary";s:0:"";}s:27:"dojox.widget.Iterator.store";a:2:{s:9:"prototype";s:21:"dojox.widget.Iterator";s:7:"summary";s:0:"";}s:31:"dojox.widget.Iterator._srcIndex";a:4:{s:9:"prototype";s:21:"dojox.widget.Iterator";s:8:"instance";s:21:"dojox.widget.Iterator";s:7:"private";b:1;s:7:"summary";s:0:"";}s:32:"dojox.widget.Iterator._srcParent";a:4:{s:9:"prototype";s:21:"dojox.widget.Iterator";s:8:"instance";s:21:"dojox.widget.Iterator";s:7:"private";b:1;s:7:"summary";s:0:"";}s:34:"dojox.widget.Iterator._setSrcIndex";a:6:{s:9:"prototype";s:21:"dojox.widget.Iterator";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:1:"s";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:152:" this._srcIndex = 0; this._srcParent = s.parentNode; var ts = s; while(ts.previousSibling){ this._srcIndex++; ts = ts.previousSibling; };";s:7:"private";b:1;s:7:"summary";s:0:"";}s:32:"dojox.widget.Iterator.postscript";a:5:{s:9:"prototype";s:21:"dojox.widget.Iterator";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:1:"p";a:1:{s:4:"type";s:0:"";}s:1:"s";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:2364:"dojo.provide("dojox.widget.Iterator"); dojo.require("dijit.Declaration"); dojo.experimental("dojox.widget.Iterator"); // level: prototype, designed for dijit.chat.demo /* example: from markup: | | |
|
| ${name} is a ${type} |
|
example: programmatic: | var store = new dojo.data.ItemFileReadStore({ url: "countries.json" }); | | var iter = new dojox.widget.Iterator({ | store: store, | template: "" | }); | example: programmatic from an array of objects: | var dataArr = [ | { name: "foo", valueAttr: "bar" }, | { name: "thinger", valueAttr: "blah" } | ]; | | var iter = new dojox.widget.Iterator({ | data: dataArr, | template: "" | }); example: programmatic from an array of strings: | var dataArr = [ | { name: "foo", valueAttr: "bar" }, | { name: "thinger", valueAttr: "blah" } | ]; | | var iter = new dojox.widget.Iterator({ | data: dataArr, | template: "" | }); */ dojo.declare("dojox.widget.Iterator", [ dijit.Declaration ], { constructor: (function(){ var ctr = 0; return function(){ this.attrs = []; this.children = []; this.widgetClass = "dojox.widget.Iterator._classes._"+(ctr++); } })(), start: 0, fetchMax: 1000, query: { name: "*" }, attrs: [], defaultValue: "", widgetCtor: null, dataValues: [], // an array of strings data: null, // should be a reference to an Array store: null, _srcIndex: 0, _srcParent: null, _setSrcIndex: function(s){ this._srcIndex = 0; this._srcParent = s.parentNode; var ts = s; while(ts.previousSibling){ this._srcIndex++; ts = ts.previousSibling; }; }, postscript: function(p, s){ // figure out the position of the source node in it's parent this._setSrcIndex(s); // this._srcIndex = dojo.query(">", this._srcParent).indexOf(s); this.inherited("postscript", arguments); var wc = this.widgetCtor = dojo.getObject(this.widgetClass); this.attrs = dojo.map( wc.prototype.templateString.match(/\$\{([^\s\:\}]+)(?:\:([^\s\:\}]+))?\}/g), function(s){ return s.slice(2, -1); } ); dojo.forEach( this.attrs, function(m){ wc.prototype[m] = ""; } ); this.update();";s:7:"summary";s:0:"";}s:27:"dojox.widget.Iterator.clear";a:4:{s:9:"prototype";s:21:"dojox.widget.Iterator";s:4:"type";s:8:"Function";s:6:"source";s:151:" if(this.children.length){ this._setSrcIndex(this.children[0].domNode); } dojo.forEach(this.children, "item.destroy();"); this.children = [];";s:7:"summary";s:0:"";}s:28:"dojox.widget.Iterator.update";a:4:{s:9:"prototype";s:21:"dojox.widget.Iterator";s:4:"type";s:8:"Function";s:6:"source";s:178:" if(this.store){ // we're executing a query this.fetch(); }else{ // we came from an array of objects. Easier! this.onDataAvailable(this.data||this.dataValues); }";s:7:"summary";s:0:"";}s:30:"dojox.widget.Iterator._addItem";a:6:{s:9:"prototype";s:21:"dojox.widget.Iterator";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:6:"config";a:1:{s:4:"type";s:6:"Object";}s:3:"idx";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:204:" if(dojo.isString(config)){ config = { value: config }; } var widget = new this.widgetCtor(config); this.children.push(widget); dojo.place(widget.domNode, this._srcParent, this._srcIndex+idx);";s:7:"private";b:1;s:7:"summary";s:0:"";}s:38:"dojox.widget.Iterator.getAttrValuesObj";a:5:{s:9:"prototype";s:21:"dojox.widget.Iterator";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:4:"item";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:399:" var obj = {}; if(dojo.isString(item)){ dojo.forEach(this.attrs, function(attr){ obj[attr] = (attr == "value") ? item : this.defaultValue; }, this); }else{ dojo.forEach(this.attrs, function(attr){ if(this.store){ obj[attr] = this.store.getValue(item, attr)||this.defaultValue; }else{ obj[attr] = item[attr]||this.defaultValue; } }, this); } return obj;";s:7:"summary";s:0:"";}s:37:"dojox.widget.Iterator.onDataAvailable";a:5:{s:9:"prototype";s:21:"dojox.widget.Iterator";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:4:"data";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:147:" this.clear(); // console.debug(data); dojo.forEach(data, function(item, idx){ this._addItem(this.getAttrValuesObj(item), idx); }, this);";s:7:"summary";s:0:"";}s:27:"dojox.widget.Iterator.fetch";a:5:{s:9:"prototype";s:21:"dojox.widget.Iterator";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:5:"query";a:1:{s:4:"type";s:0:"";}s:5:"start";a:1:{s:4:"type";s:0:"";}s:3:"end";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:164:" this.store.fetch({ query: query||this.query, start: start||this.start, count: end||this.fetchMax, onComplete: dojo.hitch(this,"onDataAvailable") });";s:7:"summary";s:0:"";}s:32:"dojox.widget.Iterator.query.name";a:1:{s:7:"summary";s:0:"";}s:30:"dojox.widget.Iterator.children";a:2:{s:8:"instance";s:21:"dojox.widget.Iterator";s:7:"summary";s:0:"";}s:30:"dojox.widget.Iterator._classes";a:3:{s:4:"type";s:6:"Object";s:7:"private";b:1;s:7:"summary";s:0:"";}s:12:"dojox.widget";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}s:5:"dojox";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}}