mirror of
https://github.com/twbs/bootstrap.git
synced 2024-12-02 14:24:19 +01:00
Update ZeroClipboard and remove Copy buttons when Flash is unavailable
Fixes #16269. Closes #16301 by merging a rebased version of it.
This commit is contained in:
parent
21e94b0374
commit
229e888929
Binary file not shown.
@ -127,7 +127,7 @@
|
|||||||
|
|
||||||
// Config ZeroClipboard
|
// Config ZeroClipboard
|
||||||
ZeroClipboard.config({
|
ZeroClipboard.config({
|
||||||
moviePath: '/assets/flash/ZeroClipboard.swf',
|
swfPath: '/assets/flash/ZeroClipboard.swf',
|
||||||
hoverClass: 'btn-clipboard-hover'
|
hoverClass: 'btn-clipboard-hover'
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -136,39 +136,38 @@
|
|||||||
var btnHtml = '<div class="zero-clipboard"><span class="btn-clipboard">Copy</span></div>'
|
var btnHtml = '<div class="zero-clipboard"><span class="btn-clipboard">Copy</span></div>'
|
||||||
$(this).before(btnHtml)
|
$(this).before(btnHtml)
|
||||||
})
|
})
|
||||||
|
|
||||||
var zeroClipboard = new ZeroClipboard($('.btn-clipboard'))
|
var zeroClipboard = new ZeroClipboard($('.btn-clipboard'))
|
||||||
var htmlBridge = $('#global-zeroclipboard-html-bridge')
|
var htmlBridge = $('#global-zeroclipboard-html-bridge')
|
||||||
|
|
||||||
// Handlers for ZeroClipboard
|
// Handlers for ZeroClipboard
|
||||||
zeroClipboard.on('load', function () {
|
zeroClipboard.on('ready', function () {
|
||||||
htmlBridge
|
htmlBridge
|
||||||
.data('placement', 'top')
|
.data('placement', 'top')
|
||||||
.attr('title', 'Copy to clipboard')
|
.attr('title', 'Copy to clipboard')
|
||||||
.tooltip()
|
.tooltip()
|
||||||
|
|
||||||
|
// 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('aftercopy', function () {
|
||||||
|
htmlBridge
|
||||||
|
.attr('title', 'Copied!')
|
||||||
|
.tooltip('fixTitle')
|
||||||
|
.tooltip('show')
|
||||||
|
.attr('title', 'Copy to clipboard')
|
||||||
|
.tooltip('fixTitle')
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
// Copy to clipboard
|
// Hide copy button on error
|
||||||
zeroClipboard.on('dataRequested', function (client) {
|
zeroClipboard.on('error', function () {
|
||||||
var highlight = $(this).parent().nextAll('.highlight').first()
|
$('.zero-clipboard').remove()
|
||||||
client.setText(highlight.text())
|
ZeroClipboard.destroy()
|
||||||
})
|
|
||||||
|
|
||||||
// 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 failure
|
|
||||||
zeroClipboard.on('noflash wrongflash', function () {
|
|
||||||
htmlBridge
|
|
||||||
.attr('title', 'Flash required')
|
|
||||||
.tooltip('fixTitle')
|
|
||||||
.tooltip('show')
|
|
||||||
})
|
})
|
||||||
|
|
||||||
})
|
})
|
||||||
|
16
docs/assets/js/vendor/ZeroClipboard.min.js
vendored
16
docs/assets/js/vendor/ZeroClipboard.min.js
vendored
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user