1
0
Fork 0
hugo/docs/assets/js/alpinejs/magics/helpers.js

37 lines
744 B
JavaScript

'use strict';
export function registerMagics(Alpine) {
Alpine.magic('copy', (currentEl) => {
return function (el) {
if (!el) {
el = currentEl;
}
// Select the element to copy.
let range = document.createRange();
range.selectNode(el);
window.getSelection().removeAllRanges();
window.getSelection().addRange(range);
// Remove the selection after some time.
setTimeout(() => {
window.getSelection().removeAllRanges();
}, 500);
// Trim whitespace.
let text = el.textContent.trim();
navigator.clipboard.writeText(text);
};
});
Alpine.magic('isScrollX', (currentEl) => {
return function (el) {
if (!el) {
el = currentEl;
}
return el.clientWidth < el.scrollWidth;
};
});
}