REMOVA OS ANÚNCIOS!

Apoiando através de https://apoia.se/arddhu a partir do tier de Apoiador, você pode navegar na wiki sem anúncios e ainda colabora com o projeto!

MediaWiki:Common.js: mudanças entre as edições

De Runarcana Wiki
Sem resumo de edição
Sem resumo de edição
Linha 39: Linha 39:


mw.loader.load( 'https://wiki.runarcana.org/util/ptoc.css', 'text/css' );
mw.loader.load( 'https://wiki.runarcana.org/util/ptoc.css', 'text/css' );
mw.loader.using('jquery.throttle-debounce', function(){
mw.loader.using( 'oojs-ui-core', function () {
  $(function(){
    $( function () {
    var $window, $mwPanel, $floatTOC, scrollHandler, tocLimit, headingOffsets, headingThreshold, $toc = $('#toc');
        var $window, $mwPanel, $floatTOC, scrollHandler, tocLimit, headingOffsets, headingThreshold, $toc = $( '#toc' );
    if(!$toc.length) {
        if ( !$toc.length ) {
      return;
            return;
    }
        }
    $window = $(window);
        $window = $( window );
    $mwPanel = $('#mw-panel');
        $mwPanel = $( '#mw-panel' );
    headingThreshold = $window.height()/5.0;
        headingThreshold = $window.height() / 5.0;
    $floatTOC = $toc.clone().removeAttr('id').addClass('floatTOC').appendTo('body').css({visibility: 'hidden', opacity: 0});
        $floatTOC = $toc.clone().removeAttr( 'id' ).addClass( 'floatTOC' ).appendTo( 'body' ).css( { visibility: 'hidden', opacity: 0 } );
    $floatTOC.find('ul').show();
        $floatTOC.find( 'ul' ).show();
    $floatTOC.find('a').click(function(e){
        $floatTOC.find( 'a' ).click( function ( e ) {
      $('html, body').animate({scrollTop: $(this.hash.replace(/\./g,'\\.')).offset().top-headingThreshold});
            $( 'html, body' ).animate( { scrollTop: $( this.hash.replace( /\./g, '\\.' ) ).offset().top - headingThreshold } );
      return false;
    });
    tocLimit = $toc.offset().top + $toc.height();
    headingOffsets = [];
    $('.mw-headline').each(function(){
      headingOffsets.push([$(this).attr('id'), $(this).offset().top]);
    });
    scrollHandler = function(){
      var $current, scrollTop = $window.scrollTop();
      if(scrollTop > tocLimit) {
        $floatTOC.css({visibility: 'visible', opacity: 1});
        $mwPanel.hide();
        var highlight = false;
        $.each(headingOffsets, function(i, v){
          if(i !== 0 && (scrollTop + headingThreshold) < v[1]) {
            highlight = headingOffsets[i-1][0];
             return false;
             return false;
          }
        } );
         });
        tocLimit = $toc.offset().top + $toc.height();
         if(highlight) {
        headingOffsets = [];
          $current = $floatTOC.find('a[href="#' + highlight + '"]');
        $( '.mw-headline' ).each( function () {
          $floatTOC.find('a').not($current).css('font-weight','');
            headingOffsets.push( [ $( this ).attr( 'id' ), $( this ).offset().top ] );
          $current.css('font-weight','bold');
         } );
         scrollHandler = function () {
            var $current, scrollTop = $window.scrollTop();
            if ( scrollTop > tocLimit ) {
                $floatTOC.css( { visibility: 'visible', opacity: 1 } );
                $mwPanel.hide();
                var highlight = false;
                $.each( headingOffsets, function ( i, v ) {
                    if ( i !== 0 && ( scrollTop + headingThreshold ) < v[ 1 ] ) {
                        highlight = headingOffsets[ i - 1 ][ 0 ];
                        return false;
                    }
                } );
                if ( highlight ) {
                    $current = $floatTOC.find( 'a[href="#' + highlight + '"]' );
                    $floatTOC.find( 'a' ).not( $current ).css( 'font-weight', '' );
                    $current.css( 'font-weight', 'bold' );
                }
            } else {
                $floatTOC.css( { visibility: 'hidden', opacity: 0 } );
                $mwPanel.show();
            }
         }
         }
      } else {
         $floatTOC.hide(); // Hide the element by default
        $floatTOC.css({visibility: 'hidden', opacity: 0});
        $toc.hover( function () {
         $mwPanel.show();
            $floatTOC.show(); // Show the element when hovered
      }
        }, function () {
    }
            $floatTOC.hide(); // Hide the element when not hovered
    $floatTOC.hide(); // Hide the element by default
        } );
    $toc.hover(function() {
        $window.on( 'scroll', OO.ui.throttle( 250, scrollHandler ) );
      $floatTOC.show(); // Show the element when hovered
    } );
    }, function() {
} );
      $floatTOC.hide(); // Hide the element when not hovered
    });
    $window.on('scroll',$.throttle(250,scrollHandler));
  });
});

