@@ -76,30 +76,29 @@ export class CdkEditable implements AfterViewInit, OnDestroy {
76
76
}
77
77
78
78
private _listenForTableEvents ( ) : void {
79
- const element = this . elementRef . nativeElement ! ;
80
-
79
+ const element = this . elementRef . nativeElement ;
81
80
const toClosest = ( selector : string ) =>
82
81
map ( ( event : UIEvent ) => closest ( event . target , selector ) ) ;
83
82
84
83
this . ngZone . runOutsideAngular ( ( ) => {
85
84
fromEvent < MouseEvent > ( element , 'mouseover' ) . pipe (
86
- takeUntil ( this . destroyed ) ,
87
85
toClosest ( ROW_SELECTOR ) ,
86
+ takeUntil ( this . destroyed ) ,
88
87
) . subscribe ( this . editEventDispatcher . hovering ) ;
89
88
fromEvent < MouseEvent > ( element , 'mouseleave' ) . pipe (
90
- takeUntil ( this . destroyed ) ,
91
89
mapTo ( null ) ,
90
+ takeUntil ( this . destroyed ) ,
92
91
) . subscribe ( this . editEventDispatcher . hovering ) ;
93
92
fromEvent < MouseEvent > ( element , 'mousemove' ) . pipe (
94
- takeUntil ( this . destroyed ) ,
95
93
debounceTime ( DEFAULT_MOUSE_MOVE_DELAY_MS ) ,
96
94
toClosest ( ROW_SELECTOR ) ,
95
+ takeUntil ( this . destroyed ) ,
97
96
) . subscribe ( this . editEventDispatcher . mouseMove ) ;
98
97
99
98
fromEvent < KeyboardEvent > ( element , 'keyup' ) . pipe (
100
- takeUntil ( this . destroyed ) ,
101
99
filter ( event => event . key === 'Enter' ) ,
102
100
toClosest ( CELL_SELECTOR ) ,
101
+ takeUntil ( this . destroyed ) ,
103
102
) . subscribe ( this . editEventDispatcher . editing ) ;
104
103
105
104
// Keydown must be used here or else key autorepeat does not work properly on some platforms.
@@ -179,6 +178,11 @@ export class CdkPopoverEdit<C> implements AfterViewInit, OnDestroy {
179
178
this . destroyed . next ( ) ;
180
179
this . destroyed . complete ( ) ;
181
180
181
+ if ( this . focusTrap ) {
182
+ this . focusTrap . destroy ( ) ;
183
+ this . focusTrap = undefined ;
184
+ }
185
+
182
186
if ( this . overlayRef ) {
183
187
this . overlayRef . dispose ( ) ;
184
188
}
0 commit comments