https://www.mediawiki.org/wiki/Special:Code/MediaWiki/112862
Revision: 112862
Author: aaron
Date: 2012-03-02 00:40:23 +0000 (Fri, 02 Mar 2012)
Log Message:
-----------
MFT r112849, r112851, r112856, r112859
Modified Paths:
--------------
branches/wmf/1.19wmf1/extensions/CategoryTree/CategoryTreeFunctions.php
branches/wmf/1.19wmf1/extensions/CategoryTree/modules/ext.categoryTree.js
Property Changed:
----------------
branches/wmf/1.19wmf1/extensions/
branches/wmf/1.19wmf1/extensions/CategoryTree/
branches/wmf/1.19wmf1/extensions/CategoryTree/CategoryTreeFunctions.php
Property changes on: branches/wmf/1.19wmf1/extensions
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/JSTesting/extensions:100352-107913
/branches/REL1_15/phase3/extensions:51646
/branches/REL1_17/phase3/extensions:81445,81448
/branches/new-installer/phase3/extensions:43664-66004
/branches/sqlite/extensions:58211-58321
/branches/wmf/1.18wmf1/extensions:97508
/trunk/extensions:111043,111199,111218,111484,111575,111604,111659-111661,111668,111670,111688,111690,111698,111713,111715,111780,111796,111814,111947,112074,112153,112160,112166,112260,112282,112360,112517,112571,112613,112628,112758,112770-112772,112775
/trunk/phase3/extensions:111002,111029,111034,111062,111067,111076,111085,111128,111144,111251
+ /branches/JSTesting/extensions:100352-107913
/branches/REL1_15/phase3/extensions:51646
/branches/REL1_17/phase3/extensions:81445,81448
/branches/new-installer/phase3/extensions:43664-66004
/branches/sqlite/extensions:58211-58321
/branches/wmf/1.18wmf1/extensions:97508
/trunk/extensions:111043,111199,111218,111484,111575,111604,111659-111661,111668,111670,111688,111690,111698,111713,111715,111780,111796,111814,111947,112074,112153,112160,112166,112260,112282,112360,112517,112571,112613,112628,112758,112770-112772,112775,112849,112851,112856,112859
/trunk/phase3/extensions:111002,111029,111034,111062,111067,111076,111085,111128,111144,111251
Property changes on: branches/wmf/1.19wmf1/extensions/CategoryTree
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/JSTesting/extensions/CategoryTree:100352-107913
/branches/REL1_15/phase3/extensions/CategoryTree:51646
/branches/REL1_17/phase3/extensions/CategoryTree:81445,81448
/branches/new-installer/phase3/extensions/CategoryTree:43664-66004
/branches/sqlite/extensions/CategoryTree:58211-58321
/branches/wmf/1.18wmf1/extensions/CategoryTree:97508
/trunk/extensions/CategoryTree:111043,111199,111218,111484,111575,111604,111659-111661,111668,111670,111688,111690,111698,111713,111715,111780,111796,111814,111947,112074,112153,112160,112166,112260,112282,112360,112517,112571,112613,112628,112751
/trunk/phase3/extensions/CategoryTree:111002,111029,111034,111062,111067,111076,111085,111128,111144,111251
+ /branches/JSTesting/extensions/CategoryTree:100352-107913
/branches/REL1_15/phase3/extensions/CategoryTree:51646
/branches/REL1_17/phase3/extensions/CategoryTree:81445,81448
/branches/new-installer/phase3/extensions/CategoryTree:43664-66004
/branches/sqlite/extensions/CategoryTree:58211-58321
/branches/wmf/1.18wmf1/extensions/CategoryTree:97508
/trunk/extensions/CategoryTree:111043,111199,111218,111484,111575,111604,111659-111661,111668,111670,111688,111690,111698,111713,111715,111780,111796,111814,111947,112074,112153,112160,112166,112260,112282,112360,112517,112571,112613,112628,112751,112849,112851,112856,112859
/trunk/phase3/extensions/CategoryTree:111002,111029,111034,111062,111067,111076,111085,111128,111144,111251
Modified:
branches/wmf/1.19wmf1/extensions/CategoryTree/CategoryTreeFunctions.php
===================================================================
--- branches/wmf/1.19wmf1/extensions/CategoryTree/CategoryTreeFunctions.php
2012-03-02 00:37:01 UTC (rev 112861)
+++ branches/wmf/1.19wmf1/extensions/CategoryTree/CategoryTreeFunctions.php
2012-03-02 00:40:23 UTC (rev 112862)
@@ -315,19 +315,19 @@
}
$attr['data-ct-mode'] = $this->mOptions['mode'];
- $attr['data-ct-options'] = Xml::escapeTagsOnly(
$this->getOptionsAsJsStructure() );
+ $attr['data-ct-options'] = $this->getOptionsAsJsStructure();
$html = '';
- $html .= Xml::openElement( 'div', $attr );
+ $html .= Html::openElement( 'div', $attr );
if ( !$allowMissing && !$title->getArticleID() ) {
- $html .= Xml::openElement( 'span', array( 'class' =>
'CategoryTreeNotice' ) );
+ $html .= Html::openElement( 'span', array( 'class' =>
'CategoryTreeNotice' ) );
if ( $parser ) {
$html .= $parser->recursiveTagParse(
wfMsgNoTrans( 'categorytree-not-found', $category ) );
} else {
$html .= wfMsgExt( 'categorytree-not-found',
'parseinline', htmlspecialchars( $category ) );
}
- $html .= Xml::closeElement( 'span' );
+ $html .= Html::closeElement( 'span' );
}
else {
if ( !$hideroot ) {
Property changes on:
branches/wmf/1.19wmf1/extensions/CategoryTree/CategoryTreeFunctions.php
___________________________________________________________________
Modified: svn:mergeinfo
-
/branches/wmf/1.16wmf4/extensions/CategoryTree/CategoryTreeFunctions.php:67183
/trunk/extensions/CategoryTree/CategoryTreeFunctions.php:112751
+
/branches/wmf/1.16wmf4/extensions/CategoryTree/CategoryTreeFunctions.php:67183
/trunk/extensions/CategoryTree/CategoryTreeFunctions.php:112751,112856,112859
Modified:
branches/wmf/1.19wmf1/extensions/CategoryTree/modules/ext.categoryTree.js
===================================================================
--- branches/wmf/1.19wmf1/extensions/CategoryTree/modules/ext.categoryTree.js
2012-03-02 00:37:01 UTC (rev 112861)
+++ branches/wmf/1.19wmf1/extensions/CategoryTree/modules/ext.categoryTree.js
2012-03-02 00:40:23 UTC (rev 112862)
@@ -27,7 +27,7 @@
*/
handleNode: function( e ) {
var $link = $( this );
- if ( $link.data( 'ctState' ) === 'collapsed' ) {
+ if ( $link.data( 'ct-state' ) === 'collapsed' ) {
categoryTree.expandNode( $link );
} else {
categoryTree.collapseNode( $link );
@@ -48,9 +48,9 @@
$link
.html( mw.msg( 'categorytree-collapse-bullet' ) )
.attr( 'title', mw.msg( 'categorytree-collapse' ) )
- .data( 'ctState', 'expanded' );
+ .data( 'ct-state', 'expanded' );
- if ( !$link.data( 'ctLoaded' ) ) {
+ if ( !$link.data( 'ct-loaded' ) ) {
categoryTree.loadChildren( $link, $children );
}
},
@@ -68,7 +68,7 @@
$link
.html( mw.msg( 'categorytree-expand-bullet' ) )
.attr( 'title', mw.msg( 'categorytree-expand' ) )
- .data( 'ctState', 'collapsed' );
+ .data( 'ct-state', 'collapsed' );
},
/**
@@ -78,26 +78,55 @@
* @param {jQuery} $children
*/
loadChildren: function( $link, $children ) {
- $link.data( 'ctLoaded', true );
+ var $linkParentCTTag, ctTitle, ctMode, ctOptions;
+
+ /**
+ * Error callback
+ */
+ function error() {
+ var $retryLink;
+
+ $retryLink = $( '<a>' )
+ .text( mw.msg( 'categorytree-retry' ) )
+ .attr( 'href', '#' )
+ .click( function ( e ) {
+ e.preventDefault();
+ categoryTree.loadChildren( $link,
$children );
+ } );
+
+ $children
+ .text( mw.msg( 'categorytree-error' ) + ' ' )
+ .append( $retryLink );
+ }
+
+ $link.data( 'ct-loaded', true );
+
$children.html(
$( '<i class="CategoryTreeNotice"></i>' )
.text( mw.msg( 'categorytree-loading' ) )
);
- var $parentTag = $link.parents( '.CategoryTreeTag' );
+ $linkParentCTTag = $link.parents( '.CategoryTreeTag' );
- if ( $parentTag.length === 0 ) {
- // Probably a CategoryPage
- $parentTag = $( '<div />' )
- .hide()
- .data( 'ctOptions', mw.config.get(
'wgCategoryTreePageCategoryOptions' ) );
+ // Element may not have a .CategoryTreeTag parent, fallback to
defauls
+ // Probably a CategoryPage (@todo: based on what?)
+ ctTitle = $link.data( 'ct-title' );
+ ctMode = $linkParentCTTag.data( 'ct-mode' );
+ ctMode = typeof ctMode === 'number' ? ctMode : undefined;
+ ctOptions = $linkParentCTTag.data( 'ct-options' ) ||
mw.config.get( 'wgCategoryTreePageCategoryOptions' );
+
+ // Mode and options have defaults or fallbacks, title does not.
+ // Don't make a request if there is no title.
+ if ( typeof ctTitle !== 'string' ) {
+ error();
+ return;
}
$.get(
mw.util.wikiScript(), {
action: 'ajax',
rs: 'efCategoryTreeAjaxWrapper',
- rsargs: [$link.data( 'ctTitle' ),
$parentTag.data( 'ctOptions' ), 'json'] // becomes
&rsargs[]=arg1&rsargs[]=arg2...
+ rsargs: [ctTitle, ctOptions, 'json'] // becomes
&rsargs[]=arg1&rsargs[]=arg2...
}
)
.success( function ( data ) {
@@ -105,16 +134,20 @@
data = data.replace(/##LOAD##/g, mw.msg(
'categorytree-expand' ) );
if ( data === '' ) {
- switch ( $parentTag.data( 'ctMode' ) ) {
+ switch ( ctMode ) {
+ // CT_MODE_CATEGORIES = 0
case 0:
data = mw.msg(
'categorytree-no-subcategories' );
break;
+ // CT_MODE_PAGES = 10
case 10:
data = mw.msg(
'categorytree-no-pages' );
break;
+ // CT_MODE_PARENTS = 100
case 100:
data = mw.msg(
'categorytree-no-parent-categories' );
break;
+ // CT_MODE_ALL = 20
default:
data = mw.msg(
'categorytree-nothing-found' );
}
@@ -126,17 +159,10 @@
.html( data )
.find( '.CategoryTreeToggle' )
.click( categoryTree.handleNode
);
+
categoryTree.showToggles();
} )
- .error( function() {
- var $retryLink = $( '<a />' )
- .text( mw.msg( 'categorytree-retry' ) )
- .attr( 'href', '#' )
- .click( function() {
categoryTree.loadChildren( $link, $children ); } );
- $children
- .text( mw.msg( 'categorytree-error' ) )
- .append( $retryLink );
- } );
+ .error( error );
}
};
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs