2024-10-31 05:42:57 +03:00
|
|
|
/**
|
|
|
|
|
* Displays a scrollable list of clickable textual entries.
|
|
|
|
|
*
|
|
|
|
|
* <img src="../images/submenu.png" width="200" alt="Sample screenshot of the view" />
|
|
|
|
|
*
|
|
|
|
|
* ```js
|
|
|
|
|
* let eventLoop = require("event_loop");
|
|
|
|
|
* let gui = require("gui");
|
|
|
|
|
* let submenuView = require("gui/submenu");
|
|
|
|
|
* ```
|
|
|
|
|
*
|
|
|
|
|
* This module depends on the `gui` module, which in turn depends on the
|
|
|
|
|
* `event_loop` module, so they _must_ be imported in this order. It is also
|
|
|
|
|
* recommended to conceptualize these modules first before using this one.
|
|
|
|
|
*
|
|
|
|
|
* # Example
|
|
|
|
|
* For an example refer to the GUI example.
|
|
|
|
|
*
|
|
|
|
|
* # View props
|
|
|
|
|
* - `header`: Text displayed at the top of the screen in bold
|
|
|
|
|
* - `items`: Array of selectable textual items
|
|
|
|
|
*
|
|
|
|
|
* @version Added in JS SDK 0.1
|
|
|
|
|
* @module
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
import type { View, ViewFactory } from ".";
|
|
|
|
|
import type { Contract } from "../event_loop";
|
|
|
|
|
|
|
|
|
|
type Props = {
|
|
|
|
|
header: string,
|
|
|
|
|
items: string[],
|
|
|
|
|
};
|
2025-02-13 12:50:38 +04:00
|
|
|
type Child = never;
|
|
|
|
|
declare class Submenu extends View<Props, Child> {
|
2024-10-31 05:42:57 +03:00
|
|
|
chosen: Contract<number>;
|
|
|
|
|
}
|
2025-02-13 12:50:38 +04:00
|
|
|
declare class SubmenuFactory extends ViewFactory<Props, Child, Submenu> { }
|
2024-10-31 05:42:57 +03:00
|
|
|
declare const factory: SubmenuFactory;
|
|
|
|
|
export = factory;
|