r42573 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r42572‎ | r42573 | r42574 >
Date:20:30, 25 October 2008
Author:brion
Status:old
Tags:
Comment:
Hold back r42568 for now "Re-committing r42528:" (enhanced RC no-JS fallbacks)
Still not quite right -- entries don't line up correctly with JS mode out. Didn't do much further testing on it beyond that since I'm trying to get trunk working. :)
Modified paths:
  • /trunk/phase3/RELEASE-NOTES (modified) (history)
  • /trunk/phase3/includes/ChangesList.php (modified) (history)
  • /trunk/phase3/languages/messages/MessagesEn.php (modified) (history)
  • /trunk/phase3/maintenance/language/messages.inc (modified) (history)
  • /trunk/phase3/skins/common/enhancedchanges.js (deleted) (history)
  • /trunk/phase3/skins/common/wikibits.js (modified) (history)

Diff [purge]

Index: trunk/phase3/maintenance/language/messages.inc
@@ -1035,8 +1035,6 @@
10361036 'rc_categories_any',
10371037 'rc-change-size',
10381038 'newsectionsummary',
1039 - 'rc-enhanced-expand',
1040 - 'rc-enhanced-hide',
10411039 ),
10421040 'recentchangeslinked' => array(
10431041 'recentchangeslinked',
Index: trunk/phase3/skins/common/enhancedchanges.js
@@ -1,39 +0,0 @@
2 -/*
3 - JavaScript file for enhanced recentchanges
4 - */
5 -
6 -/*
7 - * Add the CSS to hide parts that should be collapsed
8 - *
9 - * We do this with JS so everything will be expanded by default
10 - * if JS is disabled
11 - */
12 -appendCSS('.mw-changeslist-hidden {'+
13 - ' display:none;'+
14 - '}'+
15 - 'div.mw-changeslist-expanded {'+
16 - ' display:block;'+
17 - '}'+
18 - 'span.mw-changeslist-expanded {'+
19 - ' display:inline !important;'+
20 - '}'
21 -);
22 -
23 -/*
24 - * Switch an RC line between hidden/shown
25 - * @param int idNumber : the id number of the RC group
26 -*/
27 -function toggleVisibility(idNumber) {
28 - var openarrow = document.getElementById("mw-rc-openarrow-"+idNumber);
29 - var closearrow = document.getElementById("mw-rc-closearrow-"+idNumber);
30 - var subentries = document.getElementById("mw-rc-subentries-"+idNumber);
31 - if (openarrow.className == 'mw-changeslist-expanded') {
32 - openarrow.className = 'mw-changeslist-hidden';
33 - closearrow.className = 'mw-changeslist-expanded';
34 - subentries.className = 'mw-changeslist-expanded';
35 - } else {
36 - openarrow.className = 'mw-changeslist-expanded';
37 - closearrow.className = 'mw-changeslist-hidden';
38 - subentries.className = 'mw-changeslist-hidden';
39 - }
40 -}
Index: trunk/phase3/skins/common/wikibits.js
@@ -104,6 +104,22 @@
105105 }
106106 }
107107
 108+// for enhanced RecentChanges
 109+function toggleVisibility(_levelId, _otherId, _linkId) {
 110+ var thisLevel = document.getElementById(_levelId);
 111+ var otherLevel = document.getElementById(_otherId);
 112+ var linkLevel = document.getElementById(_linkId);
 113+ if (thisLevel.style.display == 'none') {
 114+ thisLevel.style.display = 'block';
 115+ otherLevel.style.display = 'none';
 116+ linkLevel.style.display = 'inline';
 117+ } else {
 118+ thisLevel.style.display = 'none';
 119+ otherLevel.style.display = 'inline';
 120+ linkLevel.style.display = 'none';
 121+ }
 122+}
 123+
