update clipboardcopypaste with jquery

This commit is contained in:
lmarcouiller 2021-01-22 16:58:47 +01:00
parent 76ce77f7ba
commit 5a95cc16aa
3 changed files with 27 additions and 30 deletions

View File

@ -210,3 +210,25 @@ print '
}
});
});'."\n";
print "\n/* JS CODE TO ENABLE ClipBoard copy paste*/\n";
print 'jQuery(\'.clipboardCopyPaste\').click(function() {
console.log(this.firstChild.innerText);
if ( window.getSelection ) {
selection = window.getSelection();
range = document.createRange();
range.selectNodeContents( this.firstChild );
selection.removeAllRanges();
selection.addRange( range );
}
document.execCommand( \'copy\' );
window.getSelection().removeAllRanges();
var lastchild = this.lastChild
var tmp =lastchild.innerHTML
lastchild.innerHTML = \''.dol_escape_js($langs->trans('CopiedToClipboard')).'\';
setTimeout(() => { lastchild.innerHTML = tmp; }, 1000);
})'."\n";

View File

@ -9239,34 +9239,9 @@ function readfileLowMemory($fullpath_original_file_osencoded, $method = -1)
* @param Translate $langs the $langs variable
* @return string the string to print for the button
*/
function showValueWithCopyAndPasteButton($valuetoprint, $spanid, $langs)
function showValueWithCopyAndPasteButton($valuetoprint)
{
$stringtoprint= '<span id="'.$spanid.'">';
$stringtoprint.= $valuetoprint .'</span>&ensp;';
$stringtoprint.= '</span>';
$stringtoprint.='<span class="opacitymedium" id="'.dol_escape_json($spanid).'clipboardChar" onclick="'.dol_escape_json($spanid).'clipBoardCopy()"><i " class="far fa-clipboard"></i></span>';
$stringtoprint.="<script>
function ".dol_escape_json($spanid)."clipBoardCopy() {
var copied_text = document.getElementById( \"".dol_escape_json($spanid)."\" );
if ( window.getSelection ) {
selection = window.getSelection();
range = document.createRange();
range.selectNodeContents( copied_text );
selection.removeAllRanges();
selection.addRange( range );
}
document.execCommand( 'copy' );
window.getSelection().removeAllRanges();
var span = document.getElementById( \"".dol_escape_json($spanid)."clipboardChar\" );
var tmp = span.innerHTML
span.innerHTML = '".dol_escape_js($langs->trans('CopiedToClipboard'))."';
setTimeout(() => { span.innerHTML = tmp; }, 1000);
}
</script>";
return $stringtoprint;
return '<span class="clipboardCopyPaste"><span>'.dol_escape_js($valuetoprint).'
</span>&ensp;<span class ="opacitymedium"><i " class="far fa-clipboard"></i></span></span>';
}

View File

@ -2426,7 +2426,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action))
print $langs->trans('CustomerCode');
print '</td>';
print '<td>';
print showValueWithCopyAndPasteButton($object->code_client, 'code_client', $langs);
print showValueWithCopyAndPasteButton($object->code_client);
print '</td>';
$tmpcheck = $object->check_codeclient();
if ($tmpcheck != 0 && $tmpcheck != -5) {