44 */
55
66$ ( function copyToClipboard ( ) {
7- if ( ! enableCopyToClipboard ) {
7+ if ( ! clipboardAttr . enable ) {
88 return ;
99 }
1010
@@ -19,40 +19,43 @@ $(function copyToClipboard() {
1919 }
2020
2121 function fallbackMessage ( action ) {
22- var actionMsg = '' ;
23- var actionKey = ( action === 'cut' ? 'X' : 'C' ) ;
24- if ( / i P h o n e | i P a d / i. test ( navigator . userAgent ) ) {
25- actionMsg = 'No support :(' ;
26- } else if ( / M a c / i. test ( navigator . userAgent ) ) {
27- actionMsg = 'Press ⌘-' + actionKey + ' to ' + action ;
28- } else {
29- actionMsg = 'Press Ctrl-' + actionKey + ' to ' + action ;
22+ let tooltipMsg = "Error occurred!" ;
23+ if ( clipboardAttr . failed && clipboardAttr . failed . length > 0 ) {
24+ tooltipMsg = clipboardAttr . failed ;
3025 }
31- return actionMsg ;
26+ return tooltipMsg ;
3227 }
3328
3429 $ ( "div.highlighter-rouge" ) . each ( function ( index , element ) {
3530 element . firstChild . insertAdjacentHTML ( 'beforebegin' , '<button class="cpbtn" data-clipboard-snippet><i class="far fa-copy"></i></button>' ) ;
3631 } ) ;
37- var clipboardSnippets = new ClipboardJS ( '[data-clipboard-snippet]' , {
32+ let clipboardSnippets = new ClipboardJS ( '[data-clipboard-snippet]' , {
3833 target : function ( trigger ) {
3934 return trigger . nextElementSibling ;
4035 }
4136 } ) ;
4237 clipboardSnippets . on ( 'success' , function ( e ) {
4338 e . clearSelection ( ) ;
44- showTooltip ( e . trigger , 'Copied!' ) ;
39+ let tooltipMsg = "Copied!" ;
40+ if ( clipboardAttr . succeed && clipboardAttr . succeed . length > 0 ) {
41+ tooltipMsg = clipboardAttr . succeed ;
42+ }
43+ showTooltip ( e . trigger , tooltipMsg ) ;
4544 } ) ;
4645 clipboardSnippets . on ( 'error' , function ( e ) {
4746 showTooltip ( e . trigger , fallbackMessage ( e . action ) ) ;
4847 } ) ;
4948
50- var btns = document . querySelectorAll ( '.cpbtn' ) ;
51- for ( var i = 0 ; i < btns . length ; i ++ ) {
49+ let btns = document . querySelectorAll ( '.cpbtn' ) ;
50+ for ( let i = 0 ; i < btns . length ; i ++ ) {
5251 btns [ i ] . addEventListener ( 'mouseleave' , clearTooltip ) ;
5352 btns [ i ] . addEventListener ( 'blur' , clearTooltip ) ;
5453 btns [ i ] . addEventListener ( 'mouseenter' , function ( e ) {
55- showTooltip ( e . currentTarget , "copy to clipboard" ) ;
54+ let tooltipMsg = "Copy to clipboard" ;
55+ if ( clipboardAttr . tooltip && clipboardAttr . tooltip . length > 0 ) {
56+ tooltipMsg = clipboardAttr . tooltip ;
57+ }
58+ showTooltip ( e . currentTarget , tooltipMsg ) ;
5659 } , false ) ;
5760 }
5861} ) ;
0 commit comments