MediaWiki:Common.js: Cudahiya di navbera guhartoyan de
Content deleted Content added
Rêvîsyona 218859 yê George Animal (guftûgo) şondakir |
Kurteya guhartinê tine |
||
Rêz 145: | Rêz 145: | ||
if(wgNamespaceNumber != 0){ //In tutti i NS fuor che quello principale |
if(wgNamespaceNumber != 0){ //In tutti i NS fuor che quello principale |
||
document.cookie = "hidetoc=0"; |
document.cookie = "hidetoc=0"; |
||
} |
|||
// Import MediaWiki:Onlyifediting.js (MediaWiki:Edittools) |
|||
if( wgAction == 'edit' || wgAction == 'submit' ) { |
|||
importScript( 'MediaWiki:Onlyifediting.js' ); |
|||
} |
} |
||
Guhartoya 17:47, 7 nîsan 2011
/* Imported from en.wiktionary: http://en.wiktionary.org/wiki/MediaWiki:Common.js */
/* Any JavaScript here will be loaded for all users on every page load. */
/*</pre>
== JavaScript standard library ==
<pre>*/
/*</pre>
=== importScript ===
<pre>*/
/**
* importScript inserts a javascript page either
* from Wiktionary: importScript('User:Connel MacKensie/yetanother.js');
* from another Wikimedia wiki: importScript('User:Lupin/insane.js','en.wikipedia.org');
*
* by specifying the third argument, an oldid can be passed to ensure that updates to the script are not included.
* by specifying the fourth argument, a specific version of JavaScript can be declared.
*
* based on [[w:MediaWiki:Common.js]] 2007-11-29
**/
function importScript(page, wiki, oldid, jsver) {
//Default to local
if(!wiki)
wiki=wgScript;
else
wiki='http://'+escape(wiki)+'/w/index.php';
var url = wiki + '?title='
+ encodeURIComponent(page.replace(/ /g, '_')).replace(/%2F/ig, '/').replace(/%3A/ig, ':')
+ (oldid?'&oldid='+encodeURIComponent( oldid ):'')
+ '&action=raw&ctype=text/javascript';
//Only include scripts once
if(loadedScripts[url])
return false;
loadedScripts[url] = true;
var scriptElem = document.createElement("script");
scriptElem.setAttribute("src",url);
scriptElem.setAttribute("type", jsver ? "application/javascript;version=" + jsver : "text/javascript");
document.getElementsByTagName("head")[0].appendChild(scriptElem);
return true;
}
/*</pre>
<pre>*/
// Char-Subset
function chooseCharSubset2(s) {
var l = document.getElementById('newarticletext').getElementsByTagName('p');
var l = $('newarticletext').getElementsByTagName('p');
for (var i = 0; i < l.length ; i++) {
l[i].style.display = i == s ? 'inline' : 'none';
}
}
/*</pre>
<pre>*/
/* MediaWiki:Edittools */
var load_edittools = true;
// extra drop down menu on editing for adding special characters
importScript( 'MediaWiki:Edittools.js' );
// Editpage scripts
if( wgAction == 'edit' || wgAction == 'submit' ) {
importScript( 'MediaWiki:Editpage.js' );
}
/*</pre>
=== importExternalScript ===
<pre>*/
/**
* importExternalScript inserts a javascript page
* from anywhere including your local hard drive: importExternalScript('file:///C:/Documents%20and%20Settings/Andrew/My%20Documents/apitest.js');
*
* based on importScript above 2008-01-21
* replaced with stub to similar function in wikibits.js 2010-02
**/
function importExternalScript(url) {
return importScriptURI(url);
}
/*</pre>
=== DOM creation ===
<pre>*/
/**
* Create a new DOM node for the current document.
* Basic usage: var mySpan = newNode('span', "Hello World!")
* Supports attributes and event handlers*: var mySpan = newNode('span', {style:"color: red", focus: function(){alert(this)}, id:"hello"}, "World, Hello!")
* Also allows nesting to create trees: var myPar = newNode('p', newNode('b',{style:"color: blue"},"Hello"), mySpan)
*
* *event handlers, there are some issues with IE6 not registering event handlers on some nodes that are not yet attached to the DOM,
* it may be safer to add event handlers later manually.
**/
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;
}
/*</pre>
=="Tabloya naverrokê" veşêre ==
<pre>*/
//indice nascosto Solo in NS0
//Di [[User:Wim b]]
if(wgNamespaceNumber == 0){ //Solo nelle pagine dei lemmi
document.cookie = "hidetoc=1";
}
if(wgNamespaceNumber != 0){ //In tutti i NS fuor che quello principale
document.cookie = "hidetoc=0";
}
// Import MediaWiki:Onlyifediting.js (MediaWiki:Edittools)
if( wgAction == 'edit' || wgAction == 'submit' ) {
importScript( 'MediaWiki:Onlyifediting.js' );
}
/*</pre>
=== CSS ===
<pre>*/
/* Cross browser CSS - yurk */
var p_styleSheet=false;
window.addCSSRule = function (selector,cssText){
if(!p_styleSheet) return setupCSS(selector,cssText);
if(p_styleSheet.insertRule){
p_styleSheet.insertRule( selector+' { '+cssText+' }', p_styleSheet.cssRules.length );
}else if(p_styleSheet.addRule){ //Guess who...
p_styleSheet.addRule(selector,cssText);
}
function setupCSS(selector,cssText){
if(document.styleSheets){
var i = document.styleSheets.length-1;
while(i>=0){
try{ //This loop tries to get around the irritation that some extensions
//include external, and thus read-only, stylesheets. Bah.
p_styleSheet = document.styleSheets[i];
var media = p_styleSheet.media.mediaType?p_styleSheet.media.mediaType:p_styleSheet.media;
if( media.indexOf('screen') > -1 || media == '' ){
addCSSRule(selector,cssText);
return true;
}
}catch(e){ i--; }
}
}
//Ok document.stylesheets isn't an option :(... take this for hacky
//It might be better to create one <style> element and write into it
// but it doesn't work :(
window.addCSSRule = function(sel,css){
var head = document.getElementsByTagName('head')[0];
var text = sel + '{' + css + '}';
try { head.innerHTML += '<style type="text/css">' + text + '</style>'; }
catch(e) {
var style = document.createElement('style');
style.setAttribute('type', 'text/css');
style.appendChild(document.createTextNode(text));
head.appendChild(style);
}
}
addCSSRule(selector,cssText);
}
}
/*</pre>
=== Cookies ===
<pre>*/
function setCookie(cookieName, cookieValue) {
var today = new Date();
var expire = new Date();
var nDays = 30;
expire.setTime( today.getTime() + (3600000 * 24 * nDays) );
document.cookie = cookieName + "=" + escape(cookieValue)
+ ";path=/"
+ ";expires="+expire.toGMTString();
// We need to delete the more specific paths for the next while. Safe to remove this by July 2011, if not before.
document.cookie = cookieName + "=" + ";path=/w" +
";expires=Thu, 01-Jan-1970 00:00:01 GMT";
document.cookie = cookieName + "=" + ";path=/wiki" +
";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}
function getCookie(cookieName) {
var start = document.cookie.indexOf( cookieName + "=" );
if ( start == -1 ) return "";
var len = start + cookieName.length + 1;
if ( ( !start ) &&
( cookieName != document.cookie.substring( 0, cookieName.length ) ) )
{
return "";
}
var end = document.cookie.indexOf( ";", len );
if ( end == -1 ) end = document.cookie.length;
return unescape( document.cookie.substring( len, end ) );
}
function deleteCookie(cookieName) {
if ( getCookie(cookieName) ) {
document.cookie = cookieName + "=" + ";path=/" +
";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}
}
// [biguherîne]-Lînk
// Folgendes Script basiert auf einem Element aus dem MediaWiki:Monobook.js in der französischen
// Wikipedia und steht unter unter der GNU Lizenz für freie Dokumentation. Der Autor des Codes ist
// Marc Mongenet, Copyright 2006.
setModifySectionStyle = function()
{
try {
if (!(typeof oldEditsectionLinks == 'undefined' || oldEditsectionLinks == false)) return;
var spans = document.getElementsByTagName("span");
for (var s = 0; s < spans.length; ++s) {
var span = spans[s];
if (span.className == "editsection") {
span.style.fontSize = "x-small";
span.style.fontWeight = "normal";
span.style.cssFloat = span.style.styleFloat = "none";
span.parentNode.appendChild(document.createTextNode(" "));
span.parentNode.appendChild(span);
}
}
} catch (e) { /* something went wrong */ }
}
addOnloadHook(setModifySectionStyle);
/*</pre>
=== NavBars ===
<pre>*/
var NavigationBarHide = 'veşêre ▲';
var NavigationBarShow = 'nîşan bide ▼';
function createNavToggle(navFrame)
{
var navHead, navToggle, navContent;
for (var j=0; j < navFrame.childNodes.length; j++) {
var div = navFrame.childNodes[j];
switch (div.className) {
case 'NavHead':
navHead = div;
break;
case 'NavContent':
navContent = div;
break;
}
}
if (!navHead || !navContent)
return;
// Step 1, don't react when a subitem is clicked.
for (var i=0; i<navHead.childNodes.length; i++) {
var child = navHead.childNodes[i];
if (child.nodeType == 1) {
child.onclick = function (e)
{
if (e && e.stopPropagation)
e.stopPropagation();
else
window.event.cancelBubble = true;
}
}
}
// Step 2, toggle visibility when bar is clicked.
// NOTE This function was chosen due to some funny behaviour in Safari.
navToggle = newNode('a', {href: 'javascript:(function(){})()'}, '');
navHead.insertBefore(newNode('span', {'class': 'NavToggle'}, '[', navToggle, ']'), navHead.firstChild);
navHead.style.cursor = "pointer";
var nameTitle = navFrame.title.split('/');
function show() {
nameTitle[1] ? navToggle.innerHTML = nameTitle[1] : navToggle.innerHTML = NavigationBarHide;
if (navContent)
navContent.style.display = "block";
}
function hide() {
nameTitle[2] ? navToggle.innerHTML = nameTitle[2] : navToggle.innerHTML = NavigationBarShow;
if (navContent)
navContent.style.display = "none";
}
nameTitle[0] == 'collapsed' ? hide() : show();
navHead.onclick = function (){
navToggle.innerHTML == (nameTitle[2] || NavigationBarShow) ? show() : hide();
};
};
addOnloadHook( function ()
{
var divs;
if (document.getElementsByClassName)
divs = document.getElementsByClassName('NavFrame');
else
divs = document.getElementsByTagName('div');
for (var i=0; i<divs.length; i++) {
// NOTE: some templates use a class of NavFrame for the style, but for legacy reasons, are not NavFrames
if (divs[i].className == "NavFrame") {
createNavToggle(divs[i]);
}
}
});
/*
== Wîkîferheng:Destpêk ==
Xal → Serûpel; + iterwiki: Hemû lîst
*/
if (wgPageName == 'Destpêk' || wgPageName == 'Nîqaş:Destpêk'){
addOnloadHook(function () {
addPortletLink('p-lang', 'http://meta.wikimedia.org/wiki/Wiktionary#List_of_Wiktionaries',
'Hemû lîst', 'interwiki-completelist')
var nstab = document.getElementById('ca-nstab-main')
if (nstab && wgUserLanguage=='ku') {
while (nstab.firstChild) nstab = nstab.firstChild
nstab.nodeValue = 'Serûpel'
}
}
)
}
/*== HERE STARTS THE WORKING-CODE OF "METABOXES" ==
Imported from fr.wiktionary
Fonctionnement du [[Modèle:Cadre à onglets]]
Modèle implanté par User:Peleguer de http://ca.wikipedia.org
Actualisé par User:Joanjoc de http://ca.wikipedia.org
Traduction et adaptation User:Antaya de http://fr.wikipedia.org
Importation sur le Wiktionnaire par JackPotte
*/
function Metaboxes(){
var i=0
for (i=0;i<=9;i++){
var vMb = document.getElementById("mb"+i);
if (!vMb) break;
var j=1
var vOgIni = 0
for (j=1;j<=9;j++){
var vBt = document.getElementById("mb"+i+"bt"+j);
if (!vBt) break;
vBt.onclick = MetaboxBorderViewTag
if (vBt.className=="mbButtonSel") vOgIni=j;
}
if (vOgIni == 0) {
vOgIni = 1+Math.floor((j-1)*Math.random()) ;
document.getElementById("mb"+i+"og"+vOgIni).style.display = "block";
document.getElementById("mb"+i+"og"+vOgIni).style.visibility = "visible";
document.getElementById("mb"+i+"bt"+vOgIni).className="mbButtonSel";
}
}
}
function MetaboxBorderViewTag(){
var vMbNom = this.id.substr(0,3);
var vIndex = this.id.substr(5,1);
var i=1
for (i=1;i<=9;i++){
var vOgElem = document.getElementById(vMbNom+"og"+i);
if (!vOgElem) break;
if (vIndex==i){
vOgElem.style.display = "block";
vOgElem.style.visibility = "visible";
document.getElementById(vMbNom+"bt"+i).className="mbButtonSel";
} else {
vOgElem.style.display = "none";
vOgElem.style.visibility = "hidden";
document.getElementById(vMbNom+"bt"+i).className="mbButton";
}
}
return false;
}
addOnloadHook(Metaboxes);