How To Call It
This is an object method: call it with a colon on a dialog builder from Setting.builder() or Dialog.init() (builder:<method>(...)). SettingBuilder is not a global name; the method exists only on that object.
Adds a field to the dialog: key is its key in the result table and view a field such as EditText, Checkbox or RadioGroup. Fields chain :required(true), :visibleWhen(field, value, matches), :helper(text) and :regex(pattern). Returns the builder.
Documented for app version 1.0.51Updated:
This is an object method: call it with a colon on a dialog builder from Setting.builder() or Dialog.init() (builder:<method>(...)). SettingBuilder is not a global name; the method exists only on that object.
In dialog and HUD flow, validate user input and complete the sequence with close/dispose steps to keep the UI stable.
Required: key, view. Returns a SettingBuilder object.
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 = Setting.builder()
builder:add("endpoint", EditText("https://example.com", 1, "Endpoint"):required(true))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 = Setting.builder()
builder:add("endpoint", EditText("https://example.com", 1, "Endpoint"):required(true))local stepOk = true
local builder = Setting.builder()
builder:add("endpoint", EditText("https://example.com", 1, "Endpoint"):required(true))
if stepOk then
wait(200)
endlocal ok, err = pcall(function()
local builder = Setting.builder()
builder:add("endpoint", EditText("https://example.com", 1, "Endpoint"):required(true))
end)
if not ok then
print("API step failed: SettingBuilder:add: " .. tostring(err))
requestStop()
end-- In dialog and HUD flow, validate user input and complete the sequence with close/dispose steps to keep the UI stable.
local function run_add_step()
local builder = Setting.builder()
builder:add("endpoint", EditText("https://example.com", 1, "Endpoint"):required(true))
end
local ok, err = pcall(run_add_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 = Setting.builder()
builder:add("endpoint", EditText("https://example.com", 1, "Endpoint"):required(true))