add clipboard API support
This commit is contained in:
		
							parent
							
								
									6a89eeedf3
								
							
						
					
					
						commit
						eebcbf9d34
					
				|  | @ -269,36 +269,62 @@ var Gogits = {}; | |||
|         if ($(selector).hasClass('js-copy-bind')) { | ||||
|             return; | ||||
|         } | ||||
|         $(selector).zclip({ | ||||
|             path: "/js/ZeroClipboard.swf", | ||||
|             copy: function () { | ||||
|                 var t = $(this).data("copy-val"); | ||||
|                 var to = $($(this).data("copy-from")); | ||||
|                 var str = ""; | ||||
|                 if (t == "txt") { | ||||
|                     str = to.text(); | ||||
|                 } | ||||
|                 if (t == 'val') { | ||||
|                     str = to.val(); | ||||
|                 } | ||||
|                 if (t == 'html') { | ||||
|                     str = to.html(); | ||||
|                 } | ||||
|                 return str; | ||||
|             }, | ||||
|             afterCopy: function () { | ||||
| 
 | ||||
|         if ( document.documentElement.classList.contains("is-copy-enabled") ) { | ||||
| 
 | ||||
|             $(selector).click(function(event) { | ||||
|                 var $this = $(this); | ||||
|                 $this.tooltip('hide') | ||||
|                     .attr('data-original-title', 'Copied OK'); | ||||
| 
 | ||||
|                 var cfrom = $this.attr('data-copy-from'); | ||||
|                 $(cfrom).select(); | ||||
|                 document.execCommand('copy'); | ||||
|                 getSelection().removeAllRanges(); | ||||
| 
 | ||||
|                 $this.tipsy("hide").attr('original-title', $this.data('after-title')); | ||||
|                 setTimeout(function () { | ||||
|                     $this.tooltip("show"); | ||||
|                     $this.tipsy("show"); | ||||
|                 }, 200); | ||||
|                 setTimeout(function () { | ||||
|                     $this.tooltip('hide') | ||||
|                         .attr('data-original-title', 'Copy to Clipboard'); | ||||
|                 }, 3000); | ||||
|             } | ||||
|         }).addClass("js-copy-bind"); | ||||
|                     $this.tipsy('hide').attr('original-title', $this.data('original-title')); | ||||
|                 }, 2000); | ||||
|                  | ||||
|                 this.blur(); | ||||
|                 return; | ||||
|             }); | ||||
| 
 | ||||
|             $(selector).addClass("js-copy-bind"); | ||||
| 
 | ||||
|         } else { | ||||
| 
 | ||||
|             $(selector).zclip({ | ||||
|                 path: Gogs.AppSubUrl + "/js/ZeroClipboard.swf", | ||||
|                 copy: function () { | ||||
|                     var t = $(this).data("copy-val"); | ||||
|                     var to = $($(this).data("copy-from")); | ||||
|                     var str = ""; | ||||
|                     if (t == "txt") { | ||||
|                         str = to.text(); | ||||
|                     } | ||||
|                     if (t == 'val') { | ||||
|                         str = to.val(); | ||||
|                     } | ||||
|                     if (t == 'html') { | ||||
|                         str = to.html(); | ||||
|                     } | ||||
|                     return str; | ||||
|                 }, | ||||
|                 afterCopy: function () { | ||||
|                     var $this = $(this); | ||||
|                     $this.tipsy("hide").attr('original-title', $this.data('after-title')); | ||||
|                     setTimeout(function () { | ||||
|                         $this.tipsy("show"); | ||||
|                     }, 200); | ||||
|                     setTimeout(function () { | ||||
|                         $this.tipsy('hide').attr('original-title', $this.data('original-title')); | ||||
|                     }, 2000); | ||||
|                 } | ||||
|             }).addClass("js-copy-bind"); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     // api working
 | ||||
|  |  | |||
|  | @ -333,25 +333,17 @@ var Gogs = {}; | |||
|         if ($(selector).hasClass('js-copy-bind')) { | ||||
|             return; | ||||
|         } | ||||
|         $(selector).zclip({ | ||||
|             path: Gogs.AppSubUrl + "/js/ZeroClipboard.swf", | ||||
|             copy: function () { | ||||
|                 var t = $(this).data("copy-val"); | ||||
|                 var to = $($(this).data("copy-from")); | ||||
|                 var str = ""; | ||||
|                 if (t == "txt") { | ||||
|                     str = to.text(); | ||||
|                 } | ||||
|                 if (t == 'val') { | ||||
|                     str = to.val(); | ||||
|                 } | ||||
|                 if (t == 'html') { | ||||
|                     str = to.html(); | ||||
|                 } | ||||
|                 return str; | ||||
|             }, | ||||
|             afterCopy: function () { | ||||
| 
 | ||||
|         if ( document.documentElement.classList.contains("is-copy-enabled") ) { | ||||
| 
 | ||||
|             $(selector).click(function(event) { | ||||
|                 var $this = $(this); | ||||
| 
 | ||||
|                 var cfrom = $this.attr('data-copy-from'); | ||||
|                 $(cfrom).select(); | ||||
|                 document.execCommand('copy'); | ||||
|                 getSelection().removeAllRanges(); | ||||
| 
 | ||||
|                 $this.tipsy("hide").attr('original-title', $this.data('after-title')); | ||||
|                 setTimeout(function () { | ||||
|                     $this.tipsy("show"); | ||||
|  | @ -359,8 +351,44 @@ var Gogs = {}; | |||
|                 setTimeout(function () { | ||||
|                     $this.tipsy('hide').attr('original-title', $this.data('original-title')); | ||||
|                 }, 2000); | ||||
|             } | ||||
|         }).addClass("js-copy-bind"); | ||||
|                  | ||||
|                 this.blur(); | ||||
|                 return; | ||||
|             }); | ||||
| 
 | ||||
|             $(selector).addClass("js-copy-bind"); | ||||
| 
 | ||||
|         } else { | ||||
| 
 | ||||
|             $(selector).zclip({ | ||||
|                 path: Gogs.AppSubUrl + "/js/ZeroClipboard.swf", | ||||
|                 copy: function () { | ||||
|                     var t = $(this).data("copy-val"); | ||||
|                     var to = $($(this).data("copy-from")); | ||||
|                     var str = ""; | ||||
|                     if (t == "txt") { | ||||
|                         str = to.text(); | ||||
|                     } | ||||
|                     if (t == 'val') { | ||||
|                         str = to.val(); | ||||
|                     } | ||||
|                     if (t == 'html') { | ||||
|                         str = to.html(); | ||||
|                     } | ||||
|                     return str; | ||||
|                 }, | ||||
|                 afterCopy: function () { | ||||
|                     var $this = $(this); | ||||
|                     $this.tipsy("hide").attr('original-title', $this.data('after-title')); | ||||
|                     setTimeout(function () { | ||||
|                         $this.tipsy("show"); | ||||
|                     }, 200); | ||||
|                     setTimeout(function () { | ||||
|                         $this.tipsy('hide').attr('original-title', $this.data('original-title')); | ||||
|                     }, 2000); | ||||
|                 } | ||||
|             }).addClass("js-copy-bind"); | ||||
|         } | ||||
|     } | ||||
| })(jQuery); | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue