47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
/* Copy to Clipboard */
|
|
export async function copyToClipboard(type: string) {
|
|
const toast = useToast()
|
|
|
|
const selection = window.getSelection()
|
|
|
|
const container = document.createElement('div')
|
|
const range = selection?.getRangeAt(0)
|
|
container.appendChild(range.cloneContents())
|
|
|
|
const htmlOutput = container.innerHTML
|
|
const textOutput = selection?.toString()
|
|
|
|
try {
|
|
// Modern Clipboard API requires ClipboardItem
|
|
const clipboardItem = new ClipboardItem({
|
|
'text/html': new Blob([htmlOutput], { type: 'text/html' }),
|
|
'text/plain': new Blob([textOutput], { type: 'text/plain' })
|
|
})
|
|
|
|
await navigator.clipboard.write([clipboardItem])
|
|
toast.add({
|
|
title: 'Texto copiado!',
|
|
description: `${textOutput}`,
|
|
icon: 'ph-clipboard-text',
|
|
color: type == 'activities' ? 'success' : 'info'
|
|
})
|
|
} catch (err) {
|
|
console.error('Failed to copy: ', err)
|
|
}
|
|
}
|
|
|
|
export function debugDocument(json) {
|
|
let data = ''
|
|
// Iterate through keys and values
|
|
for (const key in json) {
|
|
if (json.hasOwnProperty(key)) {
|
|
data += `${key}: ${json[key]}\n\r`
|
|
}
|
|
}
|
|
return data
|
|
}
|
|
|
|
export function addNote() {
|
|
return 'yay'
|
|
}
|