liquid_feedback_frontend
view app/main/delegation/_list.lua @ 145:90520c9fca44
implement area filter in timeline
allows the user to ignore any area in the timeline filter.
better display in javascript off
allows the user to ignore any area in the timeline filter.
better display in javascript off
| author | Daniel Poelzleithner <poelzi@poelzi.org> |
|---|---|
| date | Thu Oct 07 00:35:48 2010 +0200 (2010-10-07) |
| parents | 5c601807d397 |
| children | 19fbc5c758b5 |
line source
1 local delegations_selector = param.get("delegations_selector", "table")
2 local outgoing = param.get("outgoing", atom.boolean)
3 local incoming = param.get("incoming", atom.boolean)
5 local function delegation_scope(delegation)
6 ui.container{
7 attr = { class = "delegation_scope" },
8 content = function()
9 local area
10 if delegation.issue then
11 area = delegation.issue.area
12 else
13 area = delegation.area
14 end
15 if not area then
16 ui.field.text{ value = _"Global delegation" }
17 end
18 if area then
19 ui.link{
20 content = _"Area '#{name}'":gsub("#{name}", area.name),
21 module = "area",
22 view = "show",
23 id = area.id
24 }
25 end
26 if delegation.issue then
27 ui.link{
28 content = _"Issue ##{id}":gsub("#{id}", delegation.issue.id),
29 module = "issue",
30 view = "show",
31 id = delegation.issue.id
32 }
33 end
34 end
35 }
36 end
39 ui.paginate{
40 selector = delegations_selector,
41 content = function()
42 for i, delegation in ipairs(delegations_selector:exec()) do
43 ui.container{
44 attr = { class = "delegation_list_entry" },
45 content = function()
46 if outgoing then
47 delegation_scope(delegation)
48 else
49 execute.view{
50 module = "member",
51 view = "_show_thumb",
52 params = { member = delegation.truster }
53 }
54 end
55 ui.image{
56 attr = { class = "delegation_arrow" },
57 static = "delegation_arrow.jpg"
58 }
59 if incoming then
60 delegation_scope(delegation)
61 else
62 execute.view{
63 module = "member",
64 view = "_show_thumb",
65 params = { member = delegation.trustee }
66 }
67 end
68 end
69 }
70 end
71 slot.put("<br style='clear: left;' />")
72 end
73 }
