webmcp
annotate framework/env/ui_deprecated/select.lua @ 27:1da1078a87b1
fix crash on eglibc
compiling without _GNU_SOURCE causes extos to crash on crypt as the return pointer is invalid.
compiling without _GNU_SOURCE causes extos to crash on crypt as the return pointer is invalid.
author | Daniel Poelzleithner <poelzi@poelzi.org> |
---|---|
date | Wed Sep 15 02:43:06 2010 +0200 (2010-09-15) |
parents | 9fdfb27f8e67 |
children |
rev | line source |
---|---|
jbe/bsw@0 | 1 function ui_deprecated.select(args) |
jbe/bsw@0 | 2 local record = assert(slot.get_state_table(), "ui_deprecated.select was not called within a form.").form_record |
jbe/bsw@0 | 3 local value = param.get(args.field) or record[args.field] |
jbe/bsw@0 | 4 local html_options = args.html_options or {} |
jbe/bsw@0 | 5 html_options.name = args.field |
jbe/bsw@0 | 6 |
jbe/bsw@0 | 7 ui_deprecated.tag("div", { html_options = { class="ui_field ui_select" }, content = function() |
jbe/bsw@0 | 8 if args.label then |
jbe/bsw@0 | 9 ui_deprecated.tag("div", { html_options = { class="label" }, content = function() |
jbe/bsw@0 | 10 ui_deprecated.text(args.label) |
jbe/bsw@0 | 11 end }) |
jbe/bsw@0 | 12 end |
jbe/bsw@0 | 13 ui_deprecated.tag("div", { html_options = { class="value" }, content = function() |
jbe/bsw@0 | 14 ui_deprecated.tag("select", { html_options = html_options, content = function() |
jbe/bsw@0 | 15 if args.include_option then |
jbe/bsw@0 | 16 ui_deprecated.tag("option", { html_options = { value = "" }, content = args.include_option }) |
jbe/bsw@0 | 17 end |
jbe/bsw@0 | 18 for i, object in ipairs(args.foreign_records) do |
jbe/bsw@0 | 19 local selected = nil |
jbe/bsw@0 | 20 if tostring(object[args.foreign_id]) == tostring(value) then |
jbe/bsw@0 | 21 selected = "1" |
jbe/bsw@0 | 22 end |
jbe/bsw@0 | 23 ui_deprecated.tag("option", { html_options = { value = object[args.foreign_id], selected = selected }, content = object[args.foreign_name] }) |
jbe/bsw@0 | 24 end |
jbe/bsw@0 | 25 end }) -- /select |
jbe/bsw@0 | 26 end }) -- /div |
jbe/bsw@0 | 27 end }) -- /div |
jbe/bsw@0 | 28 end |
jbe/bsw@0 | 29 |
jbe/bsw@0 | 30 |
jbe/bsw@0 | 31 |