diff --git a/src/lib/sort/sort-header.html b/src/lib/sort/sort-header.html index bf16458d503..b181902952c 100644 --- a/src/lib/sort/sort-header.html +++ b/src/lib/sort/sort-header.html @@ -5,7 +5,7 @@ -
+
diff --git a/src/lib/sort/sort-header.ts b/src/lib/sort/sort-header.ts index 5cf719da901..87f497d40c2 100644 --- a/src/lib/sort/sort-header.ts +++ b/src/lib/sort/sort-header.ts @@ -20,7 +20,8 @@ import { state, style, animate, - transition + transition, + keyframes, } from '@angular/animations'; import {CdkColumnDef} from '@angular/cdk/table'; import {Subscription} from 'rxjs/Subscription'; @@ -70,6 +71,24 @@ const SORT_ANIMATION_TRANSITION = state('asc', style({transform: 'rotate(45deg)'})), state('desc', style({transform: 'rotate(-45deg)'})), transition('asc <=> desc', animate(SORT_ANIMATION_TRANSITION)) + ]), + trigger('indicatorToggle', [ + transition('void => asc', animate(SORT_ANIMATION_TRANSITION, keyframes([ + style({transform: 'translateY(25%)', opacity: 0}), + style({transform: 'none', opacity: 1}) + ]))), + transition('asc => void', animate(SORT_ANIMATION_TRANSITION, keyframes([ + style({transform: 'none', opacity: 1}), + style({transform: 'translateY(-25%)', opacity: 0}) + ]))), + transition('void => desc', animate(SORT_ANIMATION_TRANSITION, keyframes([ + style({transform: 'translateY(-25%)', opacity: 0}), + style({transform: 'none', opacity: 1}) + ]))), + transition('desc => void', animate(SORT_ANIMATION_TRANSITION, keyframes([ + style({transform: 'none', opacity: 1}), + style({transform: 'translateY(25%)', opacity: 0}) + ]))), ]) ] })