projects
/
prosody.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f6d29ba
)
util.dataforms: Allow separation of options from values in list fields
author
Kim Alvefur
<zash@zash.se>
Fri, 27 May 2016 13:44:41 +0000
(15:44 +0200)
committer
Kim Alvefur
<zash@zash.se>
Fri, 27 May 2016 13:44:41 +0000
(15:44 +0200)
util/dataforms.lua
patch
|
blob
|
history
diff --git
a/util/dataforms.lua
b/util/dataforms.lua
index 79b4d1a41b923cf6bd6cb539102c2cf20a968ace..685f3aaf298b2f1f5975f5f85bc0f935320ec263 100644
(file)
--- a/
util/dataforms.lua
+++ b/
util/dataforms.lua
@@
-69,10
+69,10
@@
function form_t.form(layout, data, formtype)
end
elseif field_type == "list-single" then
local has_default = false;
end
elseif field_type == "list-single" then
local has_default = false;
- for _, val in ipairs(value) do
+ for _, val in ipairs(
field.options or
value) do
if type(val) == "table" then
form:tag("option", { label = val.label }):tag("value"):text(val.value):up():up();
if type(val) == "table" then
form:tag("option", { label = val.label }):tag("value"):text(val.value):up():up();
- if val.default and (not has_default) then
+ if val
ue == val.value or field.options and val
.default and (not has_default) then
form:tag("value"):text(val.value):up();
has_default = true;
end
form:tag("value"):text(val.value):up();
has_default = true;
end
@@
-80,17
+80,25
@@
function form_t.form(layout, data, formtype)
form:tag("option", { label= val }):tag("value"):text(tostring(val)):up():up();
end
end
form:tag("option", { label= val }):tag("value"):text(tostring(val)):up():up();
end
end
+ if field.options and value then
+ form:tag("value"):text(value):up();
+ end
elseif field_type == "list-multi" then
elseif field_type == "list-multi" then
- for _, val in ipairs(value) do
+ for _, val in ipairs(
field.options or
value) do
if type(val) == "table" then
form:tag("option", { label = val.label }):tag("value"):text(val.value):up():up();
if type(val) == "table" then
form:tag("option", { label = val.label }):tag("value"):text(val.value):up():up();
- if val.default then
+ if
not field.options and
val.default then
form:tag("value"):text(val.value):up();
end
else
form:tag("option", { label= val }):tag("value"):text(tostring(val)):up():up();
end
end
form:tag("value"):text(val.value):up();
end
else
form:tag("option", { label= val }):tag("value"):text(tostring(val)):up():up();
end
end
+ if field.options and value then
+ for _, val in ipairs(value) do
+ form:tag("value"):text(val):up();
+ end
+ end
end
end
end
end