* feat: backport js_gpio from unleashed * feat: backport js_keyboard, TextInputModel::minimum_length from unleashed * fix: api version inconsistency * style: js_gpio * build: fix submodule ._ . * refactor: js_gpio * docs: type declarations for gpio * feat: gpio interrupts * fix: js_gpio freeing, resetting and minor stylistic changes * style: js_gpio * style: mlib array, fixme's * feat: js_gpio adc * feat: js_event_loop * docs: js_event_loop * feat: js_event_loop subscription cancellation * feat: js_event_loop + js_gpio integration * fix: js_event_loop memory leak * feat: stop event loop on back button * test: js: basic, math, event_loop * feat: js_event_loop queue * feat: js linkage to previously loaded plugins * build: fix ci errors * feat: js module ordered teardown * feat: js_gui_defer_free * feat: basic hourglass view * style: JS ASS (Argument Schema for Scripts) * fix: js_event_loop mem leaks and lifetime problems * fix: crashing test and pvs false positives * feat: mjs custom obj destructors, gui submenu view * refactor: yank js_gui_defer_free (yuck) * refactor: maybe_unsubscribe * empty_screen, docs, typing fix-ups * docs: navigation event & demo * feat: submenu setHeader * feat: text_input * feat: text_box * docs: text_box availability * ci: silence irrelevant pvs low priority warning * style: use furistring * style: _get_at -> _safe_get * fix: built-in module name assignment * feat: js_dialog; refactor, optimize: js_gui * docs: js_gui * ci: silence pvs warning: Memory allocation is infallible * style: fix storage spelling * feat: foreign pointer signature checks * feat: js_storage * docs: js_storage * fix: my unit test was breaking other tests ;_; * ci: fix ci? * Make doxygen happy * docs: flipper, math, notification, global * style: review suggestions * style: review fixups * fix: badusb demo script * docs: badusb * ci: add nofl * ci: make linter happy * Bump api version Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
1.2 KiB
js_gui__dialog
Dialog GUI view
Displays a dialog with up to three options.
let eventLoop = require("event_loop");
let gui = require("gui");
let dialogView = require("gui/dialog");
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.js
example script.
View props
header
Text that appears in bold at the top of the screen
Type: string
text
Text that appears in the middle of the screen
Type: string
left
Text for the left button. If unset, the left button does not show up.
Type: string
center
Text for the center button. If unset, the center button does not show up.
Type: string
right
Text for the right button. If unset, the right button does not show up.
Type: string
View events
input
Fires when the user presses on either of the three possible buttons. The item
contains one of the strings "left"
, "center"
or "right"
depending on the
button.
Item type: string