]> err.no Git - scalable-opengroupware.org/commitdiff
moved maillist JS code to separate file
authorhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Thu, 21 Jul 2005 08:43:55 +0000 (08:43 +0000)
committerhelge <helge@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Thu, 21 Jul 2005 08:43:55 +0000 (08:43 +0000)
fixed a bug with error handling in mailer.js

git-svn-id: http://svn.opengroupware.org/SOGo/trunk@862 d1b88da0-ebda-0310-925b-ed51d893ca5b

SOGo/UI/MailerUI/ChangeLog
SOGo/UI/MailerUI/UIxMailListView.m
SOGo/UI/MailerUI/UIxMailView.m
SOGo/UI/MailerUI/Version
SOGo/UI/Templates/MailerUI/UIxMailListView.wox
SOGo/UI/Templates/MailerUI/UIxMailView.wox
SOGo/UI/WebServerResources/ChangeLog
SOGo/UI/WebServerResources/UIxMailListView.js [new file with mode: 0644]
SOGo/UI/WebServerResources/mailer.js

index f2bc548b584d9351cea7f3e36aa3d37dff1af9ff..d36d13e10a50a3bfa5eeba63e01160ed451de390 100644 (file)
@@ -1,5 +1,8 @@
 2005-07-21  Helge Hess  <helge.hess@opengroupware.org>
 
+       * UIxMailListView.m: load JavaScript from a file (UIxMailListView.js)
+         instead of embedding it into the page (v0.9.163)
+
        * UIxMailView.m: do not fetch full message info for 304 existance
          checks but rather call -doesMailExist (v0.9.162)
 
index 15ec1aab5467f74372a55f7e1918eaeaf4ed8eb5..b1008343ae9ce6e3801e5ceeb70c9ac356612619 100644 (file)
@@ -377,54 +377,6 @@ static int attachmentFlagSize = 8096;
                     [self messageUidString]];
 }
 
