Author: pyaschenko
Date: 2007-07-30 12:04:53 -0400 (Mon, 30 Jul 2007)
New Revision: 1932
Modified:
trunk/sandbox/ui/calendar/src/main/resources/org/richfaces/renderkit/html/css/calendar.xcss
trunk/sandbox/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js
Log:
popup fixes
css fixes
Modified:
trunk/sandbox/ui/calendar/src/main/resources/org/richfaces/renderkit/html/css/calendar.xcss
===================================================================
---
trunk/sandbox/ui/calendar/src/main/resources/org/richfaces/renderkit/html/css/calendar.xcss 2007-07-30
15:57:22 UTC (rev 1931)
+++
trunk/sandbox/ui/calendar/src/main/resources/org/richfaces/renderkit/html/css/calendar.xcss 2007-07-30
16:04:53 UTC (rev 1932)
@@ -80,10 +80,10 @@
width : 25px;
}
-.calendar_holly{
+/*.calendar_holly{
background-color : #ffebda; /*unknown parameter - need to add*/
color : #ff7800; /*unknown parameter - need to add*/
-}
+}*/
/*.calendar_current{
background-color : #ff7800; /*unknown parameter - need to add*/
@@ -175,6 +175,10 @@
<u:style name="font-family" skin="generalFamilyFont"/>
</u:selector>
+ <u:selector name=".Weekendclass">
+ <u:style name="color" value="red"/>
+ </u:selector>
+
/* background-color : #f5f5f5; unknown parameter - need to add*/
<u:selector name=".calendar_week">
<u:style name="border-bottom" skin="panelBorderColor"/>
@@ -183,13 +187,13 @@
<u:style name="font-family" skin="generalFamilyFont"/>
</u:selector>
+
+ <u:selector name=".calendar_holly">
+ <u:style name="background-color" value="#ffebda"/> /*unknown
parameter - need to add*/
+ <u:style name="color" value="#ff7800"/> /*unknown parameter
- need to add*/
+ </u:selector>
+
/*
-.calendar_holly{
- background-color : #ffebda; /*unknown parameter - need to add
- color : #ff7800; /*unknown parameter - need to add
-}
-*/
-/*
.calendar_current{
background-color : #ff7800; /*unknown parameter - need to add
color : #ffebda; /*unknown parameter - need to add
Modified:
trunk/sandbox/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js
===================================================================
---
trunk/sandbox/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js 2007-07-30
15:57:22 UTC (rev 1931)
+++
trunk/sandbox/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js 2007-07-30
16:04:53 UTC (rev 1932)
@@ -89,7 +89,7 @@
element.style.left = ox + 'px';
element.style.top = oy + 'px';
-}
+};
Richfaces.Calendar.getOffsetDimensions = function(element) {
// from prototype 1.5.0 // Pavel Yascenko
@@ -113,7 +113,7 @@
els.position = originalPosition;
els.visibility = originalVisibility;
return {width: originalWidth, height: originalHeight};
-}
+};
Richfaces.Calendar.checkCollision = function(elementRect, windowRect, windowOffset)
{
@@ -128,7 +128,7 @@
right: (elementRect.right<windowRect.right ? elementRect.right :
windowRect.right),
bottom: (elementRect.bottom<windowRect.bottom ? elementRect.bottom :
windowRect.bottom)};
return (rect.right-rect.left)* (rect.bottom-rect.top);
-}
+};
Richfaces.Calendar.getWindowDimensions = function() {
@@ -141,7 +141,7 @@
|| document.body.clientHeight
|| 0;
return {width:w, height: h};
-}
+};
Richfaces.Calendar.getWindowScrollOffset = function() {
var dx = window.pageXOffset
@@ -153,13 +153,13 @@
|| document.body.scrollTop
|| 0;
return {left:dx, top: dy};
-}
+};
Richfaces.Calendar.getWindowViewport = function() {
var windowDim = Richfaces.Calendar.getWindowDimensions();
var windowOffset = Richfaces.Calendar.getWindowScrollOffset();
return {left:windowOffset.left, top:windowOffset.top, right:
windowDim.width+windowOffset.left, bottom: windowDim.height+windowOffset.top};
-}
+};
Richfaces.Calendar.joinArray = function(array, begin, end, separator)
{
@@ -168,28 +168,14 @@
while (array.length)
value = begin+array.pop()+end+separator+value;
return value;
-}
+};
-/*Richfaces.Calendar.getPageDimensions = function() {
- var x,y;
- var test1 = document.body.scrollHeight;
- var test2 = document.body.offsetHeight;
- if (test1 > test2) {
- // all but Explorer Mac
- x = document.body.scrollWidth;
- y = document.body.scrollHeight;
- }
- else {
- // Explorer Mac;
- // would also work in Explorer 6 Strict, Mozilla and Safari
+Richfaces.Calendar.getMonthByLabel = function (monthLabel, monthNames)
+{
+ var i=0;
+ while (i<monthNames.length) if (monthNames[i]==monthLabel) return i; else i++;
+};
- x = document.body.offsetWidth;
- y = document.body.offsetHeight;
- }
-
- return {width:x, height:y};
-}*/
-
Object.extend(Event, {
findElementByAttr : function(event, tagName, attribute, value, flag) {
var element = Event.findElement(event, tagName);
@@ -228,34 +214,8 @@
return (shortNames
?
['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']
:
['January','February','March','April','May','June','July','August','September','October','November','December']);
- }
-});
-Object.extend(Date.prototype, {
+ },
- format : function(pattern, monthNames, monthNamesShort) {
- if (!monthNames) monthNames = Date.getDefaultMonthNames();
- if (!monthNamesShort) monthNamesShort = Date.getDefaultMonthNames(true);
- var d = this; var mm; var dd;
- return pattern.replace(/(yy^y|y+|M^M|MM^M|MMM^M|M+|d^d|d+)/g,
- function($1) {
- switch ($1) {
- case 'yy': return d.getYear().toString().substr(-2);
- case 'M': return d.getMonth()+1;
- case 'MM': return (mm = d.getMonth()+1)<10 ? '0'+mm :
mm;
- case 'MMM': return monthNamesShort[d.getMonth()];
- case 'd': return d.getDate();
- }
- // y+,M+,d+
- var ch = $1.charAt(0);
- if (ch=='y') return d.getFullYear();
- if (ch=='M') return monthNames[d.getMonth()];
- if (ch=='d') return (dd = d.getDate())<10 ? '0'+dd : dd;
- }
- );
- }
-});
-
-Object.extend(Date, {
parseDate: function(dateString, pattern, monthNames, monthNamesShort)
{
if (!monthNames) monthNames = Date.getDefaultMonthNames();
@@ -263,6 +223,7 @@
var counter=1;
var y,m,d;
+ var shortLabel=false;
pattern = pattern.replace(/([.*+?^<>=!:${}()|[\]\/\\])/g, '\\$1');
pattern = pattern.replace(/(yy^y|y+|M^M|MM^M|MMM^M|M+|d^d|d+)/g,
@@ -272,7 +233,7 @@
case 'MM' : m=counter; counter++; return '(\\d{2})';
case 'M' : m=counter; counter++; return '(\\d{1,2})';
case 'd' : d=counter; counter++; return '(\\d{1,2})';
- case 'MMM': m=counter; counter++; return
'('+monthNamesShort.join('|')+')';
+ case 'MMM': m=counter; counter++; shortLabel=true; return
'('+monthNamesShort.join('|')+')';
}
// y+,M+,d+
var ch = $1.charAt(0);
@@ -286,16 +247,38 @@
var match = dateString.match(re);
if (match!=null)
{
- var month;
- var yy = parseInt(match[y]); if (isNaN(yy)) return null; else if (yy<70) yy+=2000;
else if (yy<100) yy+=1900;
- var mm = parseInt(match[m]); if (isNaN(mm)) mm = match[m]; else if (mm<1 ||
mm>12) return null;
- var days = 32 - new Date(mm+'/32/'+yy).getDate();
- var dd = parseInt(match[d]); if (isNaN(dd) || dd<1 || dd>days) return null;
- return new Date(mm+'/'+dd+'/'+yy);
+ var yy = parseInt(match[y],10); if (isNaN(yy)) return null; else if (yy<70)
yy+=2000; else if (yy<100) yy+=1900;
+ var mm = parseInt(match[m],10); if (isNaN(mm)) mm =
Richfaces.Calendar.getMonthByLabel(match[m], shortLabel ? monthNamesShort : monthNames);
else if (--mm<1 || mm>12) return null;
+ var dd = parseInt(match[d],10); if (isNaN(dd) || dd<1 || dd>daysInMonth(yy, mm))
return null;
+ return new Date(yy, mm, dd);
}
return null;
}
});
+Object.extend(Date.prototype, {
+
+ format : function(pattern, monthNames, monthNamesShort) {
+ if (!monthNames) monthNames = Date.getDefaultMonthNames();
+ if (!monthNamesShort) monthNamesShort = Date.getDefaultMonthNames(true);
+ var d = this; var mm; var dd;
+ return pattern.replace(/(yy^y|y+|M^M|MM^M|MMM^M|M+|d^d|d+)/g,
+ function($1) {
+ switch ($1) {
+ case 'yy': return d.getYear().toString().substr(-2);
+ case 'M': return d.getMonth()+1;
+ case 'MM': return (mm = d.getMonth()+1)<10 ? '0'+mm :
mm;
+ case 'MMM': return monthNamesShort[d.getMonth()];
+ case 'd': return d.getDate();
+ }
+ // y+,M+,d+
+ var ch = $1.charAt(0);
+ if (ch=='y') return d.getFullYear();
+ if (ch=='M') return monthNames[d.getMonth()];
+ if (ch=='d') return (dd = d.getDate())<10 ? '0'+dd : dd;
+ }
+ );
+ }
+});
function isLeapYear(year) {
return new Date(year, 1, 29).getDate()==29;
@@ -457,15 +440,17 @@
if (this.params.showWeekDaysBar)
{
var htmlTextWeekDayBar = '<tr
id="'+this.params.weekDayBarId+'">';
- if (this.params.showWeeksBar) htmlTextWeekDayBar+='<td
style="calendar_days"><br/></td>';
+ if (this.params.showWeeksBar) htmlTextWeekDayBar+='<td
class="calendar_days"><br/></td>';
var weekDayCounter = this.params.firstWeekDay;
for (var i=0;i<7;i++)
{
var weekDayHtml = this.evaluateMarkup(this.params.weekDayMarkup, {weekDayLabel:
this.params.weekDayLabelsShort[weekDayCounter], weekDayNumber:weekDayCounter,
componentId:this.getWeekDayComponentId(i)} );
if (weekDayCounter==6) weekDayCounter=0; else weekDayCounter++;
- styleClass = (i==this.firstWeekendDayNumber || i==this.secondWeekendDayNumber ?
"Weekendclass" : "calendar_days");
- if (i==6) styleClass +=" right_cell";
+ styleClass = "calendar_days";
+ if (i==this.firstWeekendDayNumber || i==this.secondWeekendDayNumber) styleClass +=
" Weekendclass";
+
+ if (i==6) styleClass += " right_cell";
htmlTextWeekDayBar+='<td
class="'+styleClass+'">'+weekDayHtml+'</td>';
}
htmlTextWeekDayBar+='</tr>\n';
@@ -631,7 +616,7 @@
var obj = Event.findElementByAttr(e, "TD", "id",
this.DATE_ELEMENT_ID, true);
if (obj)
{
- var daydata = this.days[parseInt(obj.id.substr(this.DATE_ELEMENT_ID.length))];
+ var daydata = this.days[parseInt(obj.id.substr(this.DATE_ELEMENT_ID.length),10)];
if (daydata._month==0)
{
this.selectedDate=new Date(this.currentDate);
@@ -661,7 +646,7 @@
var obj = Event.findElementByAttr(e, "TD", "id",
this.DATE_ELEMENT_ID, true);
if (obj)
{
- var daydata = this.days[parseInt(obj.id.substr(this.DATE_ELEMENT_ID.length))];
+ var daydata = this.days[parseInt(obj.id.substr(this.DATE_ELEMENT_ID.length),10)];
if (daydata._month==0 && Element.hasClassName(obj,daydata._className))
Element.replaceClassName(obj,daydata._className, daydata._hoverClassName);
}
},
@@ -670,7 +655,7 @@
var obj = Event.findElementByAttr(e, "TD", "id",
this.DATE_ELEMENT_ID, true);
if (obj)
{
- var daydata = this.days[parseInt(obj.id.substr(this.DATE_ELEMENT_ID.length))];
+ var daydata = this.days[parseInt(obj.id.substr(this.DATE_ELEMENT_ID.length),10)];
if (daydata._month==0 && Element.hasClassName(obj,daydata._hoverClassName))
Element.replaceClassName(obj,daydata._hoverClassName, daydata._className);
}
},