forked from Shiloh/githaven
e03d627769
- lowercase all js filenames except Vue components - enable new lint rules, mostly focused on shorter code - autofix new lint violations - apply misc transformations indexOf -> includes and onevent-> addEventListener Co-authored-by: Antoine GIRARD <sapk@users.noreply.github.com>
24 lines
955 B
JavaScript
24 lines
955 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'));
|
|
});
|
|
}
|