MediaWiki:Gadget-Twinkle.js: Difference between revisions
Jump to navigation
Jump to search
m (Testing new twinkle.js) |
m (Undo revision 36803 by Abhidevananda (talk)) |
||
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 [[SV:TW]] for more information. | ||
*/ | */ | ||
Line 45: | Line 45: | ||
Twinkle.defaultConfig.twinkle = { | Twinkle.defaultConfig.twinkle = { | ||
// General | // General | ||
summaryAd: " ([[ | summaryAd: " ([[SV:TW|TW]])", | ||
deletionSummaryAd: " ([[ | deletionSummaryAd: " ([[SV:TW|TW]])", | ||
protectionSummaryAd: " ([[ | protectionSummaryAd: " ([[SV:TW|TW]])", | ||
userTalkPageMode: "window", | userTalkPageMode: "window", | ||
dialogLargeFont: false, | dialogLargeFont: false, | ||
// Fluff (revert and rollback) | // Fluff (revert and rollback) | ||
openTalkPage: [ "agf", "norm", "vand" ], | openTalkPage: [ "agf", "norm", "vand" ], | ||
Line 73: | Line 69: | ||
// CSD | // CSD | ||
speedySelectionStyle: "buttonClick", | speedySelectionStyle: "buttonClick", | ||
speedyPromptOnG7: false, | |||
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 | 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" ], | ||
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 | 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" ], | ||
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 | 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" ], | ||
openUserTalkPageOnSpeedyDelete: [ "db", "g1", "g2", "g3", "g4", "g5", "g10", "g11", "g12", "a1", "a3", "a7", "a9", "a10", "a11", "f3", "f7", "f9", "u3 | openUserTalkPageOnSpeedyDelete: [ "db", "g1", "g2", "g3", "g4", "g5", "g10", "g11", "g12", "a1", "a3", "a7", "a9", "a10", "a11", "f3", "f7", "f9", "u3", "t2", "p1" ], | ||
deleteTalkPageOnDelete: false, | deleteTalkPageOnDelete: false, | ||
deleteRedirectsOnDelete: true, | deleteRedirectsOnDelete: true, | ||
Line 89: | Line 86: | ||
noLogOnSpeedyNomination: [ "u1" ], | noLogOnSpeedyNomination: [ "u1" ], | ||
// Unlink | // Unlink | ||
unlinkNamespaces: [ "0 | unlinkNamespaces: [ "0", "100" ], | ||
// Warn | // Warn | ||
defaultWarningGroup: "1", | defaultWarningGroup: "1", | ||
showSharedIPNotice: true, | showSharedIPNotice: true, | ||
watchWarnings: true, | watchWarnings: true, | ||
blankTalkpageOnIndefBlock: false, | |||
customWarningList: [], | customWarningList: [], | ||
// XfD | // XfD | ||
Line 103: | Line 101: | ||
revertMaxRevisions: 50, | revertMaxRevisions: 50, | ||
batchdeleteChunks: 50, | batchdeleteChunks: 50, | ||
batchDeleteMinCutOff: 5, | |||
batchMax: 5000, | batchMax: 5000, | ||
batchProtectChunks: 50, | batchProtectChunks: 50, | ||
batchProtectMinCutOff: 5, | |||
batchundeleteChunks: 50, | batchundeleteChunks: 50, | ||
batchUndeleteMinCutOff: 5, | |||
deliChunks: 500, | deliChunks: 500, | ||
deliMax: 5000, | deliMax: 5000, | ||
Line 240: | Line 241: | ||
//verify/normalize input | //verify/normalize input | ||
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" : "vectorTabs" ); | outerDivClass = ( navigation === "mw-panel" ) ? "portal" : ( type === "menu" ? "vectorMenu extraMenu" : "vectorTabs extraMenu" ); | ||
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 ( type === "menu" ) { | |||
// Fix drop-down arrow image in Vector skin | |||
outerDiv.style.backgroundImage = 'url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAQCAMAAAAlM38UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA9QTFRFsbGxmpqa3d3deXl58/n79CzHcQAAAAV0Uk5T/////wD7tg5TAAAAMklEQVR42mJgwQoYBkqYiZEZAhiZUFRDxWGicEPA4nBRhNlAcYQokpVMDEwD6kuAAAMAyGMFQVv5ldcAAAAASUVORK5CYII=")'; | |||
outerDiv.style.backgroundPosition = "right 60%"; | |||
} | |||
if ( nextnode && nextnode.parentNode === root ) { | if ( nextnode && nextnode.parentNode === root ) { | ||
root.insertBefore( outerDiv, nextnode ); | root.insertBefore( outerDiv, nextnode ); | ||
Line 294: | Line 299: | ||
}); | }); | ||
span = document.createElement( "span" ); | |||
span.appendChild( document.createTextNode( text ) ); | |||
a.appendChild( span ); | |||
h5.appendChild( a ); | h5.appendChild( a ); | ||
} else { | } else { | ||
Line 300: | Line 308: | ||
outerDiv.appendChild( h5 ); | outerDiv.appendChild( h5 ); | ||
var innerDiv = document.createElement( "div" ); // Not strictly necessary with type vectorTabs, or other skins. | |||
innerDiv.className = innerDivClass; | |||
outerDiv.appendChild(innerDiv); | |||
var ul = document.createElement( "ul" ); | var ul = document.createElement( "ul" ); | ||
innerDiv.appendChild( ul ); | |||
return outerDiv; | return outerDiv; | ||
Line 329: | Line 335: | ||
ev.preventDefault(); | ev.preventDefault(); | ||
}); | }); | ||
} | } | ||
return link; | return link; | ||
Line 403: | Line 406: | ||
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; | ||
} | } | ||
// 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(); | ||
// Deletion | // Deletion | ||
Twinkle.speedy(); | Twinkle.speedy(); |