summary refs log tree commit diff stats
path: root/geschichte/js/controllers/focus.js
diff options
context:
space:
mode:
Diffstat (limited to 'geschichte/js/controllers/focus.js')
-rw-r--r--geschichte/js/controllers/focus.js103
1 files changed, 0 insertions, 103 deletions
diff --git a/geschichte/js/controllers/focus.js b/geschichte/js/controllers/focus.js
deleted file mode 100644
index 3e68c3f..0000000
--- a/geschichte/js/controllers/focus.js
+++ /dev/null
@@ -1,103 +0,0 @@
-import { closest } from '../utils/util.js'
-
-/**
- * Manages focus when a presentation is embedded. This
- * helps us only capture keyboard from the presentation
- * a user is currently interacting with in a page where
- * multiple presentations are embedded.
- */
-
-const STATE_FOCUS = 'focus';
-const STATE_BLUR = 'blur';
-
-export default class Focus {
-
-	constructor( Reveal ) {
-
-		this.Reveal = Reveal;
-
-		this.onRevealPointerDown = this.onRevealPointerDown.bind( this );
-		this.onDocumentPointerDown = this.onDocumentPointerDown.bind( this );
-
-	}
-
-	/**
-	 * Called when the reveal.js config is updated.
-	 */
-	configure( config, oldConfig ) {
-
-		if( config.embedded ) {
-			this.blur();
-		}
-		else {
-			this.focus();
-			this.unbind();
-		}
-
-	}
-
-	bind() {
-
-		if( this.Reveal.getConfig().embedded ) {
-			this.Reveal.getRevealElement().addEventListener( 'pointerdown', this.onRevealPointerDown, false );
-		}
-
-	}
-
-	unbind() {
-
-		this.Reveal.getRevealElement().removeEventListener( 'pointerdown', this.onRevealPointerDown, false );
-		document.removeEventListener( 'pointerdown', this.onDocumentPointerDown, false );
-
-	}
-
-	focus() {
-
-		if( this.state !== STATE_FOCUS ) {
-			this.Reveal.getRevealElement().classList.add( 'focused' );
-			document.addEventListener( 'pointerdown', this.onDocumentPointerDown, false );
-		}
-
-		this.state = STATE_FOCUS;
-
-	}
-
-	blur() {
-
-		if( this.state !== STATE_BLUR ) {
-			this.Reveal.getRevealElement().classList.remove( 'focused' );
-			document.removeEventListener( 'pointerdown', this.onDocumentPointerDown, false );
-		}
-
-		this.state = STATE_BLUR;
-
-	}
-
-	isFocused() {
-
-		return this.state === STATE_FOCUS;
-
-	}
-
-	destroy() {
-
-		this.Reveal.getRevealElement().classList.remove( 'focused' );
-
-	}
-
-	onRevealPointerDown( event ) {
-
-		this.focus();
-
-	}
-
-	onDocumentPointerDown( event ) {
-
-		let revealElement = closest( event.target, '.reveal' );
-		if( !revealElement || revealElement !== this.Reveal.getRevealElement() ) {
-			this.blur();
-		}
-
-	}
-
-}
\ No newline at end of file