MediaWiki:Common.js: Difference between revisions

Jump to navigation Jump to search
Fore preview
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
// -----------------------------------------------------

Navigation menu