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:134

Properties

art

Optional art: IQMenuArtOptions

Defined in

core/src/menu.ts:109


autoRenderItems

autoRenderItems: boolean

Defined in

core/src/menu.ts:116


basepath

Optional basepath: string

Defined in

core/src/menu.ts:110


commands

commands: IMenuCommands

Defined in

core/src/menu.ts:107


data

data: any

Defined in

core/src/menu.ts:108


description

description: string

Defined in

core/src/menu.ts:106


hotkeys

hotkeys: boolean

Defined in

core/src/menu.ts:119


itemFormat

itemFormat: string

Defined in

core/src/menu.ts:117


items

items: IQMenuItem[] = []

Defined in

core/src/menu.ts:118


itemsX

Optional itemsX: number

Defined in

core/src/menu.ts:114


itemsY

Optional itemsY: number

Defined in

core/src/menu.ts:115


mouse

mouse: boolean

Defined in

core/src/menu.ts:120


mouseHighlightFormat

mouseHighlightFormat: undefined | string

Defined in

core/src/menu.ts:121


name

name: string

Defined in

core/src/menu.ts:105


promptText

promptText: string

Defined in

core/src/menu.ts:111


promptX

Optional promptX: number

Defined in

core/src/menu.ts:112


promptY

Optional promptY: number

Defined in

core/src/menu.ts:113

Methods

addItem

addItem(item): IQMenu

Add a menu item

Parameters

Name Type
item IQMenuItem

Returns

IQMenu

Defined in

core/src/menu.ts:169


addItems

addItems(items): IQMenu

Add multiple menu items

Parameters

Name Type
items IQMenuItem[]

Returns

IQMenu

Defined in

core/src/menu.ts:186


back

back(): string

Go back to parent menu

Returns

string

Defined in

core/src/menu.ts:579


executeCommand

executeCommand(key): Promise<any>

Execute a command by key

Parameters

Name Type
key string

Returns

Promise<any>

Defined in

core/src/menu.ts:354


getParent

getParent(): null | IQMenu

Get parent menu

Returns

null | IQMenu

Defined in

core/src/menu.ts:202


prompt

prompt(options): IQMenuPromptFunctions

Set up a prompt for user input

Parameters

Name Type
options IQMenuPromptOptions

Returns

IQMenuPromptFunctions

Defined in

core/src/menu.ts:209


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:587


setParent

setParent(parent): IQMenu

Set parent menu (for back navigation)

Parameters

Name Type
parent IQMenu

Returns

IQMenu

Defined in

core/src/menu.ts:194


show

show(): Promise<string>

Display the menu and wait for input

Returns

Promise<string>

Defined in

core/src/menu.ts:370


stop

stop(): void

Stop the menu loop

Returns

void

Defined in

core/src/menu.ts:572


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:270