108124 function showTocToggle() {
109125 if (document.createTextNode) {
110126 // Uses DOM calls to avoid document.write + XHTML issues
Index: trunk/phase3/includes/ChangesList.php
@@ -388,24 +388,7 @@
389389 * Generate a list of changes using an Enhanced system (use javascript).
390390 */
391391 class EnhancedChangesList extends ChangesList {
392 -
393392 /**
394 - * Add the JavaScript file for enhanced changeslist
395 - * @ return string
396 - */
397 - public function beginRecentChangesList() {
398 - global $wgStylePath, $wgStyleVersion;
399 - $this->rc_cache = array();
400 - $this->rcMoveIndex = 0;
401 - $this->rcCacheIndex = 0;
402 - $this->lastdate = '';
403 - $this->rclistOpen = false;
404 - $script = Xml::tags( 'script', array(
405 - 'type' => 'text/javascript',
406 - 'src' => $wgStylePath . "/common/enhancedchanges.js?$wgStyleVersion" ), '' );
407 - return $script;
408 - }
409 - /**
410393 * Format a line for enhanced recentchange (aka with javascript and block of lines).
411394 */
412395 public function recentChangesLine( &$baseRC, $watched = false ) {
@@ -613,16 +596,13 @@
614597
615598 $users = ' <span class="changedby">[' . implode( $this->message['semicolon-separator'], $users ) . ']</span>';
616599
617 - # ID for JS visibility toggle
618 - $jsid = $this->rcCacheIndex;
619 - # onclick handler to toggle hidden/expanded
620 - $toggleLink = "onclick='toggleVisibility($jsid); return false'";
621 - # Title for <a> tags
622 - $expandTitle = wfMsg('rc-enhanced-expand');
623 - $closeTitle = wfMsg('rc-enhanced-hide');
624 -
625 - $tl = "<span id='mw-rc-openarrow-$jsid' class='mw-changeslist-expanded' style='display:none'><a href='#' $toggleLink title='$expandTitle'>" . $this->sideArrow() . "</a></span>";
626 - $tl .= "<span id='mw-rc-closearrow-$jsid' class='mw-changeslist-hidden' style='display:none'><a href='#' $toggleLink title='$closeTitle'>" . $this->downArrow() . "</a></span>";
 600+ # Arrow
 601+ $rci = 'RCI'.$this->rcCacheIndex;
 602+ $rcl = 'RCL'.$this->rcCacheIndex;
 603+ $rcm = 'RCM'.$this->rcCacheIndex;
 604+ $toggleLink = "javascript:toggleVisibility('$rci','$rcm','$rcl')";
 605+ $tl = '<span id="'.$rcm.'"><a href="'.$toggleLink.'">' . $this->sideArrow() . '</a></span>';
 606+ $tl .= '<span id="'.$rcl.'" style="display:none"><a href="'.$toggleLink.'">' . $this->downArrow() . '</a></span>';
627607 $r .= '<td valign="top" style="white-space: nowrap"><tt>'.$tl.'&nbsp;';
628608
629609 # Main line
@@ -700,7 +680,7 @@
701681 $r .= "</td></tr></table>\n";
702682
703683 # Sub-entries
704 - $r .= '<div id="mw-rc-subentries-'.$jsid.'" class="mw-changeslist-hidden"><table cellpadding="0" cellspacing="0" border="0" style="background: none">';
 684+ $r .= '<div id="'.$rci.'" style="display:none;"><table cellpadding="0" cellspacing="0" border="0" style="background: none">';
705685 foreach( $block as $rcObj ) {
706686 # Get rc_xxxx variables
707687 // FIXME: Would be good to replace this extract() call with something that explicitly initializes local variables.
@@ -779,10 +759,11 @@
780760 * @param string $alt text
781761 * @return string HTML <img> tag
782762 */
783 - protected function arrow( $dir ) {
 763+ protected function arrow( $dir, $alt='' ) {
784764 global $wgStylePath;
785765 $encUrl = htmlspecialchars( $wgStylePath . '/common/images/Arr_' . $dir . '.png' );
786 - return "<img src=\"$encUrl\" width=\"12\" height=\"12\" />";
 766+ $encAlt = htmlspecialchars( $alt );
 767+ return "<img src=\"$encUrl\" width=\"12\" height=\"12\" alt=\"$encAlt\" />";
787768 }
788769
789770 /**
@@ -793,7 +774,7 @@
794775 protected function sideArrow() {
795776 global $wgContLang;
796777 $dir = $wgContLang->isRTL() ? 'l' : 'r';
797 - return $this->arrow( $dir );
 778+ return $this->arrow( $dir, '+' );
798779 }
799780
800781 /**
@@ -802,7 +783,7 @@
803784 * @return string HTML <img> tag
804785 */
805786 protected function downArrow() {
806 - return $this->arrow( 'd' );
 787+ return $this->arrow( 'd', '-' );
807788 }
808789
809790 /**
@@ -810,7 +791,7 @@
811792 * @return string HTML <img> tag
812793 */
813794 protected function spacerArrow() {
814 - return $this->arrow( '' );
 795+ return $this->arrow( '', ' ' );
815796 }
816797
817798 /**
Index: trunk/phase3/languages/messages/MessagesEn.php
@@ -1714,8 +1714,6 @@
17151715 'rc_categories_any' => 'Any',
17161716 'rc-change-size' => '$1', # only translate this message to other languages if you have to change it
17171717 'newsectionsummary' => '/* $1 */ new section',
1718 -'rc-enhanced-expand' => 'Show details (requires JavaScript)',
1719 -'rc-enhanced-hide' => 'Hide details',
17201718
17211719 # Recent changes linked
17221720 'recentchangeslinked' => 'Related changes',
Index: trunk/phase3/RELEASE-NOTES
@@ -283,8 +283,6 @@
284284 * (bug 14609) User's namespaces to be searched default not updated after adding new namespace
285285 * Purge form uses valid XHTML and (bug 8992) uses $wgRequest instead of $_SERVER
286286 * (bug 12764) Special:LonelyPages shows transcluded pages
287 -* (bug 16073) Enhanced RecentChanges uses onclick handler with better fallback if
288 - JavaScript is disabled.
289287
290288 === API changes in 1.14 ===
291289

Past revisions this follows-up on

RevisionCommit summaryAuthorDate
r42528Re-committing r42514:...mrzman02:27, 25 October 2008
r42568Re-committing r42528:...mrzman19:05, 25 October 2008

Status & tagging log