From b3afbc50036617c992899e319d963b4d16cd90dc Mon Sep 17 00:00:00 2001 From: Daniele Guido Date: Thu, 26 Nov 2015 11:38:42 +0100 Subject: [PATCH] add imagesLoaded options In directive masonry-tile you can specify a json object masonry-tile='{"imagesLoaded": {"background": ".img"}}' --- src/angular-masonry-directive.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/angular-masonry-directive.js b/src/angular-masonry-directive.js index 1b17969..77cd2dd 100644 --- a/src/angular-masonry-directive.js +++ b/src/angular-masonry-directive.js @@ -48,18 +48,25 @@ }).directive('masonryTile', function() { return { restrict: 'AC', - link: function(scope, elem) { + link: function(scope, elem, attrs) { elem.css('visibility', 'hidden'); + var master = elem.parent('*[masonry]:first').scope(), update = master.update, removeBrick = master.removeBrick, - appendBricks = master.appendBricks; + appendBricks = master.appendBricks, + options = angular.fromJson(attrs.masonryTile.length? attrs.masonryTile: '{}'); + + + var done = function() { + elem.addClass('loaded') + } if (update) { - imagesLoaded( elem.get(0), update); + imagesLoaded( elem.get(0), options.imagesLoaded || {}, update).on('done', done); elem.ready(update); } if (appendBricks) { - imagesLoaded( elem.get(0), appendBricks(elem)); + imagesLoaded( elem.get(0), options.imagesLoaded || {}, appendBricks(elem)).on('done', done); } scope.$on('$destroy', function() { if (removeBrick) { @@ -69,4 +76,4 @@ } }; }); -})(); +})(); \ No newline at end of file