ngclipboard.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*! ngclipboard - v1.1.1 - 2016-02-26
  2. * https://github.com/sachinchoolur/ngclipboard
  3. * Copyright (c) 2016 Sachin; Licensed MIT */
  4. (function() {
  5. 'use strict';
  6. var MODULE_NAME = 'ngclipboard';
  7. var angular, Clipboard;
  8. // Check for CommonJS support
  9. if (typeof module === 'object' && module.exports) {
  10. angular = require('angular');
  11. Clipboard = require('clipboard');
  12. module.exports = MODULE_NAME;
  13. } else {
  14. angular = window.angular;
  15. Clipboard = window.Clipboard;
  16. }
  17. angular.module(MODULE_NAME, []).directive('ngclipboard', function() {
  18. return {
  19. restrict: 'A',
  20. scope: {
  21. ngclipboardSuccess: '&',
  22. ngclipboardError: '&'
  23. },
  24. link: function(scope, element) {
  25. var clipboard = new Clipboard(element[0]);
  26. clipboard.on('success', function(e) {
  27. scope.$apply(function () {
  28. scope.ngclipboardSuccess({
  29. e: e
  30. });
  31. });
  32. });
  33. clipboard.on('error', function(e) {
  34. scope.$apply(function () {
  35. scope.ngclipboardError({
  36. e: e
  37. });
  38. });
  39. });
  40. }
  41. };
  42. });
  43. }());