{"push_id":628209026,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"c8700f04fb6fb5dc21ac24de8665c0476d6db5ef","before":"73ab107a1e3c8783d937ac65c50621f7a4d63333","commits":[{"sha":"c8700f04fb6fb5dc21ac24de8665c0476d6db5ef","author":{"email":"dbc6bbe3b711e3f58f25638428fdfc12e34c8c38@yearofmoo.com","name":"Matias Niemelä"},"message":"feat($animate): complete refactor of internal animation code\n\nAll of ngAnimate has been rewritten to make the internals of the\nanimation code more flexible, reuseable and performant.\n\nBREAKING CHANGE: JavaSript and CSS animations can no longer be run in\nparallel. With earlier versions of ngAnimate, both CSS and JS animations\nwould be run together when multiple animations were detected. This\nfeature has now been removed, however, the same effect, with even more\npossibilities, can be achieved by injecting `$animateCss` into a\nJavaScript-defined animation and creating custom CSS-based animations\nfrom there. Read the ngAnimate docs for more info.\n\nBREAKING CHANGE: The function params for `$animate.enabled()` when an\nelement is used are now flipped. This fix allows the function to act as\na getter when a single element param is provided.\n\n```js\n// < 1.4\n$animate.enabled(false, element);\n\n// 1.4+\n$animate.enabled(element, false);\n```\n\nBREAKING CHANGE: In addition to disabling the children of the element,\n`$animate.enabled(element, false)` will now also disable animations on\nthe element itself.\n\nBREAKING CHANGE: Animation-related callbacks are now fired on\n`$animate.on` instead of directly being on the element.\n\n```js\n// < 1.4\nelement.on('$animate:before', function(e, data) {\n  if (data.event === 'enter') { ... }\n});\nelement.off('$animate:before', fn);\n\n// 1.4+\n$animate.on(element, 'enter', function(data) {\n  //...\n});\n$animate.off(element, 'enter', fn);\n```\n\nBREAKING CHANGE: There is no need to call `$scope.$apply` or\n`$scope.$digest` inside of a animation promise callback anymore\nsince the promise is resolved within a digest automatically (but a\ndigest is not run unless the promise is chained).\n\n```js\n// < 1.4\n$animate.enter(element).then(function() {\n  $scope.$apply(function() {\n    $scope.explode = true;\n  });\n});\n\n// 1.4+\n$animate.enter(element).then(function() {\n  $scope.explode = true;\n});\n```\n\nBREAKING CHANGE: When an enter, leave or move animation is triggered then it\nwill always end any pending or active parent class based animations\n(animations triggered via ngClass) in order to ensure that any CSS\nstyles are resolved in time.","distinct":true,"url":"https://api.github.com/repos/angular/angular.js/commits/c8700f04fb6fb5dc21ac24de8665c0476d6db5ef"}]}