@@ -82,25 +82,24 @@ export class CdkEditable implements AfterViewInit, OnDestroy {
82
82
}
83
83
84
84
private _listenForTableEvents ( ) : void {
85
- const element = this . elementRef . nativeElement ! ;
86
-
85
+ const element = this . elementRef . nativeElement ;
87
86
const toClosest = ( selector : string ) =>
88
87
map ( ( event : UIEvent ) => closest ( event . target , selector ) ) ;
89
88
90
89
this . ngZone . runOutsideAngular ( ( ) => {
91
90
// Track mouse movement over the table to hide/show hover content.
92
91
fromEvent < MouseEvent > ( element , 'mouseover' ) . pipe (
93
- takeUntil ( this . destroyed ) ,
94
92
toClosest ( ROW_SELECTOR ) ,
93
+ takeUntil ( this . destroyed ) ,
95
94
) . subscribe ( this . editEventDispatcher . hovering ) ;
96
95
fromEvent < MouseEvent > ( element , 'mouseleave' ) . pipe (
97
- takeUntil ( this . destroyed ) ,
98
96
mapTo ( null ) ,
97
+ takeUntil ( this . destroyed ) ,
99
98
) . subscribe ( this . editEventDispatcher . hovering ) ;
100
99
fromEvent < MouseEvent > ( element , 'mousemove' ) . pipe (
101
- takeUntil ( this . destroyed ) ,
102
100
throttleTime ( MOUSE_MOVE_THROTTLE_TIME_MS ) ,
103
101
toClosest ( ROW_SELECTOR ) ,
102
+ takeUntil ( this . destroyed ) ,
104
103
) . subscribe ( this . editEventDispatcher . mouseMove ) ;
105
104
106
105
// Track focus within the table to hide/show/make focusable hover content.
@@ -135,9 +134,9 @@ export class CdkEditable implements AfterViewInit, OnDestroy {
135
134
) . subscribe ( this . editEventDispatcher . allRows ) ;
136
135
137
136
fromEvent < KeyboardEvent > ( element , 'keyup' ) . pipe (
138
- takeUntil ( this . destroyed ) ,
139
137
filter ( event => event . key === 'Enter' ) ,
140
138
toClosest ( CELL_SELECTOR ) ,
139
+ takeUntil ( this . destroyed ) ,
141
140
) . subscribe ( this . editEventDispatcher . editing ) ;
142
141
143
142
// Keydown must be used here or else key autorepeat does not work properly on some platforms.
@@ -217,6 +216,11 @@ export class CdkPopoverEdit<C> implements AfterViewInit, OnDestroy {
217
216
this . destroyed . next ( ) ;
218
217
this . destroyed . complete ( ) ;
219
218
219
+ if ( this . focusTrap ) {
220
+ this . focusTrap . destroy ( ) ;
221
+ this . focusTrap = undefined ;
222
+ }
223
+
220
224
if ( this . overlayRef ) {
221
225
this . overlayRef . dispose ( ) ;
222
226
}
0 commit comments