MediaWiki:Common.js

Iš Wikibooks.

Dėmesio: Išsaugojus jums gali prireikti išvalyti jūsų naršyklės podėlį, kad pamatytumėte pokyčius.

  • Firefox / Safari: Laikydami Shift pasirinkite Perkrauti, arba paspauskite Ctrl-F5 ar Ctrl-R (sistemoje Apple Mac ⌘-R)
  • Google Chrome: Spauskite Ctrl-Shift-R (sistemoje Apple Mac ⌘-Shift-R)
  • Internet Explorer / Edge: Laikydami Ctrl paspauskite Naujinti, arba paspauskite Ctrl-F5
  • Opera: Eikite į Meniu → Nuostatos (sistemoje Apple Mac Opera → Nustatymai), tuomet Privatumas ir sauga → išvalyti naršymo podėlį → išsaugotos talpyklos vaizdai ir failai.
/* Bet koks čia parašytas JavaScript bus paleistas kieviename puslapyje kievienam naudotojui. */

 // ============================================================
 // BEGIN import Onlyifediting-functions
 // SEE ALSO [[MediaWiki:Onlyifediting.js]]
 
 // END import Onlyifediting-functions
 // ============================================================
/*
 
//============================================================
//
// Įrankių juosta
//
//============================================================
 
//============================================================
// Lentelės šablonas
//============================================================
 
/**
 *
 * English: Generate an array using Mediawiki syntax
 *
 * @author: fr:user:dake
 * @version: 0.1
 */
 
function generateTableau(nbCol, nbRow, border, styleHeader, styleLine)
{
	var code = "\n";
	if (styleHeader==1) {
		code += '{'+'{lentelės viršus}'+'}\n';
	} else {
		code += '{| border="' + border + '"\n';
		code += '|+ Lentelės pavadinimas\n';
	}
 
	for (var i=0;i<nbCol;i++) code += '! antraštė ' + i + '\n'
 
	for (var j=0;j<nbRow;j++) {
		if ((j+1)%2==0 && styleLine==1) {
			code += '|-{'+'{pilka eilutė}'+'}\n'
		} else {		
			code += '|-----\n'
		}
 
		for (var i=0;i<nbCol;i++) code += '| celė\n';
	}
 
	code += '|}';
	insertTags('','', code); 
}
 
/**
 *
 * English: Open a popup with parameters to generate an array. 
 * The number of rows/columns can be modified. Some additional
 * parameters are related to templates available on :fr
 *
 * @author: fr:user:dake
 * @version: 0.1
 */
 
function popupTableau()
{
  var popup = window.open('','name','height=400,width=500');
 
  javaCode =  '<script type="text\/javascript">function insertCode(){';
  javaCode += 'var row = parseInt(document.paramForm.inputRow.value); '
  javaCode += 'var col = parseInt(document.paramForm.inputCol.value); '
  javaCode += 'var bord = parseInt(document.paramForm.inputBorder.value); '
  javaCode += 'var styleHeader = document.paramForm.inputHeader.checked; '
  javaCode += 'var styleLine = document.paramForm.inputLine.checked; '
  javaCode += 'window.opener.generateTableau(col,row,bord,styleHeader,styleLine); '
  javaCode += '}<\/script>';
 
  popup.document.write('<html><head><title>Lentelės įterpimas</title>');
  popup.document.write(javaCode); 
  popup.document.write('</head><body>');
  popup.document.write('<p>Prašome pasirinkti įterpiamos lentelės parametrus: </p>');
  popup.document.write('<form name="paramForm"><table border=0>');
  popup.document.write('<tr><td>Eilučių skaičius:</td><td><input type="text" name="inputRow" value="3" ></td></tr>');
  popup.document.write('<tr><td>Stulpelių skaičius:</td><td><input type="text" name="inputCol" value="3" ></td></tr>');
  popup.document.write('<tr><td>Linijos storis:</td><td><input type="text" name="inputBorder" value="1" ></td></tr>');
  popup.document.write('<tr><td>Paryškinta antraštinė eilutė:</td><td><input type="checkbox" name="inputHeader" checked="1" ></td></tr>');
  popup.document.write('<tr><td>Keisti spalvą (kas antrą eilutę):</td><td><input type="checkbox" name="inputLine" checked="1" ></td></tr>');
  popup.document.write('</table></form">');
  popup.document.write('<p><a href="javascript:insertCode()">Įterpti kodą</a></p>');
  popup.document.write('<p><a href="javascript:self.close()">Uždaryti</a></p>');
  popup.document.write('</body></html>');
  popup.document.close();
}
 
//============================================================
// Papildomų ikonų pridėjimas įrankių juostoje
//============================================================

//Ressemble à la fonction de /w/skins/common/wikibits.js pour insérer un autre lien que insertTags
function marque_tab()
{
 var toolbar = document.getElementById('toolbar');
 if (!toolbar) return false;
 
 var textbox = document.getElementById('wpTextbox1');
 if (!textbox) return false;
 
 if (!document.selection && textbox.selectionStart == null)
 return false;
 
 var image = document.createElement("img");
 image.width = 23;
 image.height = 22;
 image.src = '//upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png';
 image.border = 0;
 image.alt = 'Lentelė';
 image.title = 'Lentelė';
 image.style.cursor = "pointer";
 image.onclick = function() {
   popupTableau();
   return false;
 }
 toolbar.appendChild(image);
}
 
jQuery('document').ready(marque_tab);

 // BEGIN import Onlyifuploading-functions
 // SEE ALSO [[MediaWiki:Upload.js]]
 
 if (  mw.config.get('wgCanonicalSpecialPageName') == "Upload" ) {
     importScript('MediaWiki:Upload.js');
 }
 
 // END import Onlyifuploading-functions

 
/* DOM abbreviation function */
function newNode(tagname){
 
  var node = document.createElement(tagname);
 
  for( var i=1;i<arguments.length;i++ ){
 
    if(typeof arguments[i] == 'string'){ //Text
      node.appendChild( document.createTextNode(arguments[i]) );
 
    }else if(typeof arguments[i] == 'object'){ 
 
      if(arguments[i].nodeName){ //If it is a DOM Node
        node.appendChild(arguments[i]);
 
      }else{ //Attributes (hopefully)
        for(var j in arguments[i]){
          if(j == 'class'){ //Classname different because...
            node.className = arguments[i][j];
 
          }else if(j == 'style'){ //Style is special
            node.style.cssText = arguments[i][j];
 
          }else if(typeof arguments[i][j] == 'function'){ //Basic event handlers
            try{ node.addEventListener(j,arguments[i][j],false); //W3C
            }catch(e){try{ node.attachEvent('on'+j,arguments[i][j],"Language"); //MSIE
            }catch(e){ node['on'+j]=arguments[i][j]; }}; //Legacy
 
          }else{
            node.setAttribute(j,arguments[i][j]); //Normal attributes
 
          }
        }
      }
    }
  }
 
  return node;
}