reverting previous code to allow modifying occurrences/original item via the dialog in favor of external ui to modify the right thing

This commit is contained in:
pavlov%pavlov.net 2005-06-13 23:57:26 +00:00
parent af9d365fa1
commit d38195560e
2 changed files with 12 additions and 60 deletions

View File

@ -54,10 +54,7 @@ function onLoad()
menuitem.calendar = calendar;
}
loadDialog();
// update edit type (all occurrences vs single occurence)
updateEditing();
loadDialog(window.calendarEvent);
// update datetime pickers
updateAllDay();
@ -79,12 +76,7 @@ function onAccept()
{
// if this event isn't mutable, we need to clone it like a sheep
var originalEvent = window.calendarEvent;
var event = originalEvent;
if (document.getElementById("event-edit-type").selectedItem.getAttribute("value") == "all")
event = event.parentItem;
event = (event.isMutable) ? event : event.clone();
var event = (originalEvent.isMutable) ? originalEvent : originalEvent.clone();
saveDialog(event);
@ -100,12 +92,10 @@ function onCancel()
}
function loadDialog()
function loadDialog(event)
{
var kDefaultTimezone = calendarDefaultTimezone();
var event = window.calendarEvent;
setElementValue("event-title", event.title);
setElementValue("event-all-day", event.isAllDay, "checked");
@ -147,13 +137,12 @@ function loadDialog()
* - Setting recurrence on the item
* - changing the calendar
*/
if (event.parentItem != event)
setElementValue("event-edit-type", "single");
else {
setElementValue("event-edit-type", "true", "disabled");
if (event.recurrenceInfo)
setElementValue("event-recurrence", "true", "checked");
}
if (event.parentItem != event) {
setElementValue("event-recurrence", "true", "disabled");
setElementValue("set-recurrence", "true", "disabled");
setElementValue("event-calendar", "true", "disabled");
} else if (event.recurrenceInfo)
setElementValue("event-recurrence", "true", "checked");
/* alarms */
if (event.alarmTime) {
@ -253,34 +242,6 @@ function saveDialog(event)
}
function updateEditing()
{
var event = window.calendarEvent;
var handleRecurrence = (event.parentItem != event);
if (handleRecurrence) {
var editType = document.getElementById("event-edit-type").selectedItem.getAttribute("value");
switch (editType) {
case "single":
setElementValue("event-recurrence", "true", "disabled");
setElementValue("set-recurrence", "true", "disabled");
setElementValue("event-calendar", "true", "disabled");
setElementValue("event-recurrence", false, "checked");
break;
case "all":
if (event.parentItem.recurrenceInfo || window.recurrenceInfo) {
setElementValue("event-recurrence", "true", "checked");
setElementValue("event-recurrence", false, "disabled");
setElementValue("set-recurrence", false, "disabled");
setElementValue("event-calendar", false, "disabled");
}
break;
}
}
}
function updateAllDay()
{
var allDay = getElementValue("event-all-day", "checked");
@ -344,8 +305,8 @@ function updateAlarm()
function editRecurrence()
{
var args = new Object();
args.calendarEvent = window.calendarEvent.parentItem;
args.recurrenceInfo = (window.recurrenceInfo) ? window.recurrenceInfo : args.calendarEvent.recurrenceInfo;
args.calendarEvent = window.calendarEvent;
args.recurrenceInfo = window.recurrenceInfo || args.calendarEvent.recurrenceInfo;
var savedWindow = window;
args.onOk = function(recurrenceInfo) {
@ -366,6 +327,6 @@ function setEventProperty(event, propertyName, value)
{
if (!value || value == "")
event.deleteProperty(propertyName);
else
else if (event.getProperty(propertyName) != value)
event.setProperty(propertyName, value);
}

View File

@ -70,15 +70,6 @@
<rows>
<rows equalsize="always">
<row id="row-edit-occurrence" align="center">
<label value="Edit" class="label"/>
<menulist id="event-edit-type" oncommand="updateEditing()">
<menupopup>
<menuitem label="This occurrence" value="single"/>
<menuitem label="All occurrences" value="all" selected="true"/>
</menupopup>
</menulist>
</row>
<row align="center">
<label value="Title" class="label"/>
<textbox id="event-title"/>