MediaWiki:Common.js: Ózgerisler arasındaǵı ayırmashılıq

Wikipedia, erkin enciklopediya
Content deleted Content added
AlefZet (talqılaw | úlesi)
Өңдеу түйіні жоқ
AlefZet (talqılaw | úlesi)
Өңдеу түйіні жоқ
Qatar No 282: Qatar No 282:
== Transforming 'Village Pump' to Discussion pages ==
== Transforming 'Village Pump' to Discussion pages ==
*/
*/
/*
function DiscussionBistro() {
function DiscussionBistro() {
if(document.title.search("Wikipedia:Forum") != -1)
if(document.title.search("Wikipedia:Forum") != -1)
Qatar No 289: Qatar No 288:


addOnloadHook(DiscussionBistro);
addOnloadHook(DiscussionBistro);
*/
/*
/*



13:04, 2008 j. iyunnıń 21 waqtındaǵı nusqası

/*<source lang="javascript">*/
/* 
== Global configuration ==

Override these default settings in your [[Special:Mypage/monobook.js]]
for Example: JSconfig.loadAutoInformationTemplate = false;
*/

var JSconfig =
{
	loadAutoInformationTemplate : true,
	loadEditToolsStyleCompact : true
};

/* Disable code in table sorting routine to set classes on even/odd rows [[User:Random832]] */
ts_alternate_row_colors = false;
/*

== Import an external JavaScript ==
*/
var isMSIE = ((navigator.appName == 'Microsoft Internet Explorer' ) > 0);
var isNoSpecial = (wgCanonicalNamespace != "Special");
var isUpload = ((wgCanonicalNamespace == "Special") && (wgCanonicalSpecialPageName == "Upload"));
var isEdit = ((document.URL.indexOf("action=edit") > 0 || document.URL.indexOf("action=submit") > 0) && !document.getElementById('ca-viewsource') > 0);

// Add MSIE fixes 
if (isMSIE) { importScript( "MediaWiki:Iefixesplus.js" ); }

// Add Main page layout fix
if (wgTitle == 'Bas bet') { importScript( "MediaWiki:Mainpage.js" ); }

// Add editing stuff (toolbar buttons, template pull-down menu etc) for registered users
if (isEdit && isNoSpecial) { importScript( "MediaWiki:Editplus.js" ); }


// Add script for charsets pull-down menu
if (isEdit || isUpload) { importScript( "MediaWiki:Edittools.js" ); }

//Fix "Upload file" link when using the secure proxy
//This is a workaround that can be removed when bug 10843 is fixed

addOnloadHook(function() {
	if (document.getElementById("t-upload"))
	{
		document.getElementById("t-upload").getElementsByTagName("a")[0].href = wgArticlePath.replace("$1", "Wikipedia:Aploud_qılıw")
	}
})
// uploadwizard_newusers Switches in a message for non-autoconfirmed users at [[Wikipedia:Aploud qılıw]]
function uploadwizard_newusers() {
  if (wgNamespaceNumber == 4 && wgTitle == "Aploud qılıw" && wgAction == "view") {
    var oldDiv = document.getElementById("autoconfirmedusers"),
        newDiv = document.getElementById("newusers");
    if (oldDiv && newDiv) {
      for (i = 0; i < wgUserGroups.length; i++) {
        if (wgUserGroups[i] == "autoconfirmed") {
          oldDiv.style.display = "block";
          newDiv.style.display = "none";
          return;
        }
      }

      oldDiv.style.display = "none";
      newDiv.style.display = "block";
    }
  }
}
addOnloadHook(uploadwizard_newusers);

// WikiMiniAtlas 
/*
if (wgServer == "https://secure.wikimedia.org") {
	var metaBase = "https://secure.wikimedia.org/wikipedia/meta";
} else {
	var metaBase = "http://meta.wikimedia.org";
}
importScriptURI(metaBase+"/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript&smaxage=21600&maxage=86400")
*/
/*

== Execute function on page load ==
*/
function addLoadEvent( f ) { addOnloadHook( f ); }

/*

== Test if an element has a certain class ==
*/
var hasClass = (function () {
	var reCache = {};
	return function (element, className) {
		return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
	};
})();

/*

== Collapsible tables ==
*/
var autoCollapse = 2;

var collapseCaption  = "jasır";
var expandCaption = "ko'rset";

function collapseTable( tableIndex ) {
	var Button = document.getElementById( "collapseButton" + tableIndex );
	var Table = document.getElementById( "collapsibleTable" + tableIndex );

	if ( !Table || !Button ) {
		return false;
	}

	var Rows = Table.rows;

	if ( Button.firstChild.data == collapseCaption ) {
		for ( var i = 1; i < Rows.length; i++ ) {
			Rows[i].style.display = "none";
		}
		Button.firstChild.data = expandCaption;
	} else {
		for ( var i = 1; i < Rows.length; i++ ) {
			 Rows[i].style.display = Rows[0].style.display;
		}
		Button.firstChild.data = collapseCaption;
	}
}

