Jump to content

MediaWiki:Common.js: Difference between revisions

From Grantha
No edit summary
No edit summary
Line 10: Line 10:
     } );
     } );
} );
} );
// CopyID button handler
$(document).ready(function () {
  $(document).on('click', '.copy-id-btn', function () {
    var btn = $(this);
    var id = btn.data('copyid');
    if (!id) return;
    // Use Clipboard API with fallback
    if (navigator.clipboard && window.isSecureContext) {
      navigator.clipboard.writeText(id).then(function () {
        btn.addClass('copied').text('✓');
        setTimeout(function () {
          btn.removeClass('copied').text('⧉');
        }, 1800);
      });
    } else {
      // Fallback for non-HTTPS or older browsers
      var temp = $('<textarea>').val(id).appendTo('body');
      temp[0].select();
      document.execCommand('copy');
      temp.remove();
      btn.addClass('copied').text('✓');
      setTimeout(function () {
        btn.removeClass('copied').text('⧉');
      }, 1800);
    }
  });
});

Revision as of 06:04, 25 March 2026

/* Any JavaScript here will be loaded for all users on every page load. */
mw.hook( 'wikipage.content' ).add( function ( $content ) {
    $content.find( '.commentary-toggle' ).on( 'click', function () {
        var verseId = $( this ).attr( 'data-verse' );
        var $block = $( '#' + CSS.escape( verseId ) );
        var $bodies = $block.find( '.commentary-body' );
        var isHidden = $bodies.first().hasClass( 'commentary-hidden' );
        $bodies.toggleClass( 'commentary-hidden', !isHidden );
        $( this ).toggleClass( 'commentary-toggle-active', isHidden );
    } );
} );
// CopyID button handler
$(document).ready(function () {
  $(document).on('click', '.copy-id-btn', function () {
    var btn = $(this);
    var id = btn.data('copyid');
    if (!id) return;

    // Use Clipboard API with fallback
    if (navigator.clipboard && window.isSecureContext) {
      navigator.clipboard.writeText(id).then(function () {
        btn.addClass('copied').text('✓');
        setTimeout(function () {
          btn.removeClass('copied').text('⧉');
        }, 1800);
      });
    } else {
      // Fallback for non-HTTPS or older browsers
      var temp = $('<textarea>').val(id).appendTo('body');
      temp[0].select();
      document.execCommand('copy');
      temp.remove();
      btn.addClass('copied').text('✓');
      setTimeout(function () {
        btn.removeClass('copied').text('⧉');
      }, 1800);
    }
  });
});