MediaWiki:Gadget-collapserefs.js
Перейти к навигации
Перейти к поиску
Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.
- Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
- Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
- Internet Explorer / Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
- Opera: Нажмите Ctrl+F5.
$(function() {
if( /MSIE [1-6]\./.test(navigator.userAgent) ) return // makes no sense (max-height)
if( /(\?|&)printable=yes/.test(document.URL) ) return
var foundReflist
mw.util.$content.find('div').each( function(i, div){
if( ! /\bref(list\d?|erences-(small|scroll))\b/.test(div.className) ) return
if( div.clientHeight < ((div.style.maxHeight && div.style.maxHeight.replace(/[^0-9]+/g, '')) ||
div.style.height.replace(/[^0-9]+/g, '') || 300)) return
foundReflist = true
$('<p class=collapse-refs-p />')
.append(
$('<a href=# class=collapse-refs-link title="Большие блоки с примечаниями можно уменьшать" />')
.click(changeState)
)
.insertBefore(div)
})
if( !foundReflist ) return
var cookie = document.cookie.match(/(^|; )refcoll=(.*?)(;|$)/)
var collapseState = 'min'
if( cookie ) collapseState = unescape(cookie[2]) == 'max' ? 'min' : 'max'
mw.util.addCSS('.reflist p.collapse-refs-p, .reflist1 p.collapse-refs-p,\
.reflist2 p.collapse-refs-p, .reflist3 p.collapse-refs-p,\
.reflist4 p.collapse-refs-p { display: none }\
.collapse-refs-p { font-size: 80%; width: 30%; margin: 1em 2em }\
* html .reflist, * html .reflist1, * html .reflist2, * html .reflist3, \
* html .reflist4, * html .references-scroll, * html .references-small \
{ display: inline-block /* for clientHeight in IE */ }')
var collapseCSSmin = mw.util.addCSS('.reflist, .reflist1, .reflist2, .reflist3, \
.reflist4, .references-scroll, .references-small \
{ max-height: 300px; overflow: auto; margin: 0 !important; padding: 0 !important }')
var collapseCSSmax = mw.util.addCSS('.reflist, .reflist1, .reflist2, .reflist3, \
.reflist4, .references-scroll \
{ height: auto !important; max-height: none !important; \
overflow: visible !important; margin: 0 !important; padding: 0 !important }')
collapseCSSmin.disabled = collapseCSSmax.disabled = true
changeState()
function changeState() {
collapseState = collapseState == 'min' ? 'max' : 'min'
document.cookie = 'refcoll=' + collapseState
if( collapseState == 'min' ){
collapseCSSmax.disabled = true
collapseCSSmin.disabled = false
text = '↓ Показывать полностью' // when minimized
}else{
collapseCSSmax.disabled = false
collapseCSSmin.disabled = true
text = '↑ Показывать компактно' // when maximized
}
$('.collapse-refs-link').text(text)
return false
}
})