mirror of
https://github.com/DarkFlippers/unleashed-firmware.git
synced 2025-12-12 12:42:30 +04:00
* 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>
54 lines
1.2 KiB
Markdown
54 lines
1.2 KiB
Markdown
# js_gui__dialog {#js_gui__dialog}
|
|
|
|
# Dialog GUI view
|
|
Displays a dialog with up to three options.
|
|
|
|
<img src="dialog.png" width="200" alt="Sample screenshot of the view" />
|
|
|
|
```js
|
|
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`
|