| 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 |