--- a/examples/form_field.lua Sat Mar 28 19:43:12 2009 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-
--- DATA FORM FIELD
-
-local F = { }
-local M = { }
-M.__index = M
-
--- field.new -- create new field
--- field:index -- get index
--- field:type -- get type
--- field:name -- get var
--- field:desc -- get label, desc
--- field:value -- get/set value
--- field:values -- get values
--- field:clear -- clear value
--- field:options -- get options
--- field:required -- get required
-
-function F.new ( args )
- local obj = {
- t = args.type,
- l = args.label,
- d = args.desc,
- o = args.options, -- XXX
- v = args.value, -- XXX
- r = args.required,
- n = args.var,
- i = args.index, -- XXX
- }
- setmetatable ( obj, M )
- return obj
-end
-
-function M.index ( obj )
- return obj.i
-end
-
-function M.type ( obj )
- return obj.t
-end
-
-function M.name ( obj )
- return obj.n
-end
-
-function M.desc ( obj )
- return obj.l, obj.d
-end
-
-function M.options ( obj )
- return pairs ( obj.o )
-end
-
-function M.value ( obj, value )
- local ftype = obj.t
- if value == nil then
- -- XXX
- return obj.v
- else
- if ftype == 'jid-multi' or ftype == 'list-multi' or ftype == 'text-multi' then
- table.insert ( obj.v, value )
- else
- obj.v = value
- end
- end
-end
-
-function M.values ( obj )
- local ftype = obj.t
- if ftype == 'jid-multi' or ftype == 'list-multi' or ftype == 'text-multi' then
- return ipairs ( obj.v )
- else
- return
- function ( arg )
- if not arg then
- return obj.v
- else
- return nil
- end
- end, nil
- end
-end
-
-function M.clear ( obj )
- local ftype = obj.t
- if ftype == 'jid-multi' or ftype == 'list-multi' or ftype == 'text-multi' then
- obj.v = { }
- else
- obj.v = ''
- end
-end
-
-function M.required ( obj )
- return obj.r
-end
-
-return F
-
--- vim: se ts=4: --