87,338
edits
m (1 revision imported) |
m (Testing new twinkle.js) |
||
(One intermediate revision by the same user not shown) | |||
Line 15: | Line 15: | ||
* | * | ||
* This is AzaToth's Twinkle, the popular script sidekick for newbies, admins, and | * This is AzaToth's Twinkle, the popular script sidekick for newbies, admins, and | ||
* every Wikipedian in between. Visit [[ | * every Wikipedian in between. Visit [[WP:TW]] for more information. | ||
*/ | */ | ||
Line 45: | Line 45: | ||
Twinkle.defaultConfig.twinkle = { | Twinkle.defaultConfig.twinkle = { | ||
// General | // General | ||
summaryAd: " ([[ | summaryAd: " ([[WP:TW|TW]])", | ||
deletionSummaryAd: " ([[ | deletionSummaryAd: " ([[WP:TW|TW]])", | ||
protectionSummaryAd: " ([[ | protectionSummaryAd: " ([[WP:TW|TW]])", | ||
userTalkPageMode: "window", | userTalkPageMode: "window", | ||
dialogLargeFont: false, | dialogLargeFont: false, | ||
// ARV | |||
spiWatchReport: "yes", | |||
// Block | |||
blankTalkpageOnIndefBlock: false, | |||
// Fluff (revert and rollback) | // Fluff (revert and rollback) | ||
openTalkPage: [ "agf", "norm", "vand" ], | openTalkPage: [ "agf", "norm", "vand" ], | ||
Line 69: | Line 73: | ||
// CSD | // CSD | ||
speedySelectionStyle: "buttonClick", | speedySelectionStyle: "buttonClick", | ||
watchSpeedyPages: [ "g3", "g5", "g10", "g11", "g12" ], | watchSpeedyPages: [ "g3", "g5", "g10", "g11", "g12" ], | ||
markSpeedyPagesAsPatrolled: true, | markSpeedyPagesAsPatrolled: true, | ||
// these next two should probably be identical by default | // these next two should probably be identical by default | ||
notifyUserOnSpeedyDeletionNomination: [ "db", "g1", "g2", "g3", "g4", "g6", "g10", "g11", "g12", "g13", "a1", "a2", "a3", "a5", "a7", "a9", "a10", "a11", "f1", "f2", "f3", "f7", "f9", "f10", "u3", "t2", "t3", "p1", "p2" ], | notifyUserOnSpeedyDeletionNomination: [ "db", "g1", "g2", "g3", "g4", "g6", "g10", "g11", "g12", "g13", "a1", "a2", "a3", "a5", "a7", "a9", "a10", "a11", "f1", "f2", "f3", "f7", "f9", "f10", "u3", "u5", "t2", "t3", "p1", "p2" ], | ||
welcomeUserOnSpeedyDeletionNotification: [ "db", "g1", "g2", "g3", "g4", "g6", "g10", "g11", "g12", "g13", "a1", "a2", "a3", "a5", "a7", "a9", "a10", "a11", "f1", "f2", "f3", "f7", "f9", "f10", "u3", "t2", "t3", "p1", "p2" ], | welcomeUserOnSpeedyDeletionNotification: [ "db", "g1", "g2", "g3", "g4", "g6", "g10", "g11", "g12", "g13", "a1", "a2", "a3", "a5", "a7", "a9", "a10", "a11", "f1", "f2", "f3", "f7", "f9", "f10", "u3", "u5", "t2", "t3", "p1", "p2" ], | ||
promptForSpeedyDeletionSummary: [ "db", "g1", "g2", "g3", "g4", "g6", "g7", "g8", "g10", "g11", "g12", "a1", "a2", "a3", "a5", "a7", "a9", "a10", "a11", "f2", "f4", "f7", "f8", "f10", "t2", "t3", "p1", "p2" ], | promptForSpeedyDeletionSummary: [ "db", "g1", "g2", "g3", "g4", "g6", "g7", "g8", "g10", "g11", "g12", "a1", "a2", "a3", "a5", "a7", "a9", "a10", "a11", "f2", "f4", "f7", "f8", "f10", "u5", "t2", "t3", "p1", "p2" ], | ||
openUserTalkPageOnSpeedyDelete: [ "db", "g1", "g2", "g3", "g4", "g5", "g10", "g11", "g12", "a1", "a3", "a7", "a9", "a10", "a11", "f3", "f7", "f9", "u3", "t2", "p1" ], | openUserTalkPageOnSpeedyDelete: [ "db", "g1", "g2", "g3", "g4", "g5", "g10", "g11", "g12", "a1", "a3", "a7", "a9", "a10", "a11", "f3", "f7", "f9", "u3", "u5", "t2", "p1" ], | ||
deleteTalkPageOnDelete: false, | deleteTalkPageOnDelete: false, | ||
deleteRedirectsOnDelete: true, | deleteRedirectsOnDelete: true, | ||
Line 86: | Line 89: | ||
noLogOnSpeedyNomination: [ "u1" ], | noLogOnSpeedyNomination: [ "u1" ], | ||
// Unlink | // Unlink | ||
unlinkNamespaces: [ "0", "100" ], | unlinkNamespaces: [ "0", "10", "100", "118" ], | ||
// Warn | // Warn | ||
defaultWarningGroup: "1", | defaultWarningGroup: "1", | ||
showSharedIPNotice: true, | showSharedIPNotice: true, | ||
watchWarnings: true, | watchWarnings: true, | ||
customWarningList: [], | customWarningList: [], | ||
// XfD | // XfD | ||
Line 101: | Line 103: | ||
revertMaxRevisions: 50, | revertMaxRevisions: 50, | ||
batchdeleteChunks: 50, | batchdeleteChunks: 50, | ||
batchMax: 5000, | batchMax: 5000, | ||
batchProtectChunks: 50, | batchProtectChunks: 50, | ||
batchundeleteChunks: 50, | batchundeleteChunks: 50, | ||
deliChunks: 500, | deliChunks: 500, | ||
deliMax: 5000, | deliMax: 5000, | ||
Line 241: | Line 240: | ||
//verify/normalize input | //verify/normalize input | ||
var skin = mw.config.get("skin"); | |||
type = ( skin === "vector" && type === "menu" && ( navigation === "left-navigation" || navigation === "right-navigation" )) ? "menu" : ""; | type = ( skin === "vector" && type === "menu" && ( navigation === "left-navigation" || navigation === "right-navigation" )) ? "menu" : ""; | ||
var outerDivClass; | var outerDivClass; | ||
Line 250: | Line 250: | ||
navigation = "mw-panel"; | navigation = "mw-panel"; | ||
} | } | ||
outerDivClass = ( navigation === "mw-panel" ) ? "portal" : ( type === "menu" ? "vectorMenu | outerDivClass = ( navigation === "mw-panel" ) ? "portal" : ( type === "menu" ? "vectorMenu" : "vectorTabs" ); | ||
innerDivClass = ( navigation === "mw-panel" ) ? "body" : ( type === "menu" ? "menu" : "" ); | innerDivClass = ( navigation === "mw-panel" ) ? "body" : ( type === "menu" ? "menu" : "" ); | ||
break; | break; | ||
Line 271: | Line 271: | ||
outerDiv.className = outerDivClass + " emptyPortlet"; | outerDiv.className = outerDivClass + " emptyPortlet"; | ||
outerDiv.id = id; | outerDiv.id = id; | ||
if ( nextnode && nextnode.parentNode === root ) { | if ( nextnode && nextnode.parentNode === root ) { | ||
root.insertBefore( outerDiv, nextnode ); | root.insertBefore( outerDiv, nextnode ); | ||
Line 299: | Line 294: | ||
}); | }); | ||
h5.appendChild( a ); | h5.appendChild( a ); | ||
} else { | } else { | ||
Line 308: | Line 300: | ||
outerDiv.appendChild( h5 ); | outerDiv.appendChild( h5 ); | ||
var innerDiv = document.createElement( "div" ); | if ( type === "menu" ) { | ||
var innerDiv = document.createElement( "div" ); | |||
innerDiv.className = innerDivClass; | |||
outerDiv.appendChild(innerDiv); | |||
} | |||
var ul = document.createElement( "ul" ); | var ul = document.createElement( "ul" ); | ||
innerDiv.appendChild( ul ); | (innerDiv || outerDiv).appendChild( ul ); | ||
return outerDiv; | return outerDiv; | ||
Line 335: | Line 329: | ||
ev.preventDefault(); | ev.preventDefault(); | ||
}); | }); | ||
} | |||
if ( $.collapsibleTabs ) { | |||
$.collapsibleTabs.handleResize(); | |||
} | } | ||
return link; | return link; | ||
Line 406: | Line 403: | ||
isOldIE = ( $.client.profile().name === 'msie' && $.client.profile().versionNumber < 9 ); | isOldIE = ( $.client.profile().name === 'msie' && $.client.profile().versionNumber < 9 ); | ||
// Prevent users that are not autoconfirmed from loading Twinkle as well. | |||
if ( isSpecialPage || isOldIE || !Twinkle.userAuthorized ) { | if ( isSpecialPage || isOldIE || !Twinkle.userAuthorized ) { | ||
return; | return; | ||
} | } | ||
// Set custom Api-User-Agent header, for server-side logging purposes | |||
Morebits.wiki.api.setApiUserAgent( 'Twinkle/2.0 (' + mw.config.get( 'wgDBname' ) + ')' ); | |||
// Load the modules in the order that the tabs should appears | // Load the modules in the order that the tabs should appears | ||
Line 418: | Line 418: | ||
Twinkle.shared(); | Twinkle.shared(); | ||
Twinkle.talkback(); | Twinkle.talkback(); | ||
if ( Morebits.userIsInGroup('sysop') ) { | |||
Twinkle.block(); | |||
} | |||
// Deletion | // Deletion | ||
Twinkle.speedy(); | Twinkle.speedy(); |