forked from Simnation/Main
ed
This commit is contained in:
parent
510e3ffcf2
commit
f43cf424cf
305 changed files with 34683 additions and 0 deletions
|
@ -0,0 +1,99 @@
|
|||
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
|
||||
|
||||
|
||||
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,
|
||||
default = v.default or "",
|
||||
}
|
||||
if v.type == "select" then
|
||||
input.text = ""
|
||||
input.options = {}
|
||||
for k, j in pairs(v.options) do
|
||||
table.insert(input.options, {value = j.value, text = j.label})
|
||||
end
|
||||
elseif v.type == "checkbox" then
|
||||
input.text = ""
|
||||
input.options = {}
|
||||
if v.options then -- Checks if options varible is valid so checkboxes are bundled together (not used by ox for each checkpoint)
|
||||
for k, j in pairs(v.options) do
|
||||
table.insert(input.options, {value = j.value, text = j.label, checked = j.checked}) -- added checked option (used to show box as ticked or not)
|
||||
end
|
||||
else -- If options is not valid or people pass a single checkbox then it will be a single checkbox per entry
|
||||
table.insert(input.options, {value = v.value, text = v.label, checked = v.checked}) -- Kept value just incase it's used for other stuffs
|
||||
end
|
||||
end
|
||||
table.insert(returnData, input)
|
||||
end
|
||||
return returnData
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue