Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MediaWiki:Common.js: Difference between revisions

MediaWiki interface page
Created page with "// Legal status table — live country filter mw.hook( 'wikipage.content' ).add( function ( $content ) { $content.find( '.legal-status-search__input' ).on( 'input', function () { var q = this.value.toLowerCase(); $( this ) .closest( '.legal-status-search' ) .find( '.legal-status-table tr' ) .each( function () { var cell = $( this ).find( '.legal-status-table__country' ); $( this ).tog..."
 
No edit summary
Line 1: Line 1:
// Legal status table — live country filter
// Legal status table — live country filter
mw.hook( 'wikipage.content' ).add( function ( $content ) {
mw.hook( 'wikipage.content' ).add( function ( $content ) {
     $content.find( '.legal-status-search__input' ).on( 'input', function () {
     $content.find( '.legal-status-search' ).each( function () {
         var q = this.value.toLowerCase();
         var $container = $( this );
         $( this )
         var $input = $( '<input>' ).attr( {
             .closest( '.legal-status-search' )
            type: 'text',
             .find( '.legal-status-table tr' )
             placeholder: 'Search countries…',
            .each( function () {
            'aria-label': 'Filter legal status table'
        } ).addClass( 'legal-status-search__input' );
 
        $container.prepend( $input );
 
        $input.on( 'input', function () {
             var q = this.value.toLowerCase();
            $container.find( '.legal-status-table tr' ).each( function () {
                 var cell = $( this ).find( '.legal-status-table__country' );
                 var cell = $( this ).find( '.legal-status-table__country' );
                 $( this ).toggle( cell.length === 0 || cell.text().toLowerCase().indexOf( q ) !== -1 );
                 $( this ).toggle( cell.length === 0 || cell.text().toLowerCase().indexOf( q ) !== -1 );
             } );
             } );
        } );
     } );
     } );
} );
} );

Revision as of 16:09, 12 May 2026

// Legal status table — live country filter
mw.hook( 'wikipage.content' ).add( function ( $content ) {
    $content.find( '.legal-status-search' ).each( function () {
        var $container = $( this );
        var $input = $( '<input>' ).attr( {
            type: 'text',
            placeholder: 'Search countries…',
            'aria-label': 'Filter legal status table'
        } ).addClass( 'legal-status-search__input' );

        $container.prepend( $input );

        $input.on( 'input', function () {
            var q = this.value.toLowerCase();
            $container.find( '.legal-status-table tr' ).each( function () {
                var cell = $( this ).find( '.legal-status-table__country' );
                $( this ).toggle( cell.length === 0 || cell.text().toLowerCase().indexOf( q ) !== -1 );
            } );
        } );
    } );
} );