mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-11-24 10:46:10 +01:00
4721d45c2a
- created lazy-loaded webpack chunk for clipboard.js - upgraded clipboard.js from 1.5.9 to 2.0.4 - parallelize initialization of all lazy-loaded features Co-authored-by: Antoine GIRARD <sapk@users.noreply.github.com>
24 lines
957 B
JavaScript
24 lines
957 B
JavaScript
export default async function initClipboard() {
|
|
const els = document.querySelectorAll('.clipboard');
|
|
if (!els || !els.length) return;
|
|
|
|
const { default: ClipboardJS } = await import(/* webpackChunkName: "clipboard" */'clipboard');
|
|
|
|
const clipboard = new ClipboardJS(els);
|
|
clipboard.on('success', (e) => {
|
|
e.clearSelection();
|
|
|
|
$(`#${e.trigger.getAttribute('id')}`).popup('destroy');
|
|
e.trigger.setAttribute('data-content', e.trigger.getAttribute('data-success'));
|
|
$(`#${e.trigger.getAttribute('id')}`).popup('show');
|
|
e.trigger.setAttribute('data-content', e.trigger.getAttribute('data-original'));
|
|
});
|
|
|
|
clipboard.on('error', (e) => {
|
|
$(`#${e.trigger.getAttribute('id')}`).popup('destroy');
|
|
e.trigger.setAttribute('data-content', e.trigger.getAttribute('data-error'));
|
|
$(`#${e.trigger.getAttribute('id')}`).popup('show');
|
|
e.trigger.setAttribute('data-content', e.trigger.getAttribute('data-original'));
|
|
});
|
|
}
|