mmv.js: Store comingFromHashChange as a class property

Code in mmv.bootstrap.js sets viewer.comingFromHashChange directly,
assuming it to be a class property, not a local variable.

Change-Id: I8b10243768118e84d916f50f1a48ff10463d1db4
This commit is contained in:
Ed Sanders 2024-10-23 18:51:34 +01:00
parent 995bb6da2b
commit b5ed0e6c04

View file

@ -44,7 +44,6 @@ const ThumbnailWidthCalculator = require( './mmv.ThumbnailWidthCalculator.js' );
const { extensions, useThumbnailGuessing } = require( './config.json' );
const router = require( 'mediawiki.router' );
let comingFromHashChange = false;
/**
* Analyses the page, looks for image content and sets up the hooks
@ -96,7 +95,7 @@ class MultimediaViewer {
*/
this.router = router;
this.setupRouter();
comingFromHashChange = false;
this.comingFromHashChange = false;
/**
* UI object used to display the pictures in the page.
@ -686,8 +685,8 @@ class MultimediaViewer {
this.viewLogger.recordViewDuration();
this.viewLogger.unattach();
if ( comingFromHashChange ) {
comingFromHashChange = false;
if ( this.comingFromHashChange ) {
this.comingFromHashChange = false;
} else {
this.router.back();
}
@ -707,7 +706,7 @@ class MultimediaViewer {
// handle empty hashes, and anchor links (page sections, possibly including /)
this.router.addRoute( /.*$/, () => {
if ( this.isOpen ) {
comingFromHashChange = true;
this.comingFromHashChange = true;
document.title = this.createDocumentTitle( null );
if ( this.ui ) {
// FIXME triggers mmv-close event, which calls viewer.close()