liquid_feedback_frontend
view app/main/delegation/_list.lua @ 1742:9f96b7e6e5f2
Changed layout of survey
| author | bsw | 
|---|---|
| date | Mon Oct 11 10:39:23 2021 +0200 (2021-10-11) | 
| parents | 5ed7182be7b9 | 
| children | 
 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.tag{
     7     attr = { class = "delegation_scope" },
     8     content = function()
     9       local area
    10       local unit
    11       if delegation.issue then
    12         area = delegation.issue.area
    13         unit = area.unit
    14       elseif delegation.area then
    15         area = delegation.area
    16         unit = area.unit
    17       else
    18         unit = delegation.unit
    19       end
    20       slot.put("<br style='clear: left;' />")
    21       ui.container { attr = { style = "float: left;" }, content = function()
    22         ui.link{
    23           content = unit.name,
    24           module = "index",
    25           view = "index",
    26           params = { unit = unit.id }
    27         }
    28         if area then
    29           slot.put(" · ")
    30           ui.link{
    31             content = area.name,
    32             module = "index",
    33             view = "index",
    34             params = { unit = area.unit_id, area = area.id }
    35           }
    36         end
    37         if delegation.issue then
    38           slot.put(" · ")
    39           ui.link{
    40             content = delegation.issue.name,
    41             module = "issue",
    42             view = "show",
    43             id = delegation.issue.id
    44           }
    45         end
    46       end }
    47     end
    48   }
    49 end
    51 local last_scope = {}
    52 for i, delegation in ipairs(delegations_selector:exec()) do
    53   if last_scope.unit_id ~= delegation.unit_id
    54     or last_scope.area_id ~= delegation.area_id
    55     or last_scope.issue_id ~= delegation.issue_id
    56   then
    57     last_scope.unit_id = delegation.unit_id
    58     last_scope.area_id = delegation.area_id
    59     last_scope.issue_id = delegation.issue_id
    60     delegation_scope(delegation)
    61   end
    62   if incoming then
    63     execute.view{
    64       module = "member",
    65       view = "_show_thumb",
    66       params = {
    67         member = delegation.truster
    68       }
    69     }
    70   elseif delegation.trustee then
    71     ui.image{
    72       attr = { class = "delegation_arrow" },
    73       static = "delegation_arrow_24_horizontal.png"
    74     }
    75     execute.view{
    76       module = "member",
    77       view = "_show_thumb",
    78       params = {
    79         member = delegation.trustee
    80       }
    81     }
    82   else
    83     ui.tag{ content = _"Delegation abandoned" }
    84   end
    85 end
