Difference between revisions of "MediaWiki:Common.js"

From Valve Cut Content
Jump to: navigation, search
(upper tab edits)
Line 62: Line 62:
 
         $(this).off('click');
 
         $(this).off('click');
 
});
 
});
 +
 +
/*
 +
* custom usage of talk pages and redirecting the user to the discord
 +
*/
 +
var tab = window.document.getElementById('ca-talk');
 +
if(tab){
 +
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";
 +
 +
var discordtab = tab.cloneNode(true);
 +
discordtab.setAttribute("class","new");
 +
var discord = discordtab.firstChild.firstChild;
 +
 +
discord.setAttribute("title","Discussion about the wiki or pages[alt-shift-t]");
 +
discord.innerHTML = "Discussion";
 +
discord.href = window.document.getElementById('n-Official-VCC-Discord').firstChild.href;
 +
 +
tabs.appendChild(discordtab);
 +
}

Revision as of 09:58, 21 April 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(tab){
	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";

	var discordtab = tab.cloneNode(true);
	discordtab.setAttribute("class","new");
	var discord = discordtab.firstChild.firstChild;

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

	tabs.appendChild(discordtab);
}