Better loading UI for dimp compose screen
authorMichael M Slusarz <slusarz@curecanti.org>
Sun, 25 Oct 2009 00:09:25 +0000 (18:09 -0600)
committerMichael M Slusarz <slusarz@curecanti.org>
Sun, 25 Oct 2009 00:09:25 +0000 (18:09 -0600)
imp/js/compose-dimp.js
imp/templates/chunks/compose.php
imp/templates/imp/compose.html
imp/themes/screen-dimp.css

index 9e6c2a7..dc6ad60 100644 (file)
@@ -123,16 +123,21 @@ var DimpCompose = {
     setSentMailLabel: function(s, l, sel)
     {
         var label = $('sent_mail_folder_label');
-        if (label) {
-            if (!l) {
-                l = DIMP.conf_compose.flist.find(function(f) {
-                    return f.v == s;
-                });
-                l = l.f || l.v;
-            }
-            $('save_sent_mail_folder').setValue(s);
-            $('sent_mail_folder_label').writeAttribute('title', l.escapeHTML()).setText('"' + l.truncate(15) + '"');
+
+        if (!label) {
+            return;
         }
+
+        if (!l) {
+            l = DIMP.conf_compose.flist.find(function(f) {
+                return f.v == s;
+            });
+            l = l.f || l.v;
+        }
+
+        $('save_sent_mail_folder').setValue(s);
+        $('sent_mail_folder_label').writeAttribute('title', l.escapeHTML()).setText('"' + l.truncate(15) + '"').up().show();
+
         if (sel) {
             this.knl.setSelected(s);
         }
@@ -594,8 +599,6 @@ var DimpCompose = {
         if (de.scrollHeight - de.clientHeight) {
             msg.writeAttribute({ rows: rows - 1 });
         }
-
-        $('composeloading').hide();
     },
 
     uploadAttachment: function()
@@ -765,13 +768,6 @@ var DimpCompose = {
         this.resizecc = new ResizeTextArea('cc', boundResize);
         this.resizebcc = new ResizeTextArea('bcc', boundResize);
 
-        // Safari requires a submit target iframe to be at least 1x1 size or
-        // else it will open content in a new window.  See:
-        //   http://blog.caboo.se/articles/2007/4/2/ajax-file-upload
-        if (Prototype.Browser.WebKit) {
-            $('submit_frame').writeAttribute({ position: 'absolute', width: '1px', height: '1px' }).setStyle({ left: '-999px' }).show();
-        }
-
         /* Add addressbook link formatting. */
         if (DIMP.conf_compose.URI_ABOOK) {
             $('sendto', 'sendcc', 'sendbcc').each(function(a) {
@@ -789,6 +785,17 @@ var DimpCompose = {
             this.knl.setSelected(this.get_identity($F('identity'))[3]);
             $('sent_mail_folder_label').insert({ after: new Element('SPAN', { className: 'popdownImg', id: 'compose_flist_popdown' }).observe('click', function(e) { this.knl.show(); e.stop(); }.bindAsEventListener(this)) });
         }
+
+        $('dimpLoading').hide();
+        $('pageContainer').show();
+
+        // Safari requires a submit target iframe to be at least 1x1 size or
+        // else it will open content in a new window.  See:
+        //   http://blog.caboo.se/articles/2007/4/2/ajax-file-upload
+        if (Prototype.Browser.WebKit) {
+            $('submit_frame').writeAttribute({ position: 'absolute', width: '1px', height: '1px' }).setStyle({ left: '-999px' }).show();
+        }
+
     }
 
 },
index e6caf0c..716a6a9 100644 (file)
@@ -32,7 +32,6 @@ function _createDAcompose($text, $image, $id)
 }
 
 ?>
-<div id="composeloading"></div>
 <form id="compose" name="compose" enctype="multipart/form-data" action="compose-dimp.php" method="post" target="submit_frame">
 <?php echo Horde_Util::formInput() ?>
 <input type="hidden" id="action" name="action" />
@@ -60,7 +59,7 @@ function _createDAcompose($text, $image, $id)
    <label><input name="request_read_receipt" type="checkbox" class="checkbox"<?php if ($d_read != 'ask') echo ' checked="checked"' ?> /> <?php echo _("Read Receipt") ?></label>
 <?php endif; ?>
 <?php if ($GLOBALS['conf']['user']['allow_folders'] && !$GLOBALS['prefs']->isLocked('save_sent_mail')): ?>
-   <label>
+   <label style="display:none">
     <input id="save_sent_mail" name="save_sent_mail" type="checkbox" class="checkbox"<?php if ($identity->saveSentmail()) echo ' checked="checked"' ?> /> <?php echo _("Save in") ?>
     <span id="sent_mail_folder_label"></span>
    </label>
index 0881967..bb42ada 100644 (file)
@@ -1,5 +1,6 @@
 <body>
- <div id="pageContainer">
+ <div id="dimpLoading"><gettext>Loading...</gettext></div>
+ <div id="pageContainer" style="display:none">
   <div class="header">
    <div class="headercloseimg closeImg" id="compose_close"></div>
    <tag:title />
index 93ce28f..cfc233c 100644 (file)
@@ -635,7 +635,7 @@ div.dimpActionsCompose, div.dimpActionsMsg {
     width: 100%;
 }
 
-#composeloading, #rteloading {
+#rteloading {
     position: absolute;
     z-index: 100;
     background-color: #000;
@@ -648,12 +648,6 @@ div.dimpActionsCompose, div.dimpActionsMsg {
     background-color: #fff;
     z-index: 101;
 }
-#composeloading {
-    width: 100%;
-    height: 100%;
-    top: 0;
-    left: 0;
-}
 
 #compose_flist_popdown {
     margin-top: -1px;