aboutsummaryrefslogtreecommitdiff
path: root/docs/assets/js/src/application.js
diff options
context:
space:
mode:
Diffstat (limited to 'docs/assets/js/src/application.js')
-rw-r--r--docs/assets/js/src/application.js62
1 files changed, 26 insertions, 36 deletions
diff --git a/docs/assets/js/src/application.js b/docs/assets/js/src/application.js
index 6d3226d9a..1fec20079 100644
--- a/docs/assets/js/src/application.js
+++ b/docs/assets/js/src/application.js
@@ -9,7 +9,7 @@
* details, see https://creativecommons.org/licenses/by/3.0/.
*/
-/* global ZeroClipboard, anchors */
+/* global Clipboard, anchors */
!function ($) {
'use strict';
@@ -36,49 +36,39 @@
e.preventDefault()
})
- // Config ZeroClipboard
- ZeroClipboard.config({
- moviePath: '/assets/flash/ZeroClipboard.swf',
- hoverClass: 'btn-clipboard-hover'
- })
-
// Insert copy to clipboard button before .highlight
$('.highlight').each(function () {
- var btnHtml = '<div class="zero-clipboard"><span class="btn-clipboard">Copy</span></div>'
+ var btnHtml = '<div class="bd-clipboard"><span class="btn-clipboard" title="Copy to clipboard">Copy</span></div>'
$(this).before(btnHtml)
+ $('.btn-clipboard').tooltip()
+ })
+
+ var clipboard = new Clipboard('.btn-clipboard', {
+ target: function (trigger) {
+ return trigger.parentNode.nextElementSibling
+ }
})
- var zeroClipboard = new ZeroClipboard($('.btn-clipboard'))
- var $htmlBridge = $('#global-zeroclipboard-html-bridge')
- // Handlers for ZeroClipboard
- zeroClipboard.on('load', function () {
- $htmlBridge
- .data('placement', 'top')
+ clipboard.on('success', function (e) {
+ $(e.trigger)
+ .attr('title', 'Copied!')
+ .tooltip('_fixTitle')
+ .tooltip('show')
.attr('title', 'Copy to clipboard')
- .tooltip()
-
- // Copy to clipboard
- zeroClipboard.on('dataRequested', function (client) {
- var highlight = $(this).parent().nextAll('.highlight').first()
- client.setText(highlight.text())
- })
-
- // Notify copy success and reset tooltip title
- zeroClipboard.on('complete', function () {
- $htmlBridge
- .attr('title', 'Copied!')
- .tooltip('fixTitle')
- .tooltip('show')
- .attr('title', 'Copy to clipboard')
- .tooltip('fixTitle')
- })
+ .tooltip('_fixTitle')
+
+ e.clearSelection()
})
- // Hide copy button when no Flash is found
- // or wrong Flash version is present
- zeroClipboard.on('noflash wrongflash', function () {
- $('.zero-clipboard').remove()
- ZeroClipboard.destroy()
+ clipboard.on('error', function (e) {
+ var fallbackMsg = /Mac/i.test(navigator.userAgent) ? 'Press \u2318 to copy' : 'Press Ctrl-C to copy'
+
+ $(e.trigger)
+ .attr('title', fallbackMsg)
+ .tooltip('_fixTitle')
+ .tooltip('show')
+ .attr('title', 'Copy to clipboard')
+ .tooltip('_fixTitle')
})
})