summaryrefslogtreecommitdiff
path: root/calendar/resources/content/publishDialog.js
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/resources/content/publishDialog.js')
-rw-r--r--calendar/resources/content/publishDialog.js70
1 files changed, 70 insertions, 0 deletions
diff --git a/calendar/resources/content/publishDialog.js b/calendar/resources/content/publishDialog.js
new file mode 100644
index 000000000..acf01102b
--- /dev/null
+++ b/calendar/resources/content/publishDialog.js
@@ -0,0 +1,70 @@
+/* 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/. */
+
+/* exported loadCalendarPublishDialog, onOKCommand, closeDialog */
+
+var gOnOkFunction; // function to be called when user clicks OK
+var gPublishObject;
+
+/**
+* Called when the dialog is loaded.
+*/
+function loadCalendarPublishDialog() {
+ // Get arguments, see description at top of file
+
+ let args = window.arguments[0];
+
+ gOnOkFunction = args.onOk;
+
+ if (args.publishObject) {
+ gPublishObject = args.publishObject;
+ if (args.publishObject.remotePath) {
+ document.getElementById("publish-remotePath-textbox").value = args.publishObject.remotePath;
+ }
+ } else {
+ gPublishObject = {};
+ }
+ document.getElementById("calendar-publishwindow").getButton("accept").setAttribute("label", publishButtonLabel);
+
+ checkURLField();
+
+ let firstFocus = document.getElementById("publish-remotePath-textbox");
+ firstFocus.focus();
+}
+
+/**
+* Called when the OK button is clicked.
+*/
+function onOKCommand() {
+ gPublishObject.remotePath = document.getElementById("publish-remotePath-textbox").value;
+
+ // call caller's on OK function
+ gOnOkFunction(gPublishObject, progressDialog);
+ document.getElementById("calendar-publishwindow").getButton("accept").setAttribute("label", closeButtonLabel);
+ document.getElementById("calendar-publishwindow").setAttribute("ondialogaccept", "closeDialog()");
+ return false;
+}
+
+function checkURLField() {
+ if (document.getElementById("publish-remotePath-textbox").value.length == 0) {
+ document.getElementById("calendar-publishwindow").getButton("accept").setAttribute("disabled", "true");
+ } else {
+ document.getElementById("calendar-publishwindow").getButton("accept").removeAttribute("disabled");
+ }
+}
+
+function closeDialog() {
+ self.close();
+}
+
+var progressDialog = {
+ onStartUpload: function() {
+ document.getElementById("publish-progressmeter").setAttribute("mode", "undetermined");
+ },
+
+ onStopUpload: function() {
+ document.getElementById("publish-progressmeter").setAttribute("mode", "determined");
+ }
+};
+progressDialog.wrappedJSObject = progressDialog;