Abstract Class: MenuViewService<K>
Defined in: workingtitle-instruments-wt21/shared/UI/MenuViewService.ts:18
A service to manage menu views.
Extended by
Type Parameters
| Type Parameter | Default type |
|---|---|
K | Record<string, unknown> |
Constructors
Constructor
new MenuViewService<
K>():MenuViewService<K>
Defined in: workingtitle-instruments-wt21/shared/UI/MenuViewService.ts:43
Ctor
Returns
MenuViewService<K>
Properties
activeView
readonlyactiveView:Subscribable<null|GuiDialog<GuiDialogProps>>
Defined in: workingtitle-instruments-wt21/shared/UI/MenuViewService.ts:28
The currently active view.
activeViewKey
readonlyactiveViewKey:Subscribable<""|string& keyofK>
Defined in: workingtitle-instruments-wt21/shared/UI/MenuViewService.ts:26
The key of the currently active view.
guiEventMap
protectedreadonlyguiEventMap:Map<string,GuiHEvent>
Defined in: workingtitle-instruments-wt21/shared/UI/MenuViewService.ts:31
override in child class
interactionTimeoutId
protectedinteractionTimeoutId: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()
protectedclearStack(closePage):void
Defined in: workingtitle-instruments-wt21/shared/UI/MenuViewService.ts:152
Closes all open views and clears the stack.
Parameters
| Parameter | Type | Description |
|---|---|---|
closePage | boolean | Whether 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:54
Routes the HEvents to the views.
Parameters
| Parameter | Type | Description |
|---|---|---|
hEvent | string | The event identifier. |
instrumentIndex | number | The 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:84
Opens a view. Opening a page will close all other views,
Type Parameters
| Type Parameter |
|---|
T extends GuiDialog<GuiDialogProps> |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | string & keyof K | The 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:175
Registers a view with the service.
Parameters
| Parameter | Type | Description |
|---|---|---|
type? | string & keyof K | The type of the view. |
vnodeFn? | () => VNode | A function creating the VNode. |
Returns
void
routeInteractionEventToViews()
protectedrouteInteractionEventToViews(evt):boolean
Defined in: workingtitle-instruments-wt21/shared/UI/MenuViewService.ts:69
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
| Parameter | Type | Description |
|---|---|---|
evt | GuiHEvent | An interaction event. |
Returns
boolean
Whether the event was handled.
startInteractionTimeout()
protectedstartInteractionTimeout():void
Defined in: workingtitle-instruments-wt21/shared/UI/MenuViewService.ts:181
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