webmcp
annotate framework/env/ui_deprecated/select.lua @ 34:e19b0b5c46ba
allow execptions an slot.reset_all()
this is usefull when an error is detected deep into a view where you want redirect
to something usefull, but still save some slots like notice and error slots
this is usefull when an error is detected deep into a view where you want redirect
to something usefull, but still save some slots like notice and error slots
| author | Daniel Poelzleithner <poelzi@poelzi.org> | 
|---|---|
| date | Wed Oct 06 16:14:33 2010 +0200 (2010-10-06) | 
| 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 |