Files
ox_lib/resource/interface/client/context.lua

51 lines
1.2 KiB
Lua

local contextMenus = {}
local openContextMenu = nil
function lib.showContext(id)
local data = contextMenus[id]
openContextMenu = id
SetNuiFocus(true, true)
SendNUIMessage({
action = 'showContext',
data = {
title = data.title,
menu = data.menu,
options = data.options
}
})
end
function lib.registerContext(context)
for k, v in pairs(context) do
if type(k) == 'number' then
contextMenus[v.id] = v
else
contextMenus[context.id] = context
break
end
end
end
function lib.getOpenContextMenu() return openContextMenu end
RegisterNUICallback('openContext', function(id, cb)
cb(1)
lib.showContext(id)
end)
RegisterNUICallback('clickContext', function(data, cb)
cb(1)
if data.event then TriggerEvent(data.event, data.args) end
if data.serverEvent then TriggerServerEvent(data.serverEvent, data.args) end
openContextMenu = nil
SetNuiFocus(false, false)
SendNUIMessage({
action = 'hideContext'
})
end)
RegisterNUICallback('closeContext', function(_, cb)
cb(1)
SetNuiFocus(false, false)
end)