Edição das 23h30min de 12 de janeiro de 2023

/* Códigos JavaScript aqui colocados serão carregados por todos aqueles que acessarem alguma página deste wiki */

$(document).ready(function() {
    var tables = document.getElementsByClassName("organize");
    Array.prototype.forEach.call(tables, function(table) {
        var rows, switching, i, x, y, shouldSwitch;
        switching = true;
        /* Make a loop that will continue until
        no switching has been done: */
        while (switching) {
            // start by saying: no switching is done:
            switching = false;
            rows = table.rows;
            /* Loop through all table rows (except the
            first, which contains table headers): */
            for (i = 1; i < (rows.length - 1); i++) {
                // start by saying there should be no switching:
                shouldSwitch = false;
                /* Get the two elements you want to compare,
                one from current row and one from the next: */
                x = rows[i].getElementsByTagName("TD")[0];
                y = rows[i + 1].getElementsByTagName("TD")[0];
                // check if the two rows should switch place:
                if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) {
                    // if so, mark as a switch and break the loop:
                    shouldSwitch = true;
                    break;
                }
            }
            if (shouldSwitch) {
                /* If a switch has been marked, make the switch
                and mark that a switch has been done: */
                rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);
                switching = true;
            }
        }
    });
});

mw.loader.load( 'https://wiki.runarcana.org/util/ptoc.css', 'text/css' );
mw.loader.using( 'oojs-ui-core', function () {
    $( function () {
        var $window, $mwPanel, $floatTOC, scrollHandler, tocLimit, headingOffsets, headingThreshold, $toc = $( '#toc' );
        if ( !$toc.length ) {
            return;
        }
        $window = $( window );
        $mwPanel = $( '#mw-panel' );
        headingThreshold = $window.height() / 5.0;
        $floatTOC = $toc.clone().removeAttr( 'id' ).addClass( 'floatTOC' ).appendTo( 'body' ).css( { visibility: 'hidden', opacity: 0 } );
        $floatTOC.find( 'ul' ).show();
        $floatTOC.find( 'a' ).click( function ( e ) {
            $( 'html, body' ).animate( { scrollTop: $( this.hash.replace( /\./g, '\\.' ) ).offset().top - headingThreshold } );
            return false;
        } );
        tocLimit = $toc.offset().top + $toc.height();
        headingOffsets = [];
        $( '.mw-headline' ).each( function () {
            headingOffsets.push( [ $( this ).attr( 'id' ), $( this ).offset().top ] );
        } );
        scrollHandler = function () {
            var $current, scrollTop = $window.scrollTop();
            if ( scrollTop > tocLimit ) {
                $floatTOC.css( { visibility: 'visible', opacity: 1 } );
                $mwPanel.hide();
                var highlight = false;
                $.each( headingOffsets, function ( i, v ) {
                    if ( i !== 0 && ( scrollTop + headingThreshold ) < v[ 1 ] ) {
                        highlight = headingOffsets[ i - 1 ][ 0 ];
                        return false;
                    }
                } );
                if ( highlight ) {
                    $current = $floatTOC.find( 'a[href="#' + highlight + '"]' );
                    $floatTOC.find( 'a' ).not( $current ).css( 'font-weight', '' );
                    $current.css( 'font-weight', 'bold' );
                }
            } else {
                $floatTOC.css( { visibility: 'hidden', opacity: 0 } );
                $mwPanel.show();
            }
        }
        $floatTOC.hide(); // Hide the element by default
        $toc.hover( function () {
            $floatTOC.show(); // Show the element when hovered
        }, function () {
            $floatTOC.hide(); // Hide the element when not hovered
        } );
        $window.on( 'scroll', OO.ui.throttle( 250, scrollHandler ) );
    } );
} );