பயனர்:Jagwar/common.js

கட்டற்ற பன்மொழி அகரமுதலியான விக்சனரியில் இருந்து.

குறிப்பு - சேமித்த பின்னர், நீங்கள் செய்த மாற்றங்களைக் காண்பதற்கு உங்கள் உலவியின் இடைமாற்று அகற்றப்பட வேண்டும்.

  • மொஸில்லா பயர்பாக்ஸ் / சபாரி: Shift+Reload, அல்லது Ctrl-F5 அல்லது Ctrl-R (⌘-R Mac ல்)
  • கூகிள் குரோம் Ctrl-Shift-R அழுத்தவும். (⌘-Shift-R Mac ல்) ;
  • இண்டர்நெட் எக்ஸ்ப்ளோரர்: Ctrl-Refresh அல்லது Ctrl-F5 ஐ அழுத்தவும்.
  • ஒபேரா: Tools → Preferences இல் இடைமாற்றை அகற்றவும்;
importScript('User:Jagwar/Editor.js');
importScript('User:Jagwar/languagenametocode.js');
importScript('User:Jagwar/languagecodefinder.js');
//importScript('User:Jagwar/TabbedLanguages2.js');
importScript('User:Jagwar/TargetedTranslations.js');
importScript('User:Jagwar/rhymesedit.js');
importScript('User:Jagwar/adddefinition.js');
importScript('User:Jagwar/editor2.js');
importScript('User:Jagwar/newentrywiz.js');
/**
 
JavaScript yang ada di sini akan diterapkan untuk semua kulit.
__TOC__
== Deklarasi variabel ==
 
 Variabel-variabel yang dipakai secara global */
 var ScriptPrefix = '<script type="text/javascript" src="/w/index.php?title=';
 var ScriptSuffix = '&action=raw&ctype=text/javascript&dontcountme=s"></script>';
 var LoadInterProject = true;
 var LoadLinkFA = true;
 var LoadNavFrame = true;
 var load_edittools = true;
 var LoadExtraPortlet = true;
 var LoadStripe = true;
 var LoadEditTop = true;
 var LoadExtraEditButtons = true;
 var load_extratabs = false;
 var LoadPageCounter = false;

/**
 
== InterProject ==
 
InterProject, link di menu samping untuk proyek lain.
 
 <nowiki> */
 if (LoadInterProject == true) {
 mw.util.addCSS('#interProyek {display: none; speak: none;} #p-tb .pBody {padding-right: 0;}');
 function iProject() {
     if (document.getElementById("interProyek")) {
          var iProject = document.getElementById("interProyek").innerHTML;
          var interProject = document.createElement("div");
          interProject.style.marginTop = "0.7em"; 
          interProject.innerHTML = '<h5>Tetikasa hasa<\/h5><div class="pBody">'+iProject+'<\/div>';
          document.getElementById("p-tb").appendChild(interProject);
     }
 }
 addOnloadHook(iProject);
 }

/**
== MainPageTransform ==
 
 Menghilangkan judul [[Halaman Utama]] dan mengganti nama tab. */
 
 var mpTitle = "Wiktionary:Fandraisana";
 var isMainPage = (wgTitle == mpTitle)
 var isDiff = (document.location.search && (
     document.location.search.indexOf("diff=") != -1 ||
     document.location.search.indexOf("oldid=") != -1 ||
     document.location.search.indexOf("action=history") != -1
 ));
 if ( isMainPage && !isDiff && (wgCanonicalNamespace != 'Special') ) 
 {
     mw.util.addCSS('#siteSub, #contentSub, h1.firstHeading { display: none!important; } #content, #content div.thumb, #p-cactions li a, #p-cactions li a:hover, #p-cactions li.selected a { background: #fff!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;
          }
     }
     var onloadFuncts = [ mainPageTransform ];
     if (window.addEventListener) 
          window.addEventListener("resize", mainPageTransform, false);
     else if (window.attachEvent) 
          window.attachEvent("onresize", mainPageTransform);
 }

function mainpg() {
     if ((isMainPage || /[\/=:]Wiktionary:Fandraisana/.test(document.location)) && document.getElementById('ca-nstab-main')) {
          document.getElementById('ca-nstab-main').firstChild.innerHTML = '<span><a>Fandraisana<\/a><\/span>';
     }   
 }
 addOnloadHook(mainpg);

