Difference between revisions of "MediaWiki:Common.js"

From Valve Cut Content
Jump to: navigation, search
m (was looking at the wrong tab)
m (children)
Line 98: Line 98:
 
var tabs = tabe.parentElement;
 
var tabs = tabe.parentElement;
  
if(tabv.href == "/wiki/Wiki_Todo"){
+
if(tabv.firstchild.firstchild.href == "/wiki/Wiki_Todo"){
 
// change the text if we are on the wiki todo page
 
// change the text if we are on the wiki todo page
tabv.innerHTML = "Wiki Todo";
+
tabv.firstchild.firstchild.innerHTML = "Wiki Todo";
 
}else{
 
}else{
 
// duplicate it and make it look like the normal tab to direct people to the wiki todo
 
// duplicate it and make it look like the normal tab to direct people to the wiki todo

Revision as of 06:50, 27 September 2020

window.overwikiCommon = {};

/*
 * Collapsible navigation boxes
 */

overwikiCommon.navtemp = {};

overwikiCommon.navtemp.toggle = function(button) {
  $(button.parentNode.parentNode.parentNode.parentNode.parentNode).toggleClass('navtempcoll');
}

overwikiCommon.navtemp.createToggles = function(content) {
  var headers = content.find('.navtemp th');
  if (headers.length === 0) {
    return;
  }
  var buttonHTML = '<span class="navtemptoggle"><span class="navtempshow" onclick="overwikiCommon.navtemp.toggle(this);">[show]</span><span class="navtemphide" onclick="overwikiCommon.navtemp.toggle(this);">[hide]</span></span>';
  headers.each(function(headerIndex, header) {
    header.insertAdjacentHTML('afterbegin', buttonHTML);
    $(header.parentNode.parentNode.parentNode).addClass('navtempcoll');
  });
}

mw.hook('wikipage.content').add(overwikiCommon.navtemp.createToggles);

/*
 * Proper positioning of the license box when uploading.
 */

overwikiCommon.upload = {};

overwikiCommon.upload.updateLicense = function() {
  var description = document.getElementById('wpUploadDescription');
  var license = document.getElementById('wpLicense');
  if (description != null && license != null) {
    description.value = description.value.replace(/\|licensing=.*/m, '|licensing=' + (license.value ? '{{' + license.value + '}}' : ''));
  }
}

overwikiCommon.upload.setupLicensing = function(/* content */) {
  var license = /* content.find('#wpLicense').get() */ document.getElementById('wpLicense');
  if (license != null) {
    license.removeAttribute('name');
    if (license.addEventListener != null) {
      license.addEventListener('change', overwikiCommon.upload.updateLicense);
    } else if (license.attachEvent != null) {
      license.attachEvent('onchange', overwikiCommon.upload.updateLicense);
    }
  }
}

if (wgPageName === 'Special:Upload' && !document.location.search.match(/[?&]wpForReUpload=1/)) {
  // mw.hook('wikipage.content').add(overwikiCommon.upload.setupLicensing);
  overwikiCommon.upload.setupLicensing();
}

$('.audioplayer').click(function(){
	var name = $(this).children('img').attr('class');
	var content   = '<audio controls autoplay src="' + name + '"> </audio>';
        $(this).html(content);
        $(this).off('click');
});

/*
 * custom usage of talk pages and redirecting the user to the discord
 */
var tab = window.document.getElementById('ca-talk');
// if this is a page with a discussion board
if(tab){

	// change it's name
	var tabs = tab.parentElement;
	var talkpage = tab.firstChild.firstChild;
	talkpage.setAttribute("title","Things to be included on the content page[alt-shift-t]");
	talkpage.innerHTML = "Article-ToDo";

	// duplicate it and make it look like the normal tab to direct people to the discord instead
	var discordtab = tab.cloneNode(true);
	discordtab.setAttribute("class","new");
	var discord = discordtab.firstChild.firstChild;

	discord.setAttribute("title","Discussion about the wiki or pages");
	discord.innerHTML = "Discussion";
	discord.href = window.document.getElementById('n-Official-VCC-Discord').firstChild.href;

	tabs.appendChild(discordtab);
}
/*
 * quick link to wiki todo
 */
var tabe = window.document.getElementById('ca-edit');
var tabv = window.document.getElementById('ca-view');
// if the user has edit access
if(tabe){

	// get the tabs
	var tabs = tabe.parentElement;

	if(tabv.firstchild.firstchild.href == "/wiki/Wiki_Todo"){
		// change the text if we are on the wiki todo page
		tabv.firstchild.firstchild.innerHTML = "Wiki Todo";
	}else{
		// duplicate it and make it look like the normal tab to direct people to the wiki todo
		var todotab = tabe.cloneNode(true);
		todotab.setAttribute("class","new");
		var todo = todotab.firstChild.firstChild;

		todo.setAttribute("title","Pages that are work in progress");
		todo.innerHTML = "Wiki Todo";
		todo.href = "/wiki/Wiki_Todo";

		tabs.insertBefore(todotab, tabs.children[2]);
	}

}