angular-animate
Advanced tools
Changelog
v1.4.0-rc.1 sartorial-chronography (2015-04-24)
ng-anchor-in
is used
(3333a5c3)<a name="v1.4.0-rc.0"></a>
Changelog
v1.4.0-rc.0 smooth-unwinding (2015-04-10)
success
and error
methods do not receive a function
(1af563d4,
#11330, #11333)null
/undefined
(b5002ab6,
#11432, #11445)decorator
method
(e57138d7,
#11305, #11300)$animate: due to c8700f04,
JavaScript and CSS animations can no longer be run in
parallel. With earlier versions of ngAnimate, both CSS and JS animations
would be run together when multiple animations were detected. This
feature has now been removed, however, the same effect, with even more
possibilities, can be achieved by injecting $animateCss
into a
JavaScript-defined animation and creating custom CSS-based animations
from there. Read the ngAnimate docs for more info.
$animate: due to c8700f04,
The function params for $animate.enabled()
when an
element is used are now flipped. This fix allows the function to act as
a getter when a single element param is provided.
// < 1.4
$animate.enabled(false, element);
// 1.4+
$animate.enabled(element, false);
$animate: due to c8700f04,
In addition to disabling the children of the element,
$animate.enabled(element, false)
will now also disable animations on
the element itself.
$animate: due to c8700f04,
Animation-related callbacks are now fired on
$animate.on
instead of directly being on the element.
// < 1.4
element.on('$animate:before', function(e, data) {
if (data.event === 'enter') { ... }
});
element.off('$animate:before', fn);
// 1.4+
$animate.on(element, 'enter', function(data) {
//...
});
$animate.off(element, 'enter', fn);
$scope.$apply
or
$scope.$digest
inside of an animation promise callback anymore
since the promise is resolved within a digest automatically (but a
digest is not run unless the promise is chained).// < 1.4
$animate.enter(element).then(function() {
$scope.$apply(function() {
$scope.explode = true;
});
});
// 1.4+
$animate.enter(element).then(function() {
$scope.explode = true;
});
<a name="1.4.0-beta.6"></a>
Changelog
1.3.15 locality-filtration (2015-03-17)
applyStyles
with options on leave
(ebd84e80,
#10068)G
format codes
(f2683f95,
#10503, #11266)<a name="1.4.0-beta.5"></a>
Changelog
1.4.0-beta.6 cookie-liberation (2015-03-17)
applyStyles
from options on leave
(4374f892,
#10068)history.state
access causes error in IE
(3b8163b7,
#10367, #10369)G
format codes
(2b4dfa9e,
#10503, #11266)ngMessagesInclude
(d7ec5f39,
#11196)track by
(6a03ca27,
#10869, #10893)angular.extend
that merges 'deeply'
(c0498d45,
#10507, #10519)toString()
to primitive
(f8c42161,
#10464, #10548)$cookies
no longer exposes properties that represent the current browser cookie
values. Now you must explicitly the methods described above to access the cookie
values. This also means that you can no longer watch the $cookies
properties for
changes to the browser's cookies.
This feature is generally only needed if a 3rd party library was programmatically changing the cookies at runtime. If you rely on this then you must either write code that can react to the 3rd party library making the changes to cookies or implement your own polling mechanism.
<a name="1.3.15"></a>
Changelog
1.4.0-beta.5 karmic-stabilization (2015-02-24)
CommonJS: - angular modules are now packaged for npm with helpful exports
limitTo: extend the filter to take a beginning index argument (aaae3cc4, #5355, #10899)
ngMessages: provide support for dynamic message resolution (c9a4421f, #10036, #9338)
ngOptions: add support for disabling an option (da9eac86, #638, #11017)
The ngMessagesInclude
attribute is now its own directive and that must
be placed as a child element within the element with the ngMessages
directive. (Keep in mind that the former behavior of the
ngMessageInclude attribute was that all included ngMessage template
code was placed at the bottom of the element containing the
ngMessages directive; therefore to make this behave in the same way,
place the element containing the ngMessagesInclude directive at the
end of the container containing the ngMessages directive).
<!-- AngularJS 1.3.x -->
<div ng-messages="model.$error" ng-messages-include="remote.html">
<div ng-message="required">Your message is required</div>
</div>
<!-- AngularJS 1.4.x -->
<div ng-messages="model.$error">
<div ng-message="required">Your message is required</div>
<div ng-messages-include="remote.html"></div>
</div>
it is no longer possible to use interpolation inside the ngMessages
attribute expression. This technique
is generally not recommended, and can easily break when a directive implementation changes. In cases
where a simple expression is not possible, you can delegate accessing the object to a function:
<div ng-messages="ctrl.form['field_{{$index}}'].$error">...</div>
would become
<div ng-messages="ctrl.getMessages($index)">...</div>
where ctrl.getMessages()
ctrl.getMessages = function($index) {
return ctrl.form['field_' + $index].$error;
}
transformRequest
functions can no longer modify request headers.
Before this commit transformRequest
could modify request headers, ex.:
function requestTransform(data, headers) {
headers = angular.extend(headers(), {
'X-MY_HEADER': 'abcd'
});
}
return angular.toJson(data);
}
This behavior was unintended and undocumented, so the change should affect very few applications. If one needs to dynamically add / remove headers it should be done in a header function, for example:
$http.get(url, {
headers: {
'X-MY_HEADER': function(config) {
return 'abcd'; //you've got access to a request config object to specify header value dynamically
}
}
})
<a name="1.3.14"></a>
Changelog
1.3.14 instantaneous-browserification (2015-02-24)
<a name="1.4.0-beta.4"></a>
Changelog
1.4.0-beta.4 overlyexplosive-poprocks (2015-02-09)
<a name="1.3.13"></a>
Changelog
1.3.13 meticulous-riffleshuffle (2015-02-09)
<a name="1.4.0-beta.3"></a>
Changelog
1.3.12 outlandish-knitting (2015-02-02)
<a name="1.4.0-beta.2"></a>
Changelog
1.4.0-beta.3 substance-mimicry (2015-02-02)
TypedArray
s
(aa0f6449,
#10745)<a name="1.3.12"></a>