/*</pre>
== Visibility toggling ==
<pre>*/
var VisibilityToggles = {
    // toggles[category] = [[show, hide],...]; statuses[category] = [true, false,...]; buttons = <li>
    toggles: {}, statuses: {}, buttons: null,

    // Add a new toggle, adds a Show/Hide category button in the toolbar,
    // and will call show_function and hide_function once on register, and every alternate click.
    register: function (category, show_function, hide_function) {

        var id = 0;
        if (!this.toggles[category]) {
            this.toggles[category] = [];
            this.statuses[category] = [];
        } else {
            id = this.toggles[category].length;
        }
        this.toggles[category].push([show_function, hide_function]);
        this.statuses[category].push(this.currentStatus(category));
        this.addGlobalToggle(category);

        (this.statuses[category][id] ? show_function : hide_function)();

        return function () {
            var statuses = VisibilityToggles.statuses[category];
            statuses[id] = !statuses[id]
            VisibilityToggles.checkGlobalToggle(category);
            return (statuses[id] ? show_function : hide_function)();
        }

    },

    // Add a new global toggle to the side bar
    addGlobalToggle: function(category) {
        if (document.getElementById('p-visibility-'+category))
            return;
        if (!this.buttons) {
            this.buttons = newNode('ul');
            var collapsed = $.cookie("vector-nav-p-visibility") == "false", toolbox = newNode('div', {'class': "portal portlet "+(collapsed?"collapsed":"expanded"), 'id': 'p-visibility'},
                            newNode('h5', 'Visibility'),
                            newNode('div', {'class': "pBody body"}, collapsed?undefined:{'style':'display:block;'}, this.buttons)
                          );
            var sidebar = document.getElementById('mw-panel') || document.getElementById('column-one');
            var insert = null;
            if (insert = (document.getElementById('p-lang') || document.getElementById('p-feedback')))
                sidebar.insertBefore(toolbox, insert);
            else
                sidebar.appendChild(toolbox);

        }
        var status = this.currentStatus(category);
        var newToggle = newNode('li', newNode('a', {
            id: 'p-visibility-' + category, 
            style: 'cursor: pointer',
            href: '#visibility-' + category,
            click: function(e)
            {
                VisibilityToggles.toggleGlobal(category); 
                if (e && e.preventDefault)
                    e.preventDefault();
                else 
                    window.event.returnValue = false;
                return false; 
            }},
            (status ? 'Hide ' : 'Show ') + category));
        for (var i=0; i < this.buttons.childNodes.length; i++) {
            if (this.buttons.childNodes[i].id < newToggle.id) {
                this.buttons.insertBefore(newToggle, this.buttons.childNodes[i]);
                return;
            }
        }
        this.buttons.appendChild(newToggle);
    },

    // Update the toggle-all buttons when all things are toggled one way
    checkGlobalToggle: function(category) {
        var statuses = this.statuses[category];
        var status = statuses[0];
        for (var i = 1; i < statuses.length; i++) {
            if (status != statuses[i])
                return;
        }
        document.getElementById('p-visibility-' + category).innerHTML = (status ? 'Hide ' : 'Show ') + category;
    },

    // Toggle all un-toggled elements when the global button is clicked
    toggleGlobal: function(category) {
        var status = document.getElementById('p-visibility-' + category).innerHTML.indexOf('Show ') == 0;
        for (var i = 0; i < this.toggles[category].length; i++ ) {
            if (this.statuses[category][i] != status) {
                this.toggles[category][i][status ? 0 : 1]();
                this.statuses[category][i] = status;
            }
        }
        document.getElementById('p-visibility-' + category).innerHTML = (status ? 'Hide ' : 'Show ') + category;
        var current = $.cookie('Visibility');
        if (!current)
            current = ";";
        current = current.replace(';' + category + ';', ';');
        if (status)
            current = current + category + ";";
        $.cookie('Visibility', current);
    },

    currentStatus: function(category) {
        if ($.cookie('WiktionaryPreferencesShowNav') == 'true')
            return true;
        else if ($.cookie('Visibility') && $.cookie('Visibility').indexOf(';' + category + ';') >= 0)
            return true;
        return false; // TODO load this from category specific cookies
    }
};

