From a3b976daea79965d959b5a0e24e93bec5f95f7a8 Mon Sep 17 00:00:00 2001 From: "pavlov%pavlov.net" Date: Tue, 31 May 2005 23:35:38 +0000 Subject: [PATCH] splitting out the dialog helper functions in to its own file. fixing a couple more recurrence dialog bugs --- .../base/content/calendar-dialog-utils.js | 81 +++++++++++++++++++ .../base/content/calendar-event-dialog.js | 47 +---------- .../base/content/calendar-event-dialog.xul | 1 + .../content/calendar-recurrence-dialog.js | 51 ------------ .../content/calendar-recurrence-dialog.xul | 1 + calendar/lightning/jar.mn | 1 + 6 files changed, 86 insertions(+), 96 deletions(-) create mode 100644 calendar/base/content/calendar-dialog-utils.js diff --git a/calendar/base/content/calendar-dialog-utils.js b/calendar/base/content/calendar-dialog-utils.js new file mode 100644 index 000000000000..fa0752f2bc60 --- /dev/null +++ b/calendar/base/content/calendar-dialog-utils.js @@ -0,0 +1,81 @@ +/* -*- Mode: javascript; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Oracle Corporation code. + * + * The Initial Developer of the Original Code is Oracle Corporation + * Portions created by the Initial Developer are Copyright (C) 2005 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Stuart Parmenter + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +/* utility functions */ + +function setElementValue(elementName, value, name) +{ + var element = document.getElementById(elementName); + if (!element) { + dump("unable to find " + elementName + "\n"); + return; + } + + if (value === false) { + element.removeAttribute(name ? name : "value"); + } else if (name) { + //dump("element.setAttribute(" + name + ", " + value + ")\n"); + element.setAttribute(name, value); + } else { + //dump("element.value = " + value + "\n"); + element.value = value; + } +} + +function getElementValue(elementName, name) +{ + var element = document.getElementById(elementName); + if (!element) { + dump("unable to find " + elementName + "\n"); + return null; + } + + if (name) + return element[name]; + + return element.value; +} + +function enableElement(elementId) +{ + setElementValue(elementId, false, "disabled"); +} + +function disableElement(elementId) +{ + setElementValue(elementId, "true", "disabled"); +} diff --git a/calendar/base/content/calendar-event-dialog.js b/calendar/base/content/calendar-event-dialog.js index 97b6ab0f80ac..81011922d7ed 100644 --- a/calendar/base/content/calendar-event-dialog.js +++ b/calendar/base/content/calendar-event-dialog.js @@ -43,6 +43,7 @@ function onLoad() window.onAcceptCallback = args.onOk; window.calendarEvent = args.calendarEvent; window.mode = args.mode; + window.recurrenceInfo = null; /* add calendars to the calendar menulist */ var calendarList = document.getElementById("event-calendar"); @@ -261,7 +262,7 @@ function editRecurrence() { var args = new Object(); args.calendarEvent = window.calendarEvent; - args.recurrenceInfo = window.calendarEvent.recurrenceInfo; + args.recurrenceInfo = (window.recurrenceInfo) ? window.recurrenceInfo : window.calendarEvent.recurrenceInfo; var savedWindow = window; args.onOk = function(recurrenceInfo) { @@ -283,47 +284,3 @@ function setEventProperty(event, propertyName, value) if (value) event.setProperty(propertyName, value); } - -function setElementValue(elementName, value, name) -{ - var element = document.getElementById(elementName); - if (!element) { - dump("unable to find " + elementName + "\n"); - return; - } - - if (value === false) { - element.removeAttribute(name ? name : "value"); - } else if (name) { - //dump("element.setAttribute(" + name + ", " + value + ")\n"); - element.setAttribute(name, value); - } else { - //dump("element.value = " + value + "\n"); - element.value = value; - } -} - -function getElementValue(elementName, name) -{ - var element = document.getElementById(elementName); - if (!element) { - dump("unable to find " + elementName + "\n"); - return null; - } - - if (name) - return element[name]; - - return element.value; -} - -function enableElement(elementId) -{ - setElementValue(elementId, false, "disabled"); -} - -function disableElement(elementId) -{ - setElementValue(elementId, "true", "disabled"); -} - diff --git a/calendar/base/content/calendar-event-dialog.xul b/calendar/base/content/calendar-event-dialog.xul index 7ac9ecdedcda..0a12e0bb56ec 100644 --- a/calendar/base/content/calendar-event-dialog.xul +++ b/calendar/base/content/calendar-event-dialog.xul @@ -56,6 +56,7 @@