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