-- (NSString *)jsCode {
-  static NSString *script = \
-  @"var rowSelectionCount = 0;\n"
-  @"\n"
-  @"validateControls();\n"
-  @"\n"
-  @"function showElement(e, shouldShow) {\n"
-  @"   e.style.display = shouldShow ? \"\" : \"none\";\n"
-  @"}\n"
-  @"\n"
-  @"function enableElement(e, shouldEnable) {\n"
-  @"  if(!e)\n"
-  @"    return;\n"
-  @"  if(shouldEnable) {\n"
-  @"    if(e.hasAttribute(\"disabled\"))\n"
-  @"      e.removeAttribute(\"disabled\");\n"
-  @"  }\n"
-  @"  else {\n"
-  @"    e.setAttribute(\"disabled\", \"1\");\n"
-  @"  }\n"
-  @"}\n"
-  @"\n"
-  @"function toggleRowSelectionStatus(sender) {\n"
-  @"  rowID = sender.value;\n"
-  @"  tr = document.getElementById(rowID);\n"
-  @"  if(sender.checked) {\n"
-  @"    tr.className = \"tableview_selected\";\n"
-  @"    rowSelectionCount += 1;\n"
-  @"  }\n"
-  @"  else {\n"
-  @"    tr.className = \"tableview\";\n"
-  @"    rowSelectionCount -= 1;\n"
-  @"  }\n"
-  @"  this.validateControls();\n"
-  @"}\n"
-  @"\n"
-  @"function validateControls() {\n"
-  @"  var e = document.getElementById(\"moveto\");\n"
-  @"  this.enableElement(e, rowSelectionCount > 0);\n"
-  @"}\n"
-  @"\n"
-  @"function moveTo(uri) {\n"
-  @"  alert(\"MoveTo: \" + uri);\n"
-  @"}\n"
-  @"";
-  return script;
-}
-
 /* error redirects */
 
 - (id)redirectToViewWithError:(id)_error {
index 4befcc042448634734f7ddc8fcb59913d1b1c30e..9e5731ab880f281a5aad4228b93c6d59f10d9e21 100644 (file)
@@ -164,6 +164,12 @@ static NSString *mailETag = nil;
 - (id)defaultAction {
   /* check etag to see whether we really must rerender */
   if (mailETag != nil ) {
+    /*
+      Note: There is one thing which *can* change for an existing message,
+            those are the IMAP4 flags (and annotations, which we do not use).
+           Since we don't render the flags, it should be OK, if this changes
+           we must embed the flagging into the etag.
+    */
     NSString *s;
     
     if ((s = [[[self context] request] headerForKey:@"if-none-match"])) {
index 380f56fff0a234076fedd21354fa86db863e089a..5db4900626c1198e7e78f0f1e6de3ba631abf999 100644 (file)
@@ -1,6 +1,6 @@
 # version file
 
-SUBMINOR_VERSION:=162
+SUBMINOR_VERSION:=163
 
 # v0.9.140 requires SoObjects/Mailer v0.9.100
 # v0.9.134 requires libSOGo          v0.9.41
index 3dc615c5cebaea85c57db716d1ac60e1837b3b48..5adc8b3b0db50031c42a9733805fc37c17adbe03 100644 (file)
   title="panelTitle"
   hideFrame="hideFrame"
 >
+  <script language="JavaScript" rsrc:src="UIxMailListView.js">
+    <!-- space required -->
+  </script>
+
   <var:component className="UIxMailFilterPanel" qualifier="qualifier" 
                  hideFrame="hideFrame" />
 
  <div id="cl_tableview_reloadroot">
   <div class="embedwhite_out">
     <div class="embedwhite_in">
-      <script language="JavaScript">
-        <var:string value="jsCode" const:escapeHTML="NO" />
-      </script>
       <table border="0" width="100%" cellspacing="0" cellpadding="1">
         <tr class="tableview">
           <td class="tbtv_headercell" width="17">
index 795369d49ff3e581271f289c6890869582eb4843..410a4b1e9c3ce478a25ee344d541e43c2f364f3c 100644 (file)
   </div>
 
   <script language="JavaScript">
-    markMailReadInWindow(window.opener, 
-      '<var:string value="clientObject.nameInContainer"/>');
+    if (window.opener) {
+      markMailReadInWindow(window.opener, 
+        '<var:string value="clientObject.nameInContainer"/>');
+    }
   </script>
 </var:component>
index 85a91b9657e32f88dc21026c4a547d45887cd1fe..d7bb9c0fb014078d4a4826d4ebe27d596581c67b 100644 (file)
@@ -1,3 +1,7 @@
+2005-07-21  Helge Hess  <helge.hess@opengroupware.org>
+
+       * mailer.js: fixed a bug with calling the opener on errors
+
 2005-07-20  Helge Hess  <helge.hess@opengroupware.org>
 
        * mailer.js: use POST instead of GET for toggling the mail read flag,
diff --git a/SOGo/UI/WebServerResources/UIxMailListView.js b/SOGo/UI/WebServerResources/UIxMailListView.js
new file mode 100644 (file)
index 0000000..39414f2
--- /dev/null
@@ -0,0 +1,42 @@
+var rowSelectionCount = 0;
+
+validateControls();
+
+function showElement(e, shouldShow) {
+       e.style.display = shouldShow ? "" : "none";
+}
+
+function enableElement(e, shouldEnable) {
+  if(!e)
+    return;
+  if(shouldEnable) {
+    if(e.hasAttribute("disabled"))
+      e.removeAttribute("disabled");
+  }
+  else {
+    e.setAttribute("disabled", "1");
+  }
+}
+
+function toggleRowSelectionStatus(sender) {
+  rowID = sender.value;
+  tr = document.getElementById(rowID);
+  if(sender.checked) {
+    tr.className = "tableview_selected";
+    rowSelectionCount += 1;
+  }
+  else {
+    tr.className = "tableview";
+    rowSelectionCount -= 1;
+  }
+  this.validateControls();
+}
+
+function validateControls() {
+  var e = document.getElementById("moveto");
+  this.enableElement(e, rowSelectionCount > 0);
+}
+
+function moveTo(uri) {
+  alert("MoveTo: " + uri);
+}
index 3c8c66459f7390e076209c21bb0ca00bf67df3c3..b41421ebaf01e93d91a4a6e7c0f010993b032b69 100644 (file)
@@ -200,7 +200,7 @@ function clickedNewFilter(sender) {
 
 function markMailInWindow(win, msguid, markread) {
   var msgDiv;
-  
+
   msgDiv = win.document.getElementById("div_" + msguid);
   if (msgDiv) {
     if (markread) {
@@ -225,6 +225,7 @@ function markMailInWindow(win, msguid, markread) {
     return false;
 }
 function markMailReadInWindow(win, msguid) {
+  /* this is called by UIxMailView with window.opener */
   return markMailInWindow(win, msguid, true);
 }
 
@@ -273,14 +274,14 @@ function mailListMarkMessage(sender, action, msguid, markread) {
     if (http.status != 200) {
       // TODO: refresh page?
       alert("Message Mark Failed: " + http.statusText);
-      window.opener.location.reload();
+      window.location.reload();
     }
     else {
       markMailInWindow(window, msguid, markread);
     }
   }
   else {
-    window.opener.location.href = url;
+    window.location.href = url;
   }
 }