liquid_feedback_frontend
diff env/ui/order.lua @ 0:3bfb2fcf7ab9
Version alpha1
author | bsw/jbe |
---|---|
date | Wed Nov 18 12:00:00 2009 +0100 (2009-11-18) |
parents | |
children | afd9f769c7ae |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/env/ui/order.lua Wed Nov 18 12:00:00 2009 +0100 1.3 @@ -0,0 +1,40 @@ 1.4 +function ui.order(args) 1.5 + local name = args.name or "order" 1.6 + local current_order = atom.string:load(cgi.params[name]) or args.options[1].name 1.7 + local id = param.get_id_cgi() 1.8 + local params = param.get_all_cgi() 1.9 + ui.container{ 1.10 + attr = { class = "ui_order" }, 1.11 + content = function() 1.12 + ui.container{ 1.13 + attr = { class = "ui_order_head" }, 1.14 + content = function() 1.15 + slot.put(_"Order by") 1.16 + slot.put(": ") 1.17 + for i, option in ipairs(args.options) do 1.18 + params[name] = option.name 1.19 + local attr = {} 1.20 + if current_order == option.name then 1.21 + attr.class = "active" 1.22 + args.selector:add_order_by(option.order_by) 1.23 + end 1.24 + ui.link{ 1.25 + attr = attr, 1.26 + module = request.get_module(), 1.27 + view = request.get_view(), 1.28 + id = id, 1.29 + params = params, 1.30 + content = option.label 1.31 + } 1.32 + end 1.33 + end 1.34 + } 1.35 + ui.container{ 1.36 + attr = { class = "ui_order_content" }, 1.37 + content = function() 1.38 + args.content() 1.39 + end 1.40 + } 1.41 + end 1.42 + } 1.43 +end