Итак, анимационный сервис $animate 2.0 дописал)
на его основе щас буду писать 3.0
К примеру, во второй версии этого сервиса описание анимации выглядит так =)
В новой версии это будет выглядеть так:
Добавить класс add с молнеиносной скоростью, потом удалить со скоростью, которая указана в css transition.
добавить класс анимированно за время 300 миллисек, удалить класс за секунду)
то есть мы высчитываем изменения которые дает добавление класса или удаление и делаем их анимировано)
this это api для анимаций
все эти штуки что ты тут вызовешь не срабатывают моментально а помещаются в список действий которые нужно сделать =) то есть removeClass выполняется не раньше чем закончится addClass
круто? и с таким api я даже возможно, ВОЗМОООЖНО добавлю поддержку анимаций не css3 а на яваскрипте, но скорее всего нет.
по сути все модули в том числе и глобальный модуль ui, содержат следующие методы:
// по умолчанию человеку доступен глобальный модуль ui
ui.module('name', []) // создать на основе этого модуля новый (в массиве можно передать имена модулей которые так же наследуем)
ui.directive('name', function() {}) // создать директиву в этом модуле (и во всех созданных на основе этого)
ui.filter('name', function() {}) // создать фильтр в этом модуле (и во всех созданных на основе этого)
ui.service('$name', function() {}) // создать сервис в этом модуле (и во всех созданных на основе этого)
ui.controller('name', function() {}) // создать контроллер в этом модуле (и во всех созданных на основе этого)
ui.animation('name', function() {}) // создать анимацию в этом модуле (и во всех созданных на основе этого)
даже если модули на основе этого УЖЕ созданы, а мы ПОСЛЕ добавляем все эти компоненты, то они у них все ровно добавятся =) наследование жи.