@@ -49,16 +49,7 @@ import {
49
49
ViewEncapsulation ,
50
50
} from '@angular/core' ;
51
51
import { fromEvent , merge , Observable , Subject } from 'rxjs' ;
52
- import {
53
- debounceTime ,
54
- distinctUntilChanged ,
55
- filter ,
56
- map ,
57
- mapTo ,
58
- startWith ,
59
- take ,
60
- takeUntil ,
61
- } from 'rxjs/operators' ;
52
+ import { debounceTime , filter , map , mapTo , startWith , take , takeUntil } from 'rxjs/operators' ;
62
53
import { matDrawerAnimations } from './drawer-animations' ;
63
54
64
55
/**
@@ -367,24 +358,16 @@ export class MatDrawer implements AfterViewInit, AfterContentChecked, OnDestroy
367
358
) ;
368
359
} ) ;
369
360
370
- // We need a Subject with distinctUntilChanged, because the `done` event
371
- // fires twice on some browsers. See https://github.com/angular/angular/issues/24084
372
- this . _animationEnd
373
- . pipe (
374
- distinctUntilChanged ( ( x , y ) => {
375
- return x . fromState === y . fromState && x . toState === y . toState ;
376
- } ) ,
377
- )
378
- . subscribe ( ( event : AnimationEvent ) => {
379
- const { fromState, toState} = event ;
361
+ this . _animationEnd . subscribe ( ( event : AnimationEvent ) => {
362
+ const { fromState, toState} = event ;
380
363
381
- if (
382
- ( toState . indexOf ( 'open' ) === 0 && fromState === 'void' ) ||
383
- ( toState === 'void' && fromState . indexOf ( 'open' ) === 0 )
384
- ) {
385
- this . openedChange . emit ( this . _opened ) ;
386
- }
387
- } ) ;
364
+ if (
365
+ ( toState . indexOf ( 'open' ) === 0 && fromState === 'void' ) ||
366
+ ( toState === 'void' && fromState . indexOf ( 'open' ) === 0 )
367
+ ) {
368
+ this . openedChange . emit ( this . _opened ) ;
369
+ }
370
+ } ) ;
388
371
}
389
372
390
373
/**
0 commit comments