From 0dad3dfb92aac9f3cc41d7fb02bce3230c759a75 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Tue, 8 Mar 2011 00:09:27 +0800 Subject: [PATCH] sync --- roojs-all.js | 15 +- roojs-debug.js | 686 ++++++++++++++++++++++++++++++++++------------ roojs-ui-debug.js | 686 ++++++++++++++++++++++++++++++++++------------ roojs-ui.js | 15 +- 4 files changed, 1056 insertions(+), 346 deletions(-) diff --git a/roojs-all.js b/roojs-all.js index 4eec8cd763..665b34c6bc 100644 --- a/roojs-all.js +++ b/roojs-all.js @@ -918,7 +918,7 @@ this.scroll=false;this.grid=A;this.ddel=document.createElement('div');this.ddel. Roo.grid.ColumnModel=function(A){this.config=A;this.lookup={};for(var i=0,B=A.length;i-1?this.config[B]:false;},getIndexById:function(id){for(var i=0,A=this.config.length;i=0&&this.config[A].resizable!==false&&this.config[A].fixed!==true;},setHidden:function(A,B){this.config[A].hidden=B;this.totalWidth=null;this.fireEvent("hiddenchange",this,A,B);},setEditor:function(A,B){this.config[A].editor=B;}});Roo.grid.ColumnModel.defaultRenderer=function(A){if(typeof A=="string"&&A.length<1){return " ";}return A;};Roo.grid.DefaultColumnModel=Roo.grid.ColumnModel; +this.config[A].locked=B;if(!C){this.fireEvent("columnlockchange",this,A,B);}},getTotalLockedWidth:function(){var A=0;for(var i=0;i=0&&this.config[A].resizable!==false&&this.config[A].fixed!==true;},setHidden:function(A,B){this.config[A].hidden=B;this.totalWidth=null;this.fireEvent("hiddenchange",this,A,B);},setEditor:function(A,B){this.config[A].editor=B;}});Roo.grid.ColumnModel.defaultRenderer=function(A){if(typeof A=="string"&&A.length<1){return " ";}return A;};Roo.grid.DefaultColumnModel=Roo.grid.ColumnModel; Roo.grid.AbstractSelectionModel=function(){this.locked=false;Roo.grid.AbstractSelectionModel.superclass.constructor.call(this);};Roo.extend(Roo.grid.AbstractSelectionModel,Roo.util.Observable,{init:function(A){this.grid=A;this.initEvents();},lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isLocked:function(){return this.locked;}}); Roo.grid.RowSelectionModel=function(A){Roo.apply(this,A);this.selections=new Roo.util.MixedCollection(false,function(o){return o.id;});this.last=false;this.lastActive=false;this.addEvents({"selectionchange":true,"afterselectionchange":true,"beforerowselect":true,"rowselect":true,"rowdeselect":true});Roo.grid.RowSelectionModel.superclass.constructor.call(this);this.locked=false;};Roo.extend(Roo.grid.RowSelectionModel,Roo.grid.AbstractSelectionModel,{singleSelect:false,initEvents:function(){if(!this.grid.enableDragDrop&&!this.grid.enableDrag){this.grid.on("mousedown",this.handleMouseDown,this);}else {this.grid.on("rowclick",this.handleDragableRowClick,this);} this.rowNav=new Roo.KeyNav(this.grid.getGridEl(),{"up":function(e){if(!e.shiftKey){this.selectPrevious(e.shiftKey);}else if(this.last!==false&&this.lastActive!==false){var B=this.last;this.selectRange(this.last,this.lastActive-1);this.grid.getView().focusRow(this.lastActive);if(B!==false){this.last=B;}}else {this.selectFirstRow();} @@ -967,3 +967,16 @@ this.form.reset();this.el.unmask();this.form.setValues({'username':Roo.state.Man Roo.XComponent.build();}},items:[{xtype:'TextField',xns:Roo.form,fieldLabel:"Email Address",name:'username',width:200,autoCreate:{tag:"input",type:"text",size:"20"}},{xtype:'TextField',xns:Roo.form,fieldLabel:"Password",inputType:'password',name:'password',width:200,autoCreate:{tag:"input",type:"text",size:"20"},listeners:{specialkey:function(e,ev){if(ev.keyCode==13){this.form.dialog.el.mask("Logging in");this.form.doAction('submit',{url:this.form.dialog.url,method:this.form.dialog.method});}}}},{xtype:'ComboBox',xns:Roo.form,fieldLabel:"Language",name:'langdisp',store:{xtype:'SimpleStore',fields:['lang','ldisp'],data:[['en','English'],['zh_HK','\u7E41\u4E2D'],['zh_CN','\u7C21\u4E2D']]},valueField:'lang',hiddenName:'lang',width:200,displayField:'ldisp',typeAhead:false,editable:false,mode:'local',triggerAction:'all',emptyText:'Select a Language...',selectOnFocus:true,listeners:{select:function(cb,A,ix){this.form.switchLang(A.data.lang);}}}]}]}],buttons:[{xtype:'Button',xns:'Roo',text:"Forgot Password",listeners:{click:function(){var n=this.form.findField('username').getValue();if(!n.length){Roo.MessageBox.alert("Error","Fill in your email address");return;} Roo.Ajax.request({url:this.dialog.url,params:{passwordRequest:n},method:this.dialog.method,success:function(A,B){var C=this.dialog.processResponse(A);if(!C.success){Roo.MessageBox.alert("Error",C.errorMsg?C.errorMsg:"Problem Requesting Password Reset");return;} Roo.MessageBox.alert("Notice","Please check you email for the Password Reset message");},failure:function(){Roo.MessageBox.alert("Error","Problem Requesting Password Reset");}});}}},{xtype:'Button',xns:'Roo',text:"Login",listeners:{click:function(){this.dialog.el.mask("Logging in");this.form.doAction('submit',{url:this.dialog.url,method:this.dialog.method});}}}]}) +Roo.XComponent=function(A){Roo.apply(this,A);this.addEvents({'built':true,'buildcomplete':true});Roo.XComponent.register(this);this.modules=[];this.el=false;} +Roo.extend(Roo.XComponent,Roo.util.Observable{el:false,panel:false,layout:false,disabled:false,parent:false,order:false,name:false,items:false});Roo.apply(Roo.XComponent,buildCompleted:false,topModule:false,modules:[],register:function(A){this.modules.push(A);},toObject:function(A){if(typeof(A)=='object'){return A;}var ar=A.split('.');var rt,o;rt=ar.unshift();eval('if (typeof '+rt+' == "undefined"){ o = false;} o = '+rt+';');if(o===false){throw "Module not found : "+A;} +Roo.each(ar,function(e){if(typeof(o[e])=='undefined'){throw "Module not found : "+A;} +o=o[e];});return o;} +preBuild:function(){var A=this.modules;this.modules=false;Roo.each(A,function(B){B.parent=this.toObject(B.parent);if(!B.parent){this.topModule=B;return;} +B.parent=toObject(B.parent);if(!B.parent.modules){B.parent.modules=new Roo.util.MixedCollection(false,function(o){return o.order+''});} +B.parent.modules.add(B);},this);} +buildOrder:function(){var A=this;var B=function(a,b){return String(a).toUpperCase()>String(b).toUpperCase()?1:-1;};if(!this.topModule||!this.topModule.modules){throw "No top level modules to build";}var C=[this.topModule];var D=function(m){C.push(m);if(m.module.modules){m.module.modules.keySort('ASC',B);m.module.modules.each(D);}if(m.finalize){m.finalize.name=m.name+" (clean up) ";C.push(m.finalize);}} +this.topModule.modules.keySort('ASC',B);this.topModule.modules.each(D);} +build:function(){this.preBuild();var A=this.buildOrder();if(!A.length){throw "NO modules!!!";} +Roo.MessageBox.show({title:'loading'});Roo.MessageBox.show({title:"Please wait...",msg:"Building Interface...",width:450,progress:true,closable:false,modal:false});var B=A.length();var C=this;var D=function(){if(A.length){Roo.MessageBox.hide();C.topModule.fireEvent('buildcomplete',C.topModule);return;}var m=A.unshift();if(typeof(m)=='function'){m.call(this);return D.defer(10,C);}Roo.MessageBox.updateProgress((B-A.length)/B,"Building Interface "+(B-A.length)+" of "+B+(m.name?(' - '+m.name):''));var E=(typeof(m.module.disabled)=='function')?m.module.disabled.call(m.module.disabled):m.module.disabled;};if(disabled){return D();} +m.el=m.parent.el.addxtype(m.items[0]);m.fireEvent('built',m);m.panel=this.el;m.layout=m.panel.layout;} +progressRun.defer(1,_this);}}); diff --git a/roojs-debug.js b/roojs-debug.js index a07d67f2c6..d600472a87 100644 --- a/roojs-debug.js +++ b/roojs-debug.js @@ -47237,98 +47237,98 @@ Roo.extend(Roo.grid.GridView, Roo.grid.AbstractGridView, { }, init: function(grid){ - Roo.grid.GridView.superclass.init.call(this, grid); + Roo.grid.GridView.superclass.init.call(this, grid); - this.bind(grid.dataSource, grid.colModel); + this.bind(grid.dataSource, grid.colModel); - grid.on("headerclick", this.handleHeaderClick, this); + grid.on("headerclick", this.handleHeaderClick, this); if(grid.trackMouseOver){ grid.on("mouseover", this.onRowOver, this); - grid.on("mouseout", this.onRowOut, this); - } - grid.cancelTextSelection = function(){}; - this.gridId = grid.id; - - var tpls = this.templates || {}; - - if(!tpls.master){ - tpls.master = new Roo.Template( - '
', - '
', - '
', - '
', - '
{lockedHeader}
', - '
{lockedBody}
', - "
", - '
', - '
{header}
', - '
{body}
', - "
", - '
', - '', - '
 
', - "
" - ); - tpls.master.disableformats = true; - } + grid.on("mouseout", this.onRowOut, this); + } + grid.cancelTextSelection = function(){}; + this.gridId = grid.id; + + var tpls = this.templates || {}; + + if(!tpls.master){ + tpls.master = new Roo.Template( + '
', + '
', + '
', + '
', + '
{lockedHeader}
', + '
{lockedBody}
', + "
", + '
', + '
{header}
', + '
{body}
', + "
", + '
', + '', + '
 
', + "
" + ); + tpls.master.disableformats = true; + } - if(!tpls.header){ - tpls.header = new Roo.Template( - '', - '{cells}', - "
{splits}" - ); - tpls.header.disableformats = true; - } - tpls.header.compile(); - - if(!tpls.hcell){ - tpls.hcell = new Roo.Template( - '
', - '
{value}
', - "
" - ); - tpls.hcell.disableFormats = true; - } - tpls.hcell.compile(); + if(!tpls.header){ + tpls.header = new Roo.Template( + '', + '{cells}', + "
{splits}" + ); + tpls.header.disableformats = true; + } + tpls.header.compile(); - if(!tpls.hsplit){ - tpls.hsplit = new Roo.Template('
 
'); - tpls.hsplit.disableFormats = true; - } - tpls.hsplit.compile(); - - if(!tpls.body){ - tpls.body = new Roo.Template( - '', - "{rows}", - "
" - ); - tpls.body.disableFormats = true; - } - tpls.body.compile(); + if(!tpls.hcell){ + tpls.hcell = new Roo.Template( + '
', + '
{value}
', + "
" + ); + tpls.hcell.disableFormats = true; + } + tpls.hcell.compile(); - if(!tpls.row){ - tpls.row = new Roo.Template('{cells}'); - tpls.row.disableFormats = true; - } - tpls.row.compile(); - - if(!tpls.cell){ - tpls.cell = new Roo.Template( - '', - '
{value}
', - "" - ); + if(!tpls.hsplit){ + tpls.hsplit = new Roo.Template('
 
'); + tpls.hsplit.disableFormats = true; + } + tpls.hsplit.compile(); + + if(!tpls.body){ + tpls.body = new Roo.Template( + '', + "{rows}", + "
" + ); + tpls.body.disableFormats = true; + } + tpls.body.compile(); + + if(!tpls.row){ + tpls.row = new Roo.Template('{cells}'); + tpls.row.disableFormats = true; + } + tpls.row.compile(); + + if(!tpls.cell){ + tpls.cell = new Roo.Template( + '', + '
{value}
', + "" + ); tpls.cell.disableFormats = true; } - tpls.cell.compile(); + tpls.cell.compile(); - this.templates = tpls; - }, + this.templates = tpls; + }, - // remap these for backwards compat + // remap these for backwards compat onColWidthChange : function(){ this.updateColumns.apply(this, arguments); }, @@ -47350,11 +47350,11 @@ Roo.extend(Roo.grid.GridView, Roo.grid.AbstractGridView, { this.updateHeaderSortState(); }, - onClear : function(){ + onClear : function(){ this.refresh(); }, - onUpdate : function(ds, record){ + onUpdate : function(ds, record){ this.refreshRow(record); }, @@ -47422,9 +47422,9 @@ Roo.extend(Roo.grid.GridView, Roo.grid.AbstractGridView, { this.headerPanel.show(); } return this.headerPanel; - }, + }, - /** + /** * Gets a panel in the footer of the grid that can be used for toolbars etc. * After modifying the contents of this panel a call to grid.autoSize() may be * required to register any changes in size. @@ -47436,82 +47436,82 @@ Roo.extend(Roo.grid.GridView, Roo.grid.AbstractGridView, { this.footerPanel.show(); } return this.footerPanel; - }, + }, - initElements : function(){ - var E = Roo.Element; - var el = this.grid.getGridEl().dom.firstChild; - var cs = el.childNodes; + initElements : function(){ + var E = Roo.Element; + var el = this.grid.getGridEl().dom.firstChild; + var cs = el.childNodes; - this.el = new E(el); - this.headerPanel = new E(el.firstChild); - this.headerPanel.enableDisplayMode("block"); + this.el = new E(el); + this.headerPanel = new E(el.firstChild); + this.headerPanel.enableDisplayMode("block"); this.scroller = new E(cs[1]); - this.scrollSizer = new E(this.scroller.dom.firstChild); + this.scrollSizer = new E(this.scroller.dom.firstChild); - this.lockedWrap = new E(cs[2]); - this.lockedHd = new E(this.lockedWrap.dom.firstChild); - this.lockedBody = new E(this.lockedWrap.dom.childNodes[1]); + this.lockedWrap = new E(cs[2]); + this.lockedHd = new E(this.lockedWrap.dom.firstChild); + this.lockedBody = new E(this.lockedWrap.dom.childNodes[1]); - this.mainWrap = new E(cs[3]); - this.mainHd = new E(this.mainWrap.dom.firstChild); - this.mainBody = new E(this.mainWrap.dom.childNodes[1]); + this.mainWrap = new E(cs[3]); + this.mainHd = new E(this.mainWrap.dom.firstChild); + this.mainBody = new E(this.mainWrap.dom.childNodes[1]); - this.footerPanel = new E(cs[4]); - this.footerPanel.enableDisplayMode("block"); + this.footerPanel = new E(cs[4]); + this.footerPanel.enableDisplayMode("block"); this.focusEl = new E(cs[5]); this.focusEl.swallowEvent("click", true); this.resizeProxy = new E(cs[6]); - this.headerSelector = String.format( - '#{0} td.x-grid-hd, #{1} td.x-grid-hd', - this.lockedHd.id, this.mainHd.id - ); + this.headerSelector = String.format( + '#{0} td.x-grid-hd, #{1} td.x-grid-hd', + this.lockedHd.id, this.mainHd.id + ); - this.splitterSelector = String.format( - '#{0} div.x-grid-split, #{1} div.x-grid-split', - this.idToCssName(this.lockedHd.id), this.idToCssName(this.mainHd.id) - ); + this.splitterSelector = String.format( + '#{0} div.x-grid-split, #{1} div.x-grid-split', + this.idToCssName(this.lockedHd.id), this.idToCssName(this.mainHd.id) + ); }, idToCssName : function(s) { return s.replace(/[^a-z0-9]+/ig, '-'); }, - getHeaderCell : function(index){ - return Roo.DomQuery.select(this.headerSelector)[index]; - }, + getHeaderCell : function(index){ + return Roo.DomQuery.select(this.headerSelector)[index]; + }, - getHeaderCellMeasure : function(index){ - return this.getHeaderCell(index).firstChild; - }, + getHeaderCellMeasure : function(index){ + return this.getHeaderCell(index).firstChild; + }, - getHeaderCellText : function(index){ - return this.getHeaderCell(index).firstChild.firstChild; - }, + getHeaderCellText : function(index){ + return this.getHeaderCell(index).firstChild.firstChild; + }, - getLockedTable : function(){ - return this.lockedBody.dom.firstChild; - }, + getLockedTable : function(){ + return this.lockedBody.dom.firstChild; + }, - getBodyTable : function(){ - return this.mainBody.dom.firstChild; - }, + getBodyTable : function(){ + return this.mainBody.dom.firstChild; + }, - getLockedRow : function(index){ - return this.getLockedTable().rows[index]; - }, + getLockedRow : function(index){ + return this.getLockedTable().rows[index]; + }, - getRow : function(index){ - return this.getBodyTable().rows[index]; - }, + getRow : function(index){ + return this.getBodyTable().rows[index]; + }, - getRowComposite : function(index){ - if(!this.rowEl){ - this.rowEl = new Roo.CompositeElementLite(); - } + getRowComposite : function(index){ + if(!this.rowEl){ + this.rowEl = new Roo.CompositeElementLite(); + } var els = [], lrow, mrow; if(lrow = this.getLockedRow(index)){ els.push(lrow); @@ -47520,27 +47520,27 @@ Roo.extend(Roo.grid.GridView, Roo.grid.AbstractGridView, { els.push(mrow); } this.rowEl.elements = els; - return this.rowEl; - }, + return this.rowEl; + }, - getCell : function(rowIndex, colIndex){ - var locked = this.cm.getLockedCount(); - var source; - if(colIndex < locked){ - source = this.lockedBody.dom.firstChild; - }else{ - source = this.mainBody.dom.firstChild; - colIndex -= locked; - } + getCell : function(rowIndex, colIndex){ + var locked = this.cm.getLockedCount(); + var source; + if(colIndex < locked){ + source = this.lockedBody.dom.firstChild; + }else{ + source = this.mainBody.dom.firstChild; + colIndex -= locked; + } return source.rows[rowIndex].childNodes[colIndex]; - }, + }, - getCellText : function(rowIndex, colIndex){ - return this.getCell(rowIndex, colIndex).firstChild.firstChild; - }, + getCellText : function(rowIndex, colIndex){ + return this.getCell(rowIndex, colIndex).firstChild.firstChild; + }, - getCellBox : function(cell){ - var b = this.fly(cell).getBox(); + getCellBox : function(cell){ + var b = this.fly(cell).getBox(); if(Roo.isOpera){ // opera fails to report the Y b.y = cell.offsetTop + this.mainBody.getY(); } @@ -47585,20 +47585,21 @@ Roo.extend(Roo.grid.GridView, Roo.grid.AbstractGridView, { }, getColumnId : function(index){ - return this.cm.getColumnId(index); - }, + return this.cm.getColumnId(index); + }, - getSplitters : function(){ - if(this.splitterSelector){ - return Roo.DomQuery.select(this.splitterSelector); - }else{ - return null; - } - }, + getSplitters : function() + { + if(this.splitterSelector){ + return Roo.DomQuery.select(this.splitterSelector); + }else{ + return null; + } + }, - getSplitter : function(index){ - return this.getSplitters()[index]; - }, + getSplitter : function(index){ + return this.getSplitters()[index]; + }, onRowOver : function(e, t){ var row; @@ -47615,7 +47616,7 @@ Roo.extend(Roo.grid.GridView, Roo.grid.AbstractGridView, { }, renderHeaders : function(){ - var cm = this.cm; + var cm = this.cm; var ct = this.templates.hcell, ht = this.templates.header, st = this.templates.hsplit; var cb = [], lb = [], sb = [], lsb = [], p = {}; for(var i = 0, len = cm.getColumnCount(); i < len; i++){ @@ -47635,9 +47636,9 @@ Roo.extend(Roo.grid.GridView, Roo.grid.AbstractGridView, { } return [ht.apply({cells: lb.join(""), splits:lsb.join("")}), ht.apply({cells: cb.join(""), splits:sb.join("")})]; - }, + }, - updateHeaders : function(){ + updateHeaders : function(){ var html = this.renderHeaders(); this.lockedHd.update(html[0]); this.mainHd.update(html[1]); @@ -47706,7 +47707,7 @@ Roo.extend(Roo.grid.GridView, Roo.grid.AbstractGridView, { var sright = sleft + c.clientWidth; if(ctop < stop){ - c.scrollTop = ctop; + c.scrollTop = ctop; }else if(cbot > sbot){ c.scrollTop = cbot-ch; } @@ -47764,7 +47765,7 @@ Roo.extend(Roo.grid.GridView, Roo.grid.AbstractGridView, { var pos = 0, locked = true; for(var i = 0, len = cm.getColumnCount(); i < len; i++){ if(cm.isHidden(i)) continue; - var w = cm.getColumnWidth(i); + var w = cm.getColumnWidth(i); // make sure it's a number if(!cm.isLocked(i) && locked){ pos = 0; locked = false; @@ -48287,10 +48288,10 @@ Roo.extend(Roo.grid.GridView, Roo.grid.AbstractGridView, { return; } var dm = g.dataSource, cm = g.colModel; - if(!cm.isSortable(index)){ + if(!cm.isSortable(index)){ return; } - g.stopEditing(); + g.stopEditing(); dm.sort(cm.getDataIndex(index)); }, @@ -49211,7 +49212,7 @@ Roo.extend(Roo.grid.ColumnModel, Roo.util.Observable, { * @return {Number} */ getColumnWidth : function(col){ - return this.config[col].width || this.defaultWidth; + return this.config[col].width * 1 || this.defaultWidth; }, /** @@ -51877,4 +51878,345 @@ Roo.extend(Roo.Login, Roo.LayoutDialog, { - \ No newline at end of file + /* + * Original code for Roojs - LGPL + *