MediaWiki:Common.js
Материал из Энциклопедия МИФИ
Энциклопедия МИФИ > MediaWiki > Common.js
Lamen (Обсуждение | вклад) |
Lamen (Обсуждение | вклад) (Попробую другой код.) |
||
Строка 46: | Строка 46: | ||
- | / | + | /** Collapsible tables ********************************************************* |
- | + | * | |
- | var | + | * Description: Allows tables to be collapsed, showing only the header. See |
- | var | + | * [[:en:Wikipedia:NavFrame]]. |
- | var | + | * Maintainers: [[:en:User:R. Koot]] |
- | + | */ | |
- | + | ||
- | + | var autoCollapse = 2; | |
- | + | var collapseCaption = "Скрыть"; | |
- | + | var expandCaption = "Показать"; | |
- | + | ||
- | + | function collapseTable( tableIndex ) | |
- | + | { | |
- | + | var Button = document.getElementById( "collapseButton" + tableIndex ); | |
- | + | var Table = document.getElementById( "collapsibleTable" + tableIndex ); | |
- | + | ||
- | for (var i= | + | if ( !Table || !Button ) { |
- | + | return false; | |
- | + | } | |
- | + | ||
- | + | var Rows = Table.getElementsByTagName( "tr" ); | |
- | + | ||
- | + | if ( Button.firstChild.data == collapseCaption ) { | |
- | + | for ( var i = 1; i < Rows.length; i++ ) { | |
- | + | Rows[i].style.display = "none"; | |
- | + | } | |
- | + | Button.firstChild.data = expandCaption; | |
- | + | } else { | |
- | + | for ( var i = 1; i < Rows.length; i++ ) { | |
- | + | Rows[i].style.display = Rows[0].style.display; | |
- | + | } | |
+ | Button.firstChild.data = collapseCaption; | ||
+ | } | ||
} | } | ||
- | for (var i=0; i < | + | |
- | + | function createCollapseButtons() | |
- | + | { | |
- | + | var tableIndex = 0; | |
- | + | var NavigationBoxes = new Object(); | |
- | + | var Tables = document.getElementsByTagName( "table" ); | |
- | var | + | |
- | + | for ( var i = 0; i < Tables.length; i++ ) { | |
- | + | if ( hasClass( Tables[i], "collapsible" ) ) { | |
- | + | NavigationBoxes[ tableIndex ] = Tables[i]; | |
- | + | Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); | |
- | + | ||
- | + | var Button = document.createElement( "span" ); | |
- | + | var ButtonLink = document.createElement( "a" ); | |
- | + | var ButtonText = document.createTextNode( collapseCaption ); | |
- | + | ||
- | + | Button.style.styleFloat = "right"; | |
- | + | Button.style.cssFloat = "right"; | |
- | + | Button.style.fontWeight = "normal"; | |
- | + | Button.style.textAlign = "right"; | |
- | + | Button.style.width = "6em"; | |
- | + | ||
- | + | ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); | |
- | + | ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" ); | |
- | + | ButtonLink.appendChild( ButtonText ); | |
- | + | ||
- | + | Button.appendChild( document.createTextNode( "[" ) ); | |
- | + | Button.appendChild( ButtonLink ); | |
- | + | Button.appendChild( document.createTextNode( "]" ) ); | |
- | + | ||
- | + | var Header = Tables[i].getElementsByTagName( "tr" )[0].getElementsByTagName( "th" )[0]; | |
- | + | Header.insertBefore( Button, Header.childNodes[0] ); | |
+ | |||
+ | tableIndex++; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | for ( var i = 0; i < tableIndex; i++ ) { | ||
+ | if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) { | ||
+ | collapseTable( i ); | ||
+ | } | ||
+ | } | ||
} | } | ||
- | + | ||
- | + | addOnloadHook( createCollapseButtons ); | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + |
Версия 13:16, 25 августа 2009
/* Размещённый здесь JavaScript код будет загружаться всем пользователям при обращении к каждой странице */ function addWikifButton(){ var toolbar = document.getElementById('toolbar') var textbox = document.getElementById('wpTextbox1') if (!textbox || !toolbar) return var i = document.createElement('img') i.src = 'http://upload.wikimedia.org/wikisource/ru/d/d1/Button-wikifikator.png' i.alt = i.title = 'Викификатор' i.onclick = Wikify i.style.cursor = 'pointer' toolbar.appendChild(i) } if (wgAction == 'edit' || wgAction == 'submit'){ document.write('<script type="text/javascript" src="http://ru.wikipedia.org/w/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript"><\/script>') // document.write('<script type="text/javascript" src="http://wiki.mephist.ru/wiki?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript"><\/script>') addOnloadHook(addWikifButton) } function addImageMapButton(){ var toolbar = document.getElementById('toolbar') var textbox = document.getElementById('wpTextbox1') if (!textbox || !toolbar) return var addimdiv = document.createElement('div') addimdiv.id = 'AddImgMapDiv' addimdiv.style.display='none' toolbar.appendChild(addimdiv) var i = document.createElement('img') i.src = 'http://upload.wikimedia.org/wikipedia/en/1/12/Button_gallery.png' i.alt = i.title = 'Вставка картинки с разметкой' i.onclick = showImageMapEditor i.style.cursor = 'pointer' toolbar.appendChild(i) } if (wgAction == 'edit' || wgAction == 'submit'){ document.write('<script type="text/javascript" src="/extensions/ImageMap/ImageMapEdit.js"><\/script>') document.write('<link rel="stylesheet" type="text/css" href="/extensions/ImageMap/ImageMapEdit.css" />') // document.write('<script type="text/javascript" src="http://wiki.mephist.ru/wiki?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript"><\/script>') // addOnloadHook(addImageMapButton) hookEvent("load", addImageMapButton) } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[:en:Wikipedia:NavFrame]]. * Maintainers: [[:en:User:R. Koot]] */ var autoCollapse = 2; var collapseCaption = "Скрыть"; var expandCaption = "Показать"; function collapseTable( tableIndex ) { var Button = document.getElementById( "collapseButton" + tableIndex ); var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.getElementsByTagName( "tr" ); if ( Button.firstChild.data == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = "none"; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = collapseCaption; } } function createCollapseButtons() { var tableIndex = 0; var NavigationBoxes = new Object(); var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ ) { if ( hasClass( Tables[i], "collapsible" ) ) { NavigationBoxes[ tableIndex ] = Tables[i]; Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" ); var ButtonLink = document.createElement( "a" ); var ButtonText = document.createTextNode( collapseCaption ); Button.style.styleFloat = "right"; Button.style.cssFloat = "right"; Button.style.fontWeight = "normal"; Button.style.textAlign = "right"; Button.style.width = "6em"; ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ); ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( "]" ) ); var Header = Tables[i].getElementsByTagName( "tr" )[0].getElementsByTagName( "th" )[0]; Header.insertBefore( Button, Header.childNodes[0] ); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) { collapseTable( i ); } } } addOnloadHook( createCollapseButtons );