https://wiki.hopeanuoli.com/index.php?title=J%C3%A4rjestelm%C3%A4viesti:Common.js&feed=atom&action=history
Järjestelmäviesti:Common.js - Muutoshistoria
2024-03-29T10:50:00Z
Tämän sivun muutoshistoria
MediaWiki 1.35.13
https://wiki.hopeanuoli.com/index.php?title=J%C3%A4rjestelm%C3%A4viesti:Common.js&diff=9032&oldid=prev
Feenix: äh, anti olla
2009-05-19T13:12:44Z
<p>äh, anti olla</p>
<p><b>Uusi sivu</b></p><div>/* Tämän sivun koodi liitetään jokaiseen sivulataukseen */<br />
// <pre><br />
/** Collapsible tables *********************************************************<br />
*<br />
* Description: Allows tables to be collapsed, showing only the header. See<br />
* [[Wikipedia:NavFrame]].<br />
* Maintainers: [[User:R. Koot]]<br />
*/<br />
var autoCollapse = 2;<br />
var collapseCaption = 'piilota';<br />
var expandCaption = 'näytä';<br />
<br />
function collapseTable( tableIndex ) {<br />
var Button = document.getElementById( 'collapseButton' + tableIndex );<br />
var Table = document.getElementById( 'collapsibleTable' + tableIndex );<br />
<br />
if ( !Table || !Button ) {<br />
return false;<br />
}<br />
<br />
var Rows = Table.rows;<br />
<br />
if ( Button.firstChild.data == collapseCaption ) {<br />
for ( var i = 1; i < Rows.length; i++ ) {<br />
Rows[i].style.display = 'none';<br />
}<br />
Button.firstChild.data = expandCaption;<br />
} else {<br />
for ( var i = 1; i < Rows.length; i++ ) {<br />
Rows[i].style.display = Rows[0].style.display;<br />
}<br />
Button.firstChild.data = collapseCaption;<br />
}<br />
}<br />
<br />
function createCollapseButtons() {<br />
var tableIndex = 0;<br />
var NavigationBoxes = new Object();<br />
var Tables = document.getElementsByTagName( 'table' );<br />
<br />
for ( var i = 0; i < Tables.length; i++ ) {<br />
if ( hasClass( Tables[i], 'collapsible' ) ) {<br />
<br />
/* only add button and increment count if there is a header row to work with */<br />
var HeaderRow = Tables[i].getElementsByTagName( 'tr' )[0];<br />
if( !HeaderRow ) continue;<br />
var Header = HeaderRow.getElementsByTagName( 'th' )[0];<br />
if( !Header ) continue;<br />
<br />
NavigationBoxes[ tableIndex ] = Tables[i];<br />
Tables[i].setAttribute( 'id', 'collapsibleTable' + tableIndex );<br />
<br />
var Button = document.createElement( 'span' );<br />
var ButtonLink = document.createElement( 'a' );<br />
var ButtonText = document.createTextNode( collapseCaption );<br />
<br />
Button.style.styleFloat = 'right';<br />
Button.style.cssFloat = 'right';<br />
Button.style.fontWeight = 'normal';<br />
Button.style.textAlign = 'right';<br />
Button.style.width = '6em';<br />
<br />
ButtonLink.style.color = Header.style.color;<br />
ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex );<br />
ButtonLink.setAttribute( 'href', "javascript:collapseTable(" + tableIndex + ");" );<br />
ButtonLink.appendChild( ButtonText );<br />
<br />
Button.appendChild( document.createTextNode( "[" ) );<br />
Button.appendChild( ButtonLink );<br />
Button.appendChild( document.createTextNode( "]" ) );<br />
<br />
Header.insertBefore( Button, Header.childNodes[0] );<br />
tableIndex++;<br />
}<br />
}<br />
<br />
for ( var i = 0; i < tableIndex; i++ ) {<br />
if ( hasClass( NavigationBoxes[i], 'collapsed' ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], 'autocollapse' ) ) ) {<br />
collapseTable( i );<br />
}<br />
}<br />
}<br />
<br />
addOnloadHook( createCollapseButtons );<br />
<br />
/** Dynamic Navigation Bars (experimental) *************************************<br />
*<br />
* Description: See [[Wikipedia:NavFrame]].<br />
* Maintainers: UNMAINTAINED<br />
*/<br />
<br />
// set up the words in your language<br />
var NavigationBarHide = '[' + collapseCaption + ']';<br />
var NavigationBarShow = '[' + expandCaption + ']';<br />
<br />
// shows and hides content and picture (if available) of navigation bars<br />
// Parameters:<br />
// indexNavigationBar: the index of navigation bar to be toggled<br />
function toggleNavigationBar( indexNavigationBar ){<br />
var NavToggle = document.getElementById('NavToggle' + indexNavigationBar);<br />
var NavFrame = document.getElementById('NavFrame' + indexNavigationBar);<br />
<br />
if( !NavFrame || !NavToggle ) {<br />
return false;<br />
}<br />
<br />
// if shown now<br />
if( NavToggle.firstChild.data == NavigationBarHide ) {<br />
for (<br />
var NavChild = NavFrame.firstChild;<br />
NavChild != null;<br />
NavChild = NavChild.nextSibling<br />
) {<br />
if ( hasClass( NavChild, 'NavPic' ) ) {<br />
NavChild.style.display = 'none';<br />
}<br />
if ( hasClass( NavChild, 'NavContent') ) {<br />
NavChild.style.display = 'none';<br />
}<br />
}<br />
NavToggle.firstChild.data = NavigationBarShow;<br />
<br />
// if hidden now<br />
} else if( NavToggle.firstChild.data == NavigationBarShow ) {<br />
for (<br />
var NavChild = NavFrame.firstChild;<br />
NavChild != null;<br />
NavChild = NavChild.nextSibling<br />
) {<br />
if( hasClass( NavChild, 'NavPic' ) ) {<br />
NavChild.style.display = 'block';<br />
}<br />
if( hasClass( NavChild, 'NavContent' ) ) {<br />
NavChild.style.display = 'block';<br />
}<br />
}<br />
NavToggle.firstChild.data = NavigationBarHide;<br />
}<br />
}<br />
<br />
// adds show/hide-button to navigation bars<br />
function createNavigationBarToggleButton(){<br />
var indexNavigationBar = 0;<br />
// iterate over all < div >-elements <br />
var divs = document.getElementsByTagName('div');<br />
for( var i = 0; NavFrame = divs[i]; i++ ) {<br />
// if found a navigation bar<br />
if( hasClass( NavFrame, 'NavFrame' ) ) {<br />
<br />
indexNavigationBar++;<br />
var NavToggle = document.createElement('a');<br />
NavToggle.className = 'NavToggle';<br />
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);<br />
NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');<br />
<br />
var NavToggleText = document.createTextNode( NavigationBarHide );<br />
for (<br />
var NavChild = NavFrame.firstChild;<br />
NavChild != null;<br />
NavChild = NavChild.nextSibling<br />
) {<br />
if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent' ) ) {<br />
if( NavChild.style.display == 'none' ) {<br />
NavToggleText = document.createTextNode(NavigationBarShow);<br />
break;<br />
}<br />
}<br />
}<br />
<br />
NavToggle.appendChild( NavToggleText );<br />
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)<br />
for( var j = 0; j < NavFrame.childNodes.length; j++ ) {<br />
if( hasClass( NavFrame.childNodes[j], 'NavHead' ) ) {<br />
NavFrame.childNodes[j].appendChild(NavToggle);<br />
}<br />
}<br />
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);<br />
}<br />
}<br />
}<br />
<br />
addOnloadHook( createNavigationBarToggleButton );<br />
<br />
/** Test if an element has a certain class **************************************<br />
*<br />
* Description: Uses regular expressions and caching for better performance.<br />
* Maintainers: [[User:Mike Dillon]], [[User:R. Koot]], [[User:SG]]<br />
*/<br />
var hasClass = (function () {<br />
var reCache = {};<br />
return function (element, className) {<br />
return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);<br />
};<br />
})();<br />
<br />
// Uudelleenohjataan testitunnukseni käyttäjäsivu varsinaiselle käyttäjäsivulleni, sillä<br />
// olen kyllästynyt "Sinulla on uusi lahja" -sähköposteihin -Feenix 14.5.2009<br />
if( wgPageName == 'Käyttäjä:Ashley' && wgAction == 'view' && wgUserName !== 'Ashley' ){<br />
window.location = wgScript + '?title=Käyttäjä:Feenix';<br />
}<br />
//</pre></div>
Feenix