add gui.show_message

This commit is contained in:
MihailRis 2025-11-23 20:15:53 +03:00
parent 69d04d49d5
commit 14523d4285

View File

@ -3,8 +3,8 @@ local gui_util = {
}
--- Parse `pagename?arg1=value1&arg2=value2` queries
--- @param query page query string
--- @return page_name, args_table
--- @param query string page query string
--- @return string, string -> page_name, args_table
function gui_util.parse_query(query)
local args = {}
local name
@ -23,8 +23,7 @@ function gui_util.parse_query(query)
return name, args
end
--- @param query page query string
--- @return document_id
--- @param query string page query string
function gui_util.load_page(query)
local name, args = gui_util.parse_query(query)
for i = #gui_util.local_dispatchers, 1, -1 do
@ -116,4 +115,24 @@ gui_util.Document = Document
gui_util.Element = Element
gui_util.RadioGroup = RadioGroup
function gui.show_message(text, actual_callback)
local id = "dialog_"..random.uuid()
local callback = function()
gui.root[id]:destruct()
if actual_callback then
actual_callback()
end
end
gui.root.root:add(string.format([[
<container id='%s' color='#00000080' size-func='-1,-1' z-index='10'>
<panel color='#90A0B0A0' size='300' padding='16' gravity='center-center' interval='4'>
<label>%s</label>
<button onclick='DATA.callback()'>@OK</button>
</panel>
</container>
]], id, string.escape_xml(text)), {callback=callback})
input.add_callback("key:escape", callback, gui.root[id])
end
return gui_util