Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MediaWiki:Citizen.js: Difference between revisions

MediaWiki interface page
More languages
No edit summary
(removed obsolete code)
 
(22 intermediate revisions by 2 users not shown)
Line 2: Line 2:
"use strict";
"use strict";


/**
//New homepage search bar
* Adds icons for the Citizen skin toggle menu
mw.loader.using( [ 'mediawiki.util' ] ).done( function() {
*
console.log("loaded utils");
**/
/* Trigger search box when click on the fake search button on main page */
/* obsolete while menu icons are loaded by CSS.
//if ( mw.config.get( 'wgIsMainPage' ) === true ) {
(function($, mw) {
document.getElementById( 'homepage-search' ).addEventListener( 'click', function() {
var $ul = $('#p-Navigation').children()[1]; // This selects the <ul> list of elements
var search = document.getElementById( 'citizen-search-details' );
for (var i=0;i<$ul.children.length;i++) {
search.open = true;
var $a = $ul.children[i].children[0];
} );
var $span = $('<span>').text("")
//}
.addClass('citizen-ui-icon')
} );
switch ($a.text) {
case " Main page":
if (mw.config.get('wgIsMainPage')) {
$ul.children[i].remove();
}
break;
case "Library":
$span.addClass('prolewiki-ui-icon-library')
$a.prepend($span[0]);
break;
case "Wanted pages":
$span.addClass('prolewiki-ui-icon-wanted')
$a.prepend($span[0]);
break;
case "Recruitment":
$span.addClass('prolewiki-ui-icon-recruitment');
$a.prepend($span[0]);
break;
case "Special pages":
$span.addClass('prolewiki-ui-icon-special')
$a.prepend($span[0]);
break;
case "Upload file":
$span.addClass('prolewiki-ui-icon-upload')
$a.prepend($span[0]);
break;
}
}
}(jQuery, mediaWiki)); */
 
/* Adds Sandbox icon for the Citizen skin preferences menu */
(function($, mw) {
var $a = $('#pt-sandbox').children()[0];
var $span = $('<span>')
.addClass('citizen-ui-icon')
.addClass('prolewiki-ui-icon-sandbox');
$a.prepend($span[0]);
}(jQuery, mediaWiki));
 
/**
* Append edit button to non-logged in users that redirects to Request Account.
**/
(function(mw) {
    // Wait for the document to be ready
    mw.loader.using('mediawiki.user').done(function() {
        // Check that the user is not logged in
        if (mw.user.getId() === 0) {
            // Create the HTML for the "request account" edit button. Styled in MediaWiki:Citizen.css
            var requestAccountEditBtn = '<li id="ca-ve-edit" class="mw-list-item">' +
                '<a href="/index.php?title=Special:RequestAccount" title="Edit page">Edit this page</a>' +
                '</li>';
            // Insert the button after the #ca-history element
            var historyElement = document.getElementById('ca-history');
            if (historyElement) {
                historyElement.insertAdjacentHTML('afterend', requestAccountEditBtn);
            }
        }
    });
}(mediaWiki));
 
 
 
//</nowiki>

Latest revision as of 15:20, 1 November 2024

/* All JavaScript here will be loaded for users of the Citizen skin */
"use strict";

//New homepage search bar
mw.loader.using( [ 'mediawiki.util' ] ).done( function() {
	console.log("loaded utils");
	/* Trigger search box when click on the fake search button on main page */
	//if ( mw.config.get( 'wgIsMainPage' ) === true ) {
		document.getElementById( 'homepage-search' ).addEventListener( 'click', function() {
			var search = document.getElementById( 'citizen-search-details' );
			search.open = true;
		} );
	//}
} );