targets now accept event fixed a check for .action passed to ox fix options input will now return in qbs format if qb is used (passed as true).. this makes converting qb resources infinitely simpler
50 lines
1.4 KiB
Lua
50 lines
1.4 KiB
Lua
---@diagnostic disable: duplicate-set-field
|
|
local resourceName = "qb-input"
|
|
local configValue = BridgeClientConfig.InputSystem
|
|
if (configValue == "auto" and GetResourceState(resourceName) == "missing") or (configValue ~= "auto" and configValue ~= resourceName) then return end
|
|
|
|
Input = {}
|
|
|
|
-- this probably needs improvement
|
|
function Input.Open(title, data, isQBFormat, submitText)
|
|
local input = data.inputs
|
|
if not isQBFormat then
|
|
input = OxToQBInput(data)
|
|
end
|
|
local returnData = exports['qb-input']:ShowInput({
|
|
header = title,
|
|
submitText = submitText or "Submit",
|
|
inputs = input
|
|
})
|
|
if not returnData then return end
|
|
if returnData[1] then return returnData end
|
|
--converting to standard format (ox)
|
|
local convertedData = {}
|
|
if isQBFormat then
|
|
for i, v in pairs(input) do
|
|
for k, j in pairs(returnData) do
|
|
if k == v.name then
|
|
convertedData[v.name] = j
|
|
end
|
|
end
|
|
end
|
|
return convertedData
|
|
end
|
|
|
|
for i, v in pairs(returnData) do
|
|
local index = i and tonumber(i)
|
|
if not index then
|
|
table.insert(convertedData, v)
|
|
else
|
|
convertedData[index] = v
|
|
end
|
|
end
|
|
return convertedData
|
|
end
|
|
|
|
function Input.GetResourceName()
|
|
return resourceName
|
|
end
|
|
|
|
return Input
|