Main Page
Difference between revisions of "MediaWiki:Common.js"
Jump to navigation
Jump to search
(Created page with "→Any JavaScript here will be loaded for all users on every page load.: /** * Collapsible tables * * @version 2.0.2 (2014-03-14) * @source https://www.mediawiki.org/wi...") |
(testing tabs) |
||
Line 104: | Line 104: | ||
mw.hook( 'wikipage.content' ).add( createCollapseButtons ); | mw.hook( 'wikipage.content' ).add( createCollapseButtons ); | ||
+ | |||
+ | {{Help page}} | ||
+ | |||
+ | /* JS Tab System, Jacked and Hacked from the jsprefs in monobook/main.css -Dantman */ | ||
+ | .tabtoc { | ||
+ | margin: 0; | ||
+ | padding: 0; | ||
+ | width: 100%; | ||
+ | clear: both; | ||
+ | } | ||
+ | |||
+ | .tabtoc li { | ||
+ | background-color: #f0f0f0; | ||
+ | color: #000; | ||
+ | } | ||
+ | |||
+ | .tabtoc li { | ||
+ | margin: 1px -2px 1px 2px; | ||
+ | float: left; | ||
+ | padding: 2px 0 3px 0; | ||
+ | border: 1px solid #fff; | ||
+ | border-right-color: #716f64; | ||
+ | border-bottom: 0; | ||
+ | position: relative; | ||
+ | white-space: nowrap; | ||
+ | list-style-type: none; | ||
+ | list-style-image: none; | ||
+ | z-index: 3; | ||
+ | } | ||
+ | |||
+ | .tabtoc li.selected { | ||
+ | font-weight: bold; | ||
+ | background-color: #f9f9f9; | ||
+ | border: 1px solid #aaa; | ||
+ | border-bottom: none; | ||
+ | cursor: default; | ||
+ | top: 1px; | ||
+ | padding-top: 2px; | ||
+ | margin-right: -3px; | ||
+ | } | ||
+ | |||
+ | .tabtoc > li.selected { | ||
+ | top: 2px; | ||
+ | } | ||
+ | |||
+ | .tabtoc a, | ||
+ | .tabtoc a:active { | ||
+ | display: block; | ||
+ | color: #000; | ||
+ | padding: 0 .7em; | ||
+ | position: relative; | ||
+ | text-decoration: none; | ||
+ | } | ||
+ | |||
+ | .tabtoc li.selected a { | ||
+ | cursor: default; | ||
+ | text-decoration: none; | ||
+ | } | ||
+ | |||
+ | .tabcontainer { | ||
+ | margin: 0; | ||
+ | border: 1px solid #aaa; | ||
+ | clear: both; | ||
+ | padding: 1.5em; | ||
+ | background-color: #F9F9F9; | ||
+ | } | ||
+ | |||
+ | |||
+ | .tabsection { | ||
+ | border: none; | ||
+ | padding: 0; | ||
+ | margin: 0; | ||
+ | } | ||
+ | |||
+ | .tabsection .tabbox { | ||
+ | border: 1px solid #aaa; | ||
+ | float: left; | ||
+ | margin-right: 2em; | ||
+ | } | ||
+ | |||
+ | .tabsection .tab { | ||
+ | font-weight: bold; | ||
+ | } | ||
+ | |||
+ | .tabsection table, .tabsection .tab { | ||
+ | background-color: #F9F9F9; | ||
+ | } | ||
+ | |||
+ | .mainTab { | ||
+ | display: none; | ||
+ | } |
Revision as of 06:40, 20 January 2016
/* Any JavaScript here will be loaded for all users on every page load. */ /** * Collapsible tables * * @version 2.0.2 (2014-03-14) * @source https://www.mediawiki.org/wiki/MediaWiki:Gadget-collapsibleTables.js * @author [[User:R. Koot]] * @author [[User:Krinkle]] * @deprecated Since MediaWiki 1.20: Use class="mw-collapsible" instead which * is supported in MediaWiki core. */ /*global $, mw */ var autoCollapse = 2; var collapseCaption = 'hide'; var expandCaption = 'show'; function collapseTable( tableIndex ) { var Button = document.getElementById( 'collapseButton' + tableIndex ); var Table = document.getElementById( 'collapsibleTable' + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; var i; if ( Button.firstChild.data === collapseCaption ) { for ( i = 1; i < Rows.length; i++ ) { Rows[i].style.display = 'none'; } Button.firstChild.data = expandCaption; } else { for ( i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = collapseCaption; } } function createClickHandler( tableIndex ) { return function ( e ) { e.preventDefault(); collapseTable( tableIndex ); }; } function createCollapseButtons() { var tableIndex = 0; var NavigationBoxes = {}; var Tables = document.getElementsByTagName( 'table' ); var i; for ( i = 0; i < Tables.length; i++ ) { if ( $( Tables[i] ).hasClass( 'collapsible' ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( 'tr' )[0]; if ( !HeaderRow ) { continue; } var Header = HeaderRow.getElementsByTagName( 'th' )[0]; if ( !Header ) { continue; } 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 ); // TODO: Declare styles in [[MediaWiki:Gadget-collapsibleTables.css]] // Button.className = 'collapseButton'; Button.style.styleFloat = 'right'; Button.style.cssFloat = 'right'; Button.style.fontWeight = 'normal'; Button.style.textAlign = 'right'; Button.style.width = '6em'; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex ); ButtonLink.setAttribute( 'href', '#' ); $( ButtonLink ).on( 'click', createClickHandler( tableIndex ) ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( '[' ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( ']' ) ); Header.insertBefore( Button, Header.firstChild ); tableIndex++; } } for ( i = 0; i < tableIndex; i++ ) { if ( $( NavigationBoxes[i] ).hasClass( 'collapsed' ) || ( tableIndex >= autoCollapse && $( NavigationBoxes[i] ).hasClass( 'autocollapse' ) ) ) { collapseTable( i ); } } } mw.hook( 'wikipage.content' ).add( createCollapseButtons ); {{Help page}} /* JS Tab System, Jacked and Hacked from the jsprefs in monobook/main.css -Dantman */ .tabtoc { margin: 0; padding: 0; width: 100%; clear: both; } .tabtoc li { background-color: #f0f0f0; color: #000; } .tabtoc li { margin: 1px -2px 1px 2px; float: left; padding: 2px 0 3px 0; border: 1px solid #fff; border-right-color: #716f64; border-bottom: 0; position: relative; white-space: nowrap; list-style-type: none; list-style-image: none; z-index: 3; } .tabtoc li.selected { font-weight: bold; background-color: #f9f9f9; border: 1px solid #aaa; border-bottom: none; cursor: default; top: 1px; padding-top: 2px; margin-right: -3px; } .tabtoc > li.selected { top: 2px; } .tabtoc a, .tabtoc a:active { display: block; color: #000; padding: 0 .7em; position: relative; text-decoration: none; } .tabtoc li.selected a { cursor: default; text-decoration: none; } .tabcontainer { margin: 0; border: 1px solid #aaa; clear: both; padding: 1.5em; background-color: #F9F9F9; } .tabsection { border: none; padding: 0; margin: 0; } .tabsection .tabbox { border: 1px solid #aaa; float: left; margin-right: 2em; } .tabsection .tab { font-weight: bold; } .tabsection table, .tabsection .tab { background-color: #F9F9F9; } .mainTab { display: none; }