rev |
line source |
jbe/bsw@0
|
1 function ui_deprecated.link(args)
|
jbe/bsw@0
|
2 if args.action then
|
jbe/bsw@0
|
3 local params = {}
|
jbe/bsw@0
|
4 if args.params then
|
jbe/bsw@0
|
5 for key, value in pairs(args.params) do
|
jbe/bsw@0
|
6 params[key] = value
|
jbe/bsw@0
|
7 end
|
jbe/bsw@0
|
8 end
|
jbe/bsw@0
|
9 ui_deprecated._prepare_redirect_params(params, args.redirect_to)
|
jbe/bsw@0
|
10
|
jbe/bsw@0
|
11 local attr_action = args.url or encode.url{
|
jbe/bsw@0
|
12 module = args.module or request.get_module(),
|
jbe/bsw@0
|
13 action = args.action,
|
jbe/bsw@0
|
14 id = args.id,
|
jbe/bsw@0
|
15 params = params
|
jbe/bsw@0
|
16 }
|
jbe/bsw@0
|
17 local attr_class = table.concat({ 'ui_link', args.class }, ' ')
|
jbe/bsw@0
|
18 local attr_target = args.target or ''
|
jbe/bsw@0
|
19 local redirect_to = args.redirect_to
|
jbe/bsw@0
|
20 local unique_id = "unique_" .. multirand.string(32, "abcdefghijklmnopqrstuvwxyz0123456789")
|
jbe/bsw@0
|
21 slot.put(
|
jbe/bsw@0
|
22 '<form',
|
jbe/bsw@0
|
23 ' id="', unique_id , '"',
|
jbe/bsw@0
|
24 ' action="', attr_action, '"',
|
jbe/bsw@0
|
25 ' class="', attr_class, '"',
|
jbe/bsw@0
|
26 ' target="', attr_target, '"',
|
jbe/bsw@0
|
27 ' method="post"',
|
jbe/bsw@0
|
28 '>\n',
|
jbe/bsw@0
|
29 '<input type="submit" value="', args.label or '', '" />',
|
jbe/bsw@0
|
30 '</form>',
|
jbe/bsw@0
|
31 '<script>document.getElementById(\'', unique_id, '\').style.display=\'none\';document.write(\'<a href="#" class="', attr_class , '" onclick="document.getElementById(\\\'', unique_id, '\\\').submit();">'
|
jbe/bsw@0
|
32 )
|
jbe/bsw@0
|
33 if args.icon then
|
jbe/bsw@0
|
34 ui_deprecated.image{ image = 'ui/icon/' .. args.icon }
|
jbe/bsw@0
|
35 end
|
jbe/bsw@0
|
36 if args.image then
|
jbe/bsw@0
|
37 ui_deprecated.image{ image = args.image }
|
jbe/bsw@0
|
38 end
|
jbe/bsw@0
|
39 if args.label then
|
jbe/bsw@0
|
40 slot.put(args.label)
|
jbe/bsw@0
|
41 end
|
jbe/bsw@0
|
42 slot.put("</a>');</script>")
|
jbe/bsw@0
|
43 else
|
jbe/bsw@0
|
44 local attr_class = table.concat({ 'ui_link', args.class }, ' ')
|
jbe/bsw@0
|
45 slot.put(
|
jbe/bsw@0
|
46 '<a href="',
|
jbe/bsw@0
|
47 args.url or encode.url{
|
jbe/bsw@0
|
48 module = args.module or request.get_module(),
|
jbe/bsw@0
|
49 view = args.view,
|
jbe/bsw@0
|
50 id = args.id,
|
jbe/bsw@0
|
51 params = args.params,
|
jbe/bsw@0
|
52 },
|
jbe/bsw@0
|
53 '" ',
|
jbe/bsw@0
|
54 ui_deprecated._stringify_table({ class = attr_class }),
|
jbe/bsw@0
|
55 ui_deprecated._stringify_table( args.html_options or {} ),
|
jbe/bsw@0
|
56 '>'
|
jbe/bsw@0
|
57 )
|
jbe/bsw@0
|
58 if args.icon then
|
jbe/bsw@0
|
59 ui_deprecated.image{ image = 'ui/icon/' .. args.icon }
|
jbe/bsw@0
|
60 end
|
jbe/bsw@0
|
61 if args.image then
|
jbe/bsw@0
|
62 ui_deprecated.image{ image = args.image }
|
jbe/bsw@0
|
63 end
|
jbe/bsw@0
|
64 if args.label then
|
jbe/bsw@0
|
65 slot.put(args.label)
|
jbe/bsw@0
|
66 end
|
jbe/bsw@0
|
67 slot.put('</a>')
|
jbe/bsw@0
|
68 end
|
jbe/bsw@0
|
69 end
|