annotate framework/env/ui/field/text.lua @ 498:e360b1933c78
Improve efficiency of table.insert in case of Lua 5.3 (do not use compatibility wrapper)
author |
jbe |
date |
Sun Jul 23 03:43:49 2017 +0200 (2017-07-23) |
parents |
9fdfb27f8e67 |
children |
|
rev |
line source |
jbe/bsw@0
|
1 --[[--
|
jbe/bsw@0
|
2 ui.field.text{
|
jbe/bsw@0
|
3 ... -- generic ui.field.* arguments, as described for ui.autofield{...}
|
jbe/bsw@0
|
4 format_options = format_options -- format options for format.string
|
jbe/bsw@0
|
5 }
|
jbe/bsw@0
|
6
|
jbe/bsw@0
|
7 This function inserts a field for a text in the active slot. For description of the generic field helper arguments, see help for ui.autofield{...}.
|
jbe/bsw@0
|
8
|
jbe/bsw@0
|
9 --]]--
|
jbe/bsw@0
|
10
|
jbe/bsw@0
|
11 function ui.field.text(args)
|
jbe/bsw@0
|
12 ui.form_element(args, {fetch_value = true}, function(args)
|
jbe/bsw@0
|
13 local value_string = format.string(args.value, args.format_options)
|
jbe/bsw@0
|
14 if args.readonly then
|
jbe/bsw@0
|
15 ui.tag{ tag = args.tag, attr = args.attr, content = value_string }
|
jbe/bsw@0
|
16 else
|
jbe/bsw@0
|
17 local attr = table.new(args.attr)
|
jbe/bsw@0
|
18 attr.name = args.html_name
|
jbe/bsw@0
|
19 if args.multiline then
|
jbe/bsw@0
|
20 ui.tag { tag = "textarea", attr = attr, content = value_string }
|
jbe/bsw@0
|
21 else
|
jbe/bsw@0
|
22 attr.type = "text"
|
jbe/bsw@0
|
23 attr.value = value_string
|
jbe/bsw@0
|
24 ui.tag{ tag = "input", attr = attr }
|
jbe/bsw@0
|
25 end
|
jbe/bsw@0
|
26 end
|
jbe/bsw@0
|
27 end)
|
jbe/bsw@0
|
28 end
|