liquid_feedback_frontend
diff app/main/area/_list.lua @ 0:3bfb2fcf7ab9
Version alpha1
author | bsw/jbe |
---|---|
date | Wed Nov 18 12:00:00 2009 +0100 (2009-11-18) |
parents | |
children | 5c601807d397 |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/app/main/area/_list.lua Wed Nov 18 12:00:00 2009 +0100 1.3 @@ -0,0 +1,61 @@ 1.4 +local areas_selector = param.get("areas_selector", "table") 1.5 + 1.6 +ui.order{ 1.7 + name = name, 1.8 + selector = areas_selector, 1.9 + options = { 1.10 + { 1.11 + name = "member_weight", 1.12 + label = _"Population", 1.13 + order_by = "area.member_weight DESC" 1.14 + }, 1.15 + { 1.16 + name = "direct_member_count", 1.17 + label = _"Direct member count", 1.18 + order_by = "area.direct_member_count DESC" 1.19 + }, 1.20 + { 1.21 + name = "az", 1.22 + label = _"A-Z", 1.23 + order_by = "area.name" 1.24 + }, 1.25 + { 1.26 + name = "za", 1.27 + label = _"Z-A", 1.28 + order_by = "area.name DESC" 1.29 + } 1.30 + }, 1.31 + content = function() 1.32 + ui.list{ 1.33 + records = areas_selector:exec(), 1.34 + columns = { 1.35 + { 1.36 + content = function(record) 1.37 + if record.member_weight and record.direct_member_count then 1.38 + local max_value = MemberCount:get() 1.39 + ui.bargraph{ 1.40 + max_value = max_value, 1.41 + width = 100, 1.42 + bars = { 1.43 + { color = "#444", value = record.direct_member_count }, 1.44 + { color = "#777", value = record.member_weight - record.direct_member_count }, 1.45 + { color = "#ddd", value = max_value - record.member_weight }, 1.46 + } 1.47 + } 1.48 + end 1.49 + end 1.50 + }, 1.51 + { 1.52 + content = function(record) 1.53 + ui.link{ 1.54 + text = record.name, 1.55 + module = "area", 1.56 + view = "show", 1.57 + id = record.id 1.58 + } 1.59 + end 1.60 + } 1.61 + } 1.62 + } 1.63 + end 1.64 +} 1.65 \ No newline at end of file