mirror of
https://github.com/openseadragon/openseadragon.git
synced 2024-11-25 14:46:10 +03:00
Cleanup on viewer destroy and register on Viewer()
Other changes: - ESLint comment about undeclared variable Map removed, since Map is now registered as a global in .eslintrc.* // eslint-disable-next-line no-undef - Mark as private the property _viewers of OpenSeadragon
This commit is contained in:
parent
94f269d6d0
commit
69aba71f79
@ -749,9 +749,7 @@
|
||||
|
||||
/* eslint-disable no-redeclare */
|
||||
function OpenSeadragon( options ){
|
||||
var viewer = new OpenSeadragon.Viewer( options );
|
||||
OpenSeadragon._viewers.set(viewer.element, viewer);
|
||||
return viewer;
|
||||
return new OpenSeadragon.Viewer( options );
|
||||
}
|
||||
|
||||
(function( $ ){
|
||||
@ -1409,10 +1407,10 @@ function OpenSeadragon( options ){
|
||||
* Keep track of which {@link Viewer}s have been created.
|
||||
* - Key: {@link Element} to which a Viewer is attached.
|
||||
* - Value: {@link Viewer} of the element defined by the key.
|
||||
* @private
|
||||
* @static
|
||||
* @type {Object}
|
||||
*/
|
||||
// eslint-disable-next-line no-undef
|
||||
_viewers: new Map(),
|
||||
|
||||
/**
|
||||
|
@ -481,6 +481,8 @@ $.Viewer = function( options ) {
|
||||
this.drawer.setImageSmoothingEnabled(this.imageSmoothingEnabled);
|
||||
}
|
||||
|
||||
// Register the viewer
|
||||
$._viewers.set(this.element, this);
|
||||
};
|
||||
|
||||
$.extend( $.Viewer.prototype, $.EventSource.prototype, $.ControlDock.prototype, /** @lends OpenSeadragon.Viewer.prototype */{
|
||||
@ -824,6 +826,9 @@ $.extend( $.Viewer.prototype, $.EventSource.prototype, $.ControlDock.prototype,
|
||||
this.canvas = null;
|
||||
this.container = null;
|
||||
|
||||
// Unregister the viewer
|
||||
$._viewers.delete(this.element);
|
||||
|
||||
// clear our reference to the main element - they will need to pass it in again, creating a new viewer
|
||||
this.element = null;
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user