Difference between revisions of "MediaWiki:Common.js"

From Valve Cut Content
Jump to: navigation, search
(upper tab edits)
m (comments)
Line 67: Line 67:
 
  */
 
  */
 
var tab = window.document.getElementById('ca-talk');
 
var tab = window.document.getElementById('ca-talk');
 +
// if this is a page with a discussion board
 
if(tab){
 
if(tab){
 +
 +
// change it's name
 
var tabs = tab.parentElement;
 
var tabs = tab.parentElement;
 
var talkpage = tab.firstChild.firstChild;
 
var talkpage = tab.firstChild.firstChild;
Line 73: Line 76:
 
talkpage.innerHTML = "Article-ToDo";
 
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);
 
var discordtab = tab.cloneNode(true);
 
discordtab.setAttribute("class","new");
 
discordtab.setAttribute("class","new");
 
var discord = discordtab.firstChild.firstChild;
 
var discord = discordtab.firstChild.firstChild;
  
discord.setAttribute("title","Discussion about the wiki or pages[alt-shift-t]");
+
discord.setAttribute("title","Discussion about the wiki or pages");
 
discord.innerHTML = "Discussion";
 
discord.innerHTML = "Discussion";
 
discord.href = window.document.getElementById('n-Official-VCC-Discord').firstChild.href;
 
discord.href = window.document.getElementById('n-Official-VCC-Discord').firstChild.href;

Revision as of 03:22, 22 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 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);
}