webgui/www/extras/yui-ext/build/grid/DefaultColumnModel-min.js
JT Smith 4f68a0933c added YUI and YUI-ext
fixed the resizable text area with IE problem
fixed the ad space with IE problem
merged the 7.2.0 and 7.1.4 change logs
2006-11-07 23:15:57 +00:00

20 lines
No EOL
4.1 KiB
JavaScript

/*
* YUI Extensions
* Copyright(c) 2006, Jack Slocum.
*
* This code is licensed under BSD license.
* http://www.opensource.org/licenses/bsd-license.php
*/
YAHOO.ext.grid.DefaultColumnModel=function(config){YAHOO.ext.grid.DefaultColumnModel.superclass.constructor.call(this);this.config=config;this.defaultWidth=100;this.defaultSortable=false;};YAHOO.extendX(YAHOO.ext.grid.DefaultColumnModel,YAHOO.ext.grid.AbstractColumnModel);YAHOO.ext.grid.DefaultColumnModel.prototype.getColumnCount=function(){return this.config.length;};YAHOO.ext.grid.DefaultColumnModel.prototype.isSortable=function(col){if(typeof this.config[col].sortable=='undefined'){return this.defaultSortable;}
return this.config[col].sortable;};YAHOO.ext.grid.DefaultColumnModel.prototype.getSortType=function(col){if(!this.dataMap){var map=[];for(var i=0,len=this.config.length;i<len;i++){map[this.getDataIndex(i)]=i;}
this.dataMap=map;}
col=this.dataMap[col];if(!this.config[col].sortType){return YAHOO.ext.grid.DefaultColumnModel.sortTypes.none;}
return this.config[col].sortType;};YAHOO.ext.grid.DefaultColumnModel.prototype.setSortType=function(col,fn){this.config[col].sortType=fn;};YAHOO.ext.grid.DefaultColumnModel.prototype.getRenderer=function(col){if(!this.config[col].renderer){return YAHOO.ext.grid.DefaultColumnModel.defaultRenderer;}
return this.config[col].renderer;};YAHOO.ext.grid.DefaultColumnModel.prototype.setRenderer=function(col,fn){this.config[col].renderer=fn;};YAHOO.ext.grid.DefaultColumnModel.prototype.getColumnWidth=function(col){return this.config[col].width||this.defaultWidth;};YAHOO.ext.grid.DefaultColumnModel.prototype.setColumnWidth=function(col,width,suppressEvent){this.config[col].width=width;this.totalWidth=null;if(!suppressEvent){this.onWidthChange.fireDirect(this,col,width);}};YAHOO.ext.grid.DefaultColumnModel.prototype.getTotalWidth=function(includeHidden){if(!this.totalWidth){this.totalWidth=0;for(var i=0;i<this.config.length;i++){if(includeHidden||!this.isHidden(i)){this.totalWidth+=this.getColumnWidth(i);}}}
return this.totalWidth;};YAHOO.ext.grid.DefaultColumnModel.prototype.getColumnHeader=function(col){return this.config[col].header;};YAHOO.ext.grid.DefaultColumnModel.prototype.setColumnHeader=function(col,header){this.config[col].header=header;this.onHeaderChange.fireDirect(this,col,header);};YAHOO.ext.grid.DefaultColumnModel.prototype.getDataIndex=function(col){if(typeof this.config[col].dataIndex!='number'){return col;}
return this.config[col].dataIndex;};YAHOO.ext.grid.DefaultColumnModel.prototype.setDataIndex=function(col,dataIndex){this.config[col].dataIndex=dataIndex;};YAHOO.ext.grid.DefaultColumnModel.prototype.isCellEditable=function(colIndex,rowIndex){return this.config[colIndex].editable||(typeof this.config[colIndex].editable=='undefined'&&this.config[colIndex].editor);};YAHOO.ext.grid.DefaultColumnModel.prototype.getCellEditor=function(colIndex,rowIndex){return this.config[colIndex].editor;};YAHOO.ext.grid.DefaultColumnModel.prototype.setEditable=function(col,editable){this.config[col].editable=editable;};YAHOO.ext.grid.DefaultColumnModel.prototype.isHidden=function(colIndex){return this.config[colIndex].hidden;};YAHOO.ext.grid.DefaultColumnModel.prototype.setHidden=function(colIndex,hidden){this.config[colIndex].hidden=hidden;this.totalWidth=null;this.fireHiddenChange(colIndex,hidden);};YAHOO.ext.grid.DefaultColumnModel.prototype.setEditor=function(col,editor){this.config[col].editor=editor;};YAHOO.ext.grid.DefaultColumnModel.defaultRenderer=function(value){if(typeof value=='string'&&value.length<1){return'&nbsp;';}
return value;}
YAHOO.ext.grid.DefaultColumnModel.sortTypes={};YAHOO.ext.grid.DefaultColumnModel.sortTypes.none=function(s){return s;};YAHOO.ext.grid.DefaultColumnModel.sortTypes.asUCString=function(s){return String(s).toUpperCase();};YAHOO.ext.grid.DefaultColumnModel.sortTypes.asDate=function(s){if(s instanceof Date){return s;}
return Date.parse(String(s));};YAHOO.ext.grid.DefaultColumnModel.sortTypes.asFloat=function(s){var val=parseFloat(String(s).replace(/,/g,''));if(isNaN(val))val=0;return val;};YAHOO.ext.grid.DefaultColumnModel.sortTypes.asInt=function(s){var val=parseInt(String(s).replace(/,/g,''));if(isNaN(val))val=0;return val;};