From 229e88892913d5c8b712510c28b78bfa114596e5 Mon Sep 17 00:00:00 2001 From: Mark Tareshawty Date: Wed, 15 Apr 2015 20:19:27 -0400 Subject: Update ZeroClipboard and remove Copy buttons when Flash is unavailable Fixes #16269. Closes #16301 by merging a rebased version of it. --- docs/assets/js/src/application.js | 43 +++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 22 deletions(-) (limited to 'docs/assets/js/src/application.js') diff --git a/docs/assets/js/src/application.js b/docs/assets/js/src/application.js index 161f3d002..7d9b226bc 100644 --- a/docs/assets/js/src/application.js +++ b/docs/assets/js/src/application.js @@ -127,7 +127,7 @@ // Config ZeroClipboard ZeroClipboard.config({ - moviePath: '/assets/flash/ZeroClipboard.swf', + swfPath: '/assets/flash/ZeroClipboard.swf', hoverClass: 'btn-clipboard-hover' }) @@ -136,39 +136,38 @@ var btnHtml = '
Copy
' $(this).before(btnHtml) }) + var zeroClipboard = new ZeroClipboard($('.btn-clipboard')) var htmlBridge = $('#global-zeroclipboard-html-bridge') // Handlers for ZeroClipboard - zeroClipboard.on('load', function () { + zeroClipboard.on('ready', function () { htmlBridge .data('placement', 'top') .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()) - }) + // Copy to clipboard + zeroClipboard.on('copy', function (event) { + var highlight = $(event.target).parent().nextAll('.highlight').first() + event.clipboardData.setData('text/plain', 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') + // Notify copy success and reset tooltip title + zeroClipboard.on('aftercopy', function () { + htmlBridge + .attr('title', 'Copied!') + .tooltip('fixTitle') + .tooltip('show') + .attr('title', 'Copy to clipboard') + .tooltip('fixTitle') + }) }) - // Notify copy failure - zeroClipboard.on('noflash wrongflash', function () { - htmlBridge - .attr('title', 'Flash required') - .tooltip('fixTitle') - .tooltip('show') + // Hide copy button on error + zeroClipboard.on('error', function () { + $('.zero-clipboard').remove() + ZeroClipboard.destroy() }) }) -- cgit v1.2.3