Bump ClipboardJS to 2.0.0 and remove hack This is no longer needed, since it no longer conflicts w/ the built-in global.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
diff --git a/package.json b/package.json
index 0701703..5595450 100755
--- a/package.json
+++ b/package.json
@@ -19,7 +19,7 @@
"license": "MIT",
"readmeFilename": "README.md",
"optionalDependencies": {
- "clipboard": "^1.7.1"
+ "clipboard": "^2.0.0"
},
"devDependencies": {
"chai": "^2.3.0",
diff --git a/plugins/copy-to-clipboard/prism-copy-to-clipboard.js b/plugins/copy-to-clipboard/prism-copy-to-clipboard.js
index 44bb22a..0b185f4 100644
--- a/plugins/copy-to-clipboard/prism-copy-to-clipboard.js
+++ b/plugins/copy-to-clipboard/prism-copy-to-clipboard.js
@@ -9,33 +9,29 @@
return;
}
- var Clipboard = window.Clipboard || undefined;
+ var ClipboardJS = window.ClipboardJS || undefined;
- if (Clipboard && /(native code)/.test(Clipboard.toString())) {
- Clipboard = undefined;
- }
-
- if (!Clipboard && typeof require === 'function') {
- Clipboard = require('clipboard');
+ if (!ClipboardJS && typeof require === 'function') {
+ ClipboardJS = require('clipboard');
}
var callbacks = [];
- if (!Clipboard) {
+ if (!ClipboardJS) {
var script = document.createElement('script');
var head = document.querySelector('head');
script.onload = function() {
- Clipboard = window.Clipboard;
+ ClipboardJS = window.ClipboardJS;
- if (Clipboard) {
+ if (ClipboardJS) {
while (callbacks.length) {
callbacks.pop()();
}
}
};
- script.src = 'https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js';
+ script.src = 'https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js';
head.appendChild(script);
}
@@ -43,7 +39,7 @@
var linkCopy = document.createElement('a');
linkCopy.textContent = 'Copy';
- if (!Clipboard) {
+ if (!ClipboardJS) {
callbacks.push(registerClipboard);
} else {
registerClipboard();
@@ -52,7 +48,7 @@
return linkCopy;
function registerClipboard() {
- var clip = new Clipboard(linkCopy, {
+ var clip = new ClipboardJS(linkCopy, {
'text': function () {
return env.code;
}
diff --git a/plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js b/plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js
index e594607..aa5742d 100644
--- a/plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js
+++ b/plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js
@@ -1 +1 @@
-!function(){if("undefined"!=typeof self&&self.Prism&&self.document){if(!Prism.plugins.toolbar)return console.warn("Copy to Clipboard plugin loaded before Toolbar plugin."),void 0;var o=window.Clipboard||void 0;o&&/(native code)/.test(o.toString())&&(o=void 0),o||"function"!=typeof require||(o=require("clipboard"));var t=[];if(!o){var e=document.createElement("script"),n=document.querySelector("head");e.onload=function(){if(o=window.Clipboard)for(;t.length;)t.pop()()},e.src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js",n.appendChild(e)}Prism.plugins.toolbar.registerButton("copy-to-clipboard",function(e){function n(){var t=new o(i,{text:function(){return e.code}});t.on("success",function(){i.textContent="Copied!",r()}),t.on("error",function(){i.textContent="Press Ctrl+C to copy",r()})}function r(){setTimeout(function(){i.textContent="Copy"},5e3)}var i=document.createElement("a");return i.textContent="Copy",o?n():t.push(n),i})}}();
\ No newline at end of file
+!function(){if("undefined"!=typeof self&&self.Prism&&self.document){if(!Prism.plugins.toolbar)return console.warn("Copy to Clipboard plugin loaded before Toolbar plugin."),void 0;var o=window.ClipboardJS||void 0;o||"function"!=typeof require||(o=require("clipboard"));var e=[];if(!o){var t=document.createElement("script"),n=document.querySelector("head");t.onload=function(){if(o=window.ClipboardJS)for(;e.length;)e.pop()()},t.src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js",n.appendChild(t)}Prism.plugins.toolbar.registerButton("copy-to-clipboard",function(t){function n(){var e=new o(i,{text:function(){return t.code}});e.on("success",function(){i.textContent="Copied!",r()}),e.on("error",function(){i.textContent="Press Ctrl+C to copy",r()})}function r(){setTimeout(function(){i.textContent="Copy"},5e3)}var i=document.createElement("a");return i.textContent="Copy",o?n():e.push(n),i})}}();
\ No newline at end of file