Return modules folder
-- Was a git prefrences thing and needed cleaned up
This commit is contained in:
1 parent
48f5c70039
commit
8f6fa1e291
95 files changed
+4254
No files matched your search
@@ -0,0 +1,291 @@
|
||||
|
||||
if GetResourceState('ox_lib') ~= 'started' and GetResourceState('qb-menu') ~= 'started' then return end
|
||||
-- {
|
||||
-- header = "Test",
|
||||
-- submitText = "Bill",
|
||||
-- inputs = {
|
||||
-- {
|
||||
-- text = "Citizen ID (#)", -- text you want to be displayed as a place holder
|
||||
-- name = "citizenid", -- name of the input should be unique otherwise it might override
|
||||
-- type = "text", -- type of the input
|
||||
-- isRequired = true, -- Optional [accepted values: true | false] but will submit the form if no value is inputted
|
||||
-- -- default = "CID-1234", -- Default text option, this is optional
|
||||
-- },
|
||||
-- {
|
||||
-- text = "Secret Code (Give to Nobody)", -- text you want to be displayed as a place holder
|
||||
-- name = "code", -- name of the input should be unique otherwise it might override
|
||||
-- type = "password", -- type of the input
|
||||
-- isRequired = true, -- Optional [accepted values: true | false] but will submit the form if no value is inputted
|
||||
-- -- default = "password123", -- Default text option, this is optional
|
||||
-- },
|
||||
-- {
|
||||
-- text = "Bill Price ($)", -- text you want to be displayed as a place holder
|
||||
-- name = "billprice", -- name of the input should be unique otherwise it might override
|
||||
-- type = "number", -- type of the input - number will not allow non-number characters in the field so only accepts 0-9
|
||||
-- isRequired = false, -- Optional [accepted values: true | false] but will submit the form if no value is inputted
|
||||
-- -- default = 1, -- Default number option, this is optional
|
||||
-- },
|
||||
-- {
|
||||
-- text = "Bill Type", -- text you want to be displayed as a input header
|
||||
-- name = "billtype", -- name of the input should be unique otherwise it might override
|
||||
-- type = "radio", -- type of the input - Radio is useful for "or" options e.g; billtype = Cash OR Bill OR bank
|
||||
-- options = { -- The options (in this case for a radio) you want displayed, more than 6 is not recommended
|
||||
-- { value = "bill", text = "Bill" }, -- Options MUST include a value and a text option
|
||||
-- { value = "cash", text = "Cash" }, -- Options MUST include a value and a text option
|
||||
-- { value = "bank", text = "Bank" } -- Options MUST include a value and a text option
|
||||
-- },
|
||||
-- -- default = "cash", -- Default radio option, must match a value from above, this is optional
|
||||
-- },
|
||||
-- {
|
||||
-- text = "Include Tax?", -- text you want to be displayed as a input header
|
||||
-- name = "taxincl", -- name of the input should be unique otherwise it might override
|
||||
-- type = "checkbox", -- type of the input - Check is useful for "AND" options e.g; taxincle = gst AND business AND othertax
|
||||
-- options = { -- The options (in this case for a check) you want displayed, more than 6 is not recommended
|
||||
-- { value = "gst", text = "10% incl."}, -- Options MUST include a value and a text option
|
||||
-- { value = "business", text = "35% incl.", checked = true }, -- Options MUST include a value and a text option, checked = true is default value, optional
|
||||
-- { value = "othertax", text = "15% incl."} -- Options MUST include a value and a text option
|
||||
-- }
|
||||
-- },
|
||||
-- {
|
||||
-- text = "Some Select", -- text you want to be displayed as a input header
|
||||
-- name = "someselect", -- name of the input should be unique otherwise it might override
|
||||
-- type = "select", -- type of the input - Select is useful for 3+ amount of "or" options e.g; someselect = none OR other OR other2 OR other3...etc
|
||||
-- options = { -- Select drop down options, the first option will by default be selected
|
||||
-- { value = "none", text = "None" }, -- Options MUST include a value and a text option
|
||||
-- { value = "other", text = "Other"}, -- Options MUST include a value and a text option
|
||||
-- { value = "other2", text = "Other2" }, -- Options MUST include a value and a text option
|
||||
-- { value = "other3", text = "Other3" }, -- Options MUST include a value and a text option
|
||||
-- { value = "other4", text = "Other4" }, -- Options MUST include a value and a text option
|
||||
-- { value = "other5", text = "Other5" }, -- Options MUST include a value and a text option
|
||||
-- { value = "other6", text = "Other6" }, -- Options MUST include a value and a text option
|
||||
-- },
|
||||
-- -- default = 'other3', -- Default select option, must match a value from above, this is optional
|
||||
-- }
|
||||
-- },
|
||||
-- })
|
||||
|
||||
-- local input = lib.inputDialog('Dialog title', {
|
||||
-- {type = 'input', label = 'Text input', description = 'Some input description', required = true, min = 4, max = 16},
|
||||
-- {type = 'number', label = 'Number input', description = 'Some number description', icon = 'hashtag'},
|
||||
-- {type = 'checkbox', label = 'Simple checkbox'},
|
||||
-- {type = 'color', label = 'Colour input', default = '#eb4034'},
|
||||
-- {type = 'date', label = 'Date input', icon = {'far', 'calendar'}, default = true, format = "DD/MM/YYYY"}
|
||||
-- })
|
||||
|
||||
|
||||
--QB types: text, password, number, radio, checkbox, select,
|
||||
--
|
||||
-- "input", "number", "checkbox", "select", "multi-select", "slider", "color", "date", "date-range", "time", "textarea",
|
||||
Input = {}
|
||||
|
||||
|
||||
-- ox to Qb
|
||||
function OxTypeToQBType(_type)
|
||||
if _type == "input" then
|
||||
return "text"
|
||||
elseif _type == "number" then
|
||||
return "number"
|
||||
elseif _type == "checkbox" then
|
||||
return "checkbox"
|
||||
elseif _type == "select" then
|
||||
return "select"
|
||||
elseif _type == "multi-select" then
|
||||
return "select"
|
||||
elseif _type == "slider" then
|
||||
return "number"
|
||||
elseif _type == "color" then
|
||||
return "text"
|
||||
elseif _type == "date" then
|
||||
return "date"
|
||||
elseif _type == "date-range" then
|
||||
return "date"
|
||||
elseif _type == "time" then
|
||||
return "time"
|
||||
elseif _type == "textarea" then
|
||||
return "text"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
function OxToQBInput(data)
|
||||
local returnData = {}
|
||||
for i, v in pairs(data) do
|
||||
local input = {
|
||||
text = v.label,
|
||||
name = i,
|
||||
type = OxTypeToQBType(v.type),
|
||||
isRequired = v.required,
|
||||
placeholder = v.default,
|
||||
}
|
||||
if v.type == "select" then
|
||||
input.text = ""
|
||||
input.options = {
|
||||
{value = v.value, text = v.label}
|
||||
}
|
||||
elseif v.type == "checkbox" then
|
||||
input.text = ""
|
||||
input.options = {
|
||||
{value = v.value, text = v.label}
|
||||
}
|
||||
end
|
||||
table.insert(returnData, input)
|
||||
end
|
||||
return returnData
|
||||
end
|
||||
|
||||
-- qb to ox
|
||||
|
||||
function QBTypeToOxType(_type)
|
||||
if _type == "text" then
|
||||
return "input"
|
||||
elseif _type == "password" then
|
||||
return "input"
|
||||
elseif _type == "number" then
|
||||
return "number"
|
||||
elseif _type == "radio" then
|
||||
return "checkbox"
|
||||
elseif _type == "checkbox" then
|
||||
return "checkbox"
|
||||
elseif _type == "select" then
|
||||
return "select"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
function QBToOxInput(data)
|
||||
local returnData = {}
|
||||
for i, v in pairs(data) do
|
||||
local input = {
|
||||
label = v.text,
|
||||
name = i,
|
||||
type = QBTypeToOxType(v.type),
|
||||
required = v.isRequired,
|
||||
default = v.placeholder,
|
||||
}
|
||||
if v.type == "select" then
|
||||
input.options = {}
|
||||
for i, v in pairs(v.options) do
|
||||
table.insert(input.options, {value = v.value, label = v.text})
|
||||
end
|
||||
elseif v.type == "checkbox" then
|
||||
for i, v in pairs(v.options) do
|
||||
table.insert(returnData, {value = v.value, label = v.text})
|
||||
end
|
||||
end
|
||||
table.insert(returnData, input)
|
||||
end
|
||||
return returnData
|
||||
end
|
||||
|
||||
--Open menu
|
||||
|
||||
function Input.Open(title, data, isQBFormat, submitText)
|
||||
if isQBFormat then
|
||||
local inputs = data.inputs
|
||||
if BridgeClientConfig.InputSystem == "ox" then
|
||||
return lib.inputDialog(title, QBToOxInput(inputs))
|
||||
elseif BridgeClientConfig.InputSystem == "qb" then
|
||||
return exports['qb-input']:ShowInput({
|
||||
header = title,
|
||||
submitText = submitText or "Submit",
|
||||
inputs = inputs
|
||||
})
|
||||
end
|
||||
else
|
||||
if BridgeClientConfig.InputSystem == "ox" then
|
||||
return lib.inputDialog(title, data)
|
||||
elseif BridgeClientConfig.InputSystem == "qb" then
|
||||
return exports['qb-input']:ShowInput({
|
||||
header = title,
|
||||
submitText = submitText or "Submit",
|
||||
inputs = OxToQBInput(data)
|
||||
})
|
||||
end
|
||||
end
|
||||
return id
|
||||
end
|
||||
|
||||
--[[
|
||||
-- Unit tests
|
||||
local thisIsQB = {
|
||||
header = "Test",
|
||||
submitText = "Bill",
|
||||
inputs = {
|
||||
{
|
||||
text = "Citizen ID (#)", -- text you want to be displayed as a place holder
|
||||
name = "citizenid", -- name of the input should be unique otherwise it might override
|
||||
type = "text", -- type of the input
|
||||
isRequired = true, -- Optional [accepted values: true | false] but will submit the form if no value is inputted
|
||||
-- default = "CID-1234", -- Default text option, this is optional
|
||||
},
|
||||
{
|
||||
text = "Secret Code (Give to Nobody)", -- text you want to be displayed as a place holder
|
||||
name = "code", -- name of the input should be unique otherwise it might override
|
||||
type = "password", -- type of the input
|
||||
isRequired = true, -- Optional [accepted values: true | false] but will submit the form if no value is inputted
|
||||
-- default = "password123", -- Default text option, this is optional
|
||||
},
|
||||
{
|
||||
text = "Bill Price ($)", -- text you want to be displayed as a place holder
|
||||
name = "billprice", -- name of the input should be unique otherwise it might override
|
||||
type = "number", -- type of the input - number will not allow non-number characters in the field so only accepts 0-9
|
||||
isRequired = false, -- Optional [accepted values: true | false] but will submit the form if no value is inputted
|
||||
-- default = 1, -- Default number option, this is optional
|
||||
},
|
||||
{
|
||||
text = "Bill Type", -- text you want to be displayed as a input header
|
||||
name = "billtype", -- name of the input should be unique otherwise it might override
|
||||
type = "radio", -- type of the input - Radio is useful for "or" options e.g; billtype = Cash OR Bill OR bank
|
||||
options = { -- The options (in this case for a radio) you want displayed, more than 6 is not recommended
|
||||
{ value = "bill", text = "Bill" }, -- Options MUST include a value and a text option
|
||||
{ value = "cash", text = "Cash" }, -- Options MUST include a value and a text option
|
||||
{ value = "bank", text = "Bank" } -- Options MUST include a value and a text option
|
||||
},
|
||||
-- default = "cash", -- Default radio option, must match a value from above, this is optional
|
||||
},
|
||||
{
|
||||
text = "Include Tax?", -- text you want to be displayed as a input header
|
||||
name = "taxincl", -- name of the input should be unique otherwise it might override
|
||||
type = "checkbox", -- type of the input - Check is useful for "AND" options e.g; taxincle = gst AND business AND othertax
|
||||
options = { -- The options (in this case for a check) you want displayed, more than 6 is not recommended
|
||||
{ value = "gst", text = "10% incl."}, -- Options MUST include a value and a text option
|
||||
{ value = "business", text = "35% incl.", checked = true }, -- Options MUST include a value and a text option, checked = true is default value, optional
|
||||
{ value = "othertax", text = "15% incl."} -- Options MUST include a value and a text option
|
||||
}
|
||||
},
|
||||
{
|
||||
text = "Some Select", -- text you want to be displayed as a input header
|
||||
name = "someselect", -- name of the input should be unique otherwise it might override
|
||||
type = "select", -- type of the input - Select is useful for 3+ amount of "or" options e.g; someselect = none OR other OR other2 OR other3...etc
|
||||
options = { -- Select drop down options, the first option will by default be selected
|
||||
{ value = "none", text = "None" }, -- Options MUST include a value and a text option
|
||||
{ value = "other", text = "Other"}, -- Options MUST include a value and a text option
|
||||
{ value = "other2", text = "Other2" }, -- Options MUST include a value and a text option
|
||||
{ value = "other3", text = "Other3" }, -- Options MUST include a value and a text option
|
||||
{ value = "other4", text = "Other4" }, -- Options MUST include a value and a text option
|
||||
{ value = "other5", text = "Other5" }, -- Options MUST include a value and a text option
|
||||
{ value = "other6", text = "Other6" }, -- Options MUST include a value and a text option
|
||||
},
|
||||
-- default = 'other3', -- Default select option, must match a value from above, this is optional
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
local thisIsOx = {
|
||||
{type = 'input', label = 'Text input', description = 'Some input description', required = true, min = 4, max = 16},
|
||||
{type = 'number', label = 'Number input', description = 'Some number description', icon = 'hashtag'},
|
||||
{type = 'checkbox', label = 'Simple checkbox'},
|
||||
{type = 'color', label = 'Colour input', default = '#eb4034'},
|
||||
{type = 'date', label = 'Date input', icon = {'far', 'calendar'}, default = true, format = "DD/MM/YYYY"}
|
||||
}
|
||||
|
||||
-- qb to ox
|
||||
RegisterCommand('inputtest1', function()
|
||||
Input.Open("Test", thisIsQB, true)
|
||||
end)
|
||||
|
||||
-- ox to qb
|
||||
RegisterCommand('inputtest2', function()
|
||||
Input.Open("Test", thisIsOx, false)
|
||||
end)
|
||||
--]]
|
||||
Reference in new issue
Block a user