Jump to content

MediaWiki:Common.js

From Grantha
Revision as of 17:41, 25 March 2026 by Chandrashekars (talk | contribs)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* =========================
   COMMENTARY TOGGLE
========================= */
$(document).on('click', '.verse-action-commentary', function (e) {
  e.preventDefault();
  e.stopPropagation();

  var $btn = $(this);
  var verseId = $btn.data('verse');
  if (!verseId) return;

  var $bodies = $('.commentary-body[data-verse="' + verseId + '"]');

  var isOpen = !$bodies.first().hasClass('open');

  // toggle commentary
  $bodies.toggleClass('open', isOpen);

  // highlight icon
  $btn.toggleClass('active', isOpen);
});


/* =========================
   COPY VERSE
========================= */
$(document).on('click', '.verse-action-copy', function (e) {
  e.preventDefault();
  e.stopPropagation();

  var $btn  = $(this);
  var line1 = $btn.data('line1') || '';
  var line2 = $btn.data('line2') || '';
  var text  = line2 ? line1 + '\n' + line2 : line1;

  if (!text) return;

  function feedback() {
    $btn.addClass('copied');
    setTimeout(function () {
      $btn.removeClass('copied');
    }, 1500);
  }

  if (navigator.clipboard && window.isSecureContext) {
    navigator.clipboard.writeText(text).then(feedback);
  } else {
    var $temp = $('<textarea>').val(text).appendTo('body');
    $temp[0].select();
    document.execCommand('copy');
    $temp.remove();
    feedback();
  }
});