Author: pyaschenko
Date: 2007-09-21 10:24:04 -0400 (Fri, 21 Sep 2007)
New Revision: 3051
Modified:
branches/3.1.x/samples/calendar-sample/src/main/webapp/pages/Calendar.jsp
branches/3.1.x/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js
branches/3.1.x/ui/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanel.js
branches/3.1.x/ui/tree/src/main/resources/org/richfaces/renderkit/html/css/tree.xcss
Log:
merged with trunk revision 3050
Modified: branches/3.1.x/samples/calendar-sample/src/main/webapp/pages/Calendar.jsp
===================================================================
--- branches/3.1.x/samples/calendar-sample/src/main/webapp/pages/Calendar.jsp 2007-09-21
14:16:45 UTC (rev 3050)
+++ branches/3.1.x/samples/calendar-sample/src/main/webapp/pages/Calendar.jsp 2007-09-21
14:24:04 UTC (rev 3051)
@@ -64,6 +64,7 @@
<f:facet name="optionalFooter">
<h:outputText value="optionalFooter Facet" />
</f:facet>
+
<f:validator validatorId="org.richfaces.CalendarValidator" />
<h:panelGrid columns="2">
Modified:
branches/3.1.x/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js
===================================================================
---
branches/3.1.x/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js 2007-09-21
14:16:45 UTC (rev 3050)
+++
branches/3.1.x/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js 2007-09-21
14:24:04 UTC (rev 3051)
@@ -378,9 +378,14 @@
initialize: function(id,parameters) {
// dayListTableId, weekNumberBarId, weekDayBarId - 3 tables ids',
+
// dayListMarkup - day cell markup
+ // context: {day, date, weekNumber, weekDayNumber, isWeekend, isCurrentMonth,
elementId, component}
// weekNumberMarkup - week number cell markup
+ // context: {weekNumber, elementId, component}
// weekDayMarkup - week day cell markup
+ // context: {weekDayLabel, weekDayLabelShort, weekDayNumber, isWeekend, elementId,
component}
+
// headerMarkup
// footerMarkup
// headerOptionalMarkup - user defined header (optional)
@@ -389,6 +394,7 @@
// currentDate - date to show month (day not used) (mm/yyyy)
// selectedDate - selected date (mm/dd/yyyy)
// weekDayLabels - collection of week day labels keyed by week day numbers
+ // weekDayLabelsShort - collection of week day short labels keyed by week day numbers
// minDaysInFirstWeek - locale-specific constant defining number of days in the first
week
// firstWeekDay - (0..6) locale-specific constant defining number of the first week
day
// showWeekDaysBar - show WeekDays Bar [default value is true]
@@ -410,7 +416,7 @@
this.params = parameters;
if (!this.params.showWeekDaysBar) this.params.showWeekDaysBar = true;
if (!this.params.showWeeksBar) this.params.showWeeksBar = true;
- if (!this.params.datePattern) this.params.datePattern = "MMM d, y";
+ if (!this.params.datePattern) thisparams.datePattern = "MMM d, y";
// markups initialization
if (!this.params.dayListMarkup) this.params.dayListMarkup = CalendarView.dayList;
@@ -435,6 +441,8 @@
this.calendarContext = new CalendarContext(this);
this.DATE_ELEMENT_ID = this.params.dayListTableId+'Cell';
+ this.WEEKNUMBER_ELEMENT_ID = this.params.weekNumberBarId+'Cell';
+ this.WEEKDAY_ELEMENT_ID = this.params.weekDayBarId+'Cell';
this.POPUP_ID = this.id+'Popup';
this.POPUP_BUTTON_ID = this.id+'PopupButton';
this.INPUT_DATE_ID = this.id+'InputDate';
@@ -484,6 +492,7 @@
var styleClass;
var bottomStyleClass;
var htmlTextWeekDayBar='';
+ var context;
if (this.params.showWeekDaysBar)
{
var htmlTextWeekDayBar = '<tr
id="'+this.params.weekDayBarId+'">';
@@ -491,14 +500,17 @@
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)} );
+ context = {weekDayLabel: this.params.weekDayLabels[weekDayCounter],
weekDayLabelShort: this.params.weekDayLabelsShort[weekDayCounter],
weekDayNumber:weekDayCounter, isWeekend:this.isWeekend(i),
elementId:this.WEEKDAY_ELEMENT_ID+i, component:this};
+ var weekDayHtml = this.evaluateMarkup(this.params.weekDayMarkup, context );
if (weekDayCounter==6) weekDayCounter=0; else weekDayCounter++;
-
+
styleClass = "rich-calendar-days";
- if (i==this.firstWeekendDayNumber || i==this.secondWeekendDayNumber) styleClass +=
" rich-calendar-weekends";
-
+ if (context.isWeekend)
+ {
+ styleClass += " rich-calendar-weekends";
+ }
if (i==6) styleClass += " rich-right-cell";
- htmlTextWeekDayBar+='<td
class="'+styleClass+'">'+weekDayHtml+'</td>';
+ htmlTextWeekDayBar+='<td class="'+styleClass+'"
id="'+context.elementId+'">'+weekDayHtml+'</td>';
}
htmlTextWeekDayBar+='</tr>\n';
}
@@ -513,8 +525,9 @@
htmlTextWeek+='<tr
id="'+this.params.weekNumberBarId+k+'">';
if (this.params.showWeeksBar)
{
- var weekNumberHtml = this.evaluateMarkup(this.params.weekNumberMarkup, {weekNumber:
k, componentId:this.getWeekNumberComponentId(k-1)} );
- htmlTextWeek+='<td class="rich-calendar-week
'+bottomStyleClass+'">'+weekNumberHtml+'</td>';
+ context = {weekNumber: k, elementId:this.WEEKNUMBER_ELEMENT_ID+k, component:this};
+ var weekNumberHtml = this.evaluateMarkup(this.params.weekNumberMarkup, context );
+ htmlTextWeek+='<td class="rich-calendar-week
'+bottomStyleClass+'"
id="'+context.elementId+'">'+weekNumberHtml+'</td>';
}
// day cells creation
@@ -535,7 +548,7 @@
obj.richfacesComponent="richfaces:calendar";
obj.innerHTML =
htmlTextIFrame+htmlTextHeader+htmlHeaderOptional+htmlControlsHeader+htmlTextWeekDayBar+htmlTextWeek+htmlControlsFooter+htmlFooterOptional+htmlTextFooter;
- this.submitFunction = this.params.submitFunction.bind(this);
+ if(this.params.submitFunction) this.submitFunction =
this.params.submitFunction.bind(this);
this.prepareEvents();
},
@@ -639,18 +652,6 @@
return true;
},
- getWeekDayComponentId: function (v) {
- return this.id+"WeekDay"+v;
- },
-
- getWeekNumberComponentId: function (v) {
- return this.id+"WeekNumber"+v;
- },
-
- getDateComponentId: function (v) {
- return this.id+"Date"+v;
- },
-
getCurrentDate: function() {
return this.currentDate;
},
@@ -807,8 +808,8 @@
if (daydata._month==-1) this.prevMonth(); else this.nextMonth();
else if (this.params.boundaryDatesMode == "select")
{
- var date = new Date(this.currentDate.getFullYear(),
this.currentDate.getMonth()+daydata._month, daydata.day);
- if (this.selectDate(date))
+ //var date = new Date(this.currentDate.getFullYear(),
this.currentDate.getMonth()+daydata._month, daydata.day);
+ if (this.selectDate(daydata.date))
{
this.doCollapse();
}
@@ -822,8 +823,8 @@
if (obj)
{
var daydata = this.days[parseInt(obj.id.substr(this.DATE_ELEMENT_ID.length),10)];
- var date = new Date(this.currentDate.getFullYear(),
this.currentDate.getMonth()+daydata._month, daydata.day);
- if (this.invokeEvent("datemouseover", obj, e, date))
+ //var date = new Date(this.currentDate.getFullYear(),
this.currentDate.getMonth()+daydata._month, daydata.day);
+ if (this.invokeEvent("datemouseover", obj, e, daydata.date))
{
if (daydata._month==0) Element.addClassName(obj,'rich-calendar-hover');
}
@@ -835,8 +836,8 @@
if (obj)
{
var daydata = this.days[parseInt(obj.id.substr(this.DATE_ELEMENT_ID.length),10)];
- var date = new Date(this.currentDate.getFullYear(),
this.currentDate.getMonth()+daydata._month, daydata.day);
- if (this.invokeEvent("datemouseout", obj, e, date))
+ //var date = new Date(this.currentDate.getFullYear(),
this.currentDate.getMonth()+daydata._month, daydata.day);
+ if (this.invokeEvent("datemouseout", obj, e, daydata.date))
{
if (daydata._month==0) Element.removeClassName(obj,'rich-calendar-hover');
}
@@ -913,7 +914,11 @@
var dayCounter = previousMonthDays - wd + 1;
// previuos month days
- if (wd>0) while (dayCounter<=previousMonthDays) {this.days.push({day:dayCounter,
_isWeekend: this.isWeekend(p), _month:month}); dayCounter++; p++; }
+ if (wd>0) while (dayCounter<=previousMonthDays)
+ {
+ this.days.push({day:dayCounter, isWeekend: this.isWeekend(p), _month:month});
dayCounter++; p++;
+ }
+
dayCounter = 1;
month=0;
@@ -926,7 +931,7 @@
var firstDay = this.daysData.days[idx].day;
while (dayCounter<firstDay)
{
- this.days.push({day:dayCounter, _isWeekend:this.isWeekend(p%7), _month:month});
+ this.days.push({day:dayCounter, isWeekend:this.isWeekend(p%7), _month:month});
dayCounter++;
p++;
@@ -940,7 +945,7 @@
flag = this.isWeekend(p%7);
obj = this.daysData.days[idx];
obj.day = dayCounter;
- obj._isWeekend = flag;
+ obj.isWeekend = flag;
obj._month = month;
this.days.push(obj);
idx++;
@@ -951,7 +956,7 @@
while (p<42)
{
if (dayCounter>currentMonthDays) {dayCounter=1; month=1;}
- this.days.push({day:dayCounter, _isWeekend: this.isWeekend(p%7), _month:month});
+ this.days.push({day:dayCounter, isWeekend: this.isWeekend(p%7), _month:month});
dayCounter++;
p++;
}
@@ -1000,6 +1005,7 @@
var obj = $(this.params.weekNumberBarId+k);
element = obj.firstChild;
+ var weeknumber;
// week number update
if (this.params.showWeeksBar)
@@ -1011,10 +1017,13 @@
wn=1;
weekflag=false;
}
- element.innerHTML = this.evaluateMarkup(this.params.weekNumberMarkup, {weekNumber:
wn++, componentId:this.getWeekNumberComponentId(k-1)} );
+ weeknumber = wn;
+ element.innerHTML = this.evaluateMarkup(this.params.weekNumberMarkup, {weekNumber:
wn++, elementId:element.id, component:this} );
if (k==1&&wn>52) wn=1;
element = element.nextSibling;
}
+
+ var weekdaycounter = this.params.firstWeekDay;
while (element)
{
@@ -1022,7 +1031,13 @@
// TODO fix start/stop event's calls
this.stopCellEvents(element);
- dataobj.componentId=this.getDateComponentId(p);
+ dataobj.elementId=element.id;
+ dataobj.date=new Date(currentYear, currentMonth+dataobj._month, dataobj.day);
+ dataobj.weekNumber = weeknumber;
+ dataobj.component = this;
+ dataobj.isCurrentMonth = (dataobj._month==0);
+ dataobj.weekDayNumber = weekdaycounter;
+ if (weekdaycounter==6) weekdaycounter=0; else weekdaycounter++;
element.innerHTML = this.evaluateMarkup(this.params.dayListMarkup, dataobj );
// class styles
@@ -1392,7 +1407,7 @@
CalendarView.dayList = [new ET(function (context) { return context.day})];
CalendarView.weekNumber = [new ET(function (context) { return context.weekNumber})];
-CalendarView.weekDay = [new ET(function (context) { return context.weekDayLabel})];
+CalendarView.weekDay = [new ET(function (context) { return context.weekDayLabelShort})];
CalendarContext = Class.create();
Object.extend(CalendarContext.prototype, {
@@ -1400,6 +1415,8 @@
this.calendar=calendar;
this.monthLabels=calendar.params.monthLabels;
this.monthLabelsShort=calendar.params.monthLabelsShort;
+ this.weekDayLabels=calendar.params.weekDayLabels;
+ this.weekDayLabelsShort=calendar.params.weekDayLabelsShort;
},
nextYearControl: CalendarView.nextYearControl,
Modified:
branches/3.1.x/ui/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanel.js
===================================================================
---
branches/3.1.x/ui/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanel.js 2007-09-21
14:16:45 UTC (rev 3050)
+++
branches/3.1.x/ui/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanel.js 2007-09-21
14:24:04 UTC (rev 3051)
@@ -601,15 +601,8 @@
}
if (this.options.autosized) {
- var cWidth = eContentDiv.clientWidth;
- var cHeight = eContentDiv.clientHeight;
-
- eShadowDiv.style.width = cWidth+"px";
- eShadowDiv.style.height = cHeight+"px";
- if (eIframe) {
- eIframe.style.width = cWidth+"px";
- eIframe.style.height = cHeight+"px";
- }
+ this.observerSize =
+ window.setInterval(this.correctShadowSize.bindAsEventListener(this), 500);
}
this.doResizeOrMove(ModalPanel.Sizer.Diff.EMPTY);
@@ -632,7 +625,7 @@
this.shown = true;
},
-
+
startDrag: function(border) {
for (var k = 0; k < this.borders.length; k++ ) {
//this.borders[k].hide();
@@ -694,6 +687,10 @@
}
this.shown = false;
+
+ if (this.options.autosized) {
+ window.clearInterval(this.observerSize);
+ }
},
doResizeOrMove: function(diff) {
@@ -861,6 +858,22 @@
return true;
}
+ },
+
+ correctShadowSize: function(event) {
+ var eContentDiv = $(this.contentDiv);
+ var eShadowDiv = $(this.shadowDiv);
+ var eIframe = $(this.iframe);
+
+ var cWidth = eContentDiv.clientWidth;
+ var cHeight = eContentDiv.clientHeight;
+
+ eShadowDiv.style.width = cWidth+"px";
+ eShadowDiv.style.height = cHeight+"px";
+ if (eIframe) {
+ eIframe.style.width = cWidth+"px";
+ eIframe.style.height = cHeight+"px";
+ }
}
}
Modified:
branches/3.1.x/ui/tree/src/main/resources/org/richfaces/renderkit/html/css/tree.xcss
===================================================================
---
branches/3.1.x/ui/tree/src/main/resources/org/richfaces/renderkit/html/css/tree.xcss 2007-09-21
14:16:45 UTC (rev 3050)
+++
branches/3.1.x/ui/tree/src/main/resources/org/richfaces/renderkit/html/css/tree.xcss 2007-09-21
14:24:04 UTC (rev 3051)
@@ -121,7 +121,7 @@
<f:resource
f:key="org.richfaces.renderkit.html.images.TreeLineLastImage"/>
</u:style>
</u:selector>
-<u:selector name="p.dr-tree-last-node-marker+*
.rich-tree-node-handleicon">
+<u:selector
name="p.dr-tree-last-node-marker+*.rich-tree-node-handleicon">
<u:style name="background-image">
<f:resource
f:key="org.richfaces.renderkit.html.images.TreeLineLastImage"/>
</u:style>