Comparison

util/adhoc.lua @ 5513:755f705f126a

util.adhoc: New util for generating common adhoc handler patterns
author Florian Zeitz <florob@babelmonkeys.de>
date Tue, 23 Apr 2013 14:49:31 +0200
child 7912:2c204ba8e52e
comparison
equal deleted inserted replaced
5510:3758898cefdd 5513:755f705f126a
1 local function new_simple_form(form, result_handler)
2 return function(self, data, state)
3 if state then
4 if data.action == "cancel" then
5 return { status = "canceled" };
6 end
7 local fields, err = form:data(data.form);
8 return result_handler(fields, err, data);
9 else
10 return { status = "executing", actions = {"next", "complete", default = "complete"}, form = form }, "executing";
11 end
12 end
13 end
14
15 local function new_initial_data_form(form, initial_data, result_handler)
16 return function(self, data, state)
17 if state then
18 if data.action == "cancel" then
19 return { status = "canceled" };
20 end
21 local fields, err = form:data(data.form);
22 return result_handler(fields, err, data);
23 else
24 return { status = "executing", actions = {"next", "complete", default = "complete"},
25 form = { layout = form, values = initial_data() } }, "executing";
26 end
27 end
28 end
29
30 return { new_simple_form = new_simple_form,
31 new_initial_data_form = new_initial_data_form };