X-Git-Url: https://git.infodrom.org/?p=infodrom%2Frico3;a=blobdiff_plain;f=minsrc%2Frico.js;h=9c8e0ef450a31ba3660c90eaee95bd22be2bc47a;hp=5116aca774ff9d73b3e60aeb5a6a970c5590c1f7;hb=ee6f74edc604824b08ca60e5fd782af9a69c4443;hpb=c0eec96be2557a2a34fc4d5587b42201152d61b8 diff --git a/minsrc/rico.js b/minsrc/rico.js index 5116aca..9c8e0ef 100644 --- a/minsrc/rico.js +++ b/minsrc/rico.js @@ -1,6 +1,6 @@ /* - * (c) 2005-2011 Richard Cowin (http://openrico.org) - * (c) 2005-2011 Matt Brown (http://dowdybrown.com) + * (c) 2005-2012 Richard Cowin (http://openrico.org) + * (c) 2005-2012 Matt Brown (http://dowdybrown.com) * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this * file except in compliance with the License. You may obtain a copy of the License at @@ -13,7 +13,7 @@ * and limitations under the License. */ -Rico.Version='3.0b2'; +Rico.Version='3.0'; Rico.theme={}; Rico.onLoadCallbacks=[]; Rico.windowIsLoaded=false; @@ -23,25 +23,6 @@ Rico.inputtypes={search: 0, number: 0, range: 0, color: 0, tel: 0, url: 0, email Rico.windowLoaded=function() { this.windowIsLoaded=true; if (typeof Rico_CONFIG == 'object') { - var el = document.createElement('style'); - document.getElementsByTagName('head')[0].appendChild(el); - if (!window.createPopup) { /* For Safari */ - el.appendChild(document.createTextNode('')); - } - var s = document.styleSheets[document.styleSheets.length - 1]; - this.addCssBackgroundRule(s,'.rico-icon',Rico_CONFIG.imgIcons,'no-repeat'); - this.addCssBackgroundRule(s,'.ricoLG_Resize',Rico_CONFIG.imgResize,'repeat'); - if (Rico_CONFIG.imgHeading) { - var repeat='repeat-x'; - var pos='left center'; - this.addCssBackgroundRule(s,'tr.ricoLG_hdg th',Rico_CONFIG.imgHeading,repeat,pos); - this.addCssBackgroundRule(s,'tr.ricoLG_hdg td',Rico_CONFIG.imgHeading,repeat,pos); - this.addCssBackgroundRule(s,'table.ricoLiveGrid thead td',Rico_CONFIG.imgHeading,repeat,pos); - this.addCssBackgroundRule(s,'table.ricoLiveGrid thead th',Rico_CONFIG.imgHeading,repeat,pos); - this.addCssBackgroundRule(s,'.ricoTitle',Rico_CONFIG.imgHeading,repeat,pos); - this.addCssBackgroundRule(s,'.Rico_accTitle',Rico_CONFIG.imgHeading,repeat,pos); - } - if (Rico_CONFIG.enableLogging) this.enableLogging(); if (Rico_CONFIG.enableHTML5) this._CheckInputTypes(); } @@ -53,23 +34,6 @@ Rico.windowLoaded=function() { } }; -Rico.addCssBackgroundRule=function(sheet,selector,imageUrl,repeat,position) { - if (!imageUrl) return; - this.addCssRule(sheet,selector,"background-image:url('"+imageUrl+"')"); - this.addCssRule(sheet,selector,"background-repeat:"+repeat); - if (position) this.addCssRule(sheet,selector,"background-position:"+position); -}; - -Rico.addCssRule=function(sheet,selector,rule) { - if (sheet.addRule) { - sheet.addRule(selector, rule); - } else if (sheet.insertRule) { - sheet.insertRule (selector+" { "+rule+" }", 0); - } else { - alert('unable to add rule: '+rule); - } -}; - // check for availability of HTML5 input types Rico._CheckInputTypes=function() { var i = document.createElement("input"); @@ -220,7 +184,13 @@ Rico.getContentAsString=function( parentNode, isEncoded ) { }; Rico._getEncodedContent=function(parentNode) { - if (parentNode.innerHTML) return parentNode.innerHTML; + if (parentNode.innerHTML) { + if (Rico.isGecko && navigator.productSub >= "20100101") + parentNode.innerHTML.replace(/</g,'<').replace(/>/g,'>').replace(/&/g,'&'); + else + return parentNode.innerHTML; + } + switch (parentNode.childNodes.length) { case 0: return ""; case 1: return parentNode.firstChild.nodeValue; @@ -278,7 +248,7 @@ Rico.zFill=function(n,slen, radix) { Rico.keys=function(obj) { var objkeys=[]; for(var k in obj) - objkeys.push[k]; + objkeys.push(k); return objkeys; }; @@ -364,6 +334,7 @@ Rico.positionCtlOverIcon=function(ctl,icon) { icon=this.$(icon); var offsets=this.cumulativeOffset(icon); var scrTop=this.docScrollTop(); + var scrLeft=this.docScrollLeft(); var winHt=this.windowHeight(); if (ctl.style.display=='none') ctl.style.display='block'; var correction=2; // based on a 1px border @@ -372,7 +343,7 @@ Rico.positionCtlOverIcon=function(ctl,icon) { ctl.style.left = (offsets.left + icon.offsetWidth - ctl.offsetWidth)+'px'; } else { var margin=this.nan2zero(this.getStyle(icon,'marginLeft')); - ctl.style.left = (offsets.left+margin+correction)+'px'; + ctl.style.left = (offsets.left+margin+correction+scrLeft)+'px'; } var newTop=offsets.top + correction;// + scrTop; var ctlht=ctl.offsetHeight; @@ -577,7 +548,7 @@ Rico.formatNumber=function(n,fmt) { if (isNaN(n)) return 'NaN'; if (typeof fmt.multiplier=='number') n*=fmt.multiplier; var decPlaces=typeof fmt.decPlaces=='number' ? fmt.decPlaces : 0; - var thouSep=typeof fmt.thouSep=='undefined' ? true : this.thouSep; + var thouSep=typeof fmt.thouSep=='undefined' ? true : fmt.thouSep; var prefix=fmt.prefix || ""; var suffix=fmt.suffix || ""; var negSign=typeof fmt.negSign=='string' ? fmt.negSign : "L"; @@ -604,11 +575,11 @@ Rico.formatNumber=function(n,fmt) { * @param fmt string specifying the output format, may be one of the following:
*
locale or localeDateTime
*
use javascript's built-in toLocaleString() function
- *
localeDate
+ *
localeDate or 'Long Date'
*
use javascript's built-in toLocaleDateString() function
*
translate or translateDateTime
*
use the formats specified in the Rico.dateFmt and Rico.timeFmt properties
- *
translateDate
+ *
translateDate or 'Short Date'
*
use the date format specified in the Rico.dateFmt property
*
Otherwise
*
Any combination of: yyyy, yy, mmmm, mmm, mm, m, dddd, ddd, dd, d, hh, h, HH, H, nn, ss, a/p
@@ -620,12 +591,14 @@ Rico.formatDate=function(d,fmt) { case 'locale': case 'localeDateTime': return d.toLocaleString(); + case 'Long Date': case 'localeDate': return d.toLocaleDateString(); case 'translate': case 'translateDateTime': datefmt=this.dateFmt+' '+this.timeFmt; break; + case 'Short Date': case 'translateDate': datefmt=this.dateFmt; break;