მედიავიკი:Common.js
იერსახე
შენიშვნა: შენახვის შემდეგ შესაძლოა დაგჭირდეთ ბრაუზერის ქეშის გაწმენდა ცვლილებების სანახავად. Mozilla / Firefox / Safari: დააჭირეთ Shift Reload-ზე დაწკაპებისას, ან დააჭირეთ Ctrl-Shift-R (Cmd-Shift-R Apple Mac-ზე); IE: დააჭირეთ Ctrl Refresh-ზე დაწკაპებისას, ან დააჭირეთ Ctrl-F5; Konqueror:: მხოლოდ დააწკაპეთ Reload ღილაკს, ან დააჭირეთ F5; Opera შესაძლოა საჭირო გახდეს ქეშის სრულიად გაწმენდა Tools→Preferences-დან.
/* ძველი ვერსია*/
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 = "ამ სტატიას მიენიჭა რჩეულის სტატუსი";
}
}
}
}
$(LinkFA);
// ============================================================
// BEGIN Dynamic Navigation Bars (experimantal)
// set up the words in your language
var NavigationBarHide = '[ დამალვა ]';
var NavigationBarShow = '[ ჩვენება ]';
// set up max count of Navigation Bars on page,
// if there are more, all will be hidden
// NavigationBarShowDefault = 0; // all bars will be hidden
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
var NavigationBarShowDefault = 1;
// 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 (NavChild.className == 'NavPic') {
NavChild.style.display = 'none';
}
if (NavChild.className == '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 (NavChild.className == 'NavPic') {
NavChild.style.display = 'block';
}
if (NavChild.className == '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
for(
var i=0;
NavFrame = document.getElementsByTagName("div")[i];
i++
) {
// if found a navigation bar
if (NavFrame.className == "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);
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 (NavFrame.childNodes[j].className == "NavHead") {
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
// if more Navigation Bars found than Default: hide all
if (NavigationBarShowDefault < indexNavigationBar) {
for(
var i=1;
i<=indexNavigationBar;
i++
) {
toggleNavigationBar(i);
}
}
}
$(createNavigationBarToggleButton);
// END Dynamic Navigation Bars
// ============================================================
var isDiff = (document.location.search && (document.location.search.indexOf("diff=") != -1 || document.location.search.indexOf("oldid=") != -1));
if (mw.config.get('wgIsMainPage') && !isDiff) {
mw.util.addCSS('#lastmod, #siteSub, #contentSub, h1.firstHeading { display: none !important; }');
var mpSmallEnabled;
var mpMinWidth = 700;
function mainPageTransform()
{
var mpContentEl = document.getElementById("bodyContent");
var mpBrowseEl = document.getElementById("EnWpMpBrowse");
var mpContainEl = document.getElementById("EnWpMpBrowseContainer");
var mpMarginEl = document.getElementById("EnWpMpMargin");
var mpEl = document.getElementById("EnWpMainPage");
if (!mpContentEl || !mpBrowseEl || !mpContainEl || !mpMarginEl || !mpEl)
return;
if (!mpSmallEnabled && mpContentEl.offsetWidth < mpMinWidth) {
mpContainEl.insertBefore(mpBrowseEl, mpContainEl.firstChild);
mpBrowseEl.className = "EnWpMpBrowseBottom";
mpMarginEl.style.marginRight = 0;
mpSmallEnabled = true;
}
else if (mpSmallEnabled && mpContentEl.offsetWidth > mpMinWidth)
{
mpEl.insertBefore(mpBrowseEl, mpEl.firstChild);
mpBrowseEl.className = "EnWpMpBrowseRight";
mpMarginEl.style.marginRight = "13.8em";
mpSmallEnabled = false;
}
}
mw.loader.using('mediawiki.util', function () {
$(document).ready(mainPageTransform);
$(window).resize(mainPageTransform);
})
}
// ============================================================
// სექციის რედაქტირების ბმულის დაპატარავება/დაახლოება ქვესათაურთან
/*
* moveEditsection
* ეს სკრიპტი აახლოებს ბმულს [რედაქტირება] სექციის სათაურთან და ამცირებს;
* ინგლისურში [edit] მოკლეა, ქართულში კი გრძელია და ვიზუალურად აუმჯობესებს.
* დადებითი ტესტი განხორციელდა: Firefox 1.0, Opera 8.0, Internet Explorer 6.0
*
* dbenzhuser (de:Benutzer:Dbenzhuser)
*/
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 = "xx-small";
span.style.fontWeight = "normal";
span.style.cssFloat = span.style.styleFloat = "none";
span.className = "editsectionmoved";
span.parentNode.appendChild(document.createTextNode(" "));
span.parentNode.appendChild(span);
}
}
} catch (e) { /* something went wrong */ }
}
$(setModifySectionStyle);
// ===========================================================
// რედაქტირების ბმულის გადატანის სკრიპტის დასასრული
// ===========================================================
// ===========================================================
// ცხრილის შემქმნელი
// ===========================================================
/**
*
* შექმენი ცხრილი მედიავიკის სინტაქსის მეშვეობით
* @version: 0.1
*/
function generateTableau(nbCol, nbRow, border, styleHeader, styleLine, exfield, align, padding)
{
var code = "\n";
if (padding==false) padding=0;
else if (padding==true) padding=1;
if (styleHeader==1) {
code += '{| border="' + border + '" align="' + align + '" style="text-align: center; background: #FFFFFF;"\n';
code += "|'''ცხრილის სახელი'''\n";
code += '{{' + 'სტანდარტული ცხრილი|' + padding + '}}\n';
} else {
code += '{| border="1" align="' + align + '" style="text-align: center; background: #FFFFFF;"\n';
code += '|+\n';
}
if (exfield==true) code += '!\n';
for (var i=1;i<nbCol+1;i++) code += '! style="background: #ddffdd;"|ველი ' + i + '\n';
var items = 0;
for (var j=0;j<nbRow;j++) {
if ((j+1)%2==0 && styleLine==1 && exfield==true) {
items+=1;
code += '|-bgcolor="#EFEFEF"\n'
code += '! style="background: #ffdddd;"|დასახელება ' + items + '\n';
}
else if ((j+1)%2==0 && styleLine==1 && exfield==false) {
code += '|-bgcolor="#EFEFEF"\n'
} else if (exfield==true) {
items+=1;
code += '|-----\n'
code += '! style="background: #ffdddd;"|დასახელება ' + items + '\n';
}
else if (exfield==false) {
code += '|-----\n'
}
for (var i=0;i<nbCol;i++) code += '| ელემენტი\n';
}
if (styleHeader==1) code += '|}\n';
else code += '|+\n';
code += '|}\n';
insertTags('','', code);
}
/**
*
* გახსენი მცირე ფანჯარა ცხრილის პარამეტრების მისათითებლად.
* სვეტების და ხაზების რაოდენობა შეიძლება შეიცვალოს. ზოგიერთი დამატებითი
* პარამეტრი მსგავსია ფრანგულ ვიკიზე არსებული თარგების
* @version: 0.1
*/
function popupTable()
{
var popup = window.open('','name','height=450,width=500,scrollbars=yes');
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 += 'var exfield = document.paramForm.inputItems.checked; '
javaCode += 'var align = document.paramForm.inputAlign.value; '
javaCode += 'var padding = document.paramForm.inputPad.checked; '
javaCode += 'window.opener.generateTableau(col,row,bord,styleHeader,styleLine,exfield,align,padding); '
javaCode += "alert('ცხრილი შეიქმნა! ტექსტი \"სტანდარტული ცხრილი\" უნდა დარჩეს.'); "
javaCode += 'window.close(); '
javaCode += '}<\/script>';
popup.document.write('<html><head><title>შექმენი ცხრილი</title>');
popup.document.write(javaCode);
popup.document.write('</head><body>');
popup.document.write('<p>შეიყვანე ცხრილის პარამეტრები ქვემოთ: </p>');
popup.document.write('<form name="paramForm">');
popup.document.write('ცხრილის განლაგება: <input type="text" name="inputAlign" value="center" ><p>');
popup.document.write('რიგების რაოდენობა: <input type="text" name="inputRow" value="3" ><p>');
popup.document.write('სვეტების რაოდენობა: <input type="text" name="inputCol" value="3" ><p>');
popup.document.write('<input type="checkbox" name="inputHeader" checked="1" > ცხრილის სათაური<p>');
popup.document.write('ჩარჩოს სიგანე: <input type="text" name="inputBorder" value="1" > ' + ' ');
popup.document.write(' ' + '<input type="checkbox" name="inputPad" > გარეველი<p>');
popup.document.write('ცვლადი რუხი ზოლები: <input type="checkbox" name="inputLine" checked="1" ><p>');
popup.document.write('სვეტის ელემენტი: <input type="checkbox" name="inputItems" ><p>');
popup.document.write('</form">');
popup.document.write('<i>უპირობოდ ცხრილი შეიცავს ერთი რიგის ველებს.</i><p>');
popup.document.write('მონიშნეთ "სვეტის ელემენტი" ცხრილისთვის ველის რიგის <i>და</i> სვეტის ელემენტის მისაცემად.</i><p>');
popup.document.write('შენიშვნა:<i> "ჩარჩოს სიგანეს" ან "გარეველს" ვერ მიუთითებთ თუ "ცხრილის სათაური" არ არის მონიშნული.</i><p>');
popup.document.write('<p><a href="javascript:insertCode()"> ჩასვი ცხრილი</a> |');
popup.document.write(' <a href="javascript:self.close()">გაუქმება (ფანჯრის დახურვა)</a></p>');
popup.document.write('</body></html>');
popup.document.close();
}
//მსგავსია ფუნქციის /w/skins/common/wikibits.js
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 = 'Table';
image.title = 'ცხრილის შექმნა';
image.style.cursor = "pointer";
image.onclick = function() {
popupTable();
return false;
}
toolbar.appendChild(image);
}
$(marque_tab);
// ===========================================================
// დასასრული - დამატებითი ხელსაწყოები რედაქტირების ფანჯარაზე
// ===========================================================
// ===========================================================
// IP მომხმარებლები წინასწარ გადახედვის გარეშე გვერდს ვერ ინახავენ
// ===========================================================
// Force IP to preview before saving changes.
// Copyright Marc Mongenet, 2006
function forcePreview()
{
if (mw.config.get('wgUserName') != null || mw.config.get('wgAction') != "edit") return;
var saveButton = document.getElementById("wpSave");
if (!saveButton) return;
// if (location.search.search(/&action=edit/) == -1) return;
saveButton.disabled = true;
saveButton.value = "გვერდის შენახვა (გთხოვთ ჯერ გამოიყენოთ წინასწარ გადახედვა)";
saveButton.style.fontWeight = "normal";
document.getElementById("wpPreview").style.fontWeight = "bold";
}
$(forcePreview);
// ====================================================================
// დასასრული - IP მომხმარებლები წინასწარ გადახედვის გარეშე გვერდს ვერ ინახავენ
// ====================================================================
// ===========================================================
// კოდი თარგისთვის "ფოტოგალერეა"
// ===========================================================
/*** CODE FOR TEMPLATE:Scroll gallery ***/
function toggleImage(group, remindex, shwindex) {
document.getElementById("ImageGroupsGr"+group+"Im"+remindex).style.display="none";
document.getElementById("ImageGroupsGr"+group+"Im"+shwindex).style.display="inline";
}
function ImageGroup(){
if (document.URL.match(/printable/g)) return;
var bc=document.getElementById("bodyContent");
var divs=bc.getElementsByTagName("div");
var i = 0, j = 0;
var units, search;
var currentimage;
var UnitNode;
for (i = 0; i < divs.length ; i++) {
if (divs[i].className != "ImageGroup") continue;
UnitNode=undefined;
search=divs[i].getElementsByTagName("div");
for (j = 0; j < search.length ; j++) {
if (search[j].className != "ImageGroupUnits") continue;
UnitNode=search[j];
break;
}
if (UnitNode==undefined) continue;
units=Array();
for (j = 0 ; j < UnitNode.childNodes.length ; j++ ) {
var temp = UnitNode.childNodes[j];
if (['center', 'mw-halign-center'].some(function(className) { return temp.classList.contains(className); })) { units.push(temp); }
}
var wrap;
for (j = 0 ; j < units.length ; j++) {
currentimage=units[j];
wrap = document.createElement('div');
wrap.id = "ImageGroupsGr" + i + "Im" + j;
currentimage.parentNode.insertBefore(wrap, currentimage);
wrap.appendChild(currentimage);
var imghead = document.createElement("div");
var leftlink;
var rightlink;
if (j != 0) {
leftlink = document.createElement("a");
leftlink.href = "javascript:toggleImage("+i+","+j+","+(j-1)+");";
leftlink.innerHTML="◀";
} else {
leftlink = document.createElement("span");
leftlink.innerHTML=" ";
}
if (j != units.length - 1) {
rightlink = document.createElement("a");
rightlink.href = "javascript:toggleImage("+i+","+j+","+(j+1)+");";
rightlink.innerHTML="▶";
} else {
rightlink = document.createElement("span");
rightlink.innerHTML=" ";
}
var comment = document.createElement("tt");
comment.innerHTML = "("+ (j+1) + "/" + units.length + ")";
with(imghead) {
style.fontSize="110%";
style.fontweight="bold";
appendChild(leftlink);
appendChild(comment);
appendChild(rightlink);
}
wrap.insertBefore(imghead,wrap.childNodes[0]);
if (j != 0) wrap.style.display="none";
}
}
}
$(ImageGroup);
// ===========================================================
// დასასრული - კოდი თარგისთვის "ფოტოგალერეა"
// ===========================================================
// ============================================================
// BEGIN import Onlyifediting-functions
// SEE ALSO [[MediaWiki:Onlyifediting.js]]
if (document.URL.indexOf("action=edit") > 0 || document.URL.indexOf("action=submit") > 0) {
importScript('MediaWiki:Onlyifediting.js');
}
// END import Onlyifediting-functions
// ============================================================
/**
* WikiMiniAtlas is a popup click and drag world map.
* See [[meta:WikiMiniAtlas]] for more information.
* Maintainers: [[w:User:Dschwen]]
*/
mw.loader.load( '//meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript' );
/**
* Remove need for CSS hacks regarding MSIE and IPA.
*/
if(navigator.userAgent.indexOf("MSIE") != -1 && document.createStyleSheet) {
document.createStyleSheet().addRule('.IPA', 'font-family: "Doulos SIL", "Charis SIL", Gentium, "DejaVu Sans", Code2000, "TITUS Cyberbit Basic", "Arial Unicode MS", "Lucida Sans Unicode", "Chrysanthi Unicode";');
}