MediaWiki:Common.js bak: verschil tussen versies
Scoutpedia.nl, dé Scouting wiki
k (Egel heeft de pagina MediaWiki:Common.js hernoemd naar MediaWiki:Test Common.js zonder een doorverwijzing achter te laten) |
k (Egel heeft de pagina MediaWiki:Test Common.js hernoemd naar MediaWiki:Common.js zonder een doorverwijzing achter te laten) |
(geen verschil)
|
Versie van 12 aug 2017 19:44
/* JavaScript hier zal invloed hebben op elke pagina voor elke gebruiker. */ /* == Extra knopje in de toolbar == <pre> */ if (mwCustomEditButtons) { mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png", "speedTip": "Voeg tabel in", "tagOpen": '{| class="prettytable"\n|-\n', "tagClose": "\n|}", "sampleText": "! kop 1\n! kop 2\n! kop 3\n|-\n| rij 1, cel 1\n| rij 1, cel 2\n| rij 1, cel 3\n|-\n| rij 2, cel 1\n| rij 2, cel 2\n| rij 2, cel 3"}; } /* </pre> == NavFrame == Van [[:en:MediaWiki:Common.js]] Test if an element has a certain class Description: Uses regular expressions and caching for better performance. Maintainers: [[:en:User:Mike Dillon]], [[:en:User:R. Koot]], [[:en:User:SG]] <pre> */ var hasClass = (function () { var reCache = {}; return function (element, className) { return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className); }; })(); /* </pre> Collapsible tables Description: Allows tables to be collapsed, showing only the header. See [[:en:Wikipedia:NavFrame]]. Maintainers: [[:en:User:R. Koot]] <pre> */ var autoCollapse = 2; var collapseCaption = "verberg"; var expandCaption = "toon"; 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]; /* only add button and increment count if there is a header row to work with */ if (Header) { 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 ); /* </pre> ==Numerieke sortering in sortable-tabellen== Aangepaste functie voor het parseren van getallen in numerieke kolommen van tabellen met class="sortable". Deze zorgt ervoor dat getallen in de Nederlandse notatie (punten voor de duizendtallen, komma's voor de decimalen) juist worden gesorteerd. <pre> */ function ts_parseFloat(num) { if (!num) return 0; num = parseFloat(num.replace(/\./g, "").replace(/,/, ".")); return (isNaN(num) ? 0 : num); } /* </pre> */