How To Call It
Dialog is a callable factory table: object methods are called as builder:<method>(...), and the table’s own functions as Dialog.<method>(...).
Dialog.init() returns the same dialog builder as Setting.builder(). Add fields, then show the dialog with build():show().
Documented for app version 1.0.51Updated:
Dialog is a callable factory table: object methods are called as builder:<method>(...), and the table’s own functions as Dialog.<method>(...).
In dialog and HUD flow, validate user input and complete the sequence with close/dispose steps to keep the UI stable.
Dialog.init() takes no arguments and returns a SettingBuilder. Do not call the Dialog table itself like a function (Dialog("Title")): that call is not a stable path; set the title with builder:setTitle(...).
You can combine it with Setting.builder(), Dialog, Checkbox, EditText, Hud, and Console to build richer operator-facing flows.
The snippet below is a starter pattern that can be applied directly in runtime flow.
local builder = Dialog.init()
builder:setTitle("Settings")
builder:add("delay", EditText("500", 1, "Delay (ms)"))
local result = builder:build():show()From foundation to combined usage, each level is provided as a separate code block so you can copy the level you need and adapt it directly.
local builder = Dialog.init()
builder:setTitle("Settings")
builder:add("delay", EditText("500", 1, "Delay (ms)"))
local result = builder:build():show()local builder = Dialog.init()
builder:setTitle("Settings")
builder:add("delay", EditText("500", 1, "Delay (ms)"))
local result = builder:build():show()
-- Continue with one focused method on the object.local builder = Dialog.init()
builder:setTitle("Settings")
builder:add("delay", EditText("500", 1, "Delay (ms)"))
local result = builder:build():show()
local note = "Dialog overview loaded"
print(note)-- In dialog and HUD flow, validate user input and complete the sequence with close/dispose steps to keep the UI stable.
local function run_dialog_step()
local builder = Dialog.init()
builder:setTitle("Settings")
builder:add("delay", EditText("500", 1, "Delay (ms)"))
local result = builder:build():show()
end
local ok, err = pcall(run_dialog_step)
if not ok then
toast("Step failed")
print(err)
endlocal dialog = Setting.builder()
dialog:add("delay", EditText("500", 1, "Delay"))
dialog:add("enabled", Checkbox(true, "Enabled"))
Setting.setDialog(dialog:build())
Setting.show()
local builder = Dialog.init()
builder:setTitle("Settings")
builder:add("delay", EditText("500", 1, "Delay (ms)"))
local result = builder:build():show()