Author: pyaschenko
Date: 2007-11-02 13:32:31 -0400 (Fri, 02 Nov 2007)
New Revision: 3734
Modified:
trunk/samples/calendar-sample/src/main/webapp/pages/Calendar.jsp
trunk/ui/calendar/src/main/resources/org/richfaces/renderkit/html/css/calendar.xcss
trunk/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js
Log:
RF-1092
calendar refactoring:
-removed main div
-implemented cellWidth & cellHeight support in js-file
-added div insertion in day cells when user define dayListMarkup
Modified: trunk/samples/calendar-sample/src/main/webapp/pages/Calendar.jsp
===================================================================
--- trunk/samples/calendar-sample/src/main/webapp/pages/Calendar.jsp 2007-11-02 17:23:52
UTC (rev 3733)
+++ trunk/samples/calendar-sample/src/main/webapp/pages/Calendar.jsp 2007-11-02 17:32:31
UTC (rev 3734)
@@ -38,6 +38,9 @@
</h:panelGrid>
<br />
<br />
+ <calendar:calendar/>
+ <calendar:calendar cellWidth="5" cellHeight="5"/>
+ <calendar:calendar cellWidth="40" cellHeight="40"/>
<calendar:calendar
id="calendar"
dataModel="#{calendarDataModel}"
@@ -61,6 +64,8 @@
buttonClass="bc"
horizontalOffset="3"
verticalOffset="3"
+ cellHeight="50"
+ cellWidth="50"
mode="ajax">
<f:facet name="optionalHeader">
<h:outputText value="optionalHeader Facet" />
@@ -69,7 +74,7 @@
<h:outputText value="optionalFooter Facet" />
</f:facet>
- <f:facet name="weekDay"><f:verbatim><span
style="padding: 2px; font-size: 10px" >{weekDayLabel +
weekDayLabelShort}</span></f:verbatim></f:facet>
+ <f:facet name="weekDay"><f:verbatim><span
style="padding: 2px; font-size: 10px"
>{weekDayLabelShort}</span></f:verbatim></f:facet>
<f:validator validatorId="org.richfaces.CalendarValidator" />
Modified:
trunk/ui/calendar/src/main/resources/org/richfaces/renderkit/html/css/calendar.xcss
===================================================================
---
trunk/ui/calendar/src/main/resources/org/richfaces/renderkit/html/css/calendar.xcss 2007-11-02
17:23:52 UTC (rev 3733)
+++
trunk/ui/calendar/src/main/resources/org/richfaces/renderkit/html/css/calendar.xcss 2007-11-02
17:32:31 UTC (rev 3734)
@@ -26,8 +26,6 @@
}
.rich-calendar-cell-div{
- width : 100%;
- height : 100%;
overflow: hidden;
}
Modified:
trunk/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js
===================================================================
---
trunk/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js 2007-11-02
17:23:52 UTC (rev 3733)
+++
trunk/ui/calendar/src/main/resources/org/richfaces/renderkit/html/scripts/calendar.js 2007-11-02
17:32:31 UTC (rev 3734)
@@ -437,7 +437,15 @@
if (!this.params.datePattern) thisparams.datePattern = "MMM d, y";
// markups initialization
- if (!this.params.dayListMarkup) this.params.dayListMarkup = CalendarView.dayList;
+ if (!this.params.dayListMarkup)
+ {
+ this.params.dayListMarkup = CalendarView.dayList;
+ this.customDayListMarkup = false;
+ }
+ else
+ {
+ this.customDayListMarkup = true;
+ }
if (!this.params.weekNumberMarkup) this.params.weekNumberMarkup =
CalendarView.weekNumber;
if (!this.params.weekDayMarkup) this.params.weekDayMarkup = CalendarView.weekDay;
if (!this.params.headerMarkup) this.params.headerMarkup = CalendarView.header;
@@ -483,9 +491,6 @@
this.selectedDateCellId = null;
this.selectedDateCellColor = "";
- var obj=$(id);
- var span=$(this.POPUP_ID);
-
var popupStyles = "";
this.isVisible = true;
if (this.params.popup==true)
@@ -552,19 +557,21 @@
// day cells creation
for (var i=0;i<7;i++)
{
- styleClass = bottomStyleClass+"rich-cell-size rich-calendar-cell";
+ styleClass = bottomStyleClass+(!this.params.dayCellClass ?
"rich-calendar-cell-size" : (!this.customDayListMarkup ?
this.params.dayCellClass : ""))+" rich-calendar-cell";
if (i==this.firstWeekendDayNumber || i==this.secondWeekendDayNumber)
styleClass+=" rich-calendar-holly";
if (i==6) styleClass+=" rich-right-cell";
- htmlTextWeek+='<td class="'+styleClass+'"
id="'+this.DATE_ELEMENT_ID+p+'"></td>';
+ htmlTextWeek+='<td class="'+styleClass+'"
id="'+this.DATE_ELEMENT_ID+p+'">'+(this.customDayListMarkup ?
'<div class="rich-calendar-cell-div'+(this.params.dayCellClass ? '
'+this.params.dayCellClass : '')+'"></div>' :
'')+'</td>';
p++;
}
htmlTextWeek+='</tr>';
}
//obj.innerHTML =
htmlTextIFrame+htmlTextHeader+htmlHeaderOptional+htmlControlsHeader+htmlTextWeekDayBar+htmlTextWeek+htmlControlsFooter+htmlFooterOptional+htmlTextFooter;
+ var span=$(this.POPUP_ID);
new
Insertion.After(span,htmlTextIFrame+htmlTextHeader+htmlHeaderOptional+htmlControlsHeader+htmlTextWeekDayBar+htmlTextWeek+htmlControlsFooter+htmlFooterOptional+htmlTextFooter);
// set content
+ var obj=$(id);
obj.component = this;
obj.richfacesComponent="richfaces:calendar";
@@ -581,6 +588,7 @@
Event.observe(this.INPUT_DATE_ID, "click", handler, false);
}
}
+
},
doCollapse: function() {
@@ -651,7 +659,7 @@
{
this.selectDate(baseInput.value);
}
-
+
/*this.setPopupEvents(e);
this.setPopupEvents(base);*/
@@ -988,6 +996,7 @@
},
render:function() {
+
this.todayDate = new Date();
var currentYear = this.getCurrentYear();
@@ -1109,6 +1118,7 @@
}
var weekdaycounter = this.params.firstWeekDay;
+ var contentElement = null;
while (element)
{
@@ -1134,7 +1144,9 @@
if (styleclass) dataobj.customStyleClass += " " + styleclass;
}
- element.innerHTML = this.evaluateMarkup(this.params.dayListMarkup, dataobj );
+ contentElement = (this.customDayListMarkup ? element.firstChild : element);
+ contentElement.innerHTML = this.evaluateMarkup(this.params.dayListMarkup, dataobj );
+
if (weekdaycounter==6) weekdaycounter=0; else weekdaycounter++;
// class styles
@@ -1188,10 +1200,11 @@
element=element.nextSibling;
}
}
+
//alert(new Date().getTime()-_d.getTime());
- // hack for IE 6.0 //fix 1072
- if (Richfaces.browser.isIE6)
+ // hack for IE 6.0 //fix 1072 // TODO check this bug again
+ /*if (Richfaces.browser.isIE6)
{
var element = $(this.id);
if (element)
@@ -1199,7 +1212,8 @@
element.style.width = "0px";
element.style.height = "0px";
}
- }
+ }*/
+
},
renderHeader: function()
{
@@ -1538,7 +1552,7 @@
]
)];
-CalendarView.dayList = [new
E('div',{'style':'overflow:hidden;width:100%;height:100%;'},[new
ET(function (context) { return context.day})])];
+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.weekDayLabelShort})];
Show replies by date