Updates sample to new API

This commit is contained in:
Zeno Rocha 2015-09-24 22:40:40 -07:00
parent 4feb26ddb1
commit c8d0edf6cd
4 changed files with 50 additions and 50 deletions

View File

@ -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;
}
});

View 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
View 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();

View File

@ -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>