/*</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>
=== NavBars ===
<pre>*/
var NavigationBarHide = '▲';
var NavigationBarShow = '▼';

function NavToggleCategory(navFrame)
{
    var table = navFrame.getElementsByTagName('table')[0];
    if (table && table.className == "translations")
        return "translations";

    var heading = navFrame.previousSibling;
    while (heading) {
        if (/[hH][4-6]/.test(heading.nodeName)) {
            if (heading.getElementsByTagName('span')[1]) {
                return heading.getElementsByTagName('span')[1].innerHTML.toLowerCase();
                }
            else {
                return heading.getElementsByTagName('span')[0].innerHTML.toLowerCase();
                }
            }
        else if (/[hH][1-3]/.test(heading.nodeName)) 
            break;
        heading = heading.previousSibling;
    }
    return "other boxes";
};
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";
    navHead.onclick = VisibilityToggles.register(NavToggleCategory(navFrame),
        function show() {
            navToggle.innerHTML = NavigationBarHide;
            if (navContent)
                navContent.style.display = "block";
        },
        function hide() {
            navToggle.innerHTML = NavigationBarShow;
            if (navContent)
                navContent.style.display = "none";
        });
};

$( function ()
{
    var divs = $(".NavFrame");
    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]);
        }
    }

});

 
/**
== ExtraEditButtons ==
 <pre><nowiki> */
  function addCustomEditButton( imageFile, speedTip, tagOpen, tagClose, sampleText ) {
   var imagePath = '//upload.wikimedia.org/wikipedia/commons/';
   mwCustomEditButtons[mwCustomEditButtons.length] = {
    "imageFile"  : imagePath + imageFile,
    "speedTip"   : speedTip,
    "tagOpen"    : tagOpen,
    "tagClose"   : tagClose,
    "sampleText" : sampleText
   };  
  }
 
 if ( mwCustomEditButtons && LoadExtraEditButtons ) {
  addCustomEditButton( "c/c8/Button_redirect.png", "Fihodinana", 
  	"#FIHODINANA [[", "]]", "Lahatsoratra" );
  addCustomEditButton( "e/eb/Button_plantilla.png", "Endrika", 
  	"{{", "}}", "Endrika" );
  addCustomEditButton( "1/1b/Button_hide_wiki_tag.png", "Resaka tsy haseho", 
  	"<!-- ", " -->", "Resaka" );
  addCustomEditButton( "f/fd/Button_underline.png", "Manipika ambany", 
  	"<u>", "</u>", "Teks garis bawah" );
  addCustomEditButton( "c/c9/Button_strike.png", "Manipika anivo", 
  	"<s>", "</s>", "Tsipika ambon'ny soratra" );
  addCustomEditButton( "f/f9/Button_onlyinclude_green.png", " Onlyinclude", 
        "<onlyinclude>", "</onlyinclude>", "Hanya teks ini yang ditransklusikan" );
  addCustomEditButton( "0/01/Button_includeonly_green.png", "Includeonly", 
        "<includeonly>", "</includeonly>", "Teks hanya akan ditransklusikan" );
  addCustomEditButton( "3/32/Button_noinclude_green.png", "Noinclude", 
        "<noinclude>", "</noinclude>", "Teks tidak akan ditransklusi" );
  addCustomEditButton( "7/79/Button_reflink.png", "Rujukan", 
        "<ref>", "</ref>", "Rujukan" );
  addCustomEditButton( "9/99/Button_sup_2.png", "Superscript", 
  	"<sup>", "</sup>", "Teks superscript" );
  addCustomEditButton( "e/e5/Button_sub_2.png", "Subscript", 
  	"<sub>", "</sub>", "Teks subscript" );
  addCustomEditButton( "1/17/Button_small_2.png", "small", 
        "<small>", "</small>", " " );
  addCustomEditButton( "c/cb/Button_big_2.png", "big", 
        "<big>", "</big>", " " );
  addCustomEditButton( "2/23/Button_code.png", "code", 
        "<code>", "</code>", " " );
  addCustomEditButton( "5/5f/Button_center.png", "center", 
        "<center>", "</center>", " " );
  addCustomEditButton( "3/3c/Button_pre.png", "pre", 
        "<pre>", "</pre>", " " );
  addCustomEditButton( "8/8f/Button_poeme.png", "poem",
        "<poem>", "</poem>", " " );
  addCustomEditButton( "d/d4/Button_div.png", "div", 
        "<div>", "</div>", " " );
  addCustomEditButton( "7/72/Button_span_2.png", "span", 
        "<span>", "</span>", " " );
  addCustomEditButton( "2/26/Button_plainlinks.png", "plainlinks", 
        "<span class=plainlinks>", "</span>", " " );
  addCustomEditButton( "9/9e/Btn_toolbar_gallery.png", "Galeri gambar", 
  	"<gallery>\n", "\n</gallery>", "Berkas:Contoh.jpg|Judul1\nBerkas:Contoh.jpg|Judul2" );
  addCustomEditButton( "c/c6/Button_Kat.png", "Kategori", 
  	"[[Kategori:", "]]", "Kategori" );
  addCustomEditButton( "3/3f/Button_en.png", "Interwiki Wikipedia Inggris", 
        "[[en:", "]]", "Interwiki en.wiki" );
  addCustomEditButton( "7/7f/Interwiki-button-bg.png", "Interwiki templat en", 
        "[[en:Template:", "subst:PAGENAME}}]]", "{{" );
  addCustomEditButton( "f/f7/Button_referencesR.png", "Referensi", 
  	"\n== Referensi ==\n\n", "reflist}}" + "\n", "{{" );
  addCustomEditButton( "e/e9/Button_headline2.png", "Subbagian tingkat 2",
  	"\n=== ", " ===\n", "Subbagian2" );
  addCustomEditButton( "3/3a/Button_headline3.png", "Subbagian tingkat 3",
  	"\n==== ", " ====\n", "Subbagian3" );
  addCustomEditButton( "1/11/Btn_toolbar_liste.png", "Daftar biasa", 
  	"\n* ", "\n* Elemen contoh B\n* Elemen contoh C", "Elemen contoh A" );
  addCustomEditButton( "8/88/Btn_toolbar_enum.png", "Daftar bernomor", 
  	"\n# ", "\n# Elemen contoh 2\n# Elemen contoh 3", "Elemen contoh 1" );
  addCustomEditButton( "d/d3/Button_definition_list.png", "Daftar definisi", 
  	"\n; ", "\n: Contoh item 1\n: Contoh item 2", "Contoh definisi" );
  addCustomEditButton( "0/04/Button_array.png", "Tabel", 
  	'{| class="wikitable"\n|-\n', "\n|}", "! kepala1\n! kepala2\n|-\n" +
  	"| baris1, kolom1\n| baris1, kolom2\n|-\n| baris2, kolom1\n| baris2, kolom2" );
  addCustomEditButton( "9/9f/Button_defaultsort.png", "DEFAULTSORT", 
        "", "DEFAULTSORT:}}", "{{" );
  addCustomEditButton( "b/bf/Button_pagename.png", "PAGENAME", 
        "", "PAGENAME}}", "{{" );
  addCustomEditButton( "5/55/Button_nbsp_1.png", "nbsp", 
        "&nbsp;", "", "" );
 }
/**
 
=== Notice di [[Wiktionary:Bak pasir]] dan [[Pembicaraan Wiktionary:Bak pasir]] ===
 */
 function sandboxNotice() {
 notice = document.createElement('div');
 document.getElementById('bodyContent').insertBefore(notice, document.getElementById('jump-to-nav').nextSibling);
 noticeLoader = sajax_init_object();
 noticeLoader.open('GET', '//id.wiktionary.org/w/index.php?title=Templat:Bak_pasir&action=render', true);
 noticeLoader.onreadystatechange = function()
    {
        if (noticeLoader.readyState == 4 && noticeLoader.status == 200) {
            notice.innerHTML = noticeLoader.responseText;
        }
    };
 noticeLoader.send('');
 }
 if (wgAction.match(/view|edit|submit/)) {
    addOnloadHook(function() {
        if (document.getElementsByTagName('body')[0].className.match(/page-(Pembicaraan_)?Wiktionary_Bak_pasir/)) {
            return sandboxNotice();
        }
    });
 }
"https://ta.wiktionary.org/w/index.php?title=பயனர்:Jagwar/common.js&oldid=1904418" இலிருந்து மீள்விக்கப்பட்டது