Fixing bug 200085, adding in week numbers for month view and day view.

This commit is contained in:
mikep%oeone.com 2003-04-02 14:20:42 +00:00
Родитель 4175027e76
Коммит 1a2fc7defd
4 изменённых файлов: 64 добавлений и 46 удалений

Просмотреть файл

@ -469,9 +469,12 @@ DayView.prototype.refreshDisplay = function dayview_refreshDisplay( )
dayNameNext1 = this.calendarWindow.dateFormater.getDayName( this.calendarWindow.getSelectedDate().getDay() + 1);
dayNameNext2 = this.calendarWindow.dateFormater.getDayName( this.calendarWindow.getSelectedDate().getDay() + 2);
}
var monthName = this.calendarWindow.dateFormater.getMonthName( this.calendarWindow.getSelectedDate().getMonth() );
var dateString = monthName + " " + this.calendarWindow.getSelectedDate().getDate() + " " + this.calendarWindow.getSelectedDate().getFullYear();
var weekNumber = DateUtils.getWeekNumber( this.calendarWindow.getSelectedDate() );
var weekViewStringBundle = srGetStrBundle("chrome://calendar/locale/calendar.properties");
var dateString = weekViewStringBundle.GetStringFromName( "Week" )+" "+weekNumber+ ": " + this.calendarWindow.dateFormater.getFormatedDate( this.calendarWindow.getSelectedDate() ) ;
var dayTextItemPrev2 = document.getElementById( "-2-day-title" );
var dayTextItemPrev1 = document.getElementById( "-1-day-title" );

Просмотреть файл

