forked from Simnation/Main
49 lines
1.4 KiB
Lua
49 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[tonumber(i)] = 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
|