diff --git a/angular-imgcache.js b/angular-imgcache.js index 68172d4b..10c4b751 100644 --- a/angular-imgcache.js +++ b/angular-imgcache.js @@ -9,17 +9,17 @@ angular.module('ImgCache', []) }, function() { ImgCache.$deferred.reject(); }); - } + }; this.manualInit = false; this.setOptions = function(options) { angular.extend(ImgCache.options, options); - } + }; this.setOption = function(name, value) { ImgCache.options[name] = value; - } + }; this.$get = ['$q', function ($q) { @@ -44,18 +44,21 @@ angular.module('ImgCache', []) icSrc: '@' }, link: function(scope, el, attrs) { + var setImg = function(type, el, img_src) { + if (type === 'bg') { + el.css({'background-image': 'url(' + img_src + ')'}); + } else { + el.attr('src', img_src); + } + }; - var setImg = function(type, el, src) { + var setImgFromCache = function(type, el, src) { ImgCache.getCachedFileURL(src, function(src, dest) { var img_src = dest.fullPath.replace('/'. ImgCache.options.localCacheFolder, ImgCache.getCacheFolderURI()); - if(type === 'bg') { - el.css({'background-image': 'url(' + img_src + ')' }); - } else { - el.attr('src', img_src); - } + setImg(type, el, img_src); }); - } + }; var loadImg = function(type, el, src) { @@ -64,16 +67,18 @@ angular.module('ImgCache', []) ImgCache.isCached(src, function(path, success) { if (success) { - setImg(type, el, src); + setImgFromCache(type, el, src); } else { ImgCache.cacheFile(src, function() { + setImgFromCache(type, el, src); + }, function() { setImg(type, el, src); }); } }); }); - } + }; attrs.$observe('icSrc', function(src) {