Skip to main content

Abstract Class: MenuViewService<K>

Defined in: workingtitle-instruments-wt21/shared/UI/MenuViewService.ts:18

A service to manage menu views.

Type Parameters

Type ParameterDefault type
KRecord<string, unknown>

Constructors

Constructor

new MenuViewService<K>(): MenuViewService<K>

Defined in: workingtitle-instruments-wt21/shared/UI/MenuViewService.ts:41

Ctor

Returns

MenuViewService<K>

Properties

activeView

readonly activeView: Subscribable<null | GuiDialog<GuiDialogProps>>

Defined in: workingtitle-instruments-wt21/shared/UI/MenuViewService.ts:28

The currently active view.


activeViewKey

readonly activeViewKey: Subscribable<"" | string & keyof K>

Defined in: workingtitle-instruments-wt21/shared/UI/MenuViewService.ts:26

The key of the currently active view.


guiEventMap

protected readonly guiEventMap: Map<string, GuiHEvent>

Defined in: workingtitle-instruments-wt21/shared/UI/MenuViewService.ts:31

override in child class


interactionTimeoutId

protected interactionTimeoutId: null | number = null

Defined in: workingtitle-instruments-wt21/shared/UI/MenuViewService.ts:34

Tracks the current timeout timer, used for closing the menu after 10 seconds of inactivity.

Methods

clearStack()

protected clearStack(closePage): void

Defined in: workingtitle-instruments-wt21/shared/UI/MenuViewService.ts:149

Closes all open views and clears the stack.

Parameters

ParameterTypeDescription
closePagebooleanWhether to close the currently open page, if one exists.

Returns

void


onInteractionEvent()

onInteractionEvent(hEvent, instrumentIndex): boolean

Defined in: workingtitle-instruments-wt21/shared/UI/MenuViewService.ts:52

Routes the HEvents to the views.

Parameters

ParameterTypeDescription
hEventstringThe event identifier.
instrumentIndexnumberThe index of the instrument.

Returns

boolean

Whether the event was handled.


open()

open<T>(type): T

Defined in: workingtitle-instruments-wt21/shared/UI/MenuViewService.ts:82

Opens a view. Opening a page will close all other views,

Type Parameters

Type Parameter
T extends GuiDialog<GuiDialogProps>

Parameters

ParameterTypeDescription
typestring & keyof KThe type of the view to open.

Returns

T

The view that was opened.

Throws

Error if the view type is not registered with this service.


registerView()

registerView(type?, vnodeFn?): void

Defined in: workingtitle-instruments-wt21/shared/UI/MenuViewService.ts:172

Registers a view with the service.

Parameters

ParameterTypeDescription
type?string & keyof KThe type of the view.
vnodeFn?() => VNodeA function creating the VNode.

Returns

void


routeInteractionEventToViews()

protected routeInteractionEventToViews(evt): boolean

Defined in: workingtitle-instruments-wt21/shared/UI/MenuViewService.ts:67

Routes an interaction to the active view, and if it is not handled, re-routes the interaction to the currently open page if it exists and is not the active view.

Parameters

ParameterTypeDescription
evtGuiHEventAn interaction event.

Returns

boolean

Whether the event was handled.


startInteractionTimeout()

protected startInteractionTimeout(): void

Defined in: workingtitle-instruments-wt21/shared/UI/MenuViewService.ts:178

Starts/resets a 10 second timer, which will close the menu when finished. Call this function whenever there is an interaction with the menu.

Returns

void