summaryrefslogtreecommitdiffstats
path: root/comm/calendar/base/content/dialogs/calendar-occurrence-prompt.js
diff options
context:
space:
mode:
Diffstat (limited to 'comm/calendar/base/content/dialogs/calendar-occurrence-prompt.js')
-rw-r--r--comm/calendar/base/content/dialogs/calendar-occurrence-prompt.js62
1 files changed, 62 insertions, 0 deletions
diff --git a/comm/calendar/base/content/dialogs/calendar-occurrence-prompt.js b/comm/calendar/base/content/dialogs/calendar-occurrence-prompt.js
new file mode 100644
index 0000000000..cb66e24ff9
--- /dev/null
+++ b/comm/calendar/base/content/dialogs/calendar-occurrence-prompt.js
@@ -0,0 +1,62 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+var { cal } = ChromeUtils.import("resource:///modules/calendar/calUtils.jsm");
+
+window.addEventListener("DOMContentLoaded", onLoad);
+
+document.addEventListener("dialogaccept", () => exitOccurrenceDialog(1));
+document.addEventListener("dialogcancel", () => exitOccurrenceDialog(0));
+
+function exitOccurrenceDialog(aReturnValue) {
+ window.arguments[0].value = aReturnValue;
+ window.close();
+}
+
+function getDString(aKey) {
+ return cal.l10n.getString("calendar-occurrence-prompt", aKey);
+}
+
+function onLoad() {
+ let action = window.arguments[0].action || "edit";
+ // the calling code prevents sending no items
+ let multiple = window.arguments[0].items.length == 1 ? "single" : "multiple";
+ let itemType;
+ for (let item of window.arguments[0].items) {
+ let type = item.isEvent() ? "event" : "task";
+ if (itemType != type) {
+ itemType = itemType ? "mixed" : type;
+ }
+ }
+
+ // Set up title and type label
+ document.title = getDString(`windowtitle.${itemType}.${action}`);
+ let title = document.getElementById("title-label");
+ if (multiple == "multiple") {
+ title.value = getDString("windowtitle.multipleitems");
+ document.getElementById("isrepeating-label").value = getDString(
+ `header.containsrepeating.${itemType}.label`
+ );
+ } else {
+ title.value = window.arguments[0].items[0].title;
+ document.getElementById("isrepeating-label").value = getDString(
+ `header.isrepeating.${itemType}.label`
+ );
+ }
+
+ // Set up buttons
+ document.getElementById("accept-buttons-box").setAttribute("action", action);
+ document.getElementById("accept-buttons-box").setAttribute("type", itemType);
+
+ document.getElementById("accept-occurrence-button").label = getDString(
+ `buttons.${multiple}.occurrence.${action}.label`
+ );
+
+ document.getElementById("accept-allfollowing-button").label = getDString(
+ `buttons.${multiple}.allfollowing.${action}.label`
+ );
+ document.getElementById("accept-parent-button").label = getDString(
+ `buttons.${multiple}.parent.${action}.label`
+ );
+}