瀏覽代碼

Refactoring JavaScript, reduces bandwidth usage on message list when fancy highlighting is on

pdontthink 20 年之前
父節點
當前提交
57444273e8
共有 2 個文件被更改,包括 25 次插入2 次删除
  1. 9 1
      functions/mailbox_display.php
  2. 16 1
      functions/page_header.php

+ 9 - 1
functions/mailbox_display.php

@@ -311,9 +311,17 @@ function printMessageInfo($aMsg) {
     // this stuff does the auto row highlighting on mouseover
     //
     if ($javascript_on && $fancy_index_highlite) {
+
         $mouseoverColor = $color[5];
+
+        // set this to an empty string to turn off extra 
+        // highlighting of checked rows
+        //
+        //$clickedColor = '';
         $clickedColor = $color[2];
+
         $row_extra .= ' onmouseover="setPointer(this, ' . $t . ', \'over\', \'' . $hlt_color . '\', \'' . $mouseoverColor . '\', \'' . $clickedColor . '\');" onmouseout="setPointer(this, ' . $t . ', \'out\', \'' . $hlt_color . '\', \'' . $mouseoverColor . '\', \'' . $clickedColor . '\');" onmousedown="setPointer(this, ' . $t . ', \'click\', \'' . $hlt_color . '\', \'' . $mouseoverColor . '\', \'' . $clickedColor . '\');"';
+
     }
 
 
@@ -325,7 +333,7 @@ function printMessageInfo($aMsg) {
     //
     $javascript_auto_click = '';
     if ($javascript_on && $fancy_index_highlite)
-        $javascript_auto_click = ' onMouseDown="if (document.getElementById(\'msg[' . $t . ']\')) { document.getElementById(\'msg[' . $t . ']\').checked = (document.getElementById(\'msg[' . $t . ']\').checked ? false : true); }"';
+        $javascript_auto_click = ' onMouseDown="row_click(\'msg[' . $t . ']\')"';
 
 
     if (sizeof($index_order)) {

+ 16 - 1
functions/page_header.php

@@ -273,7 +273,22 @@ function displayPageHeader($color, $mailbox, $xtra='', $session=false) {
 var marked_row = new Array;
 
 
-/**
+/* 
+ * (un)Checks checkbox for the row that the current table cell is in
+ * when it gets clicked.
+ *
+ * @param   string   the name of the checkbox that should be (un)checked
+ */
+function row_click(chkboxName) {
+    chkbox = document.getElementById(chkboxName);
+    if (chkbox) { 
+        chkbox.checked = (chkbox.checked ? false : true); 
+    }
+}
+
+
+
+/*
  * Sets/unsets the pointer and marker in browse mode
  *
  * @param   object    the table row