মিডিয়াউইকি:Monobook.js

উইকিঅভিধান, মুক্ত অভিধান থেকে

লক্ষ্য করুন: প্রকাশ করার পর, পরিবর্তনগুলো দেখতে আপনাকে আপনার ব্রাউজারের ক্যাশে পরিষ্কার করার প্রয়োজন হতে পারে।

  • ফায়ারফক্স / সাফারি: পুনরায় লোড-এ ক্লিক করার সময় শিফট টিপে ধরে রাখুন, অথবা হয় Ctrl-F5 বা Ctrl-R টিপুন (ম্যাকে ⌘-R টিপুন)
  • গুগল ক্রোম: Ctrl-Shift-R (ম্যাকে ⌘-Shift-R) টিপুন
  • ইন্টারনেট এক্সপ্লোরার / এজ: Ctrl ধরে রাখা অবস্থায় Refresh-এ ক্লিক করুন, অথবা Ctrl-F5 টিপুন
  • অপেরা: Ctrl-F5 টিপুন।
// Start experimental phonetic transliterator

//the section below adds a phonetic keyboard
mw.loader.load('//bn.wikipedia.org/w/index.php?title=MediaWiki:translit.js&action=raw&ctype=text/javascript');
 
 function addTranslit(editForm, textBox)
 {
   checkrt(editForm);
   if (textBox.addEventListener)
     textBox.addEventListener("keypress", processKeys, false);
   else if (textBox .attachEvent) 
     textBox.attachEvent("onkeypress", processKeys);
 }
 
 function addTextEvent() {
   //cookie for remembering transliteration choice
   if($.cookie('newWikiTranslit')!=null && $.cookie('newWikiTranslit')!="")  
   realTime=($.cookie('newWikiTranslit')=="true")?true:false; 
 
 
   // add transliteration feature to main edit box 
   var editForm =document.getElementById('editform');
   if(editForm != null) {
      var textBox=document.getElementById('wpTextbox1');
      var textSummary = document.getElementById('wpSummary');
 
      addTranslit(editForm,textBox);
      addCheckbox(editForm,textBox );
      if(textSummary) { addTranslit(editForm,textSummary); }
   }
 
   // add transliteration feature to search form
   var searchForm = document.getElementById('searchform');
   if( searchForm != null ) {
            try {
                var searchBox = document.getElementById('searchInput');
                 // add IME checkbox control to searchForm
                if (searchBox != null || searchForm != null) {
                    var element = document.createElement("input");
                    element.setAttribute("type","checkbox");
                    element.setAttribute("id","sbrealtime");
                    if (element.addEventListener) 
                        element.addEventListener("click", rtClick, false);
                    else if (element.attachEvent) 
                        element.attachEvent("onclick", rtClick);
 
                    // var labelcheckBox = document.createTextNode('বাংলা');                    
                    var chkSpan = document.createElement("span");
                    chkSpan.setAttribute("id","spnRealtime");
                    var searchBody = document.getElementById('searchBody');
                    searchBody.appendChild(element);
                    searchBody.appendChild(chkSpan);
 
                    // searchForm.insertBefore(element,searchBox);
                    document.getElementById("sbrealtime").checked = realTime;
                    document.getElementById('spnRealtime').innerHTML = '<a href="//bn.wikipedia.org/wiki/উইকিপেডিয়া:Input System‌" title="Switches keyboard between Bengali and English">বাংলা</a>';
                    // searchForm.insertBefore(chkSpan,searchBox);
                    // var p = document.createElement("p");
                    // p.setAttribute("style","width:100%;height:1px;");
                    // searchForm.insertBefore(p,searchBox);
                }
             }
             catch(ex)
             {
              //ऎऱऱिनॆ ओटिक्कुक.
             }
 
             if(searchBox) { addTranslit(searchForm,searchBox); }
        }             
 
   // add transliteration feature to power search
   var powerSearchForm = document.getElementById('search');
   if( powerSearchForm != null) { 
      var powerSearchBox = document.getElementById('lsearchbox');
      if( powerSearchBox ) { addTranslit(powerSearchForm, powerSearchBox );}
   }
 
   // add transliteration feature to move page
   var movePageForm = document.getElementById('movepage');
   if( movePageForm != null ) {
      var newTitleBox = document.getElementById('wpNewTitle');
      var reasonBox = document.getElementById('wpReason');
      if( newTitleBox ) {addTranslit(movePageForm, newTitleBox);}
      if( reasonBox ) {addTranslit(movePageForm, reasonBox ); }
   }
 
   // add transliteration feature to upload feature page
   var upForm=document.getElementById('upload');
   if(upForm)
   {
      var upName=document.getElementById('wpDestFile');
      var upComment=document.getElementById('wpUploadDescription');
      if(upName) addTranslit(upForm,upName);
      if(upComment) addTranslit(upForm,upComment);
   }
 
   // add transliteration feature to create inputbox
   var crForm=document.getElementById('createbox');
   if(crForm)
   {
      var crName=crForm.title;
      if(crName) addTranslit(crForm,crName);
   }
 }
 
 function addCheckbox(editform,textBox )
 {
   var element = document.createElement("input");
   element.setAttribute("type","checkbox");
   element.setAttribute("id","realtime");
 
   if (element.addEventListener)
     element.addEventListener("click", rtClick, false);
   else if (element.attachEvent)
     element.attachEvent("onclick", rtClick);
 
   var ellabel = document.createElement("label");
   //ellabel.setAttribute("for","realtime"); 
   ellabel.setAttribute("id","labelrealtime"); 
 
   ellabel.innerHTML = 'Phonetic Bangla Typing. Check/Uncheck box or use Esc as a toggle key to activate/deactivate. Go to WP:Typing for help)'; 
 
     editform.insertBefore(element,textBox);
   document.getElementById("realtime").checked = realTime;
   //editform.insertBefore(labelcheckBox,textBox);
   editform.insertBefore(ellabel,textBox);
   document.getElementById("labelrealtime").htmlFor = "realtime"; 
 }
 
 function processKeys(event)
 {
   if (rtsupported)
   {
     if (event.keyCode == 27) // ESC  - for ie, Press ctrl+z after pressing ESC
     { 
       //escape to toggle
       realTime = !realTime;
       $.cookie( 'newWikiTranslit', realTime, {expires:1} );//save status in a cookie 
       var chk = document.getElementById('realtime'); 
       if (chk) { chk.checked = realTime; } 
       return false; 
     }
     else if (realTime)
     {
       translitonkey(event);
     }
   }
 }
 
 var realTime = true;
 function rtClick(event)
 {
   realTime = !realTime;
   $.cookie( 'newWikiTranslit', realTime, {expires:1} );//save status in a cookie
 }
 
 var rtsupported = false; var error;
 function checkrt(editform)
 {
   try
   {


/* var nav = navigator.userAgent.toUpperCase();
     rtsupported = (nav.indexOf("GECKO") >= 0 || nav.indexOf("OPERA") >= 0 || nav.indexOf("SAFARI") >= 0);
     */
 
     rtsupported = (document.selection != undefined)
 
     if (!rtsupported)
     {
       var element = document.createElement("TEXTAREA");
       editform.appendChild(element);
       if(element.selectionStart != undefined)
         rtsupported = true;
       editform.removeChild(element);
     }
   }
   catch (error)
   {}
 }
 
 jQuery(document).ready(addTextEvent)