this.updateTooltipAccessKeys( $link );
}
- // Append using DOM-element passing
- if ( nextnode && nextnode.parentNode == $ul[0] ) {
+ // Where to put our node ?
+ // - nextnode is a DOM element (before MW 1.17, in wikibits.js, this was the only option)
+ if ( nextnode && nextnode.parentNode == $ul[0] ) {
$(nextnode).before( $item );
+
+ // - nextnode is a CSS selector for jQuery
+ } else if ( typeof nextnode == 'string' && $ul.find( nextnode ).length !== 0 ) {
+ $ul.find( nextnode ).eq( 0 ).before( $item );
+
+
+ // If the jQuery selector isn't found within the <ul>,
+ // or if nextnode was invalid or not passed at all,
+ // then just append it at the end of the <ul> (this is the default behaviour)
} else {
- // If the jQuery selector isn't found within the <ul>, just
- // append it at the end
- if ( $ul.find( nextnode ).length === 0 ) {
- $ul.append( $item );
- } else {
- // Append using jQuery CSS selector
- $ul.find( nextnode ).eq( 0 ).before( $item );
- }
+ $ul.append( $item );
}
+
return $item[0];
}
mw.test.addTest( 'var a = mw.util.addPortletLink( "p-tb", "http://mediawiki.org/", "MediaWiki.org", "t-mworg", "Go to MediaWiki.org ", "m", "#t-rl" ); $(a).text();',
'MediaWiki.org (string)' );
+ mw.test.addTest( 'typeof mw.util.addPortletLink( "p-tb", "http://www.mediawiki.org/wiki/ResourceLoader/Default_modules", "Default modules", "t-rl", "All default modules present in MediaWiki" )',
+ 'object (string)' );
+
mw.test.addTest( 'typeof mw.util.jsMessage',
'function (string)' );