MediaWiki:Gadget-SeparateSpecialCategories.js: Porovnání verzí

optimalizace kódu; refaktorizace
(+ umožnění odfiltrování speciálních typů kategorií na Special:WantedCategories; optimalizace kódu; refaktorizace)
(optimalizace kódu; refaktorizace)
i,
categoryTypes,
categoryTypesLength,
categoryPrefixes,
rgxCategoryPrefixes;
for ( i categoryTypesLength = 0; i < categoryTypes.length; i++ ) {
categoryPrefixes = categoryTypes[0].prefix;
for ( i = 1; i < categoryTypes.lengthcategoryTypesLength; i++ ) {
categoryPrefixes += '|' + categoryTypes[i].prefix;
}
function makeClickHandler( titlecategoryFullPrefix ) {
return function () {
$( 'body.mw-special-Wantedcategories div.mw-spcontent ol li a[title^="' + titlecategoryFullPrefix + '"]' )
.parent()
.toggle( $( this ).prop( 'checked' ) )
;
};
}
function makeSpecialCategoryLink( categoryType ) {
.each(return function () {
$( this )
.find( '> a' )
.each( function () {
if ( categoryTypes[i]categoryType.removePrefix ) {
$( this ).text( $( this ).text().replace( categoryTypes[i]categoryType.prefix, '' ) );
})
if ( categoryTypes[i]categoryType.treatAsExisting ) {
$( this )
.removeClass( 'new' )
.attr( 'href', function ( index, value ) {
return new mw.Title( new mw.Uri( value ).query.title ).getUrl();
});
;
}
})
;
};
var
categoryNamespaceName,
categoryType,
elementId,
categoryPrefix,
categoryFullPrefixcategoryNamespaceName = mw.config.get( 'wgFormattedNamespaces' )[14] + ':' + categoryPrefix;
for ( i = 0; i < categoryTypes.length; i++ ) {
for ( i = 0; i < categoryTypesLength; i++ ) {
elementIdcategoryType = 'mwg-' + categoryTypes[i].id;
elementId = 'mwg-' + categoryType.id;
categoryPrefix = categoryTypes[i]categoryType.prefix;
categoryFullPrefix = mw.config.get( 'wgFormattedNamespaces' )[14] + ':' + categoryPrefix;
categoryFullPrefix = categoryNamespaceName + ':' + categoryPrefix;
if (
) {
$( 'body.mw-special-Wantedcategories div.mw-spcontent ol.special' ).before(
$( '<input>' )
.attr({
'id': elementId
})
.html( '<a href="' + categoryTypes[i]categoryType.infoPage.getUrl() + '" title="' + mw.html.escape( categoryTypes[i]categoryType.infoPage.getPrefixedText() ) + '">' + categoryTypes[i]categoryType.infoText + '</a>: <ul></ul>' )
.insertAfter( $( '.catlinks' ).last() )
.children( 'ul' )
$( '#catlinks ul li' )
.has( 'a[title^="' + categoryFullPrefix + '"]' )
.each( function makeSpecialCategoryLink( categoryType ) {)
$( this )
.find( '> a' )
.each( function () {
if ( categoryTypes[i].removePrefix ) {
$( this ).text( $( this ).text().replace( categoryTypes[i].prefix, '' ) );
}
if ( categoryTypes[i].treatAsExisting ) {
$( this )
.removeClass( 'new' )
.attr( 'href', function ( index, value ) {
return new mw.Title( new mw.Uri( value ).query.title ).getUrl();
})
;
}
});
})
)
;
16 389

editací