From: <pdo...@us...> - 2008-05-07 18:51:21
|
Revision: 13109 http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13109&view=rev Author: pdontthink Date: 2008-05-07 11:50:53 -0700 (Wed, 07 May 2008) Log Message: ----------- Add real checkbox name and extra js args to row_click() and optional plugin input to extra js arg and checkbox input; also add somem documentation Modified Paths: -------------- trunk/squirrelmail/templates/default/js/default.js trunk/squirrelmail/templates/default/message_list.tpl Modified: trunk/squirrelmail/templates/default/js/default.js =================================================================== --- trunk/squirrelmail/templates/default/js/default.js 2008-05-07 17:18:41 UTC (rev 13108) +++ trunk/squirrelmail/templates/default/js/default.js 2008-05-07 18:50:53 UTC (rev 13109) @@ -12,9 +12,18 @@ * (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 + * @param string The (internal) name of the checkbox + * that should be (un)checked + * @param JavaScript event object The JavaScript event associated + * with this mouse click + * @param string The name of the encapsulating form + * @param string The (real) name of the checkbox + * that should be (un)checked + * @param string Any extra JavaScript (that will + * be executed herein if non-empty); + * must be valid JavaScript expression(s) */ -function row_click(chkboxName, event, formName) { +function row_click(chkboxName, event, formName, checkboxRealName, extra) { var chkbox = document.getElementById(chkboxName); if (chkbox) { // initialize orig_row_color if not defined already @@ -24,6 +33,8 @@ orig_row_colors[chkboxName] = orig_row_colors[chkboxName].substring(8, orig_row_colors[chkboxName].length); } chkbox.checked = (chkbox.checked ? false : true); + + if (extra != '') eval(extra); } } Modified: trunk/squirrelmail/templates/default/message_list.tpl =================================================================== --- trunk/squirrelmail/templates/default/message_list.tpl 2008-05-07 17:18:41 UTC (rev 13108) +++ trunk/squirrelmail/templates/default/message_list.tpl 2008-05-07 18:50:53 UTC (rev 13109) @@ -263,8 +263,13 @@ // this stuff does the auto row highlighting on mouseover // + if (!empty($plugin_output['checkbox_javascript_onclick'])) $checkbox_javascript_onclick = $plugin_output['checkbox_javascript_onclick']; + else $checkbox_javascript_onclick = ''; + if ($javascript_on && $fancy_index_highlite) { - $checkbox_javascript = ' onclick="this.checked = !this.checked;"'; + $checkbox_javascript = ' onclick="this.checked = !this.checked; ' . $checkbox_javascript_onclick . '"'; + } else if (!empty($checkbox_javascript_onclick)) { + $checkbox_javascript = ' onclick="' . $checkbox_javascript_onclick . '"'; } else { $checkbox_javascript = ''; } @@ -359,9 +364,11 @@ // where on the row you click // $javascript_auto_click = ''; + $row_click_extra = ''; + if (!empty($plugin_output['row_click_extra'])) $row_click_extra = $plugin_output['row_click_extra']; if ($javascript_on && $fancy_index_highlite) { // include the form_id in order to show multiple messages lists. Otherwise id isn't unique - $javascript_auto_click = " onmousedown=\"row_click('$form_id"."_msg$i', event, '$form_name')\""; + $javascript_auto_click = " onmousedown=\"row_click('$form_id"."_msg$i', event, '$form_name', 'msg[' + $i + ']', '$row_click_extra')\""; } @@ -461,7 +468,7 @@ if ($onclick) { $sText .= " onclick=\"$onclick\""; } if ($link_extra) { $sText .= " $link_extra"; } if ($javascript_on && $fancy_index_highlite) { - $sText .= " onmousedown=\"row_click('$form_id"."_msg$i', event, '$form_name'); setPointer(this." . (empty($bold) ? '' : 'parentNode.') . + $sText .= " onmousedown=\"row_click('$form_id"."_msg$i', event, '$form_name', 'msg[' + $i + ']', '$row_click_extra'); setPointer(this." . (empty($bold) ? '' : 'parentNode.') . 'parentNode.parentNode, ' . $i . ', \'click\', \''. $non_clicked_class. '\', \'mouse_over\', \'clicked\');"'; } $sText .= ">" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |