|
|
خط ۱۳: |
خط ۱۳: |
| } | | } |
| }); | | }); |
| /** Collapsible tables *********************************************************
| |
| *
| |
| * Description: Allows tables to be collapsed, showing only the header. See
| |
| * [[Wikipedia:NavFrame]].
| |
| * Maintainers: [[User:R. Koot]]
| |
| */
| |
| var autoCollapse = 2;
| |
| var collapseCaption = "نهفتن";
| |
| var expandCaption = "نمایش";
| |
| var expandCaption_more = "ادامه مطلب";
| |
|
| |
|
| function collapseTable( tableIndex )
| | /* Restore collapsible elements by loading the jQuery module for them. */ |
| {
| |
| var Button = document.getElementById( "collapseButton" + tableIndex );
| |
| var Table = document.getElementById( "collapsibleTable" + tableIndex );
| |
|
| |
|
| if ( !Table || !Button ) {
| | $( function (mw, $) { |
| return false;
| | 'use strict'; |
| }
| |
|
| |
|
| var Rows = Table.rows;
| | mw.loader.using('jquery.makeCollapsible', function ( ) { |
| /**
| | $( '.mw-collapsible' ).makeCollapsible ( ); |
| * AMDEADMAN Edit for readmore collapse added if
| | } ); |
| */
| | } (mediaWiki, jQuery) ); |
| if ($("#collapsibleTable" + tableIndex).hasClass('readmore') & Button.firstChild.data == collapseCaption ) {
| |
| for ( var i = 1; i < Rows.length; i++ ) {
| |
| Rows[i].style.display = "none";
| |
| }
| |
| Button.firstChild.data = expandCaption_more;
| |
| } else 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 = {};
| |
| var Tables = document.getElementsByTagName( 'table' );
| |
| var i;
| |
| | |
| function handleButtonLink( index, e ) {
| |
| window.collapseTable( index );
| |
| e.preventDefault();
| |
| }
| |
| | |
| 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 );
| |
| | |
| Button.className = 'collapseButton'; /* Styles are declared in Common.css */
| |
| | |
| ButtonLink.style.color = Header.style.color;
| |
| ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex );
| |
| ButtonLink.setAttribute( 'href', '#' );
| |
| $( ButtonLink ).on( 'click', $.proxy( handleButtonLink, ButtonLink, tableIndex ) );
| |
| ButtonLink.appendChild( ButtonText );
| |
| | |
| Button.appendChild( document.createTextNode( '[' ) );
| |
| Button.appendChild( ButtonLink );
| |
| Button.appendChild( document.createTextNode( ']' ) );
| |
| /**
| |
| * AMDEADMAN Edit for readmore collapse
| |
| */
| |
| if($( Tables[i] ).hasClass( 'readmore' )){
| |
| $(Header).html($(Header).text()).append(Button);
| |
| } else {
| |
| Header.insertBefore( Button, Header.firstChild );
| |
| }
| |
| tableIndex++;
| |
| }
| |
| }
| |
| | |
| for ( i = 0; i < tableIndex; i++ ) {
| |
| if ( $( NavigationBoxes[i] ).hasClass( 'collapsed' ) || ( tableIndex >= autoCollapse && $( NavigationBoxes[i] ).hasClass( 'autocollapse' ) ) ) {
| |
| window.collapseTable( i );
| |
| }
| |
| else if ( $( NavigationBoxes[i] ).hasClass ( 'innercollapse' ) ) {
| |
| var element = NavigationBoxes[i];
| |
| while ((element = element.parentNode)) {
| |
| if ( $( element ).hasClass( 'outercollapse' ) ) {
| |
| window.collapseTable ( i );
| |
| break;
| |
| }
| |
| }
| |
| }
| |
| }
| |
| }
| |
| | |
| $(createCollapseButtons);
| |