X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=Roo%2FView.js;h=e6b134de4dd187ac558ee2257ab5e4d55fb7816d;hb=61bc45258e16a779856dd2ad0862630b489e4583;hp=093d2f44107b320d8de64e695fcbcd773f272deb;hpb=8f7d656780d17bbd6841bd525a0a54248986ef93;p=roojs1 diff --git a/Roo/View.js b/Roo/View.js index 093d2f4410..e6b134de4d 100644 --- a/Roo/View.js +++ b/Roo/View.js @@ -49,6 +49,8 @@ */ Roo.View = function(config, depreciated_tpl, depreciated_config){ + this.parent = false; + if (typeof(depreciated_tpl) == 'undefined') { // new way.. - universal constructor. Roo.apply(this, config); @@ -72,10 +74,7 @@ Roo.View = function(config, depreciated_tpl, depreciated_config){ this.tpl.compile(); - - - /** @private */ this.addEvents({ /** @@ -162,7 +161,7 @@ Roo.View = function(config, depreciated_tpl, depreciated_config){ var fctr = this.wrapEl.appendChild(document.createElement("div")); - this.footer.dataSource = this.store + this.footer.dataSource = this.store; this.footer.container = fctr; this.footer = Roo.factory(this.footer, Roo); fctr.insertFirst(this.el); @@ -245,7 +244,7 @@ Roo.extend(Roo.View, Roo.util.Observable, { * Refreshes the view. - called by datachanged on the store. - do not call directly. */ refresh : function(){ - Roo.log('refresh'); + //Roo.log('refresh'); var t = this.tpl; // if we are using something like 'domtemplate', then @@ -275,15 +274,30 @@ Roo.extend(Roo.View, Roo.util.Observable, { this.el.update(t.apply(this.store.meta)); //???? el = this.el.child('.roo-tpl-' + this.dataName); } - Roo.log(html); + for(var i = 0, len = records.length; i < len; i++){ var data = this.prepareData(records[i].data, i, records[i]); this.fireEvent("preparedata", this, data, i, records[i]); - Roo.log(data); + + var d = Roo.apply({}, data); + + if(this.tickable){ + Roo.apply(d, {'roo-id' : Roo.id()}); + + var _this = this; + + Roo.each(this.parent.item, function(item){ + if(item[_this.parent.valueField] != data[_this.parent.valueField]){ + return; + } + Roo.apply(d, {'roo-data-checked' : 'checked'}); + }); + } + html[html.length] = Roo.util.Format.trim( this.dataName ? - t.applySubtemplate(this.dataName, data, this.store.meta) : - t.apply(data) + t.applySubtemplate(this.dataName, d, this.store.meta) : + t.apply(d) ); } @@ -309,7 +323,7 @@ Roo.extend(Roo.View, Roo.util.Observable, { }, onUpdate : function(ds, record){ - Roo.log('on update'); + // Roo.log('on update'); this.clearSelections(); var index = this.store.indexOf(record); var n = this.nodes[index]; @@ -323,7 +337,7 @@ Roo.extend(Roo.View, Roo.util.Observable, { // --------- FIXME onAdd : function(ds, records, index) { - Roo.log(['on Add', ds, records, index] ); + //Roo.log(['on Add', ds, records, index] ); this.clearSelections(); if(this.nodes.length == 0){ this.refresh(); @@ -343,7 +357,7 @@ Roo.extend(Roo.View, Roo.util.Observable, { }, onRemove : function(ds, record, index){ - Roo.log('onRemove'); + // Roo.log('onRemove'); this.clearSelections(); var el = this.dataName ? this.el.child('.roo-tpl-' + this.dataName) : @@ -407,7 +421,7 @@ Roo.extend(Roo.View, Roo.util.Observable, { */ onBeforeLoad : function(store,opts) { - Roo.log('onBeforeLoad'); + //Roo.log('onBeforeLoad'); if (!opts.add) { this.el.update(""); } @@ -478,7 +492,7 @@ Roo.extend(Roo.View, Roo.util.Observable, { } if (this.toggleSelect) { var m = this.isSelected(item) ? 'unselect' : 'select'; - Roo.log(m); + //Roo.log(m); var _t = this; _t[m](item, true, false); return true; @@ -579,6 +593,7 @@ Roo.extend(Roo.View, Roo.util.Observable, { if(!keepExisting){ this.clearSelections(true); } + if(this.fireEvent("beforeselect", this, node, this.selections) !== false){ Roo.fly(node).addClass(this.selectedClass); this.selections.push(node); @@ -605,7 +620,7 @@ Roo.extend(Roo.View, Roo.util.Observable, { } var node = this.getNode(nodeInfo); if(!node || !this.isSelected(node)){ - Roo.log("not selected"); + //Roo.log("not selected"); return; // not selected. } // fireevent???