mirror of
https://github.com/zenorocha/clipboard.js.git
synced 2023-08-10 21:12:48 +03:00
Updates sample to new API
This commit is contained in:
parent
4feb26ddb1
commit
c8d0edf6cd
@ -1,49 +0,0 @@
|
||||
hljs.initHighlightingOnLoad();
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
var clipboard = new Clipboard('.btn');
|
||||
var btns = clipboard.triggers;
|
||||
|
||||
for (var i = 0; i < btns.length; i++) {
|
||||
btns[i].addEventListener('success', function(e) {
|
||||
e.detail.clearSelection();
|
||||
|
||||
console.info('Action:', e.detail.action);
|
||||
console.info('Text:', e.detail.text);
|
||||
|
||||
showTooltip(e.currentTarget, 'Copied!');
|
||||
});
|
||||
|
||||
btns[i].addEventListener('error', function(e) {
|
||||
showTooltip(e.currentTarget, messageFallback(e.detail.action));
|
||||
});
|
||||
|
||||
btns[i].addEventListener('mouseleave', function(e) {
|
||||
e.currentTarget.setAttribute('class', 'btn');
|
||||
e.currentTarget.removeAttribute('aria-label');
|
||||
});
|
||||
}
|
||||
|
||||
function showTooltip(elem, msg) {
|
||||
elem.setAttribute('class', 'btn tooltipped tooltipped-s');
|
||||
elem.setAttribute('aria-label', msg);
|
||||
}
|
||||
|
||||
// Simplistic detection, do not use it in production
|
||||
function messageFallback(action) {
|
||||
var actionMsg = '';
|
||||
var actionKey = (action === 'cut' ? 'X' : 'C');
|
||||
|
||||
if(/iPhone|iPad/i.test(navigator.userAgent)) {
|
||||
actionMsg = 'No support :(';
|
||||
}
|
||||
else if (/Mac/i.test(navigator.userAgent)) {
|
||||
actionMsg = 'Press ⌘-' + actionKey + ' to ' + action;
|
||||
}
|
||||
else {
|
||||
actionMsg = 'Press Ctrl-' + actionKey + ' to ' + action;
|
||||
}
|
||||
|
||||
return actionMsg;
|
||||
}
|
||||
});
|
14
assets/scripts/clipboard.js
Normal file
14
assets/scripts/clipboard.js
Normal file
@ -0,0 +1,14 @@
|
||||
var clipboard = new Clipboard('.btn');
|
||||
|
||||
clipboard.on('success', function(e) {
|
||||
e.clearSelection();
|
||||
|
||||
console.info('Action:', e.action);
|
||||
console.info('Text:', e.text);
|
||||
|
||||
showTooltip(e.trigger, 'Copied!');
|
||||
});
|
||||
|
||||
clipboard.on('error', function(e) {
|
||||
showTooltip(e.trigger, fallbackMessage(e.action));
|
||||
});
|
33
assets/scripts/main.js
Normal file
33
assets/scripts/main.js
Normal file
@ -0,0 +1,33 @@
|
||||
var btns = document.querySelectorAll('.btn');
|
||||
|
||||
for (var i = 0; i < btns.length; i++) {
|
||||
btns[i].addEventListener('mouseleave', function(e) {
|
||||
e.currentTarget.setAttribute('class', 'btn');
|
||||
e.currentTarget.removeAttribute('aria-label');
|
||||
});
|
||||
}
|
||||
|
||||
function showTooltip(elem, msg) {
|
||||
elem.setAttribute('class', 'btn tooltipped tooltipped-s');
|
||||
elem.setAttribute('aria-label', msg);
|
||||
}
|
||||
|
||||
// Simplistic detection, do not use it in production
|
||||
function fallbackMessage(action) {
|
||||
var actionMsg = '';
|
||||
var actionKey = (action === 'cut' ? 'X' : 'C');
|
||||
|
||||
if(/iPhone|iPad/i.test(navigator.userAgent)) {
|
||||
actionMsg = 'No support :(';
|
||||
}
|
||||
else if (/Mac/i.test(navigator.userAgent)) {
|
||||
actionMsg = 'Press ⌘-' + actionKey + ' to ' + action;
|
||||
}
|
||||
else {
|
||||
actionMsg = 'Press Ctrl-' + actionKey + ' to ' + action;
|
||||
}
|
||||
|
||||
return actionMsg;
|
||||
}
|
||||
|
||||
hljs.initHighlightingOnLoad();
|
@ -185,7 +185,9 @@ var btns = clipboard.triggers;</code></pre>
|
||||
|
||||
<script src="bower_components/highlightjs/highlight.pack.min.js"></script>
|
||||
<script src="dist/clipboard.min.js"></script>
|
||||
<script src="assets/main.js"></script>
|
||||
|
||||
<script src="assets/scripts/clipboard.js"></script>
|
||||
<script src="assets/scripts/main.js"></script>
|
||||
|
||||
<!-- Google Analytics -->
|
||||
<script>
|
||||
|
Loading…
Reference in New Issue
Block a user