| 441 | }); |
| 442 | |
| 443 | function registerAnimation(animationFactory, event) { |
| 444 | var afterFn = animationFactory[event]; |
| 445 | var beforeFn = animationFactory['before' + event.charAt(0).toUpperCase() + event.substr(1)]; |
| 446 | if(afterFn || beforeFn) { |
| 447 | if(event == 'leave') { |
| 448 | beforeFn = afterFn; |
| 449 | //when set as null then animation knows to skip this phase |
| 450 | afterFn = null; |
| 451 | } |
| 452 | after.push({ |
| 453 | event : event, fn : afterFn |
| 454 | }); |
| 455 | before.push({ |
| 456 | event : event, fn : beforeFn |
| 457 | }); |
| 458 | return true; |
| 459 | } |
| 460 | } |
| 461 | |
| 462 | function run(fns, cancellations, allCompleteFn) { |
| 463 | var animations = []; |