summaryrefslogtreecommitdiffstats
path: root/trunk/etherpad/src/static/js/pad_modals.js
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/etherpad/src/static/js/pad_modals.js')
-rw-r--r--trunk/etherpad/src/static/js/pad_modals.js364
1 files changed, 0 insertions, 364 deletions
diff --git a/trunk/etherpad/src/static/js/pad_modals.js b/trunk/etherpad/src/static/js/pad_modals.js
deleted file mode 100644
index c9f48b5..0000000
--- a/trunk/etherpad/src/static/js/pad_modals.js
+++ /dev/null
@@ -1,364 +0,0 @@
-/**
- * Copyright 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS-IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var padmodals = (function() {
-
- /*var clearFeedbackEmail = function() {};
- function clearFeedback() {
- clearFeedbackEmail();
- $("#feedbackbox-message").val('');
- }
-
- var sendingFeedback = false;
- function setSendingFeedback(v) {
- v = !! v;
- if (sendingFeedback != v) {
- sendingFeedback = v;
- if (v) {
- $("#feedbackbox-send").css('opacity', 0.75);
- }
- else {
- $("#feedbackbox-send").css('opacity', 1);
- }
- }
- }*/
-
- var sendingInvite = false;
- function setSendingInvite(v) {
- v = !! v;
- if (sendingInvite != v) {
- sendingInvite = v;
- if (v) {
- $("#sharebox-send").css('opacity', 0.75);
- }
- else {
- $("#sharebox-send").css('opacity', 1);
- }
- }
- }
-
- var clearShareBoxTo = function() {};
- function clearShareBox() {
- clearShareBoxTo();
- }
-
- var allModals = $("#feedbackbox, #sharebox");
-
- var shareboxExpanded = false;
- var shareExpander = padutils.makeShowHideAnimator(function(state) {
- function pow(x) { x = 1-x; x *= x*x; return 1-x; }
- function ease(x) { return (x < 0) ? pow(x+1) : 1-pow(x); }
- var smallHeight = 110 + (pad.getUserIsGuest() ? 0 : 50);
- var bigHeight = 326 + (pad.getUserIsGuest() ? 0 : 50);
- var boxHeight = (Math.abs(ease(state)))*(bigHeight-smallHeight) + smallHeight;
- $("#sharebox").height(boxHeight);
- // sharebox-open controls the disclosure triangle
- // and also the visibility of any response (error/success)
- // messages, which must be hidden during animation as well
- // as when closed.
- if (state == 0) {
- $("#sharebox").addClass('sharebox-open');
- }
- else if (state > 0) {
- $("#sharebox").removeClass('sharebox-open');
- $("#sharebox-response").hide();
- }
- }, false, 20, 500);
-
- //var overlayNode = null;
-
- /*function adjustOverlay() {
- if (overlayNode) {
- var nodeWidth = overlayNode.width();
- var nodeHeight = overlayNode.height();
- var nodePos = overlayNode.position();
- var outset = 10;
- $("#modaloverlay").css({width: nodeWidth+outset*2,
- height: nodeHeight+outset*2,
- left: nodePos.left-outset,
- top: nodePos.top-outset});
- }
- }*/
-
- function showOverlay(forNode) {
- //overlayNode = forNode;
- //adjustOverlay();
- $("#modaloverlay").show();
- }
- function hideOverlay() {
- $("#modaloverlay").hide();
- }
-
- var self = {
- shareExpander: shareExpander,
- init: function() {
- self.initFeedback();
- self.initShareBox();
- },
- initFeedback: function() {
- /*var emailField = $("#feedbackbox-email");
- clearFeedbackEmail =
- padutils.makeFieldLabeledWhenEmpty(emailField, '(your email address)').clear;
- clearFeedback();*/
-
- $("#feedbackbox-hide").click(function() {
- self.hideModal();
- });
- /*$("#feedbackbox-send").click(function() {
- self.sendFeedbackEmail();
- });*/
-
- $("#feedbackbutton").click(function() {
- self.showFeedback();
- });
-
- $("#uservoicelinks a").click(function() {
- self.hideModal();
- return true;
- });
- $("#feedbackemails a").each(function() {
- var node = $(this);
- node.attr('href', "mailto:"+node.attr('href')+"@pad.spline.inf.fu-berlin.de");
- });
- },
- initShareBox: function() {
- $("#sharebutton, #nootherusers a").click(function() {
- self.showShareBox();
- });
- $("#sharebox-hide").click(function() {
- self.hideModal();
- });
- $("#sharebox-send").click(function() {
- self.sendInvite();
- });
-
- $("#sharebox-url").click(function() {
- $("#sharebox-url").focus().select();
- });
-
- clearShareBoxTo =
- padutils.makeFieldLabeledWhenEmpty($("#sharebox-to"),
- "(email addresses)").clear;
- clearShareBox();
-
- $("#sharebox-subject").val(self.getDefaultShareBoxSubjectForName(pad.getUserName()));
- $("#sharebox-message").val(self.getDefaultShareBoxMessageForName(pad.getUserName()));
-
- $("#sharebox-dislink").click(function() {
- if (shareboxExpanded) {
- shareboxExpanded = false;
- shareExpander.hide();
- }
- else {
- shareboxExpanded = true;
- shareExpander.show();
- }
- });
-
- $("#sharebox-stripe .setsecurity").click(function() {
- self.hideModal();
- paddocbar.setShownPanel('security');
- });
- },
- getDefaultShareBoxMessageForName: function(name) {
- return (name || "Somebody")+" has shared an EtherPad document with you."+
- "\n\n"+"View it here:\n\n"+
- padutils.escapeHtml($("#sharebox-url").val()+"\n");
- },
- getDefaultShareBoxSubjectForName: function(name) {
- return (name || "Somebody")+" invited you to an EtherPad document";
- },
- relayoutWithBottom: function(px) {
- $("#modaloverlay").height(px);
- $("#sharebox").css('left',
- Math.floor(($(window).width() -
- $("#sharebox").outerWidth())/2));
- $("#feedbackbox").css('left',
- Math.floor(($(window).width() -
- $("#feedbackbox").outerWidth())/2));
- },
- showFeedback: function() {
- allModals.hide();
- $("#feedbackbox").show();
- showOverlay($("#feedbackbox"));
- },
- showShareBox: function() {
- // when showing the dialog, if it still says "Somebody" invited you
- // then we fill in the updated username if there is one;
- // otherwise, we don't touch it, perhaps the user is happy with it
- var msgbox = $("#sharebox-message");
- if (msgbox.val() == self.getDefaultShareBoxMessageForName(null)) {
- msgbox.val(self.getDefaultShareBoxMessageForName(pad.getUserName()));
- }
- var subjBox = $("#sharebox-subject");
- if (subjBox.val() == self.getDefaultShareBoxSubjectForName(null)) {
- subjBox.val(self.getDefaultShareBoxSubjectForName(pad.getUserName()));
- }
-
- if (pad.isPadPublic()) {
- $("#sharebox-stripe").get(0).className = 'sharebox-stripe-public';
- }
- else {
- $("#sharebox-stripe").get(0).className = 'sharebox-stripe-private';
- }
-
- allModals.hide();
- $("#sharebox").show();
- showOverlay($("#sharebox"));
- $("#sharebox-url").focus().select();
- },
- hideModal: function() {
- padutils.cancelActions('hide-feedbackbox');
- padutils.cancelActions('hide-sharebox');
- $("#sharebox-response").hide();
- allModals.hide();
- hideOverlay();
- },
- hideFeedbackLaterIfNoOtherInteraction: function() {
- return padutils.getCancellableAction('hide-feedbackbox',
- function() {
- self.hideModal();
- });
- },
- hideShareboxLaterIfNoOtherInteraction: function() {
- return padutils.getCancellableAction('hide-sharebox',
- function() {
- self.hideModal();
- });
- },
-/* sendFeedbackEmail: function() {
- if (sendingFeedback) {
- return;
- }
- var message = $("#feedbackbox-message").val();
- if (! message) {
- return;
- }
- var email = ($("#feedbackbox-email").hasClass('editempty') ? '' :
- $("#feedbackbox-email").val());
- var padId = pad.getPadId();
- var username = pad.getUserName();
- setSendingFeedback(true);
- $("#feedbackbox-response").html("Sending...").get(0).className = '';
- $("#feedbackbox-response").show();
- $.ajax({
- type: 'post',
- url: '/ep/pad/feedback',
- data: {
- feedback: message,
- padId: padId,
- username: username,
- email: email
- },
- success: success,
- error: error
- });
- var hideCall = self.hideFeedbackLaterIfNoOtherInteraction();
- function success(msg) {
- setSendingFeedback(false);
- clearFeedback();
- $("#feedbackbox-response").html("Thanks for your feedback").get(0).className = 'goodresponse';
- $("#feedbackbox-response").show();
- window.setTimeout(function() {
- $("#feedbackbox-response").fadeOut('slow', function() {
- hideCall();
- });
- }, 1500);
- }
- function error(e) {
- setSendingFeedback(false);
- $("#feedbackbox-response").html("Could not send feedback. Please email us at feedback"+"@"+"pad.spline.inf.fu-berlin.de instead.").get(0).className = 'badresponse';
- $("#feedbackbox-response").show();
- }
- },*/
- sendInvite: function() {
- if (sendingInvite) {
- return;
- }
- if (! pad.isFullyConnected()) {
- displayErrorMessage("Error: Connection to the server is down or flaky.");
- return;
- }
- var message = $("#sharebox-message").val();
- if (! message) {
- displayErrorMessage("Please enter a message body before sending.");
- return;
- }
- var emails = ($("#sharebox-to").hasClass('editempty') ? '' :
- $("#sharebox-to").val()) || '';
- // find runs of characters that aren't obviously non-email punctuation
- var emailArray = emails.match(/[^\s,:;<>\"\'\/\(\)\[\]{}]+/g) || [];
- if (emailArray.length == 0) {
- displayErrorMessage('Please enter at least one "To:" address.');
- $("#sharebox-to").focus().select();
- return;
- }
- for(var i=0;i<emailArray.length;i++) {
- var addr = emailArray[i];
- if (! addr.match(/^[\w\.\_\+\-]+\@[\w\_\-]+\.[\w\_\-\.]+$/)) {
- displayErrorMessage('"'+padutils.escapeHtml(addr) +
- '" does not appear to be a valid email address.');
- return;
- }
- }
- var subject = $("#sharebox-subject").val();
- if (! subject) {
- subject = self.getDefaultShareBoxSubjectForName(pad.getUserName());
- $("#sharebox-subject").val(subject); // force the default subject
- }
-
- var padId = pad.getPadId();
- var username = pad.getUserName();
- setSendingInvite(true);
- $("#sharebox-response").html("Sending...").get(0).className = '';
- $("#sharebox-response").show();
- $.ajax({
- type: 'post',
- url: '/ep/pad/emailinvite',
- data: {
- message: message,
- toEmails: emailArray.join(','),
- subject: subject,
- username: username,
- padId: padId
- },
- success: success,
- error: error
- });
- var hideCall = self.hideShareboxLaterIfNoOtherInteraction();
- function success(msg) {
- setSendingInvite(false);
- $("#sharebox-response").html("Email invitation sent!").get(0).className = 'goodresponse';
- $("#sharebox-response").show();
- window.setTimeout(function() {
- $("#sharebox-response").fadeOut('slow', function() {
- hideCall();
- });
- }, 1500);
- }
- function error(e) {
- setSendingFeedback(false);
- $("#sharebox-response").html("An error occurred; no email was sent.").get(0).className = 'badresponse';
- $("#sharebox-response").show();
- }
- function displayErrorMessage(msgHtml) {
- $("#sharebox-response").html(msgHtml).get(0).className = 'badresponse';
- $("#sharebox-response").show();
- }
- }
- };
- return self;
-}()); \ No newline at end of file