Changeset 1774 for branches/3.0

Show
Ignore:
Timestamp:
03/26/2007 02:06:21 AM (20 months ago)
Author:
wei
Message:

rearrange javascript library

Location:
branches/3.0/framework/Web/Javascripts
Files:
7 added
9 removed
3 modified
4 moved

Legend:

Unmodified
Added
Removed
  • branches/3.0/framework/Web/Javascripts/js/compressed/prado.js

    r1768 r1774  
    251251if(Builder._isStringOrNumber(children)) 
    252252element.appendChild(Builder._text(children));},_isStringOrNumber:function(param){return(typeof param=='string'||typeof param=='number');},build:function(html){var element=this.node('div');$(element).update(html.strip());return element.down();},dump:function(scope){if(typeof scope!='object'&&typeof scope!='function')scope=window;var tags=("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY "+"BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET "+"FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX "+"KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P "+"PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD "+"TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/);tags.each(function(tag){scope[tag]=function(){return Builder.node.apply(Builder,[tag].concat($A(arguments)));}});}} 
    253 Function.prototype.bindEvent=function() 
     253var Prado={Version:'3.0.0',Browser:function() 
     254{var info={Version:"1.0"};var is_major=parseInt(navigator.appVersion);info.nver=is_major;info.ver=navigator.appVersion;info.agent=navigator.userAgent;info.dom=document.getElementById?1:0;info.opera=window.opera?1:0;info.ie5=(info.ver.indexOf("MSIE 5")>-1&&info.dom&&!info.opera)?1:0;info.ie6=(info.ver.indexOf("MSIE 6")>-1&&info.dom&&!info.opera)?1:0;info.ie4=(document.all&&!info.dom&&!info.opera)?1:0;info.ie=info.ie4||info.ie5||info.ie6;info.mac=info.agent.indexOf("Mac")>-1;info.ns6=(info.dom&&parseInt(info.ver)>=5)?1:0;info.ie3=(info.ver.indexOf("MSIE")&&(is_major<4));info.hotjava=(info.agent.toLowerCase().indexOf('hotjava')!=-1)?1:0;info.ns4=(document.layers&&!info.dom&&!info.hotjava)?1:0;info.bw=(info.ie6||info.ie5||info.ie4||info.ns4||info.ns6||info.opera);info.ver3=(info.hotjava||info.ie3);info.opera7=((info.agent.toLowerCase().indexOf('opera 7')>-1)||(info.agent.toLowerCase().indexOf('opera/7')>-1));info.operaOld=info.opera&&!info.opera7;return info;},ImportCss:function(doc,css_file) 
     255{if(Prado.Browser().ie) 
     256var styleSheet=doc.createStyleSheet(css_file);else 
     257{var elm=doc.createElement("link");elm.rel="stylesheet";elm.href=css_file;if(headArr=doc.getElementsByTagName("head")) 
     258headArr[0].appendChild(elm);}}};Function.prototype.bindEvent=function() 
    254259{var __method=this,args=$A(arguments),object=args.shift();return function(event) 
    255260{return __method.apply(object,[event||window.event].concat(args));}} 
     
    260265return this[source]=value;}else if(source){var _prototype={toSource:null};var _protected=["toString","valueOf"];if(Base._prototyping)_protected[2]="constructor";for(var i=0;(name=_protected[i]);i++){if(source[name]!=_prototype[name]){extend.call(this,name,source[name]);}} 
    261266for(var name in source){if(!_prototype[name]){extend.call(this,name,source[name]);}}} 
    262 return this;},base:function(){}};Base.extend=function(_instance,_static){var extend=Base.prototype.extend;if(!_instance)_instance={};Base._prototyping=true;var _prototype=new this;extend.call(_prototype,_instance);var constructor=_prototype.constructor;_prototype.constructor=this;delete Base._prototyping;var klass=function(){if(!Base._prototyping)constructor.apply(this,arguments);this.constructor=klass;};klass.prototype=_prototype;klass.extend=this.extend;klass.implement=this.implement;klass.toString=function(){return String(constructor);};extend.call(klass,_static);var object=constructor?klass:_prototype;if(object.init instanceof Function)object.init();return object;};Base.implement=function(_interface){if(_interface instanceof Function)_interface=_interface.prototype;this.prototype.extend(_interface);};Object.extend(String.prototype,{pad:function(side,len,chr){if(!chr)chr=' ';var s=this;var left=side.toLowerCase()=='left';while(s.length<len)s=left?chr+s:s+chr;return s;},padLeft:function(len,chr){return this.pad('left',len,chr);},padRight:function(len,chr){return this.pad('right',len,chr);},zerofill:function(len){return this.padLeft(len,'0');},trim:function(){return this.replace(/^\s+|\s+$/g,'');},trimLeft:function(){return this.replace(/^\s+/,'');},trimRight:function(){return this.replace(/\s+$/,'');},toFunction:function() 
    263 {var commands=this.split(/\./);var command=window;commands.each(function(action) 
    264 {if(command[new String(action)]) 
    265 command=command[new String(action)];});if(typeof(command)=="function") 
    266 return command;else 
    267 {if(typeof Logger!="undefined") 
    268 Logger.error("Missing function",this);throw new Error("Missing function '"+this+"'");}},toInteger:function() 
    269 {var exp=/^\s*[-\+]?\d+\s*$/;if(this.match(exp)==null) 
    270 return null;var num=parseInt(this,10);return(isNaN(num)?null:num);},toDouble:function(decimalchar) 
    271 {if(this.length<=0)return null;decimalchar=decimalchar||".";var exp=new RegExp("^\\s*([-\\+])?(\\d+)?(\\"+decimalchar+"(\\d+))?\\s*$");var m=this.match(exp);if(m==null) 
    272 return null;m[1]=m[1]||"";m[2]=m[2]||"0";m[4]=m[4]||"0";var cleanInput=m[1]+(m[2].length>0?m[2]:"0")+"."+m[4];var num=parseFloat(cleanInput);return(isNaN(num)?null:num);},toCurrency:function(groupchar,digits,decimalchar) 
    273 {groupchar=groupchar||",";decimalchar=decimalchar||".";digits=typeof(digits)=="undefined"?2:digits;var exp=new RegExp("^\\s*([-\\+])?(((\\d+)\\"+groupchar+")*)(\\d+)" 
    274 +((digits>0)?"(\\"+decimalchar+"(\\d{1,"+digits+"}))?":"") 
    275 +"\\s*$");var m=this.match(exp);if(m==null) 
    276 return null;var intermed=m[2]+m[5];var cleanInput=m[1]+intermed.replace(new RegExp("(\\"+groupchar+")","g"),"") 
    277 +((digits>0)?"."+m[7]:"");var num=parseFloat(cleanInput);return(isNaN(num)?null:num);},toDate:function(format) 
    278 {return Date.SimpleParse(this,format);}});Object.extend(Event,{OnLoad:function(fn) 
    279 {var w=document.addEventListener&&!window.addEventListener?document:window;Event.observe(w,'load',fn);},keyCode:function(e) 
    280 {return e.keyCode!=null?e.keyCode:e.charCode},isHTMLEvent:function(type) 
    281 {var events=['abort','blur','change','error','focus','load','reset','resize','scroll','select','submit','unload'];return events.include(type);},isMouseEvent:function(type) 
    282 {var events=['click','mousedown','mousemove','mouseout','mouseover','mouseup'];return events.include(type);},fireEvent:function(element,type) 
    283 {element=$(element);if(type=="submit") 
    284 return element.submit();if(document.createEvent) 
    285 {if(Event.isHTMLEvent(type)) 
    286 {var event=document.createEvent('HTMLEvents');event.initEvent(type,true,true);} 
    287 else if(Event.isMouseEvent(type)) 
    288 {var event=document.createEvent('MouseEvents');if(event.initMouseEvent) 
    289 {event.initMouseEvent(type,true,true,document.defaultView,1,0,0,0,0,false,false,false,false,0,null);} 
    290 else 
    291 {event.initEvent(type,true,true);}} 
    292 element.dispatchEvent(event);} 
    293 else if(document.createEventObject) 
    294 {var evObj=document.createEventObject();element.fireEvent('on'+type,evObj);} 
    295 else if(typeof(element['on'+type])=="function") 
    296 element['on'+type]();}});Object.extend(Date.prototype,{SimpleFormat:function(format,data) 
    297 {data=data||{};var bits=new Array();bits['d']=this.getDate();bits['dd']=String(this.getDate()).zerofill(2);bits['M']=this.getMonth()+1;bits['MM']=String(this.getMonth()+1).zerofill(2);if(data.AbbreviatedMonthNames) 
    298 bits['MMM']=data.AbbreviatedMonthNames[this.getMonth()];if(data.MonthNames) 
    299 bits['MMMM']=data.MonthNames[this.getMonth()];var yearStr=""+this.getFullYear();yearStr=(yearStr.length==2)?'19'+yearStr:yearStr;bits['yyyy']=yearStr;bits['yy']=bits['yyyy'].toString().substr(2,2);var frm=new String(format);for(var sect in bits) 
    300 {var reg=new RegExp("\\b"+sect+"\\b","g");frm=frm.replace(reg,bits[sect]);} 
    301 return frm;},toISODate:function() 
    302 {var y=this.getFullYear();var m=String(this.getMonth()+1).zerofill(2);var d=String(this.getDate()).zerofill(2);return String(y)+String(m)+String(d);}});Object.extend(Date,{SimpleParse:function(value,format) 
    303 {val=String(value);format=String(format);if(val.length<=0)return null;if(format.length<=0)return new Date(value);var isInteger=function(val) 
    304 {var digits="1234567890";for(var i=0;i<val.length;i++) 
    305 {if(digits.indexOf(val.charAt(i))==-1){return false;}} 
    306 return true;};var getInt=function(str,i,minlength,maxlength) 
    307 {for(var x=maxlength;x>=minlength;x--) 
    308 {var token=str.substring(i,i+x);if(token.length<minlength){return null;} 
    309 if(isInteger(token)){return token;}} 
    310 return null;};var i_val=0;var i_format=0;var c="";var token="";var token2="";var x,y;var now=new Date();var year=now.getFullYear();var month=now.getMonth()+1;var date=1;while(i_format<format.length) 
    311 {c=format.charAt(i_format);token="";while((format.charAt(i_format)==c)&&(i_format<format.length)) 
    312 {token+=format.charAt(i_format++);} 
    313 if(token=="yyyy"||token=="yy"||token=="y") 
    314 {if(token=="yyyy"){x=4;y=4;} 
    315 if(token=="yy"){x=2;y=2;} 
    316 if(token=="y"){x=2;y=4;} 
    317 year=getInt(val,i_val,x,y);if(year==null){return null;} 
    318 i_val+=year.length;if(year.length==2) 
    319 {if(year>70){year=1900+(year-0);} 
    320 else{year=2000+(year-0);}}} 
    321 else if(token=="MM"||token=="M") 
    322 {month=getInt(val,i_val,token.length,2);if(month==null||(month<1)||(month>12)){return null;} 
    323 i_val+=month.length;} 
    324 else if(token=="dd"||token=="d") 
    325 {date=getInt(val,i_val,token.length,2);if(date==null||(date<1)||(date>31)){return null;} 
    326 i_val+=date.length;} 
    327 else 
    328 {if(val.substring(i_val,i_val+token.length)!=token){return null;} 
    329 else{i_val+=token.length;}}} 
    330 if(i_val!=val.length){return null;} 
    331 if(month==2) 
    332 {if(((year%4==0)&&(year%100!=0))||(year%400==0)){if(date>29){return null;}} 
    333 else{if(date>28){return null;}}} 
    334 if((month==4)||(month==6)||(month==9)||(month==11)) 
    335 {if(date>30){return null;}} 
    336 var newdate=new Date(year,month-1,date,0,0,0);return newdate;}});Object.extend(Builder,{exportTags:function() 
    337 {var tags=["BUTTON","TT","PRE","H1","H2","H3","BR","CANVAS","HR","LABEL","TEXTAREA","FORM","STRONG","SELECT","OPTION","OPTGROUP","LEGEND","FIELDSET","P","UL","OL","LI","TD","TR","THEAD","TBODY","TFOOT","TABLE","TH","INPUT","SPAN","A","DIV","IMG","CAPTION"];tags.each(function(tag) 
    338 {window[tag]=function() 
    339 {var args=$A(arguments);if(args.length==0) 
    340 return Builder.node(tag,null);if(args.length==1) 
    341 return Builder.node(tag,args[0]);if(args.length>1) 
    342 return Builder.node(tag,args.shift(),args);};});}});Builder.exportTags();var Prado={Version:'3.0.0',Browser:function() 
    343 {var info={Version:"1.0"};var is_major=parseInt(navigator.appVersion);info.nver=is_major;info.ver=navigator.appVersion;info.agent=navigator.userAgent;info.dom=document.getElementById?1:0;info.opera=window.opera?1:0;info.ie5=(info.ver.indexOf("MSIE 5")>-1&&info.dom&&!info.opera)?1:0;info.ie6=(info.ver.indexOf("MSIE 6")>-1&&info.dom&&!info.opera)?1:0;info.ie4=(document.all&&!info.dom&&!info.opera)?1:0;info.ie=info.ie4||info.ie5||info.ie6;info.mac=info.agent.indexOf("Mac")>-1;info.ns6=(info.dom&&parseInt(info.ver)>=5)?1:0;info.ie3=(info.ver.indexOf("MSIE")&&(is_major<4));info.hotjava=(info.agent.toLowerCase().indexOf('hotjava')!=-1)?1:0;info.ns4=(document.layers&&!info.dom&&!info.hotjava)?1:0;info.bw=(info.ie6||info.ie5||info.ie4||info.ns4||info.ns6||info.opera);info.ver3=(info.hotjava||info.ie3);info.opera7=((info.agent.toLowerCase().indexOf('opera 7')>-1)||(info.agent.toLowerCase().indexOf('opera/7')>-1));info.operaOld=info.opera&&!info.opera7;return info;},ImportCss:function(doc,css_file) 
    344 {if(Prado.Browser().ie) 
    345 var styleSheet=doc.createStyleSheet(css_file);else 
    346 {var elm=doc.createElement("link");elm.rel="stylesheet";elm.href=css_file;if(headArr=doc.getElementsByTagName("head")) 
    347 headArr[0].appendChild(elm);}}};Prado.PostBack=function(event,options) 
     267return this;},base:function(){}};Base.extend=function(_instance,_static){var extend=Base.prototype.extend;if(!_instance)_instance={};Base._prototyping=true;var _prototype=new this;extend.call(_prototype,_instance);var constructor=_prototype.constructor;_prototype.constructor=this;delete Base._prototyping;var klass=function(){if(!Base._prototyping)constructor.apply(this,arguments);this.constructor=klass;};klass.prototype=_prototype;klass.extend=this.extend;klass.implement=this.implement;klass.toString=function(){return String(constructor);};extend.call(klass,_static);var object=constructor?klass:_prototype;if(object.init instanceof Function)object.init();return object;};Base.implement=function(_interface){if(_interface instanceof Function)_interface=_interface.prototype;this.prototype.extend(_interface);};Prado.PostBack=function(event,options) 
    348268{var form=$(options['FormID']);var canSubmit=true;if(options['CausesValidation']&&typeof(Prado.Validation)!="undefined") 
    349269{if(!Prado.Validation.validate(options['FormID'],options['ValidationGroup'],$(options['ID']))) 
     
    397317{el.checked=true;});},checkInvert:function(name) 
    398318{$A(document.getElementsByName(name)).each(function(el) 
    399 {el.checked=!el.checked;});}};Prado.WebUI=Class.create();Prado.WebUI.PostBackControl=Class.create();Prado.WebUI.PostBackControl.prototype={_elementOnClick:null,initialize:function(options) 
    400 {this.element=$(options.ID);if(this.onInit) 
    401 this.onInit(options);},onInit:function(options) 
     319{el.checked=!el.checked;});}};Object.extend(Builder,{exportTags:function() 
     320{var tags=["BUTTON","TT","PRE","H1","H2","H3","BR","CANVAS","HR","LABEL","TEXTAREA","FORM","STRONG","SELECT","OPTION","OPTGROUP","LEGEND","FIELDSET","P","UL","OL","LI","TD","TR","THEAD","TBODY","TFOOT","TABLE","TH","INPUT","SPAN","A","DIV","IMG","CAPTION"];tags.each(function(tag) 
     321{window[tag]=function() 
     322{var args=$A(arguments);if(args.length==0) 
     323return Builder.node(tag,null);if(args.length==1) 
     324return Builder.node(tag,args[0]);if(args.length>1) 
     325return Builder.node(tag,args.shift(),args);};});}});Builder.exportTags();Object.extend(String.prototype,{pad:function(side,len,chr){if(!chr)chr=' ';var s=this;var left=side.toLowerCase()=='left';while(s.length<len)s=left?chr+s:s+chr;return s;},padLeft:function(len,chr){return this.pad('left',len,chr);},padRight:function(len,chr){return this.pad('right',len,chr);},zerofill:function(len){return this.padLeft(len,'0');},trim:function(){return this.replace(/^\s+|\s+$/g,'');},trimLeft:function(){return this.replace(/^\s+/,'');},trimRight:function(){return this.replace(/\s+$/,'');},toFunction:function() 
     326{var commands=this.split(/\./);var command=window;commands.each(function(action) 
     327{if(command[new String(action)]) 
     328command=command[new String(action)];});if(typeof(command)=="function") 
     329return command;else 
     330{if(typeof Logger!="undefined") 
     331Logger.error("Missing function",this);throw new Error("Missing function '"+this+"'");}},toInteger:function() 
     332{var exp=/^\s*[-\+]?\d+\s*$/;if(this.match(exp)==null) 
     333return null;var num=parseInt(this,10);return(isNaN(num)?null:num);},toDouble:function(decimalchar) 
     334{if(this.length<=0)return null;decimalchar=decimalchar||".";var exp=new RegExp("^\\s*([-\\+])?(\\d+)?(\\"+decimalchar+"(\\d+))?\\s*$");var m=this.match(exp);if(m==null) 
     335return null;m[1]=m[1]||"";m[2]=m[2]||"0";m[4]=m[4]||"0";var cleanInput=m[1]+(m[2].length>0?m[2]:"0")+"."+m[4];var num=parseFloat(cleanInput);return(isNaN(num)?null:num);},toCurrency:function(groupchar,digits,decimalchar) 
     336{groupchar=groupchar||",";decimalchar=decimalchar||".";digits=typeof(digits)=="undefined"?2:digits;var exp=new RegExp("^\\s*([-\\+])?(((\\d+)\\"+groupchar+")*)(\\d+)" 
     337+((digits>0)?"(\\"+decimalchar+"(\\d{1,"+digits+"}))?":"") 
     338+"\\s*$");var m=this.match(exp);if(m==null) 
     339return null;var intermed=m[2]+m[5];var cleanInput=m[1]+intermed.replace(new RegExp("(\\"+groupchar+")","g"),"") 
     340+((digits>0)?"."+m[7]:"");var num=parseFloat(cleanInput);return(isNaN(num)?null:num);},toDate:function(format) 
     341{return Date.SimpleParse(this,format);}});Object.extend(Event,{OnLoad:function(fn) 
     342{var w=document.addEventListener&&!window.addEventListener?document:window;Event.observe(w,'load',fn);},keyCode:function(e) 
     343{return e.keyCode!=null?e.keyCode:e.charCode},isHTMLEvent:function(type) 
     344{var events=['abort','blur','change','error','focus','load','reset','resize','scroll','select','submit','unload'];return events.include(type);},isMouseEvent:function(type) 
     345{var events=['click','mousedown','mousemove','mouseout','mouseover','mouseup'];return events.include(type);},fireEvent:function(element,type) 
     346{element=$(element);if(type=="submit") 
     347return element.submit();if(document.createEvent) 
     348{if(Event.isHTMLEvent(type)) 
     349{var event=document.createEvent('HTMLEvents');event.initEvent(type,true,true);} 
     350else if(Event.isMouseEvent(type)) 
     351{var event=document.createEvent('MouseEvents');if(event.initMouseEvent) 
     352{event.initMouseEvent(type,true,true,document.defaultView,1,0,0,0,0,false,false,false,false,0,null);} 
     353else 
     354{event.initEvent(type,true,true);}} 
     355element.dispatchEvent(event);} 
     356else if(document.createEventObject) 
     357{var evObj=document.createEventObject();element.fireEvent('on'+type,evObj);} 
     358else if(typeof(element['on'+type])=="function") 
     359element['on'+type]();}});Object.extend(Date.prototype,{SimpleFormat:function(format,data) 
     360{data=data||{};var bits=new Array();bits['d']=this.getDate();bits['dd']=String(this.getDate()).zerofill(2);bits['M']=this.getMonth()+1;bits['MM']=String(this.getMonth()+1).zerofill(2);if(data.AbbreviatedMonthNames) 
     361bits['MMM']=data.AbbreviatedMonthNames[this.getMonth()];if(data.MonthNames) 
     362bits['MMMM']=data.MonthNames[this.getMonth()];var yearStr=""+this.getFullYear();yearStr=(yearStr.length==2)?'19'+yearStr:yearStr;bits['yyyy']=yearStr;bits['yy']=bits['yyyy'].toString().substr(2,2);var frm=new String(format);for(var sect in bits) 
     363{var reg=new RegExp("\\b"+sect+"\\b","g");frm=frm.replace(reg,bits[sect]);} 
     364return frm;},toISODate:function() 
     365{var y=this.getFullYear();var m=String(this.getMonth()+1).zerofill(2);var d=String(this.getDate()).zerofill(2);return String(y)+String(m)+String(d);}});Object.extend(Date,{SimpleParse:function(value,format) 
     366{val=String(value);format=String(format);if(val.length<=0)return null;if(format.length<=0)return new Date(value);var isInteger=function(val) 
     367{var digits="1234567890";for(var i=0;i<val.length;i++) 
     368{if(digits.indexOf(val.charAt(i))==-1){return false;}} 
     369return true;};var getInt=function(str,i,minlength,maxlength) 
     370{for(var x=maxlength;x>=minlength;x--) 
     371{var token=str.substring(i,i+x);if(token.length<minlength){return null;} 
     372if(isInteger(token)){return token;}} 
     373return null;};var i_val=0;var i_format=0;var c="";var token="";var token2="";var x,y;var now=new Date();var year=now.getFullYear();var month=now.getMonth()+1;var date=1;while(i_format<format.length) 
     374{c=format.charAt(i_format);token="";while((format.charAt(i_format)==c)&&(i_format<format.length)) 
     375{token+=format.charAt(i_format++);} 
     376if(token=="yyyy"||token=="yy"||token=="y") 
     377{if(token=="yyyy"){x=4;y=4;} 
     378if(token=="yy"){x=2;y=2;} 
     379if(token=="y"){x=2;y=4;} 
     380year=getInt(val,i_val,x,y);if(year==null){return null;} 
     381i_val+=year.length;if(year.length==2) 
     382{if(year>70){year=1900+(year-0);} 
     383else{year=2000+(year-0);}}} 
     384else if(token=="MM"||token=="M") 
     385{month=getInt(val,i_val,token.length,2);if(month==null||(month<1)||(month>12)){return null;} 
     386i_val+=month.length;} 
     387else if(token=="dd"||token=="d") 
     388{date=getInt(val,i_val,token.length,2);if(date==null||(date<1)||(date>31)){return null;} 
     389i_val+=date.length;} 
     390else 
     391{if(val.substring(i_val,i_val+token.length)!=token){return null;} 
     392else{i_val+=token.length;}}} 
     393if(i_val!=val.length){return null;} 
     394if(month==2) 
     395{if(((year%4==0)&&(year%100!=0))||(year%400==0)){if(date>29){return null;}} 
     396else{if(date>28){return null;}}} 
     397if((month==4)||(month==6)||(month==9)||(month==11)) 
     398{if(date>30){return null;}} 
     399var newdate=new Date(year,month-1,date,0,0,0);return newdate;}});Prado.WebUI=Class.create();Prado.WebUI.PostBackControl=Class.create();Prado.WebUI.PostBackControl.prototype={initialize:function(options) 
     400{this._elementOnClick=null,this.element=$(options.ID);if(this.element) 
     401{if(this.onInit) 
     402this.onInit(options);}},onInit:function(options) 
    402403{if(typeof(this.element.onclick)=="function") 
    403404{this._elementOnClick=this.element.onclick;this.element.onclick=null;} 
    404 Event.observe(this.element,"click",this.onClick.bindEvent(this,options));},onClick:function(event,options) 
     405Event.observe(this.element,"click",this.elementClicked.bindEvent(this,options));},elementClicked:function(event,options) 
    405406{var src=Event.element(event);var doPostBack=true;var onclicked=null;if(this._elementOnClick) 
    406407{var onclicked=this._elementOnClick(event);if(typeof(onclicked)=="boolean") 
     
    413414{this.addXYInput(event,options);this.hasXYInput=true;} 
    414415Prado.PostBack(event,options);},addXYInput:function(event,options) 
    415 {var imagePos=Position.cumulativeOffset(this.element);var clickedPos=[event.clientX,event.clientY];var x=clickedPos[0]-imagePos[0]+1;var y=clickedPos[1]-imagePos[1]+1;var id=options['EventTarget'];var x_input=INPUT({type:'hidden',name:id+'_x',value:x});var y_input=INPUT({type:'hidden',name:id+'_y',value:y});this.element.parentNode.appendChild(x_input);this.element.parentNode.appendChild(y_input);}});Prado.WebUI.TRadioButton=Class.extend(Prado.WebUI.PostBackControl);Prado.WebUI.TRadioButton.prototype.onRadioButtonInitialize=Prado.WebUI.TRadioButton.prototype.initialize;Object.extend(Prado.WebUI.TRadioButton.prototype,{initialize:function(options) 
    416 {this.element=$(options['ID']);if(!this.element.checked) 
    417 this.onRadioButtonInitialize(options);}});Prado.WebUI.TTextBox=Class.extend(Prado.WebUI.PostBackControl,{onInit:function(options) 
    418 {if(options['TextMode']!='MultiLine') 
    419 Event.observe(this.element,"keydown",this.handleReturnKey.bind(this));Event.observe(this.element,"change",Prado.PostBack.bindEvent(this,options));},handleReturnKey:function(e) 
     416{imagePos=Position.cumulativeOffset(this.element);clickedPos=[event.clientX,event.clientY];x=clickedPos[0]-imagePos[0]+1;y=clickedPos[1]-imagePos[1]+1;x=x<0?0:x;y=y<0?0:y;id=options['EventTarget'];x_input=$(id+"_x");y_input=$(id+"_y");if(x_input) 
     417{x_input.value=x;} 
     418else 
     419{x_input=INPUT({type:'hidden',name:id+'_x','id':id+'_x',value:x});this.element.parentNode.appendChild(x_input);} 
     420if(y_input) 
     421{y_input.value=y;} 
     422else 
     423{y_input=INPUT({type:'hidden',name:id+'_y','id':id+'_y',value:y});this.element.parentNode.appendChild(y_input);}}});Prado.WebUI.TRadioButton=Class.extend(Prado.WebUI.PostBackControl);Prado.WebUI.TRadioButton.prototype.onRadioButtonInitialize=Prado.WebUI.TRadioButton.prototype.initialize;Object.extend(Prado.WebUI.TRadioButton.prototype,{initialize:function(options) 
     424{this.element=$(options['ID']);if(this.element) 
     425{if(!this.element.checked) 
     426this.onRadioButtonInitialize(options);}}});Prado.WebUI.TTextBox=Class.extend(Prado.WebUI.PostBackControl,{onInit:function(options) 
     427{this.options=options;if(options['TextMode']!='MultiLine') 
     428Event.observe(this.element,"keydown",this.handleReturnKey.bind(this));if(this.options['AutoPostBack']==true) 
     429Event.observe(this.element,"change",Prado.PostBack.bindEvent(this,options));},handleReturnKey:function(e) 
    420430{if(Event.keyCode(e)==Event.KEY_RETURN) 
    421431{var target=Event.element(e);if(target) 
    422 {Event.fireEvent(target,"change");Event.stop(e);}}}});Prado.WebUI.TListControl=Class.extend(Prado.WebUI.PostBackControl,{onInit:function(options) 
     432{if(this.options['AutoPostBack']==true) 
     433{Event.fireEvent(target,"change");Event.stop(e);} 
     434else 
     435{if(this.options['CausesValidation']&&typeof(Prado.Validation)!="undefined") 
     436{if(!Prado.Validation.validate(this.options['FormID'],this.options['ValidationGroup'],$(this.options['ID']))) 
     437return Event.stop(e);}}}}}});Prado.WebUI.TListControl=Class.extend(Prado.WebUI.PostBackControl,{onInit:function(options) 
    423438{Event.observe(this.element,"change",Prado.PostBack.bindEvent(this,options));}});Prado.WebUI.TListBox=Class.extend(Prado.WebUI.TListControl);Prado.WebUI.TDropDownList=Class.extend(Prado.WebUI.TListControl);Prado.WebUI.DefaultButton=Class.create();Prado.WebUI.DefaultButton.prototype={initialize:function(options) 
    424439{this.options=options;this._event=this.triggerEvent.bindEvent(this);Event.observe(options['Panel'],'keydown',this._event);},triggerEvent:function(ev,target) 
     
    435450window.clipboardData.setData("Text",text);},hover:function(obj) 
    436451{obj.parentNode.className="copycode copycode_hover";},out:function(obj) 
    437 {obj.parentNode.className="copycode";}});Prado.WebUI.TRatingList=Class.create();Prado.WebUI.TRatingList.prototype={selectedIndex:-1,initialize:function(options) 
    438 {this.options=options;this.element=$(options['ID']);Element.addClassName(this.element,options.cssClass);this.radios=document.getElementsByName(options.field);for(var i=0;i<this.radios.length;i++) 
    439 {Event.observe(this.radios[i].parentNode,"mouseover",this.hover.bindEvent(this,i));Event.observe(this.radios[i].parentNode,"mouseout",this.recover.bindEvent(this,i));Event.observe(this.radios[i].parentNode,"click",this.click.bindEvent(this,i));} 
    440 this.caption=CAPTION();this.element.appendChild(this.caption);this.selectedIndex=options.selectedIndex;this.setRating(this.selectedIndex);},hover:function(ev,index) 
    441 {for(var i=0;i<this.radios.length;i++) 
    442 this.radios[i].parentNode.className=(i<=index)?"rating_hover":"";this.setCaption(index);},recover:function(ev,index) 
    443 {for(var i=0;i<=index;i++) 
    444 Element.removeClassName(this.radios[i].parentNode,"rating_hover");this.setRating(this.selectedIndex);},click:function(ev,index) 
    445 {for(var i=0;i<this.radios.length;i++) 
    446 this.radios[i].checked=(i==index);this.selectedIndex=index;this.setRating(index);if(isFunction(this.options.onChange)) 
    447 this.options.onChange(this,index);},setRating:function(index) 
    448 {for(var i=0;i<=index;i++) 
    449 this.radios[i].parentNode.className="rating_selected";this.setCaption(index);},setCaption:function(index) 
    450 {this.caption.innerHTML=index>-1?this.radios[index].value:this.options.caption;}} 
     452{obj.parentNode.className="copycode";}});Prado.WebUI.TCheckBoxList=Base.extend({constructor:function(options) 
     453{for(var i=0;i<options.ItemCount;i++) 
     454{var checkBoxOptions=Object.extend({ID:options.ListID+"_c"+i,EventTarget:options.ListName+"$c"+i},options);new Prado.WebUI.TCheckBox(checkBoxOptions);}}});Prado.WebUI.TRadioButtonList=Base.extend({constructor:function(options) 
     455{for(var i=0;i<options.ItemCount;i++) 
     456{var radioButtonOptions=Object.extend({ID:options.ListID+"_c"+i,EventTarget:options.ListName+"$c"+i},options);new Prado.WebUI.TRadioButton(radioButtonOptions);}}}); 
  • branches/3.0/framework/Web/Javascripts/js/debug/colorpicker.js

    r1397 r1774  
    9797   if ( hexCode.indexOf('#') == 0 ) 
    9898      hexCode = hexCode.substring(1); 
    99     
     99 
    100100   var red = "ff", green = "ff", blue="ff"; 
    101101   if(hexCode.length > 4) 
     
    243243 
    244244 
     245 
    245246Prado.WebUI.TColorPicker = Class.create(); 
    246247 
    247248Object.extend(Prado.WebUI.TColorPicker, 
    248249{ 
    249         palettes:  
     250        palettes: 
    250251        { 
    251252                Small : [["fff", "fcc", "fc9", "ff9", "ffc", "9f9", "9ff", "cff", "ccf", "fcf"], 
     
    262263        }, 
    263264 
    264         UIImages :  
     265        UIImages : 
    265266        { 
    266267                'button.gif' : 'button.gif', 
     
    273274}); 
    274275 
    275 Object.extend(Prado.WebUI.TColorPicker.prototype,  
     276Object.extend(Prado.WebUI.TColorPicker.prototype, 
    276277{ 
    277278        initialize : function(options) 
    278279        { 
    279                 var basics =  
     280                var basics = 
    280281                { 
    281282                        Palette : 'Small', 
     
    286287                        ShowColorPicker : true 
    287288                } 
    288                  
     289 
    289290                this.element = null; 
    290291                this.showing = false; 
     
    302303        updatePicker : function(e) 
    303304        { 
    304                 var color = Rico.Color.createFromHex(this.input.value);  
     305                var color = Rico.Color.createFromHex(this.input.value); 
    305306                this.button.style.backgroundColor = color.toString(); 
    306307        }, 
    307          
     308 
    308309        buttonOnClick : function(event) 
    309310        { 
     
    329330                } 
    330331                this.show(mode); 
    331         },               
     332        }, 
    332333 
    333334        show : function(type) 
     
    341342                        this.element.style.left = pos[0] + "px"; 
    342343                        this.element.style.display = "block"; 
    343                          
     344 
    344345                        this.ieHack(type); 
    345346 
     
    348349                        this._documentKeyDownEvent = this.keyPressed.bindEvent(this, type); 
    349350                        Event.observe(document.body, "click", this._documentClickEvent); 
    350                         Event.observe(document,"keydown", this._documentKeyDownEvent);  
     351                        Event.observe(document,"keydown", this._documentKeyDownEvent); 
    351352                        this.showing = true; 
    352353 
     
    360361                } 
    361362        }, 
    362          
     363 
    363364        hide : function(event) 
    364365        { 
     
    371372                        this.showing = false; 
    372373                        Event.stopObserving(document.body, "click", this._documentClickEvent); 
    373                         Event.stopObserving(document,"keydown", this._documentKeyDownEvent);  
    374                          
     374                        Event.stopObserving(document,"keydown", this._documentKeyDownEvent); 
     375 
    375376                        if(this._observingMouseMove) 
    376                         {                        
    377                                 Event.stopObserving(document.body, "mousemove", this._onMouseMove);      
     377                        { 
     378                                Event.stopObserving(document.body, "mousemove", this._onMouseMove); 
    378379                                this._observingMouseMove = false; 
    379380                        } 
     
    397398                        within = within || el == this.input; 
    398399                        if(within) break; 
    399                         el = el.parentNode;                      
     400                        el = el.parentNode; 
    400401                } 
    401402                while(el); 
     
    403404        }, 
    404405 
    405         ieHack : function()  
     406        ieHack : function() 
    406407        { 
    407408                // IE hack 
    408                 if(this.iePopUp)  
     409                if(this.iePopUp) 
    409410                { 
    410411                        this.iePopUp.style.display = "block"; 
     
    449450        cellOnClick : function(e) 
    450451        { 
    451                 var el = Event.element(e);  
     452                var el = Event.element(e); 
    452453                if(el.tagName.toLowerCase() != "img") 
    453454                        return; 
     
    465466 
    466467        getFullPickerContainer : function(pickerID) 
    467         {                        
     468        { 
    468469                //create the 3 buttons 
    469                 this.buttons =  
     470                this.buttons = 
    470471                { 
    471472                        //Less   : INPUT({value:'Less Colors', className:'button', type:'button'}), 
     
    473474                        Cancel : INPUT({value:this.options.CancelButtonText, className:'button', type:'button'}) 
    474475                }; 
    475                  
     476 
    476477                //create the 6 inputs 
    477478                var inputs = {}; 
     
    484485                inputs['HEX'] = INPUT({className:'hex',type:'text',size:'6',maxlength:'6'}); 
    485486                this.inputs = inputs; 
    486                  
     487 
    487488                var images = Prado.WebUI.TColorPicker.UIImages; 
    488489 
     
    490491                this.inputs['oldColor'] = SPAN({className:'oldColor'}); 
    491492 
    492                 var inputsTable =  
     493                var inputsTable = 
    493494                        TABLE({className:'inputs'}, TBODY(null, 
    494495                                TR(null, 
     
    503504                                        TD(null,'S:'), 
    504505                                        TD(null,this.inputs['S'], '%')), 
    505                                  
    506                                 TR(null,  
     506 
     507                                TR(null, 
    507508                                        TD(null,'V:'), 
    508509                                        TD(null,this.inputs['V'], '%')), 
    509                                  
    510                                 TR(null,  
     510 
     511                                TR(null, 
    511512                                        TD({className:'gap'},'R:'), 
    512513                                        TD({className:'gap'},this.inputs['R'])), 
    513                                  
    514                                 TR(null,  
     514 
     515                                TR(null, 
    515516                                        TD(null,'G:'), 
    516517                                        TD(null, this.inputs['G'])), 
    517518 
    518                                 TR(null,  
     519                                TR(null, 
    519520                                        TD(null,'B:'), 
    520521                                        TD(null, this.inputs['B'])), 
    521522 
    522                                 TR(null,  
     523                                TR(null, 
    523524                                        TD({className:'gap'},'#'), 
    524525                                        TD({className:'gap'},this.inputs['HEX'])) 
    525526                        )); 
    526527 
    527                 var UIimages =  
    528                 {                
     528                var UIimages = 
     529                { 
    529530                        selector : SPAN({className:'selector'}), 
    530531                        background : SPAN({className:'colorpanel'}), 
     
    539540                        UIimages['background'] = SPAN({className:'colorpanel',style:filter+"(src='"+images['background.png']+"' sizingMethod=scale);"}) 
    540541                } 
    541                  
     542 
    542543                this.inputs = Object.extend(this.inputs, UIimages); 
    543544 
    544                 var pickerTable =  
     545                var pickerTable = 
    545546                        TABLE(null,TBODY(null, 
    546547                                TR({className:'selection'}, 
     
    549550                                        TD({className:'inputs'}, inputsTable) 
    550551                                ), 
    551                                 TR({className:'options'},  
    552                                         TD({colSpan:3},  
    553                                                 this.buttons['OK'],  
     552                                TR({className:'options'}, 
     553                                        TD({colSpan:3}, 
     554                                                this.buttons['OK'], 
    554555                                                this.buttons['Cancel']) 
    555556                                ) 
    556557                        )); 
    557                  
     558 
    558559                return DIV({className:this.options['ClassName']+" FullColorPicker", 
    559560                                                id:pickerID+"_picker"},pickerTable); 
     
    566567                this.setColor(color,true);