Skip to content

Commit 5d19b3d

Browse files
committed
Merge pull request #5 from JohnnyTheTank/redraw_image_loaded
impr: added redraw on image loaded
2 parents a858330 + 60f3623 commit 5d19b3d

File tree

5 files changed

+25
-10
lines changed

5 files changed

+25
-10
lines changed

Gruntfile.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ module.exports = function(grunt) {
33
var banner = '/**\n @name: <%= pkg.name %> \n @version: <%= pkg.version %> (<%= grunt.template.today("dd-mm-yyyy") %>) \n @author: <%= pkg.author %> \n @url: <%= pkg.homepage %> \n @license: <%= pkg.license %>\n*/\n';
44

55
var sources = [
6+
'node_modules/imagesloaded/imagesloaded.pkgd.js',
67
'src/angular-bricklayer.js'
78
];
89

bower.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
"angular": "^1.5.5"
3030
},
3131
"dependencies": {
32-
"bricklayer": "^0.4.1"
32+
"bricklayer": "^0.4.1",
33+
"imagesloaded": "^4.1.0"
3334
}
3435
}

demo/index.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,8 @@
6666
<!-- Bricklayer needs to have "bricklayer" class name. -->
6767
<div class="bricklayer">
6868
<div class="box" bricklayer-append ng-repeat="item in data" style="background-color: {{item.color}};">
69-
<img ng-src="http://lorempixel.com/{{item.width}}/{{item.height}}">
69+
<!--<img ng-src="http://lorempixel.com/{{item.width}}/{{item.height}}">-->
70+
<img ng-src="http://placehold.it/{{item.width}}x{{item.height}}">
7071
</div>
7172
</div>
7273

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
"grunt-contrib-watch": "^0.6.1"
3535
},
3636
"dependencies": {
37-
"bricklayer": "^0.4.1"
37+
"bricklayer": "^0.4.1",
38+
"imagesloaded": "^4.1.0"
3839
}
3940
}

src/angular-bricklayer.js

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,44 @@ angular.module('jtt_bricklayer', [])
55
link: function (scope, element, attrs) {
66
var bricklayer = new Bricklayer(element[0]);
77

8+
imagesLoaded(element[0], function () {
9+
bricklayer.redraw();
10+
});
11+
812
$timeout(function () {
913
bricklayer.redraw();
1014
});
1115

12-
scope.$on('bricklayer.append', function (event, element) {
13-
bricklayer.append(element);
16+
scope.$on('bricklayer.append', function (event, selectedElement) {
17+
bricklayer.append(selectedElement[0]);
1418
bricklayer.redraw();
19+
imagesLoaded(selectedElement, function () {
20+
bricklayer.redraw();
21+
});
1522
});
1623

17-
scope.$on('bricklayer.prepend', function (event, element) {
18-
bricklayer.prepend(element);
24+
scope.$on('bricklayer.prepend', function (event, selectedElement) {
25+
bricklayer.prepend(selectedElement[0]);
1926
bricklayer.redraw();
27+
imagesLoaded(selectedElement, function () {
28+
bricklayer.redraw();
29+
});
2030
});
2131

2232
scope.$on('bricklayer.redraw', function () {
2333
bricklayer.redraw();
2434
});
2535
},
26-
controller: function ($scope) {}
36+
controller: function ($scope) {
37+
}
2738
}
2839
}])
2940
.directive('bricklayerAppend', function () {
3041
return {
3142
require: '^^bricklayer',
3243
restrict: 'ACE',
3344
link: function (scope, element, attrs) {
34-
scope.$emit('bricklayer.append', element[0]);
45+
scope.$emit('bricklayer.append', element);
3546
}
3647
}
3748
})
@@ -40,7 +51,7 @@ angular.module('jtt_bricklayer', [])
4051
require: '^^bricklayer',
4152
restrict: 'ACE',
4253
link: function (scope, element, attrs) {
43-
scope.$emit('bricklayer.prepend', element[0]);
54+
scope.$emit('bricklayer.prepend', element);
4455
}
4556
}
4657
});

0 commit comments

Comments
 (0)