mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-12 04:45:45 +00:00
bug 353707 - Consolidate usage of convertDate to common location. Patch by Joey Minta <jminta@gmail.com> r1=lilmatt, r2=dmose
This commit is contained in:
parent
72d688b04d
commit
5840ed4834
@ -249,27 +249,11 @@ calEvent.prototype = {
|
||||
return this.recurrenceInfo.getOccurrences(aStartDate, aEndDate, 0, aCount);
|
||||
}
|
||||
|
||||
// We need to convert dates to regular datetime-objects
|
||||
// here in order to correctly handle allday-events that
|
||||
// don't match day borders.
|
||||
function convertDate(date) {
|
||||
if (date.isDate) {
|
||||
var newDate = date.clone();
|
||||
newDate.hour = 0;
|
||||
newDate.minute = 0;
|
||||
newDate.second = 0;
|
||||
newDate.isDate = false;
|
||||
return newDate;
|
||||
} else {
|
||||
return date;
|
||||
}
|
||||
}
|
||||
|
||||
var start = convertDate(this.startDate);
|
||||
var end = convertDate(this.endDate);
|
||||
var start = ensureDateTime(this.startDate);
|
||||
var end = ensureDateTime(this.endDate);
|
||||
|
||||
var queryStart = convertDate(aStartDate);
|
||||
var queryEnd = convertDate(aEndDate);
|
||||
var queryStart = ensureDateTime(aStartDate);
|
||||
var queryEnd = ensureDateTime(aEndDate);
|
||||
|
||||
var isZeroLength = !start.compare(end);
|
||||
if ((isZeroLength &&
|
||||
|
@ -254,29 +254,11 @@ calTodo.prototype = {
|
||||
if (!this.entryDate && !this.dueDate)
|
||||
return null;
|
||||
|
||||
// We need to convert dates to regular datetime-objects
|
||||
// here in order to correctly handle allday-todos that
|
||||
// don't match day borders.
|
||||
function convertDate(date) {
|
||||
if (!date)
|
||||
return null;
|
||||
if (date.isDate) {
|
||||
var newDate = date.clone();
|
||||
newDate.hour = 0;
|
||||
newDate.minute = 0;
|
||||
newDate.second = 0;
|
||||
newDate.isDate = false;
|
||||
return newDate;
|
||||
} else {
|
||||
return date;
|
||||
}
|
||||
}
|
||||
var entry = ensureDateTime(this.entryDate);
|
||||
var due = ensureDateTime(this.dueDate);
|
||||
|
||||
var entry = convertDate(this.entryDate);
|
||||
var due = convertDate(this.dueDate);
|
||||
|
||||
var queryStart = convertDate(aStartDate);
|
||||
var queryEnd = convertDate(aEndDate);
|
||||
var queryStart = ensureDateTime(aStartDate);
|
||||
var queryEnd = ensureDateTime(aEndDate);
|
||||
|
||||
var isInterval = entry && due;
|
||||
var isZeroLength = isInterval ? !entry.compare(due) : true;
|
||||
|
@ -550,6 +550,25 @@ function compareObjects(aObject, aOtherObject, aIID) {
|
||||
return sip1.data == sip2.data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Many computations want to work only with date-times, not with dates. This
|
||||
* method will return a proper datetime (set to midnight) for a date object. If
|
||||
* the object is already a datetime, it will simply be returned.
|
||||
*
|
||||
* @param aDate the date or datetime to check
|
||||
*/
|
||||
function ensureDateTime(aDate) {
|
||||
if (!aDate.isDate) {
|
||||
return aDate;
|
||||
}
|
||||
var newDate = aDate.clone();
|
||||
newDate.hour = 0;
|
||||
newDate.minute = 0;
|
||||
newDate.second = 0;
|
||||
newDate.isDate = false;
|
||||
return newDate;
|
||||
}
|
||||
|
||||
/****
|
||||
**** debug code
|
||||
****/
|
||||
|
Loading…
Reference in New Issue
Block a user