Difference between revisions of "MediaWiki:Common.js"

From University Innovation Fellows
Jump to navigation Jump to search
Line 126: Line 126:
 
// Gadget - QRCode
 
// Gadget - QRCode
 
mw.loader.load('/index.php?title=MediaWiki:QRCode.js&action=raw&ctype=text/javascript');
 
mw.loader.load('/index.php?title=MediaWiki:QRCode.js&action=raw&ctype=text/javascript');
 +
 +
// Gadget - CreateFellowPage
 +
mw.loader.load('/index.php?title=User:Jayprakash/common.js&action=raw&ctype=text/javascript');

Revision as of 00:25, 1 June 2020

window.protectedNamespace = [ "2020", "2020_talk", "2021", "2022", "2023", "2024", "2025" ];

$( document ).ready( function(){
	if( mw.config.get('wgIsMainPage') )
	{
		$('#sbl-breadcrumbs').remove();
	}
	
	// Open all UIF link in new tab
	$('#p-UIF').children().find('a').attr('target', '_blank');
	
	if ( mw.config.get( 'wgPageName' ) === "Special:Badtitle" ){
		$('#pt-login').hide();
	}
	
	// CategoryTree
	$('.CategoryTreeLabelPage').first().prev().before("---------------------------<br>");
});


// Sidebar
$( document ).ready(function(){

	function ModifySidebar( section, name, link ) {		
		var node = document.getElementById( 'p-'+ section )
						   .getElementsByTagName( 'div' )[0]
						   .getElementsByTagName( 'ul' )[0];

		var aNode = document.createElement( 'a' );
		var liNode = document.createElement( 'li' );

		aNode.appendChild( document.createTextNode( name ) );
		aNode.setAttribute( 'href', link );
		liNode.appendChild( aNode );
		liNode.className = 'plainlinks';
		node.appendChild( liNode );
	}

	if( window.protectedNamespace.indexOf( mw.config.get( 'wgCanonicalNamespace' )) !== -1 ){
		$('#p-navigation > .body ul').empty();
		$('#p-tb').remove();
		$('#p-UIF').remove();
		$('#p-ratePage-vote-title').remove();
		
		if( !(mw.config.get( 'wgUserGroups' ).indexOf("bureaucrat") !== -1) ) {
			$("#left-navigation").empty();
			$("#right-navigation").empty();
		}
		
		$.when( mw.loader.using( 'mediawiki.util' ), $.ready ).then( function () {
			mw.util.addPortletLink(
				'p-views',
				mw.config.get( 'wgScript' ) + '?veaction=edit&title=' + mw.util.wikiUrlencode( mw.config.get( 'wgPageName' ) ),
				'Edit',
				null,
				'Edit in Visual Editor',
			    null,
				'#ca-edit'
			);	
		});
		
		// Navigation Links 
		if ( mw.config.get( 'wgTitle' ) === "Training Overview" ){
			ModifySidebar( 'navigation', 'Back to Main Page', 'https://universityinnovation.org/wiki/Main_Page' );
		} else {
			ModifySidebar( 'navigation', 'Back to Overview', 'https://universityinnovation.org/wiki/2020:Training_Overview' );
		}
		mw.loader.using( 'mediawiki.api', function(){
			var api = new mw.Api(),
				sections = [ 1, 2, 3 ],
				pageName = mw.config.get( 'wgCanonicalNamespace' ).slice(0,4) + ":Sidebar";

			sections.forEach(function(item){
				params = {
					"action": "parse",
					"format": "json",
					"page": pageName,
					"wrapoutputclass": "",
					"section": item,
					"disablelimitreport": 1,
					"disableeditsection": 1
				};
				
				api.get(params).done(function( data){
					$('a', data.parse.text['*']).each( function(){
						if( item == 1){
							// Session Links
							ModifySidebar( 'Sessions', $(this).text(), $( this).attr("href") );
						}
						else if( item ==2 ){
							// Resources Links
							ModifySidebar( 'Discussions', $(this).text(), $( this).attr("href") );
						}
						else if( item ==3 ){
							// Resources Links
							ModifySidebar( 'Resources', $(this).text(), $( this).attr("href") );
						}
					});
	
					// Make current page non clickable
					$('.portal .body > ul').children().each( function(){
					    link = $( this ).children()[0].href;
					    if ( link === window.location.href ) {
					        $( $( this ).children()[0]).css({
					            "pointer-events": "none",
					            "cursor": "default",
					            "color": "#000",
					            "font-weight": "bold"
					        });
					    }
					});
				});
			});

		});
	} else {
		$('#p-Sessions').remove();
		$('#p-Discussions').remove();	
		$('#p-Resources').remove();		
	}
});

// Gadget-HotCat
mw.loader.load( '/index.php?title=MediaWiki:Gadget-HotCat.js&action=raw&ctype=text/javascript' );

// Gadget - QRCode
mw.loader.load('/index.php?title=MediaWiki:QRCode.js&action=raw&ctype=text/javascript');

// Gadget - CreateFellowPage
mw.loader.load('/index.php?title=User:Jayprakash/common.js&action=raw&ctype=text/javascript');