function createCollapseButtons() {
	var tableIndex = 0;
	var NavigationBoxes = new Object();
	var Tables = document.getElementsByTagName( "table" );

	for ( var i = 0; i < Tables.length; i++ ) {
		if ( hasClass( Tables[i], "collapsible" ) ) {

			/* only add button and increment count if there is a header row to work with */
			var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
			if (!HeaderRow) continue;
			var Header = HeaderRow.getElementsByTagName( "th" )[0];
			if (!Header) continue;

			NavigationBoxes[ tableIndex ] = Tables[i];
			Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );

			var Button	 = document.createElement( "span" );
			var ButtonLink = document.createElement( "a" );
			var ButtonText = document.createTextNode( collapseCaption );

			Button.style.styleFloat = "right";
			Button.style.cssFloat = "right";
			Button.style.fontWeight = "normal";
			Button.style.textAlign = "right";
			Button.style.width = "6em";

			ButtonLink.style.color = Header.style.color;
			ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
			ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" );
			ButtonLink.appendChild( ButtonText );

			Button.appendChild( document.createTextNode( "[" ) );
			Button.appendChild( ButtonLink );
			Button.appendChild( document.createTextNode( "]" ) );
 
			Header.insertBefore( Button, Header.childNodes[0] );
			tableIndex++;
		}
	}

	for ( var i = 0;  i < tableIndex; i++ ) {
		if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) {
			collapseTable( i );
		}
	}
}

addOnloadHook( createCollapseButtons );

/*

== Dynamic Navigation Bars ==
*/
var NavigationBarHide  = "jasır";
var NavigationBarShow = "ko'rset";

// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
function toggleNavigationBar(indexNavigationBar) {
	var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
	var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);

	if (!NavFrame || !NavToggle) {
		return false;
	}

	// if shown now
	if (NavToggle.firstChild.data == NavigationBarHide) {
		for (
				var NavChild = NavFrame.firstChild;
				NavChild != null;
				NavChild = NavChild.nextSibling
			) {
			if ( hasClass( NavChild, 'NavPic' ) ) {
				NavChild.style.display = 'none';
			}
			if ( hasClass( NavChild, 'NavContent') ) {
				NavChild.style.display = 'none';
			}
		}
	NavToggle.firstChild.data = NavigationBarShow;

	// if hidden now
	} else if (NavToggle.firstChild.data == NavigationBarShow) {
		for (
				var NavChild = NavFrame.firstChild;
				NavChild != null;
				NavChild = NavChild.nextSibling
			) {
			if (hasClass(NavChild, 'NavPic')) {
				NavChild.style.display = 'block';
			}
			if (hasClass(NavChild, 'NavContent')) {
				 NavChild.style.display = 'block';
			}
		}
	NavToggle.firstChild.data = NavigationBarHide;
	}
}

// adds show/hide-button to navigation bars
function createNavigationBarToggleButton() {
	var indexNavigationBar = 0;
	// iterate over all < div >-elements 
	var divs = document.getElementsByTagName("div");
	for(
			var i=0; 
			NavFrame = divs[i]; 
			i++
		) {
		// if found a navigation bar
		if (hasClass(NavFrame, "NavFrame")) {

			indexNavigationBar++;
			var NavToggle = document.createElement("a");
			NavToggle.className = 'NavToggle';
			NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
			NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');

			var NavToggleText = document.createTextNode(NavigationBarHide);
			for (
				var NavChild = NavFrame.firstChild;
				NavChild != null;
				NavChild = NavChild.nextSibling
				) {
				if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent' ) ) {
					if (NavChild.style.display == 'none') {
						 NavToggleText = document.createTextNode(NavigationBarShow);
						 break;
					}
				}
			}

			NavToggle.appendChild(NavToggleText);
			// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
			for(
				var j=0; 
				j < NavFrame.childNodes.length; 
				j++
			) {
				if (hasClass(NavFrame.childNodes[j], "NavHead")) {
					NavFrame.childNodes[j].appendChild(NavToggle);
				}
			}
			NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
		}
	}
}

addOnloadHook( createNavigationBarToggleButton );

/*

== Transforming 'Village Pump' to Discussion pages ==
*/
function DiscussionBistro() {
	if(document.title.search("Wikipedia:Forum") != -1)
		document.body.className = "ns-1";
}

addOnloadHook(DiscussionBistro);
/*

== "Star" logo for Featured Articles ==
*/
function LinkFA()  {
	if ( document.getElementById( "p-lang" ) ) {
		var InterwikiLinks = document.getElementById( "p-lang" ).getElementsByTagName( "li" );

		for ( var i = 0; i < InterwikiLinks.length; i++ ) {
			if ( document.getElementById( InterwikiLinks[i].className + "-fa" ) ) {
				InterwikiLinks[i].className += " FA"
				InterwikiLinks[i].title = "Bul basqa tildegi saylandı maqala.";
			}
			if ( document.getElementById( InterwikiLinks[i].className + "-ga" ) ) {
				InterwikiLinks[i].className += " GA"
				InterwikiLinks[i].title = "Bul basqa tildegi asqan maqala.";
			}

		}
	}
}

addOnloadHook( LinkFA );

// Configuration for "star" logo at the top of Featured Articles 
function StarFA() {
	if (document.getElementById("FA")) {
		document.body.className += " FA";
		for (var i = 0; a = document.getElementsByTagName("h1")[i]; i++) {
			if (a.className == "firstHeading") {
				a.title = "Saylandı maqala";
			}
		}
	}
}

addOnloadHook(StarFA);

/*</source>*/