Khác biệt giữa bản sửa đổi của “MediaWiki:Common.js”

Từ điển mở Wiktionary
Nội dung được xóa Nội dung được thêm vào
Thử
tắt chức năng tải hình tại dự án này
Dòng 193: Dòng 193:
}
}
addOnloadHook(addPron);
addOnloadHook(addPron);

/* Cố định liên kết "Truyền lên tập tin"
*/
addOnloadHook(function()
{
if (document.getElementById("t-upload"))
{
document.getElementById("t-upload").getElementsByTagName("a")[0].href = wgArticlePath.replace("$1", "commons:Special:Upload/vi")
}
})
//</source>

Phiên bản lúc 00:56, ngày 21 tháng 11 năm 2010

// Mã chỉ dành riêng cho trang sửa đổi
if (wgAction == "edit" || wgAction == "submit") {
    importScript("MediaWiki:Common.js/edit.js");
}

/*!
 * Nhúng bộ gõ AVIM vào toàn bộ các skin của Wiktionary tiếng Việt.
 * 
 * Không sử dụng importScript() được, tại vì Chrome và IE không chắc chắn chạy hai script trong thứ tự đúng.
 */
document.write('<script type="text/javascript" src="'
    + 'http://vi.wikipedia.org/w/index.php?title=MediaWiki:ImportAVIM.js'
    + '&action=raw&ctype=text/javascript"></' + 'script>');

/*** Mẹo vặt và phím tiện ***/

ta = new Object();
ta['ca-unprotect'] = new Array('=','Mở khóa trang này');
ta['ca-nomove'] = new Array('','Bạn không thể di chuyển trang này');
ta['t-print'] = new Array('','Bản đơn giản để cho dễ in ra');
ta['t-permalink'] = new Array('','Địa chỉ thường trực của phiên bản này');
ta['t-cite'] = new Array('','Chi tiết thư mục của trang này');

/*** Để hỗ trợ Microsoft Internet Explorer dễ hơn ***/

function addLoadEvent(func) {
  addHandler(window, "load", func);
}

/*** [[w:en:User:Pilaf/Live Preview|Live Preview]] ***/

var wpLanguageCode = 'vi';
var wpImageBasePath = 'http://upload.wikimedia.org/wiktionary/'+wpLanguageCode+'/';
var wpUserNamespace = 'Thành viên';
var wpImageNamespace = 'Hình';
var wpCategoryNamespace = 'Thể loại';

/*** Hộp thu gọn (không xài cookie) ***/

var NavigationBarHide = '[giấu]';
var NavigationBarShow = '[xem]';
var NavigationBarShowDefault = 0;
 
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;
               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;
              NavChild = NavChild.nextSibling
           ) {
           if (NavChild.className == 'NavPic') {
               NavChild.style.display = 'block';
           }
           if (NavChild.className == 'NavContent') {
               NavChild.style.display = 'block';
           }
       }
   NavToggle.firstChild.data = NavigationBarHide;
   }
}

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);
       }
   }

}

addOnloadHook(createNavigationBarToggleButton);
 
/*** [[Trang Chính]] ***/

function focusSearchBox() {
    var firstForm = document.getElementsByTagName("form")[0];
    for (var i = 0; a = firstForm.elements[i]; i++) {
        if (a.tagName == "TEXTAREA" || (a.tagName == "INPUT" && (a.type == "text" || a.type == "file"))) {
            a.focus();
            return;
        }
    }
}
addOnloadHook(focusSearchBox);

/* Bật lên bộ gợi ý cho hộp tìm kiếm lớn ở Trang Chính */
function suggestOnFrontPage() {
    os_autoload_inputs.push("bodySearchIput");
    os_autoload_forms.push("bodySearch");
}
addOnloadHook(suggestOnFrontPage);

/*** Tự động thêm cách phát âm IPA vào mục từ dùng mẫu ***/

function getVieIpaWord(word) {
    // <nowiki>
    var srcWord = "{{VieIPA|";
    var chars = [];
    for (var i = 0; i < word.length; i++) chars[i] = word[i];
    srcWord += chars.join("|") + "}}";
    return srcWord;
    // </nowiki>
}

function getVieIpa(title) {
    // <nowiki>
    if (!title) return "";
    var src = "* [[Wiktionary:IPA|IPA]]: {{IPA|/";
    
    var words = title.replace(/'/g /* ' */, "").split(/\s+|\s*,\s*/);
    var srcWords = [];
    for (var i = 0; i < words.length; i++) {
        srcWords[i] = getVieIpaWord(words[i]);
    }
    src += srcWords.join(" ") + "/}}";
    src = src.replace(/\|[.\-']\|/g /* ' */, "}}.{{VieIPA|");
    return src;
    // </nowiki>
}

function addPron() {
    // <nowiki>
    if (!document.getElementById("generateIPA")) return;
    var textbox = document.getElementById("wpTextbox1");
    if (!textbox) return;
    var src = textbox.value;
    var ipa = getVieIpa(wgTitle);
    src = src.replace(/(\{\{-vie?-\}\})/, "$1\n{{-pron-}}\n" + ipa + "\n");
    textbox.value = src;
    // </nowiki>
}
addOnloadHook(addPron);

/* Cố định liên kết "Truyền lên tập tin"
 */
addOnloadHook(function()
{
if (document.getElementById("t-upload"))
{
document.getElementById("t-upload").getElementsByTagName("a")[0].href = wgArticlePath.replace("$1", "commons:Special:Upload/vi")
}
})
//</source>