Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-docs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'content/assets/javascripts/clipboardjs.js')
-rw-r--r--content/assets/javascripts/clipboardjs.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/content/assets/javascripts/clipboardjs.js b/content/assets/javascripts/clipboardjs.js
new file mode 100644
index 00000000..15f9ebf9
--- /dev/null
+++ b/content/assets/javascripts/clipboardjs.js
@@ -0,0 +1,37 @@
+// add a copy button to every code // working
+$('pre').append($('<button class="clip-btn" title="Click to copy" data-selector="true"><i class="fa fa-clipboard" aria-hidden="true"></i></button>'));
+
+// Tooltip
+$('button').tooltip({
+ trigger: 'click',
+ placement: 'auto left'
+});
+
+function setTooltip(btn, message) {
+ $(btn).tooltip('hide')
+ .attr('data-original-title', message)
+ .tooltip('show');
+}
+
+function hideTooltip(btn) {
+ setTimeout(function() {
+ $(btn).tooltip('hide');
+ }, 1000);
+}
+
+// trigger clipboardjs
+var clipboard = new ClipboardJS('.clip-btn', {
+ target: function(trigger) {
+ return trigger.previousElementSibling;
+ }
+});
+
+clipboard.on('success', function(e) {
+ setTooltip(e.trigger, 'Copied!');
+ hideTooltip(e.trigger);
+});
+
+clipboard.on('error', function(e) {
+ setTooltip(e.trigger, 'Failed!');
+ hideTooltip(e.trigger);
+});