diff --git a/examples/dependent-project/src/main.ts b/examples/dependent-project/src/main.ts index 04835137a1..e348b5f8d5 100644 --- a/examples/dependent-project/src/main.ts +++ b/examples/dependent-project/src/main.ts @@ -18,9 +18,11 @@ import {makeExtraKeyBindings} from 'my-neuroglancer-project/extra_key_bindings'; import {navigateToOrigin} from 'my-neuroglancer-project/navigate_to_origin'; import {setupDefaultViewer} from 'neuroglancer/ui/default_viewer_setup'; import {registerActionListener} from 'neuroglancer/util/event_action_map'; +import {makeDefaultViewer} from 'neuroglancer/ui/default_viewer'; window.addEventListener('DOMContentLoaded', () => { - const viewer = setupDefaultViewer(); + let viewer = (window)['viewer'] = makeDefaultViewer(); + setupDefaultViewer(viewer); makeExtraKeyBindings(viewer.inputEventMap); registerActionListener(viewer.element, 'navigate-to-origin', () => navigateToOrigin(viewer)); }); diff --git a/src/main.ts b/src/main.ts index 5620e498fb..ebbbad1d53 100644 --- a/src/main.ts +++ b/src/main.ts @@ -18,7 +18,9 @@ * @file Main entry point for default neuroglancer viewer. */ import {setupDefaultViewer} from 'neuroglancer/ui/default_viewer_setup'; +import {makeDefaultViewer} from 'neuroglancer/ui/default_viewer'; window.addEventListener('DOMContentLoaded', () => { - setupDefaultViewer(); + let viewer = (window)['viewer'] = makeDefaultViewer(); + setupDefaultViewer(viewer); }); diff --git a/src/neuroglancer/ui/default_viewer_setup.ts b/src/neuroglancer/ui/default_viewer_setup.ts index b82a1d6870..dfdca8f70a 100644 --- a/src/neuroglancer/ui/default_viewer_setup.ts +++ b/src/neuroglancer/ui/default_viewer_setup.ts @@ -17,12 +17,12 @@ import {StatusMessage} from 'neuroglancer/status'; import {bindDefaultCopyHandler, bindDefaultPasteHandler} from 'neuroglancer/ui/default_clipboard_handling'; import {setDefaultInputEventBindings} from 'neuroglancer/ui/default_input_event_bindings'; -import {makeDefaultViewer} from 'neuroglancer/ui/default_viewer'; import {bindTitle} from 'neuroglancer/ui/title'; import {UrlHashBinding} from 'neuroglancer/ui/url_hash_binding'; import {UserLayer, UserLayerConstructor, layerTypes} from 'neuroglancer/layer'; import {Tool, restoreTool} from 'neuroglancer/ui/tool'; import {verifyObject, verifyObjectProperty, verifyString} from 'neuroglancer/util/json'; +import {Viewer} from 'neuroglancer/viewer'; declare var NEUROGLANCER_DEFAULT_STATE_FRAGMENT: string|undefined; @@ -40,8 +40,7 @@ export const hasCustomBindings = typeof CUSTOM_BINDINGS !== 'undefined' && Objec /** * Sets up the default neuroglancer viewer. */ -export function setupDefaultViewer() { - let viewer = (window)['viewer'] = makeDefaultViewer(); +export function setupDefaultViewer(viewer: Viewer) { setDefaultInputEventBindings(viewer.inputEventBindings); const bindNonLayerSpecificTool = (obj: unknown, toolKey: string, desiredLayerType: UserLayerConstructor, desiredProvider?: string) => {