iniquity

A re-imagining of the iconic BBS software.

View on GitHub

Class: IQMenu

core/menu.IQMenu

IQMenu - Interactive menu system

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new IQMenu(options, output, artworkFn?, getRuntime?)

Parameters

Name Type
options IQMenuOptions
output IQOutput
artworkFn? (options?: { basepath?: string }) => { render: (opts: any) => Promise<any> }
getRuntime? () => { getLastRenderedMenuArtKey: () => null | string ; processSnacks: () => void ; setLastRenderedMenuArtKey: (key: string) => void ; setPromptPosition: (x: number, y: number) => void }

Defined in

core/src/menu.ts:157

Properties

art

Optional art: IQMenuArtOptions

Defined in

core/src/menu.ts:131


autoRenderItems

autoRenderItems: boolean

Defined in

core/src/menu.ts:138


basepath

Optional basepath: string

Defined in

core/src/menu.ts:132


commands

commands: IMenuCommands

Defined in

core/src/menu.ts:129


data

data: any

Defined in

core/src/menu.ts:130


description

description: string

Defined in

core/src/menu.ts:128


hotkeys

hotkeys: boolean

Defined in

core/src/menu.ts:141


itemFormat

itemFormat: string

Defined in

core/src/menu.ts:139


items

items: IQMenuItem[] = []

Defined in

core/src/menu.ts:140


itemsX

Optional itemsX: number

Defined in

core/src/menu.ts:136


itemsY

Optional itemsY: number

Defined in

core/src/menu.ts:137


mouse

mouse: boolean

Defined in

core/src/menu.ts:142


mouseHighlightFormat

mouseHighlightFormat: undefined | string

Defined in

core/src/menu.ts:143


name

name: string

Defined in

core/src/menu.ts:127


promptText

promptText: string

Defined in

core/src/menu.ts:133


promptX

Optional promptX: number

Defined in

core/src/menu.ts:134


promptY

Optional promptY: number

Defined in

core/src/menu.ts:135

Methods

addItem

addItem(item): IQMenu

Add a menu item

Parameters

Name Type
item IQMenuItem

Returns

IQMenu

Defined in

core/src/menu.ts:193


addItems

addItems(items): IQMenu

Add multiple menu items

Parameters

Name Type
items IQMenuItem[]

Returns

IQMenu

Defined in

core/src/menu.ts:210


back

back(): string

Go back to parent menu

Returns

string

Defined in

core/src/menu.ts:628


executeCommand

executeCommand(key): Promise<any>

Execute a command by key

Parameters

Name Type
key string

Returns

Promise<any>

Defined in

core/src/menu.ts:378


getParent

getParent(): null | IQMenu

Get parent menu

Returns

null | IQMenu

Defined in

core/src/menu.ts:226


prompt

prompt(options): IQMenuPromptFunctions

Set up a prompt for user input

Parameters

Name Type
options IQMenuPromptOptions

Returns

IQMenuPromptFunctions

Defined in

core/src/menu.ts:233


render

render(callback, options?): Promise<void>

Render the menu with a loop (legacy API)

Parameters

Name Type
callback (res: IQMenuLoopMessageResponse, cmdkey: Function, data?: any) => void
options? IQMenuLoopOptions

Returns

Promise<void>

Defined in

core/src/menu.ts:636


setParent

setParent(parent): IQMenu

Set parent menu (for back navigation)

Parameters

Name Type
parent IQMenu

Returns

IQMenu

Defined in

core/src/menu.ts:218


show

show(): Promise<string>

Display the menu and wait for input

Returns

Promise<string>

Defined in

core/src/menu.ts:394


stop

stop(): void

Stop the menu loop

Returns

void

Defined in

core/src/menu.ts:621


waitForKey

waitForKey(): Promise<string>

Wait for user command input and return the key Uses non-blocking input with event processing loop

Returns

Promise<string>

Defined in

core/src/menu.ts:294