зеркало из https://github.com/mozilla/gecko-dev.git
additional checks to see if the values have changed before setting them on the event itself.
This commit is contained in:
Родитель
d930c554f5
Коммит
50a23fe088
|
@ -158,23 +158,16 @@ function loadDialog(event)
|
||||||
|
|
||||||
function saveDialog(event)
|
function saveDialog(event)
|
||||||
{
|
{
|
||||||
event.title = getElementValue("event-title");
|
// setEventProperty will only change if the value is different and
|
||||||
event.isAllDay = getElementValue("event-all-day", "checked");
|
// does magic for startDate and endDate based on isAllDay, so set that first.
|
||||||
event.startDate = jsDateToDateTime(getElementValue("event-starttime"));
|
setEventProperty(event, "isAllDay", getElementValue("event-all-day", "checked"));
|
||||||
event.endDate = jsDateToDateTime(getElementValue("event-endtime"));
|
setEventProperty(event, "startDate", jsDateToDateTime(getElementValue("event-starttime")));
|
||||||
|
setEventProperty(event, "endDate", jsDateToDateTime(getElementValue("event-endtime")));
|
||||||
|
setEventProperty(event, "title", getElementValue("event-title"));
|
||||||
setEventProperty(event, "LOCATION", getElementValue("event-location"));
|
setEventProperty(event, "LOCATION", getElementValue("event-location"));
|
||||||
setEventProperty(event, "URL", getElementValue("event-url"));
|
setEventProperty(event, "URL", getElementValue("event-url"));
|
||||||
setEventProperty(event, "DESCRIPTION", getElementValue("event-description"));
|
setEventProperty(event, "DESCRIPTION", getElementValue("event-description"));
|
||||||
|
|
||||||
/* all day */
|
|
||||||
if (event.isAllDay) {
|
|
||||||
event.startDate.isDate = true;
|
|
||||||
event.endDate.isDate = true;
|
|
||||||
event.endDate.day += 1;
|
|
||||||
event.endDate.normalize();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* attendence */
|
/* attendence */
|
||||||
event.removeAllAttendees();
|
event.removeAllAttendees();
|
||||||
var attendees = getElementValue("event-attendees");
|
var attendees = getElementValue("event-attendees");
|
||||||
|
@ -325,8 +318,37 @@ function editRecurrence()
|
||||||
/* utility functions */
|
/* utility functions */
|
||||||
function setEventProperty(event, propertyName, value)
|
function setEventProperty(event, propertyName, value)
|
||||||
{
|
{
|
||||||
|
switch(propertyName) {
|
||||||
|
case 'title':
|
||||||
|
if (value != event.title)
|
||||||
|
event.title = value;
|
||||||
|
break;
|
||||||
|
case 'isAllDay':
|
||||||
|
if (value != event.isAllDay)
|
||||||
|
event.isAllDay = value;
|
||||||
|
break;
|
||||||
|
case 'startDate':
|
||||||
|
if (value.compare(event.startDate) != 0) {
|
||||||
|
if (event.isAllDay)
|
||||||
|
value.isDate = true;
|
||||||
|
event.startDate = value;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'endDate':
|
||||||
|
if (value.compare(event.endDate) != 0) {
|
||||||
|
if (event.isAllDay) {
|
||||||
|
value.isDate = true;
|
||||||
|
value.day += 1;
|
||||||
|
value.normalize();
|
||||||
|
}
|
||||||
|
event.endDate = value;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
if (!value || value == "")
|
if (!value || value == "")
|
||||||
event.deleteProperty(propertyName);
|
event.deleteProperty(propertyName);
|
||||||
else if (event.getProperty(propertyName) != value)
|
else if (event.getProperty(propertyName) != value)
|
||||||
event.setProperty(propertyName, value);
|
event.setProperty(propertyName, value);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче