| 689 | }); |
| 690 | |
| 691 | function registerAnimation(animationFactory, event) { |
| 692 | var afterFn = animationFactory[event]; |
| 693 | var beforeFn = animationFactory['before' + event.charAt(0).toUpperCase() + event.substr(1)]; |
| 694 | if (afterFn || beforeFn) { |
| 695 | if (event == 'leave') { |
| 696 | beforeFn = afterFn; |
| 697 | //when set as null then animation knows to skip this phase |
| 698 | afterFn = null; |
| 699 | } |
| 700 | after.push({ |
| 701 | event: event, fn: afterFn |
| 702 | }); |
| 703 | before.push({ |
| 704 | event: event, fn: beforeFn |
| 705 | }); |
| 706 | return true; |
| 707 | } |
| 708 | } |
| 709 | |
| 710 | function run(fns, cancellations, allCompleteFn) { |
| 711 | var animations = []; |