From f2d7195922bd72167f2a01ea10419296bc2e915a Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Sat, 13 Jul 2024 14:29:19 +0200 Subject: chore(geschichte): Remove This is also irrelevant, as it is no longer used. --- geschichte/js/controllers/focus.js | 103 ------------------------------------- 1 file changed, 103 deletions(-) delete mode 100644 geschichte/js/controllers/focus.js (limited to 'geschichte/js/controllers/focus.js') 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 -- cgit 1.4.1