liquid_feedback_frontend
diff app/main/delegation/_list.lua @ 1045:701a5cf6b067
Imported LiquidFeedback Frontend 3.0 branch
| author | bsw |
|---|---|
| date | Thu Jul 10 01:19:48 2014 +0200 (2014-07-10) |
| parents | 5dc5f923797b |
| children | c87cc80b7904 |
line diff
1.1 --- a/app/main/delegation/_list.lua Thu Jul 10 01:02:43 2014 +0200 1.2 +++ b/app/main/delegation/_list.lua Thu Jul 10 01:19:48 2014 +0200 1.3 @@ -3,83 +3,84 @@ 1.4 local incoming = param.get("incoming", atom.boolean) 1.5 1.6 local function delegation_scope(delegation) 1.7 - ui.container{ 1.8 + ui.tag{ 1.9 attr = { class = "delegation_scope" }, 1.10 content = function() 1.11 local area 1.12 local unit 1.13 if delegation.issue then 1.14 area = delegation.issue.area 1.15 + unit = area.unit 1.16 elseif delegation.area then 1.17 area = delegation.area 1.18 + unit = area.unit 1.19 else 1.20 unit = delegation.unit 1.21 end 1.22 - if unit then 1.23 + slot.put("<br style='clear: left;' />") 1.24 + ui.heading { attr = { style = "float: left;" }, level = 3, content = function() 1.25 ui.link{ 1.26 - content = _"Unit '#{name}'":gsub("#{name}", unit.name), 1.27 + content = unit.name, 1.28 module = "unit", 1.29 view = "show", 1.30 id = unit.id 1.31 } 1.32 - end 1.33 - if area then 1.34 - ui.link{ 1.35 - content = _"Area '#{name}'":gsub("#{name}", area.name), 1.36 - module = "area", 1.37 - view = "show", 1.38 - id = area.id 1.39 - } 1.40 - end 1.41 - if delegation.issue then 1.42 - ui.link{ 1.43 - content = _"Issue ##{id}":gsub("#{id}", delegation.issue.id), 1.44 - module = "issue", 1.45 - view = "show", 1.46 - id = delegation.issue.id 1.47 - } 1.48 - end 1.49 + if area then 1.50 + slot.put(" · ") 1.51 + ui.link{ 1.52 + content = area.name, 1.53 + module = "area", 1.54 + view = "show", 1.55 + id = area.id 1.56 + } 1.57 + end 1.58 + if delegation.issue then 1.59 + slot.put(" · ") 1.60 + ui.link{ 1.61 + content = delegation.issue.name, 1.62 + module = "issue", 1.63 + view = "show", 1.64 + id = delegation.issue.id 1.65 + } 1.66 + end 1.67 + end } 1.68 end 1.69 } 1.70 end 1.71 1.72 1.73 -ui.paginate{ 1.74 - selector = delegations_selector, 1.75 - content = function() 1.76 +--ui.paginate{ 1.77 +-- selector = delegations_selector, 1.78 +-- name = incoming and "delegation_incoming" or "delegation_outgoing", 1.79 +-- content = function() 1.80 + local last_scope = {} 1.81 for i, delegation in ipairs(delegations_selector:exec()) do 1.82 - ui.container{ 1.83 - attr = { class = "delegation_list_entry" }, 1.84 - content = function() 1.85 - if outgoing then 1.86 - delegation_scope(delegation) 1.87 - else 1.88 - execute.view{ 1.89 - module = "member", 1.90 - view = "_show_thumb", 1.91 - params = { member = delegation.truster } 1.92 - } 1.93 - end 1.94 - ui.image{ 1.95 - attr = { class = "delegation_arrow" }, 1.96 - static = "delegation_arrow.jpg" 1.97 - } 1.98 - if incoming then 1.99 - delegation_scope(delegation) 1.100 - else 1.101 - if delegation.trustee then 1.102 - execute.view{ 1.103 - module = "member", 1.104 - view = "_show_thumb", 1.105 - params = { member = delegation.trustee } 1.106 - } 1.107 - else 1.108 - ui.tag{ content = _"Delegation abandoned" } 1.109 - end 1.110 - end 1.111 - end 1.112 - } 1.113 + if last_scope.unit_id ~= delegation.unit_id 1.114 + or last_scope.area_id ~= delegation.area_id 1.115 + or last_scope.issue_id ~= delegation.issue_id 1.116 + then 1.117 + last_scope.unit_id = delegation.unit_id 1.118 + last_scope.area_id = delegation.area_id 1.119 + last_scope.issue_id = delegation.issue_id 1.120 + delegation_scope(delegation) 1.121 + end 1.122 + if incoming then 1.123 + execute.view{ module = "member_image", view = "_show", params = { 1.124 + member_id = delegation.truster_id, class = "micro_avatar", popup_text = delegation.truster.name, 1.125 + image_type = "avatar", show_dummy = true, 1.126 + } } 1.127 + elseif delegation.trustee then 1.128 + ui.image{ 1.129 + attr = { class = "delegation_arrow" }, 1.130 + static = "delegation_arrow_24_horizontal.png" 1.131 + } 1.132 + execute.view{ module = "member_image", view = "_show", params = { 1.133 + member_id = delegation.trustee_id, class = "micro_avatar", popup_text = delegation.trustee.name, 1.134 + image_type = "avatar", show_dummy = true, 1.135 + } } 1.136 + else 1.137 + ui.tag{ content = _"Delegation abandoned" } 1.138 + end 1.139 end 1.140 - slot.put("<br style='clear: left;' />") 1.141 - end 1.142 -} 1.143 +-- end 1.144 +--}