8,574
edits
No edit summary |
(Fore preview) |
||
Line 195: | Line 195: | ||
$( createNavigationBarToggleButton ); | $( createNavigationBarToggleButton ); | ||
// ------------------------------------------------------------------------------- | |||
// Force Preview JavaScript code - Start | |||
// | |||
// To allow any group to bypass being forced to preview, | |||
// enter the group name in the permittedGroups array. | |||
// E.g. | |||
// var permittedGroups = []; // force everyone | |||
// var permittedGroups = [ "user"]; // permit logged-in users | |||
// var permittedGroups = [ "sysop", "bureaucrat"]; // permit sysop, bureaucrat | |||
// ------------------------------------------------------------------------------- | |||
var permittedGroups = []; | |||
Array.prototype.intersects = function() { | |||
// -------------------------------------------------------- | |||
// Returns true if any element in the argument array | |||
// is the same as an element in this array | |||
// -------------------------------------------------------- | |||
if ( !arguments.length ) return false; | |||
var array2 = arguments[0]; | |||
var len1 = this.length; | |||
var len2 = array2.length; | |||
if ( len2 == 0 ) return false; | |||
for ( var i = 0; i < len1; i++ ) { | |||
for ( var j = 0; j < len2; j++ ) { | |||
if ( this[i] === array2[j] ) return true; | |||
} | |||
} | |||
return false; | |||
}; | |||
function forcePreview() { | |||
if ( mw.config.get( "wgAction" ) != "edit" ) return; | |||
if ( mw.config.get( "wgUserGroups" ).intersects( permittedGroups ) ) return; | |||
var saveButton = document.getElementById( "wpSave" ); | |||
if ( !saveButton ) return; | |||
saveButton.disabled = true; | |||
saveButton.value = "Save page (use preview first)"; | |||
saveButton.style.fontWeight = "normal"; | |||
document.getElementById("wpPreview").style.fontWeight = "bold"; | |||
} | |||
jQuery(document).ready( forcePreview ); | |||
// ----------------------------------------------------- | |||
// Force Preview JavaScript code - End | |||
// ----------------------------------------------------- |