summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/copy_to_clipboard.js
diff options
context:
space:
mode:
authorFatih Acet <acetfatih@gmail.com>2016-07-24 23:45:11 +0300
committerFatih Acet <acetfatih@gmail.com>2016-07-24 23:45:11 +0300
commitaaa9509d120524573085e94af9de5cdde83e3271 (patch)
tree3824cffd4cdd132ee9cf75a00a7624f5ccc0dabd /app/assets/javascripts/copy_to_clipboard.js
parent56b79181adc0bd6e9abef97ea075c14be971a01a (diff)
downloadgitlab-ce-aaa9509d120524573085e94af9de5cdde83e3271.tar.gz
ES6ify all the things!
Diffstat (limited to 'app/assets/javascripts/copy_to_clipboard.js')
-rw-r--r--app/assets/javascripts/copy_to_clipboard.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/app/assets/javascripts/copy_to_clipboard.js b/app/assets/javascripts/copy_to_clipboard.js
new file mode 100644
index 00000000000..c82798cc6a5
--- /dev/null
+++ b/app/assets/javascripts/copy_to_clipboard.js
@@ -0,0 +1,42 @@
+
+/*= require clipboard */
+
+(function() {
+ var genericError, genericSuccess, showTooltip;
+
+ genericSuccess = function(e) {
+ showTooltip(e.trigger, 'Copied!');
+ e.clearSelection();
+ return $(e.trigger).blur();
+ };
+
+ genericError = function(e) {
+ var key;
+ if (/Mac/i.test(navigator.userAgent)) {
+ key = '&#8984;';
+ } else {
+ key = 'Ctrl';
+ }
+ return showTooltip(e.trigger, "Press " + key + "-C to copy");
+ };
+
+ showTooltip = function(target, title) {
+ return $(target).tooltip({
+ container: 'body',
+ html: 'true',
+ placement: 'auto bottom',
+ title: title,
+ trigger: 'manual'
+ }).tooltip('show').one('mouseleave', function() {
+ return $(this).tooltip('hide');
+ });
+ };
+
+ $(function() {
+ var clipboard;
+ clipboard = new Clipboard('[data-clipboard-target], [data-clipboard-text]');
+ clipboard.on('success', genericSuccess);
+ return clipboard.on('error', genericError);
+ });
+
+}).call(this);