1*4a476730SSchplurtz le DéboulonnéjQuery(function() { 2*4a476730SSchplurtz le Déboulonné // Copyright (C) 2020 Schplurtz le Déboulonné. 3*4a476730SSchplurtz le Déboulonné // Free to use for any purpose except dismantle the sky. 4*4a476730SSchplurtz le Déboulonné if(!navigator.clipboard) 5*4a476730SSchplurtz le Déboulonné return; 6*4a476730SSchplurtz le Déboulonné var messageBox=function( id, txt ) { 7*4a476730SSchplurtz le Déboulonné const body=document.getElementsByTagName('body')[0]; 8*4a476730SSchplurtz le Déboulonné const msg=document.createElement('div'); 9*4a476730SSchplurtz le Déboulonné msg.setAttribute('id', id ); 10*4a476730SSchplurtz le Déboulonné msg.classList.add('cp2clipmsg'); 11*4a476730SSchplurtz le Déboulonné const content = document.createTextNode(txt); 12*4a476730SSchplurtz le Déboulonné msg.appendChild(content); 13*4a476730SSchplurtz le Déboulonné body.appendChild(msg); 14*4a476730SSchplurtz le Déboulonné window.setTimeout(function() { 15*4a476730SSchplurtz le Déboulonné jQuery("#"+id).fadeTo(500, 0).slideUp(500, function(){ 16*4a476730SSchplurtz le Déboulonné jQuery(this).remove(); 17*4a476730SSchplurtz le Déboulonné }); 18*4a476730SSchplurtz le Déboulonné }, 1500); 19*4a476730SSchplurtz le Déboulonné } 20*4a476730SSchplurtz le Déboulonné document.querySelectorAll('pre.code,pre.file').forEach(function(elem) { 21*4a476730SSchplurtz le Déboulonné elem.classList.add('cp2clip'); 22*4a476730SSchplurtz le Déboulonné let cp = document.createElement('button'); 23*4a476730SSchplurtz le Déboulonné cp.setAttribute( 'title', LANG.plugins.copy2clipboard.title); 24*4a476730SSchplurtz le Déboulonné //cp.appendChild(document.createTextNode('Copy to clipboard')) ; 25*4a476730SSchplurtz le Déboulonné cp.classList.add('cp2clip'); 26*4a476730SSchplurtz le Déboulonné elem.appendChild(cp); // pre.appendChild 27*4a476730SSchplurtz le Déboulonné cp.addEventListener('click', async event => { 28*4a476730SSchplurtz le Déboulonné try { 29*4a476730SSchplurtz le Déboulonné const text = event.target.parentElement.textContent; 30*4a476730SSchplurtz le Déboulonné await navigator.clipboard.writeText(text); 31*4a476730SSchplurtz le Déboulonné // event.target.textContent = 'Copied to clipboard' 32*4a476730SSchplurtz le Déboulonné // console.log( "copié >>>" + text + "<<<" ); 33*4a476730SSchplurtz le Déboulonné messageBox('cp2clipok', LANG.plugins.copy2clipboard.copied); 34*4a476730SSchplurtz le Déboulonné } catch (err) { 35*4a476730SSchplurtz le Déboulonné console.error('Failed to copy!', err); 36*4a476730SSchplurtz le Déboulonné messageBox('cp2clipnok', LANG.plugins.copy2clipboard.error); 37*4a476730SSchplurtz le Déboulonné } 38*4a476730SSchplurtz le Déboulonné }) 39*4a476730SSchplurtz le Déboulonné }) 40*4a476730SSchplurtz le Déboulonné}) 41*4a476730SSchplurtz le Déboulonné 42