ngClip - Copy to clipboard using AngularJS
An AngularJS simple directive that uses ZeroClipboard and updates the user's clipboard.
How to get it ?
Manual Download
Download the from here
Bower
bower install zeroclipboard ng-clip
Npm
npm install zeroclipboard ng-clip
CDN
ng-clip is available at cdnjs
Usage
-
Add ng-clip.js and ZeroClipboard.js to your main file (index.html)
-
Update the .swf path location using ngClipProvider
.config(['ngClipProvider', function(ngClipProvider) {
ngClipProvider.setPath("bower_components/zeroclipboard/dist/ZeroClipboard.swf");
}]);
- Set
ngClipboard
as a dependency in your module
var myapp = angular.module('myapp', ['ngClipboard'])
- Add clip-copy directive to the wanted element, example:
<a href="" clip-copy="getTextToCopy()" clip-click="doSomething()">Copy</a>
- You can optionally override zeroclipboard config parameters using ngClipProvider
ngClipProvider.setConfig({
zIndex: 50
});
- You can optionally specify the MIME type by providing using the
clip-copy-mime-type
attribute:
<a href="" clip-click"getHtmlToCopy()" clip-copy-mime-type="text/html">Copy HTML</a>
- You can also optionally provide a fallback function that gets called if flash is unavailable:
<a href="" clip-click-fallback="fallback(copy)" clip-copy="getTextToCopy()" clip-click="doSomething()">Copy</a>
If the fallback function is defined to accept an argument named copy
, that argument will be populated with the text to copy.
Examples
You can check out this live example here: http://plnkr.co/xwV5Yn
see the examples folder for more