X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=Roo%2FView.js;h=e6b134de4dd187ac558ee2257ab5e4d55fb7816d;hb=refs%2Fheads%2Fwip_leon_T7094_logo_image_upload_in_boilerplate;hp=77254b76d61738e355418444e6b4b600bb210428;hpb=34747607d405171a0999c8b67271d1d788f970f6;p=roojs1 diff --git a/Roo/View.js b/Roo/View.js index 77254b76d6..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); @@ -226,6 +225,11 @@ Roo.extend(Roo.View, Roo.util.Observable, { */ toggleSelect : false, + /** + * @cfg {Boolean} tickable - selecting + */ + tickable : false, + /** * Returns the element this view is bound to. * @return {Roo.Element} @@ -240,9 +244,7 @@ Roo.extend(Roo.View, Roo.util.Observable, { * Refreshes the view. - called by datachanged on the store. - do not call directly. */ refresh : function(){ - this.append(); - return; - Roo.log('refresh'); + //Roo.log('refresh'); var t = this.tpl; // if we are using something like 'domtemplate', then @@ -276,56 +278,36 @@ Roo.extend(Roo.View, Roo.util.Observable, { 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]); - html[html.length] = Roo.util.Format.trim( - this.dataName ? - t.applySubtemplate(this.dataName, data, this.store.meta) : - t.apply(data) - ); - } - - - - el.update(html.join("")); - this.nodes = el.dom.childNodes; - this.updateIndexes(0); - }, - - append : function(){ - Roo.log('append'); - Roo.log(this.tpl); - var t = this.tpl; - Roo.log(this.el); - var html = []; - var records = this.store.getRange(); - if(records.length < 1) { - // is this valid?? = should it render a template?? + 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'}); + }); + } - this.el.update(this.emptyText); - return; - } - var el = this.el; - if (this.dataName) { - this.el.update(t.apply(this.store.meta)); //???? - el = this.el.child('.roo-tpl-' + this.dataName); - } - - 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]); 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) ); } - Roo.log(html); + el.update(html.join("")); this.nodes = el.dom.childNodes; this.updateIndexes(0); }, + /** * Function to override to reformat the data that is sent to @@ -341,6 +323,7 @@ Roo.extend(Roo.View, Roo.util.Observable, { }, onUpdate : function(ds, record){ + // Roo.log('on update'); this.clearSelections(); var index = this.store.indexOf(record); var n = this.nodes[index]; @@ -354,6 +337,7 @@ Roo.extend(Roo.View, Roo.util.Observable, { // --------- FIXME onAdd : function(ds, records, index) { + //Roo.log(['on Add', ds, records, index] ); this.clearSelections(); if(this.nodes.length == 0){ this.refresh(); @@ -373,10 +357,12 @@ Roo.extend(Roo.View, Roo.util.Observable, { }, onRemove : function(ds, record, index){ + // Roo.log('onRemove'); this.clearSelections(); var el = this.dataName ? this.el.child('.roo-tpl-' + this.dataName) : this.el; + el.dom.removeChild(this.nodes[index]); this.updateIndexes(index); }, @@ -433,9 +419,12 @@ Roo.extend(Roo.View, Roo.util.Observable, { * onbeforeLoad - masks the loading area. * */ - onBeforeLoad : function() + onBeforeLoad : function(store,opts) { - this.el.update(""); + //Roo.log('onBeforeLoad'); + if (!opts.add) { + this.el.update(""); + } this.el.mask(this.mask ? this.mask : "Loading" ); }, onLoad : function () @@ -503,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; @@ -515,7 +504,11 @@ Roo.extend(Roo.View, Roo.util.Observable, { this.select(item, this.multiSelect && e.ctrlKey); this.lastSelection = item; } - e.preventDefault(); + + if(!this.tickable){ + e.preventDefault(); + } + } return true; }, @@ -600,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); @@ -626,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???