Skip to content

Commit f513b2a

Browse files
committed
browserify
1 parent 31b0fd0 commit f513b2a

File tree

3 files changed

+73
-65
lines changed

3 files changed

+73
-65
lines changed

anim-in-out.js

Lines changed: 66 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,85 +1,88 @@
11
(function() {
22
'use strict';
33

4-
angular.module('anim-in-out', ['ngAnimate'])
5-
.animation('.anim-in-out', ['$rootScope', '$timeout', '$window',
6-
function($rootScope, $timeout, $window) {
7-
return {
8-
enter: function(element, done) {
9-
var sync = $rootScope.$eval(angular.element(element).attr('data-anim-sync')) !== undefined ? $rootScope.$eval(angular.element(element).attr('data-anim-sync')) : false,
10-
speed = angular.element(element).attr('data-anim-speed') !== undefined ? $rootScope.$eval(angular.element(element).attr('data-anim-speed')) : 1000,
11-
inSpeed = angular.element(element).attr('data-anim-in-speed') !== undefined ? $rootScope.$eval(angular.element(element).attr('data-anim-in-speed')) : speed,
12-
outSpeed = angular.element(element).attr('data-anim-out-speed') !== undefined ? $rootScope.$eval(angular.element(element).attr('data-anim-out-speed')) : speed;
13-
14-
try {
15-
var observer = new MutationObserver(function(mutations) {
16-
observer.disconnect();
17-
18-
$window.requestAnimationFrame(function() {
19-
$timeout(done, sync ? 0 : outSpeed);
20-
});
21-
});
4+
var module = angular.module('hj.animInOut', ['ngAnimate']);
5+
6+
angular.module('anim-in-out', ['hj.animInOut']);
7+
8+
module.animation('.anim-in-out', ['$rootScope', '$timeout', '$window',
9+
function($rootScope, $timeout, $window) {
10+
return {
11+
enter: function(element, done) {
12+
var sync = $rootScope.$eval(angular.element(element).attr('data-anim-sync')) !== undefined ? $rootScope.$eval(angular.element(element).attr('data-anim-sync')) : false,
13+
speed = angular.element(element).attr('data-anim-speed') !== undefined ? $rootScope.$eval(angular.element(element).attr('data-anim-speed')) : 1000,
14+
inSpeed = angular.element(element).attr('data-anim-in-speed') !== undefined ? $rootScope.$eval(angular.element(element).attr('data-anim-in-speed')) : speed,
15+
outSpeed = angular.element(element).attr('data-anim-out-speed') !== undefined ? $rootScope.$eval(angular.element(element).attr('data-anim-out-speed')) : speed;
2216

23-
observer.observe(element[0], {
24-
attributes: true,
25-
childList: false,
26-
characterData: false
17+
try {
18+
var observer = new MutationObserver(function(mutations) {
19+
observer.disconnect();
20+
21+
$window.requestAnimationFrame(function() {
22+
$timeout(done, sync ? 0 : outSpeed);
2723
});
24+
});
2825

29-
} catch (e) {
30-
$timeout(done, Math.max(100, sync ? 0 : outSpeed));
31-
}
26+
observer.observe(element[0], {
27+
attributes: true,
28+
childList: false,
29+
characterData: false
30+
});
3231

33-
angular.element(element).addClass('anim-in-setup');
32+
} catch (e) {
33+
$timeout(done, Math.max(100, sync ? 0 : outSpeed));
34+
}
3435

35-
return function(cancelled) {
36-
angular.element(element).removeClass('anim-in-setup');
37-
angular.element(element).addClass('anim-in');
36+
angular.element(element).addClass('anim-in-setup');
3837

39-
if (!cancelled) {
40-
$timeout(function() {
41-
$rootScope.$broadcast('animEnd', element, inSpeed);
38+
return function(cancelled) {
39+
angular.element(element).removeClass('anim-in-setup');
40+
angular.element(element).addClass('anim-in');
4241

43-
angular.element(element).removeClass('anim-in');
44-
}, inSpeed);
45-
}
46-
};
47-
},
48-
leave: function(element, done) {
49-
var speed = angular.element(element).attr('data-anim-speed') !== undefined ? $rootScope.$eval(angular.element(element).attr('data-anim-speed')) : 1000,
50-
outSpeed = angular.element(element).attr('data-anim-out-speed') !== undefined ? $rootScope.$eval(angular.element(element).attr('data-anim-out-speed')) : speed;
42+
if (!cancelled) {
43+
$timeout(function() {
44+
$rootScope.$broadcast('animEnd', element, inSpeed);
5145

52-
$rootScope.$broadcast('animStart', element, outSpeed);
46+
angular.element(element).removeClass('anim-in');
47+
}, inSpeed);
48+
}
49+
};
50+
},
51+
leave: function(element, done) {
52+
var speed = angular.element(element).attr('data-anim-speed') !== undefined ? $rootScope.$eval(angular.element(element).attr('data-anim-speed')) : 1000,
53+
outSpeed = angular.element(element).attr('data-anim-out-speed') !== undefined ? $rootScope.$eval(angular.element(element).attr('data-anim-out-speed')) : speed;
5354

54-
try {
55-
var observer = new MutationObserver(function(mutations) {
56-
observer.disconnect();
55+
$rootScope.$broadcast('animStart', element, outSpeed);
5756

58-
$window.requestAnimationFrame(function() {
59-
angular.element(element).removeClass('anim-out-setup');
60-
angular.element(element).addClass('anim-out');
57+
try {
58+
var observer = new MutationObserver(function(mutations) {
59+
observer.disconnect();
6160

62-
$timeout(done, outSpeed);
63-
});
64-
});
61+
$window.requestAnimationFrame(function() {
62+
angular.element(element).removeClass('anim-out-setup');
63+
angular.element(element).addClass('anim-out');
6564

66-
observer.observe(element[0], {
67-
attributes: true,
68-
childList: false,
69-
characterData: false
65+
$timeout(done, outSpeed);
7066
});
67+
});
7168

72-
} catch (e) {
73-
angular.element(element).removeClass('anim-out-setup');
74-
angular.element(element).addClass('anim-out');
69+
observer.observe(element[0], {
70+
attributes: true,
71+
childList: false,
72+
characterData: false
73+
});
7574

76-
$timeout(done, Math.max(100, outSpeed));
77-
}
75+
} catch (e) {
76+
angular.element(element).removeClass('anim-out-setup');
77+
angular.element(element).addClass('anim-out');
7878

79-
angular.element(element).addClass('anim-out-setup');
79+
$timeout(done, Math.max(100, outSpeed));
8080
}
81-
};
82-
}
83-
]);
81+
82+
angular.element(element).addClass('anim-out-setup');
83+
}
84+
};
85+
}
86+
]);
8487

8588
})();

index.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
require('angular');
2+
require('angular-animate');
3+
require('angular-ui-router');
4+
require('./anim-in-out');
5+
module.exports = 'hj.animInOut';

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"name": "angular-ui-router-anim-in-out",
33
"version": "1.0.0",
4-
"description": "An animation directive to use with ngAnimate 1.2+ and ui-router",
5-
"main": "anim-in-out.js",
4+
"description": "An animation directive to use with ngAnimate 1.2+ and ui-router, providing events between transition phases",
5+
"main": "index.js",
66
"scripts": {
77
"test": "echo \"Error: no test specified\" && exit 1"
88
},

0 commit comments

Comments
 (0)