image.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. (function () {
  2. angular
  3. .module('appMessages')
  4. .directive('imgLoad', imgLoad);
  5. imgLoad.inject = ['$parse', '$rootScope'];
  6. function imgLoad($parse, $rootScope) {
  7. var directive = {
  8. compile: compile,
  9. restrict: 'A'
  10. };
  11. return directive;
  12. function compile($element, attr) {
  13. var fn = $parse(attr['img-load'], null, true);
  14. return function ngEventHandler(scope, element) {
  15. element.on('load', function (event) {
  16. var callback = function () {
  17. fn(scope, {
  18. $event: event
  19. });
  20. };
  21. scope.$apply(callback);
  22. });
  23. };
  24. }
  25. }
  26. })();
  27. (function () {
  28. angular
  29. .module('appMessages')
  30. .directive('imgError', imgError);
  31. imgError.inject = ['$parse', '$rootScope'];
  32. function imgError($parse, $rootScope) {
  33. var directive = {
  34. compile: compile,
  35. restrict: 'A'
  36. };
  37. return directive;
  38. function compile($element, attr) {
  39. var fn = $parse(attr['img-error'], null, true);
  40. return function ngEventHandler(scope, element) {
  41. element.on('error', function (event) {
  42. var callback = function () {
  43. fn(scope, {
  44. $event: event
  45. });
  46. };
  47. scope.$apply(callback);
  48. });
  49. };
  50. }
  51. }
  52. })();