@ -172,7 +172,7 @@ function MonthView( calendarWindow )
this.dayNumberItemArray = new Array();
this.dayBoxItemArray = new Array();
// this.weekNumberItemArray = new Array();
this.weekNumberItemArray = new Array();
this.kungFooDeathGripOnEventBoxes = new Array();
this.firstDateOfView = new Date();
this.lastDateOfView = new Date();
@ -181,8 +181,8 @@ function MonthView( calendarWindow )
for( var weekIndex = 1; weekIndex <= 6; ++weekIndex )
{
// var weekNumberItem = document.getElementById( "month-week-" + weekIndex + "-left" );
// this.weekNumberItemArray[ weekIndex ] = weekNumberItem;
var weekNumberItem = document.getElementById( "month-week-" + weekIndex + "-left" );
this.weekNumberItemArray[ weekIndex ] = weekNumberItem;
for( var dayIndex = 1; dayIndex <= 7; ++dayIndex )
{
@ -529,21 +529,21 @@ MonthView.prototype.refreshDisplay = function monthView_refreshDisplay( )
document.getElementById( "month-week-6-row" ).removeAttribute( "collapsed" );
}
// // To Set Week Number
// var weekNumberItem;
// var weekNumber ;
// var mondayDate ;
// var newoffset = (Offset >= 5) ? 8 -Offset : 1 - Offset ;
// for( var weekIndex = 0; weekIndex < 6; ++weekIndex )
// {
// weekNumberItem = this.weekNumberItemArray[ weekIndex+1 ] ;
// mondayDate = new Date( this.firstDateOfView.getFullYear(),
// this.firstDateOfView.getMonth(),
// this.firstDateOfView.getDate()+newoffset+7*weekIndex );
// To Set Week Number
var weekNumberItem;
var weekNumber ;
var mondayDate ;
var newoffset = (Offset >= 5) ? 8 -Offset : 1 - Offset ;
for( var weekIndex = 0; weekIndex < 6; ++weekIndex )
{
weekNumberItem = this.weekNumberItemArray[ weekIndex+1 ] ;
mondayDate = new Date( this.firstDateOfView.getFullYear(),
this.firstDateOfView.getMonth(),
this.firstDateOfView.getDate()+newoffset+7*weekIndex );
// weekNumber=DateUtils.getWeekNumber(mondayDate);
// weekNumberItem.setAttribute( "value" , weekNumber );
// }
weekNumber=DateUtils.getWeekNumber(mondayDate);
weekNumberItem.setAttribute( "value" , weekNumber );
}
// loop through all the day boxes

Просмотреть файл

@ -118,6 +118,7 @@
<box id="month-grid-box" flex="1">
<grid id="month-grid" flex="1">
<columns>
<column id="month-view-leftcol" class="month-leftcol-class"/>
<column id="month-view-column-1" class="month-column-class" flex="1"/>
<column id="month-view-column-2" class="month-column-class" flex="1"/>
<column id="month-view-column-3" class="month-column-class" flex="1"/>
@ -129,6 +130,8 @@
<rows >
<row id="month-week-header-row" flex="1">
<vbox>
</vbox>
<vbox class="month-column-center-day-class">
<label class="month-view-header-days" id="month-view-header-day-1"/>
</vbox>
@ -153,6 +156,11 @@
</row>
<row id="month-week-1-row" flex="1" >
<vbox class="month-leftcol-box-class" flex="1" id="month-week-1-left-box">
<label class="week-short-text" value="&week.short;"/>
<label class="month-leftcol-number-class" id="month-week-1-left"/>
</vbox>
<vbox class="month-day-box-class" flex="1" id="month-week-1-day-1-box">
<label class="month-day-number-class" id="month-week-1-day-1"/>
</vbox>
@ -183,6 +191,11 @@
</row>
<row flex="1" >
<vbox class="month-leftcol-box-class" flex="1" id="month-week-2-left-box">
<label class="week-short-text" value="&week.short;" />
<label class="month-leftcol-number-class" id="month-week-2-left"/>
</vbox>
<vbox class="month-day-box-class" flex="1" id="month-week-2-day-1-box">
<label class="month-day-number-class" id="month-week-2-day-1"/>
</vbox>
@ -213,6 +226,11 @@
</row>
<row flex="1" >
<vbox class="month-leftcol-box-class" flex="1" id="month-week-3-left-box">
<label class="week-short-text" value="&week.short;" />
<label class="month-leftcol-number-class" id="month-week-3-left"/>
</vbox>
<vbox class="month-day-box-class" flex="1" id="month-week-3-day-1-box">
<label class="month-day-number-class" id="month-week-3-day-1"/>
</vbox>
@ -243,6 +261,11 @@
</row>
<row flex="1" >
<vbox class="month-leftcol-box-class" flex="1" id="month-week-4-left-box">
<label class="week-short-text" value="&week.short;" />
<label class="month-leftcol-number-class" id="month-week-4-left"/>
</vbox>
<vbox class="month-day-box-class" flex="1" id="month-week-4-day-1-box">
<label class="month-day-number-class" id="month-week-4-day-1"/>
</vbox>
@ -273,6 +296,11 @@
</row>
<row flex="1" >
<vbox class="month-leftcol-box-class" flex="1" id="month-week-5-left-box">
<label class="week-short-text" value="&week.short;" />
<label class="month-leftcol-number-class" id="month-week-5-left"/>
</vbox>
<vbox class="month-day-box-class" flex="1" id="month-week-5-day-1-box">
<label class="month-day-number-class" id="month-week-5-day-1"/>
</vbox>
@ -303,6 +331,11 @@
</row>
<row id="month-week-6-row" flex="1">
<vbox class="month-leftcol-box-class" flex="1" id="month-week-6-left-box">
<label class="week-short-text" value="&week.short;" />
<label class="month-leftcol-number-class" id="month-week-6-left"/>
</vbox>
<vbox class="month-day-box-class" flex="1" id="month-week-6-day-1-box">
<label class="month-day-number-class" id="month-week-6-day-1"/>
</vbox>

Просмотреть файл

@ -568,15 +568,19 @@ WeekView.prototype.refreshDisplay = function( )
var firstDayOfWeek = new Date( viewYear, viewMonth, dateOfFirstDayInWeek );
var lastDayOfWeek = new Date( viewYear, viewMonth, dateOfLastDayInWeek );
var firstDayMonthName = this.calendarWindow.dateFormater.getMonthName( firstDayOfWeek.getMonth() );
var lastDayMonthName = this.calendarWindow.dateFormater.getMonthName( lastDayOfWeek.getMonth() );
var firstDayMonthName = this.calendarWindow.dateFormater.getFormatedDateWithoutYear( firstDayOfWeek );
var lastDayMonthName = this.calendarWindow.dateFormater.getFormatedDateWithoutYear( lastDayOfWeek );
var weekNumber = this.getWeekNumber();
var newoffset = (Offset >= 5) ? 8 -Offset : 1 - Offset ;
var mondayDate = new Date( firstDayOfWeek.getFullYear(),
firstDayOfWeek.getMonth(),
firstDayOfWeek.getDate()+newoffset );
var weekNumber = DateUtils.getWeekNumber(mondayDate);
var weekViewStringBundle = srGetStrBundle("chrome://calendar/locale/calendar.properties");
var dateString = weekViewStringBundle.GetStringFromName( "Week" )+" "+weekNumber+ ": "+firstDayMonthName + " " + firstDayOfWeek.getDate() + " - " +
lastDayMonthName + " " + lastDayOfWeek.getDate();
var dateString = weekViewStringBundle.GetStringFromName( "Week" )+" "+weekNumber+ ": "+firstDayMonthName + " - " + lastDayMonthName ;
var weekTextItem = document.getElementById( "week-title-text" );
weekTextItem.setAttribute( "value" , dateString );
@ -830,25 +834,3 @@ WeekView.prototype.clearSelectedDate = function( )
SelectedBoxes[i].removeAttribute( "weekselected" );
}
}
WeekView.prototype.getWeekNumber = function()
{
var today = new Date( this.calendarWindow.getSelectedDate() );
var Year = today.getYear() + 1900;
var Month = today.getMonth();
var Day = today.getDate();
var now = new Date(Year,Month,Day+1);
now = now.getTime();
var Firstday = new Date( this.calendarWindow.getSelectedDate() );
Firstday.setYear(Year);
Firstday.setMonth(0);
Firstday.setDate(1);
var then = new Date(Year,0,1);
then = then.getTime();
var Compensation = Firstday.getDay();
if (Compensation > 3) Compensation -= 4;
else Compensation += 3;
NumberOfWeek = Math.round((((now-then)/86400000)+Compensation)/7);
return NumberOfWeek;
}