Moved from JCenter to Maven Central.
Updated dependencies.
This commit is contained in:
parent
2c8a9c61cc
commit
c61f9ad59c
93 changed files with 6881 additions and 190 deletions
52
docs/scripts/clipboard.js
Normal file
52
docs/scripts/clipboard.js
Normal file
|
@ -0,0 +1,52 @@
|
|||
window.addEventListener('load', () => {
|
||||
document.querySelectorAll('span.copy-icon').forEach(element => {
|
||||
element.addEventListener('click', (el) => copyElementsContentToClipboard(element));
|
||||
})
|
||||
|
||||
document.querySelectorAll('span.anchor-icon').forEach(element => {
|
||||
element.addEventListener('click', (el) => {
|
||||
if(element.hasAttribute('pointing-to')){
|
||||
const location = hrefWithoutCurrentlyUsedAnchor() + '#' + element.getAttribute('pointing-to')
|
||||
copyTextToClipboard(element, location)
|
||||
}
|
||||
});
|
||||
})
|
||||
})
|
||||
|
||||
const copyElementsContentToClipboard = (element) => {
|
||||
const selection = window.getSelection();
|
||||
const range = document.createRange();
|
||||
range.selectNodeContents(element.parentNode.parentNode);
|
||||
selection.removeAllRanges();
|
||||
selection.addRange(range);
|
||||
|
||||
copyAndShowPopup(element, () => selection.removeAllRanges())
|
||||
}
|
||||
|
||||
const copyTextToClipboard = (element, text) => {
|
||||
var textarea = document.createElement("textarea");
|
||||
textarea.textContent = text;
|
||||
textarea.style.position = "fixed";
|
||||
document.body.appendChild(textarea);
|
||||
textarea.select();
|
||||
|
||||
copyAndShowPopup(element, () => document.body.removeChild(textarea))
|
||||
}
|
||||
|
||||
const copyAndShowPopup = (element, after) => {
|
||||
try {
|
||||
document.execCommand('copy');
|
||||
element.nextElementSibling.classList.add('active-popup');
|
||||
setTimeout(() => {
|
||||
element.nextElementSibling.classList.remove('active-popup');
|
||||
}, 1200);
|
||||
} catch (e) {
|
||||
console.error('Failed to write to clipboard:', e)
|
||||
}
|
||||
finally {
|
||||
if(after) after()
|
||||
}
|
||||
}
|
||||
|
||||
const hrefWithoutCurrentlyUsedAnchor = () => window.location.href.split('#')[0]
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue