MediaWiki:Common.js: Difference between revisions
No edit summary |
No edit summary |
||
| Line 37: | Line 37: | ||
} | } | ||
}); | }); | ||
}); | |||
// ── Verse copy & download ──────────────────────────────────────── | |||
$(document).ready(function () { | |||
// Copy verse text | |||
$(document).on('click', '.copy-verse-btn', function () { | |||
var $btn = $(this); | |||
var line1 = $btn.data('line1') || ''; | |||
var line2 = $btn.data('line2') || ''; | |||
var text = line2 ? line1 + '\n' + line2 : line1; | |||
if (navigator.clipboard && window.isSecureContext) { | |||
navigator.clipboard.writeText(text).then(function () { | |||
$btn.addClass('copied').text('✓'); | |||
setTimeout(function () { $btn.removeClass('copied').text('⧉'); }, 1800); | |||
}); | |||
} else { | |||
var $t = $('<textarea>').val(text).appendTo('body'); | |||
$t[0].select(); | |||
document.execCommand('copy'); | |||
$t.remove(); | |||
$btn.addClass('copied').text('✓'); | |||
setTimeout(function () { $btn.removeClass('copied').text('⧉'); }, 1800); | |||
} | |||
}); | |||
// Download verse as .txt | |||
$(document).on('click', '.download-verse-btn', function () { | |||
var $btn = $(this); | |||
var id = $btn.data('verse-id') || 'verse'; | |||
var line1 = $btn.data('line1') || ''; | |||
var line2 = $btn.data('line2') || ''; | |||
var text = line2 ? line1 + '\n' + line2 : line1; | |||
var blob = new Blob([ text ], { type: 'text/plain;charset=utf-8' }); | |||
var url = URL.createObjectURL(blob); | |||
var $a = $('<a>').attr({ href: url, download: id + '.txt' }).appendTo('body'); | |||
$a[0].click(); | |||
$a.remove(); | |||
URL.revokeObjectURL(url); | |||
$btn.text('✓'); | |||
setTimeout(function () { $btn.text('↓'); }, 1800); | |||
}); | |||
}); | }); | ||