webmcp

annotate framework/env/ui_deprecated/link.lua @ 0:9fdfb27f8e67

Version 1.0.0
author jbe/bsw
date Sun Oct 25 12:00:00 2009 +0100 (2009-10-25)
parents
children
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

Impressum / About Us