aboutsummaryrefslogtreecommitdiffstats
path: root/test/ngAnimate/animateSpec.js
AgeCommit message (Collapse)Author
2014-03-14fix(ngAnimate): setting classNameFilter disables animation inside ng-ifTomer Chachamu
Closes #6539
2014-02-28fix($animate): delegate down to addClass/removeClass if setClass is not foundMatias Niemelä
Closes #6463
2014-02-26fix($animate): ensure all comment nodes are removed during a leave animationMatias Niemelä
Closes #6403
2014-02-26fix($animate): only block keyframes if a stagger is set to occurMatias Niemelä
Transitions must be blocked so that the initial CSS class can be applied without triggering an animation. Keyframes do not need to be blocked since animations are always triggered on the starting CSS class, however, if a stagger animation is set to occur then all elements for index > 0 should be blocked. This is to prevent the animation from occuring early on before the stagger delay for the given element has passed. With ngAnimate and keyframe animations, IE10 and Safari will render a slight flicker effect caused by the blocking. This fix resolves this issue. Closes #4225
2014-02-26fix(ngAnimate): TypeError Cannot call method 'querySelectorAll' in ↵Stanislav Sysoev
cancelChildAnimations When an element containing both ng-repeat and ng-if directives attempts to remove any items from the repeat collection, the following error is thrown: "TypeError Cannot call method 'querySelectorAll' of undefined". This happens because the cancelChildAnimations code naively belives that the jqLite object always has an element node within it. The fix in this commit addresses to securely check to see if a node was properly extracted before any child elements are inspected. Closes #6205
2014-02-26fix($animate): ensure that animateable directives cancel expired leave ↵Matias Niemelä
animations If enter -> leave -> enter -> leave occurs then the first leave animation will animate alongside the second. This causes the very first DOM node (the view in ngView for example) to animate at the same time as the most recent DOM node which ends up being an undesired effect. This fix takes care of this issue. Closes #5886
2014-02-26test($animate): ensure staggering timeout tests are secureMatias Niemelä
2014-02-26fix($animate): ensure all animated elements are taken care of during the ↵Matias Niemelä
closing timeout Closes #6395
2014-02-24perf($animate): use rAF instead of timeouts to issue animation callbacksMatias Niemelä
2014-02-14style(animate): remove wsIgor Minar
2014-02-14fix($animate): ensure $animate doesn't break natural CSS transitionsMatias Niemelä
BREAKING CHANGE: ngClass and {{ class }} will now call the `setClass` animation callback instead of addClass / removeClass when both a addClass/removeClass operation is being executed on the element during the animation. Please include the setClass animation callback as well as addClass and removeClass within your JS animations to work with ngClass and {{ class }} directives. Closes #6019
2014-02-14pref($animate): only trigger DOM callbacks if registered on the element ↵Matias Niemelä
being animated BREAKING CHANGE: Both the `$animate:before` and `$animate:after` DOM events must be now registered prior to the $animate operation taking place. The `$animate:close` event can be registered anytime afterwards. DOM callbacks used to fired for each and every animation operation that occurs within the $animate service provided in the ngAnimate module. This may end up slowing down an application if 100s of elements are being inserted into the page. Therefore after this change callbacks are only fired if registered on the element being animated.
2014-02-14pref($animate): group all asynchronous requests into one shared bufferMatias Niemelä
2014-02-06fix(mocks): rename mock.animate to ngAnimateMock and ensure it contains all ↵Matias Niemelä
test helper code for ngAnimate Closes #5822 Closes #5917
2014-01-24feat($animate): provide support for a close callbackMatias Niemelä
Closes #5685 Closes #5053 Closes #4993
2014-01-14feat($animate): provide support for DOM callbacksMatias Niemelä
2014-01-14feat($animate): use requestAnimationFrame instead of a timeout to issue a reflowMatias Niemelä
Closes #4278 Closes #4225
2014-01-14fix($animate): ensure the final closing timeout respects staggering animationsMatias Niemelä
2014-01-14chore($animate): remove useless and expired testMatias Niemelä
2014-01-14fix($animate): prevent race conditions for class-based animations when ↵Matias Niemelä
animating on the same CSS class Closes #5588
2014-01-14fix($animate): correctly detect and handle CSS transition changes during ↵Matias Niemelä
class addition and removal When a CSS class containing transition code is added to an element then an animation should kick off. ngAnimate doesn't do this. It only respects transition styles that are already present on the element or on the setup class (but not the addClass animation).
2014-01-14fix($animate): avoid accidentally matching substrings when resolving the ↵Matias Niemelä
presence of className tokens
2014-01-06refactor(animate): remove duplicate lineChris Chua
2014-01-03fix($animate): ensure class-based animations are always skipped before ↵Matias Niemelä
structural post-digest tasks are run Closes #5582
2014-01-02fix(animate): remove trailing `s`Olivier Louvignes
2013-12-19feat(ngAnimate): provide configuration support to match specific className ↵Matias Niemelä
values to trigger animations Closes #5357 Closes #5283
2013-12-19style(animateSpec): ensure spacing between specs and describes is consistentMatias Niemelä
2013-12-19fix($animate): use a scheduled timeout in favor of a fallback property to ↵Matias Niemelä
close transitions With ngAnimate, CSS transitions, that are not properlty triggered, are forceably closed off by appling a fallback property. The fallback property approach works, however, its styling itself may effect CSS inheritance or cause the element to render improperly. Therefore, its best to stick to using a scheduled timeout to run sometime after the highest animation time has passed. Closes #5255 Closes #5241 Closes #5405
2013-12-13perf(jqLite): implement and use the `empty` method in place of `html(‘’)`Michał Gołębiowski
jQuery's elem.html('') is way slower than elem.empty(). As clearing element contents happens quite often in certain scenarios, switching to using .empty() provides a significant performance boost when using Angular with jQuery. Closes #4457
2013-12-05fix($animate): ensure animations work with directives that share a transclusionMatias Niemelä
Closes #4716 Closes #4871 Closes #5021 Closes #5278
2013-12-04fix($animate): ensure ms durations are properly roundedMatias Niemelä
Closes #5113 Closes #5162
2013-11-25fix(ngAnimate): ensure animations are disabled upon bootstrap for structrual ↵Matias Niemelä
animations Closes #5130
2013-11-23fix($animate): ensure blocked keyframe animations are unblocked before the ↵Matias Niemelä
DOM operation Closes #5106
2013-11-21fix(ngAnimate): correctly retain and restore existing styles during and ↵Peter Deak
after animation Closes #4869
2013-11-21fix($animate): ensure keyframe animations are blocked around the reflowMatias Niemelä
Keyframe animations trigger on the first CSS class and not the second. This may cause a slight flicker during a stagger animation since the animation has already started before the stagger delay is considered. This fix ensures that the animation is blocked until the active animation starts which allows for staggering animations to take over properly. Closes #5018
2013-11-21fix($animate): ensure transition animations are unblocked before the dom ↵Matias Niemelä
operation occurs Transitions are blocked when the base CSS class is added at the start of the animation. This causes an issue if the followup CSS class contains animatable-styles. Now, once the animation active state is triggered (when the animation CSS dom operation occurs) the animation itself will always trigger an animate without a quick jump. Closes #5014 Closes #4265
2013-11-21fix($animate): ensure addClass/removeClass animations do not snap during reflowMatias Niemelä
Closes #4892
2013-11-20fix(ngAnimate): use a fallback CSS property that doesn't break existing stylesMatias Niemelä
The clip property seems to remove the box-shadow property when an absolute positioned animation is ongoing. This fix changes the property to be border-spacing which is also very underused. The border-spacing CSS property is only visible when border-collapse is set to separate. Closes #4902 Closes #5030
2013-11-20fix($animate): ensure the DOM operation isn't run twiceMatias Niemelä
Depending on the animations placed on ngClass, the DOM operation may run twice causing a race condition between addClass and removeClass. Depending on what classes are removed and added via $compile this may cause all CSS classes to be removed accidentally from the element being animated. Closes #4949
2013-11-08fix(animateSpec): run digest to enable animations before testsPete Bacon Darwin
2013-11-06fix($animate): only apply the fallback property if any transition animations ↵Matias Niemelä
are detected
2013-11-05feat($animate): ensure CSS transitions can work with inherited CSS class ↵Matias Niemelä
definitions BREAKING CHANGE ngAnimate addClass / removeClass animations are now applied right away. This means that as soon as the animation starts the class will be added (addClass) or removed (removeClass) to the element being animated instead of after the -add-active / -remove-active animations are completed. This allows for animations outside of ngAnimate to not conflict with $animate. This commit introduces beforeAddClass and beforeRemoveClass animation event functions and executes any addClass and removeClass event functions AFTER the class has been added or removed (this is opposite functionality of how ngAnimate used to work when performing JS-enabled animations addClass / removeClass animations). If your animation code relies on any animations being performed prior to the class change then simply use the new beforeAddClass and beforeRemoveClass animation event functions. Finally, when animating show and hide animations using CSS transitions or keyframe animations, ng-hide-remove doesn't require `display:block!important` for ng-hide-add anymore.
2013-11-05chore(animateSpec): provide meaningful CSS class names in animation testsMatias Niemelä
2013-11-05fix($animate): avoid hanging animations if the active CSS transition class ↵Matias Niemelä
is missing Closes #4732 Closes #4490
2013-11-05fix($animate): ensure staggering animations understand multiple delay valuesMatias Niemelä
2013-11-05fix($animate): ensure the active class is not applied if cancelled during reflowMatias Niemelä
Closes #4699
2013-11-05chore(ngAnimate): ensure elapsedTime values are in seconds and millsecondsMatias Niemelä
2013-10-28fix($animate): use direct DOM comparison when checking for $rootElementMatias Niemelä
Closes #4679
2013-10-28fix($animate): ensure former nodes are fully cleaned up when a follow-up ↵Matias Niemelä
structural animation takes place Closes #4435
2013-10-28fix($animate): ensure enable/disable animations work when the document node ↵Matias Niemelä
is used Closes #4669