Bladeren bron

Moved updating `isFocus` property to view events listeners.

Piotr Jasiun 9 jaren geleden
bovenliggende
commit
26585d0d04
1 gewijzigde bestanden met toevoegingen van 17 en 9 verwijderingen
  1. 17 9
      packages/ckeditor5-engine/src/view/observer/focusobserver.js

+ 17 - 9
packages/ckeditor5-engine/src/view/observer/focusobserver.js

@@ -22,22 +22,30 @@ export default class FocusObserver extends DomEventObserver {
 		super( document );
 
 		this.domEventType = [ 'focus', 'blur' ];
-	}
-
-	onDomEvent( domEvent ) {
-		const target = this.document.domConverter.getCorrespondingViewElement( domEvent.target );
 
 		// Update `isFocus` property of root elements.
-		for ( let root of this.document.roots.values() ) {
-			if ( target === root ) {
-				if ( domEvent.type == 'focus' ) {
+		document.on( 'focus', ( evt, data ) => {
+			const target = data.target;
+
+			for ( let root of document.roots.values() ) {
+				if ( target === root ) {
 					root.isFocused = true;
-				} else {
+				}
+			}
+		} );
+
+		document.on( 'blur', ( evt, data ) => {
+			const target = data.target;
+
+			for ( let root of document.roots.values() ) {
+				if ( target === root ) {
 					root.isFocused = false;
 				}
 			}
-		}
+		} );
+	}
 
+	onDomEvent( domEvent ) {
 		this.fire( domEvent.type, domEvent );
 	}
 }