MediaWiki:Common.js: Difference between revisions

No edit summary
No edit summary
 
(14 intermediate revisions by the same user not shown)
Line 8: Line 8:
window.location.href = '/index.php';
window.location.href = '/index.php';
}
}
// 도구 메뉴들 숨김(사이드바);
$pTb = document.getElementById('p-tb');
if ($pTb) $pTb.parentElement.removeChild($pTb);
// 문서의 역사롤 봅니다. (hidden 시킴)
// 문서의 역사롤 봅니다. (hidden 시킴)
Line 15: Line 18:
//파일중복 메세지 제거
//파일중복 메세지 제거
var $duplicates = document.getElementById('mw-imagepage-section-duplicates');
var $duplicates = document.getElementById('mw-imagepage-section-duplicates');
if($duplicates) $duplicates.parentElement.removeChild($duplicates);
if($duplicates) $duplicates.parentElement.removeChild($duplicates);
// 모든 문서 목록 검색 box 삭제
var $wrapper = document.querySelector('.mw-htmlform-ooui-wrapper')
if ($wrapper) $wrapper.parentElement.removeChild($wrapper);
}
/*
else{
$searchBox = document.querySelector('.mw-htmlform-ooui-wrapper');
if($searchBox) $searchBox.style.display = 'block';
}
}
*/
/* 이 자바스크립트 설정은 모든 문서, 모든 사용자에게 적용됩니다. */
/* 이 자바스크립트 설정은 모든 문서, 모든 사용자에게 적용됩니다. */


Line 81: Line 94:
var mouseY=0;
var mouseY=0;
/* 각주 팝업창 위치 보정 DOM */
/* 각주 팝업창 위치 보정 DOM */
document.body.addEventListener(
var observer = new MutationObserver(function (mutationList) {
     'DOMNodeInserted',
     mutationList.forEach(function (mutation) {
    function (e) {
        mutation.addedNodes.forEach(function (node) {
        if (e.target.classList && e.target.classList.contains('rt-tooltip')) {
            if (node.classList && (node.classList.contains('mwe-popups')|| node.classList.contains('rt-tooltip'))) {
            requestAnimationFrame(function () {
                 requestAnimationFrame(function () {
            var linkId = e.target.id.substring(3);
                    var bodyLeft = document.body.getBoundingClientRect().left;
            //var $link = document.querySelector('#'+linkId);
                    var left = parseInt(window.getComputedStyle(node).left);
            var $link = document.querySelector('sup[id="' + linkId +'"]')
                    node.style.left = left - bodyLeft + 'px';
            var linkTop = $link.getBoundingClientRect().top + window.scrollY;
                 });
           
             }
                 var bodyTop = document.body.getBoundingClientRect().top + window.scrollY;
         });
                var top = parseInt(window.getComputedStyle(e.target).top);
    });
               
});
                var bodyLeft = document.body.getBoundingClientRect().left;
// 감시할 대상 설정
                var left = parseInt(window.getComputedStyle(e.target).left);
observer.observe(document.body, {
               
     childList: true,
                e.target.style.left = left - bodyLeft + 'px';
     subtree: true,
                 e.target.style.top = linkTop - e.target.offsetHeight - 5 + 'px';
});
             });
         }
        if (e.target.classList && e.target.classList.contains('mwe-popups')) {
            requestAnimationFrame(function () {
                var bodyLeft = document.body.getBoundingClientRect().left;
                var left = parseInt(window.getComputedStyle(e.target).left);
                e.target.style.left = left - bodyLeft + 'px';
            });
        }       
     },
     false
);
 


/* 우클릭 방지  */
/* 우클릭 방지  */
window.oncontextmenu = function (e) {
if (mw.config.get("wgUserName") == null) {
  window.oncontextmenu = function (e) {
     return e.preventDefault();
     return e.preventDefault();
};
  };
window.onselectstart = function (e) {
  window.onselectstart = function (e) {
     return e.preventDefault();
     return e.preventDefault();
};
  };
}


   
   
Line 309: Line 311:
}
}
// origin file 영역 숨김.
// origin file 영역 숨김.
var $fullMedia = document.qeurySelector('.fullMedia p a');
var $fullMedia = document.querySelector('.fullMedia p');
if($fullMedia){
$fullMedia.parentElement.removeChild($fullMedia);
}
 
// 데스크탑 언어
var langDiv = document.getElementById('right-navigation');
if(langDiv){
var navHTML = '<nav id="p-cactions" class="mw-portlet mw-portlet-cactions vector-menu-dropdown-noicon vector-menu vector-menu-dropdown" aria-labelledby="p-cactions-label" role="navigation">' +
'<input type="checkbox" id="p-cactions-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-cactions" class="vector-menu-checkbox" aria-labelledby="p-cactions-label">' +
'<label id="p-cactions-label" aria-label="" class="vector-menu-heading">' +
  '<span class="select-language"></span>' +
  '<span class="vector-menu-heading-label">Language</span>' +
'</label>' +
'<div class="vector-menu-content">' +
  '<ul class="vector-menu-content-list">' +
'<li class="mw-list-item"><a href="https://churchofgod.wiki" title="하나님의 교회 지식사전"><span>Korean</span></a></li>' +
    '<li class="mw-list-item"><a href="https://churchofgod.wiki/en" title="Church of God Knowledge Encyclopedia"><span>English</span></a></li>' +
    '<li class="mw-list-item"><a href="https://churchofgod.wiki/es" title="ChurchEnciclopedia de conocimiento de la Iglesia de Dios"><span>Spanish</span></a></li>' +
    '<li class="mw-list-item"><a href="https://churchofgod.wiki/vi" title="Từ điển tri thức Hội Thánh của Đức Chúa Trời"><span>Vietnamese</span></a></li>' +
    '<li class="mw-list-item"><a href="https://churchofgod.wiki/ne" title="नेपाली"><span>Nepali</span></a></li>' +
    '<li class="mw-list-item"><a href="https://churchofgod.wiki/pt" title="ENCICLOPÉDIA DO CONHECIMENTO DA IGREJA DE DEUS"><span>português</span></a></li>' +
  '</ul>' +
'</div>' +
'</nav>';
langDiv.insertAdjacentHTML('afterbegin', navHTML);
}