UNPKG

@openseadragon-imaging/openseadragon-viewerinputhook

Version:

OpenSeadragon plugin which provides hooks into the viewer input event pipeline.

3 lines 2.25 kB
/* @openseadragon-imaging/openseadragon-viewerinputhook 3.0.1 feae493 (clean) @license MIT */ (function(e,t){typeof exports==`object`&&typeof module<`u`?module.exports=t(require("openseadragon")):typeof define==`function`&&define.amd?define([`openseadragon`],t):(e=typeof globalThis<`u`?globalThis:e||self,e.ViewerInputHook=t(e.OpenSeadragon))})(this,function(e){var t=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,s=(e,t,a,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=i(t),l=0,u=c.length,d;l<u;l++)d=c[l],!o.call(e,d)&&d!==a&&n(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(s=r(t,d))||s.enumerable});return e};e=((e,r,i)=>(i=e==null?{}:t(a(e)),s(r||!e||!e.__esModule?n(i,`default`,{value:e,enumerable:!0}):i,e)))(e,1),e.default.Viewer.prototype.addViewerInputHook=function(e){return e||={},e.viewer=this,new c(e)};var c=class{static{this.version={versionStr:`3.0.1`,major:3,minor:0,revision:1}}constructor(t){if(!e.default.version||e.default.version.major<3)throw Error(`OpenSeadragonImaging ViewerInputHook requires OpenSeadragon version 3.0.0+`);if(t||={},t.hooks=t.hooks||[],this.viewer=t.viewer||null,this.viewerTrackers={},this.hooks=[],this.viewer){let e=this.viewer;this.viewerTrackers.viewer=e.innerTracker||null,this.viewerTrackers.viewer_outer=e.outerTracker||null}for(let e of t.hooks){let t;if(typeof e.tracker==`string`){let n=e.tracker;if(!this.viewer)throw Error(`A viewer must be specified.`);if(t=this.viewerTrackers[n],t===void 0)throw Error(`Unknown tracker specified: `+e.tracker)}else t=e.tracker;let n=e.handler;t&&(this.hooks.push({tracker:t,handlerName:n,origHandler:t[n],hookHandler:e.hookHandler}),(function(e,t,n,r){let i=t[n];t[n]=function(t){return e._callHandlers(r,i,t)}})(this,t,n,e.hookHandler))}}_callHandlers(e,t,n){if(e(n),t&&!n.stopHandlers&&t(n),n.stopBubbling&&n.originalEvent){let e=n.originalEvent;typeof e.stopPropagation==`function`&&e.stopPropagation()}}destroy(){for(;this.hooks.length>0;){let e=this.hooks.pop();e&&(e.tracker[e.handlerName]=e.origHandler)}this.viewer&&=(this.viewerTrackers={},null)}};return c}); //# sourceMappingURL=openseadragon-viewerinputhook.umd.js.map