liquid_feedback_frontend

annotate app/main/index/_drawer.lua @ 1372:635c6b7d2d0a

Work around layout issue
author bsw
date Wed Aug 08 17:15:48 2018 +0200 (2018-08-08)
parents 32cc544d5a5b
children
rev   line source
bsw/jbe@1309 1 local member = app.session.member
bsw/jbe@1309 2 local units
bsw/jbe@1309 3 if member then
bsw/jbe@1309 4 units = member:get_reference_selector("units"):add_order_by("name"):exec()
bsw/jbe@1309 5 units:load_delegation_info_once_for_member_id(member.id)
bsw/jbe@1309 6 else
bsw/jbe@1309 7 units = Unit:new_selector():add_where("active"):add_order_by("name"):exec()
bsw/jbe@1309 8 end
bsw/jbe@1309 9
bsw/jbe@1309 10 slot.select("drawer", function()
bsw/jbe@1309 11 ui.container{ attr = { class = "mdl-layout__drawer" }, content = function()
bsw/jbe@1309 12 ui.tag{ tag = "nav", attr = { class = "mdl-navigation" }, content = function ()
bsw/jbe@1309 13 ui.link{ content = config.instance_name, attr = { class = "mdl-navigation__link mdl-menu__item--full-bleed-divider mdl-navigation__head" }, module = "index", view = "index" }
bsw/jbe@1309 14
bsw/jbe@1309 15 if #units > 0 then
bsw/jbe@1309 16 for i, unit in ipairs(units) do
bsw/jbe@1309 17 local class = "mdl-navigation__link mdl-navigation__head"
bsw/jbe@1309 18 if i == #units then
bsw/jbe@1309 19 class = class .. " mdl-menu__item--full-bleed-divider"
bsw/jbe@1309 20 end
bsw/jbe@1309 21 ui.link{ attr = { class = class }, content = unit.name, module = "unit", view = "show", id = unit.id }
bsw/jbe@1309 22 local areas = unit.areas
bsw/jbe@1309 23 for i, area in ipairs(areas) do
bsw/jbe@1309 24 local class = "mdl-navigation__link mdl-menu__item--small"
bsw/jbe@1309 25 if i == #areas then
bsw/jbe@1309 26 class = class .. " mdl-menu__item--full-bleed-divider"
bsw/jbe@1309 27 end
bsw/jbe@1309 28 ui.link{ attr = { class = class }, module = "area", view = "show", id = area.id, content = function()
bsw/jbe@1309 29 ui.tag{ content = "⤷" }
bsw/jbe@1309 30 slot.put(" ")
bsw/jbe@1309 31 ui.tag{ content = area.name }
bsw/jbe@1309 32 end }
bsw/jbe@1309 33 end
bsw/jbe@1309 34 end
bsw/jbe@1309 35 end
bsw/jbe@1309 36
bsw/jbe@1309 37 ui.link{ attr = { class = "mdl-navigation__link mdl-menu__item--full-bleed-divider" }, content = _"Member list", module = "member", view = "list" }
bsw/jbe@1309 38 ui.link{ attr = { class = "mdl-navigation__link" }, content = _"Quick guide", module = "help", view = "introduction" }
bsw/jbe@1309 39
bsw/jbe@1309 40 if app.session.member_id and app.session.member.admin then
bsw/jbe@1309 41 ui.link{ attr = { class = "mdl-navigation__link mdl-menu__item--full-bleed-divider" }, content = _"System settings", module = "admin", view = "index" }
bsw/jbe@1309 42 end
bsw/jbe@1309 43
bsw/jbe@1309 44 end }
bsw/jbe@1309 45 end }
bsw/jbe@1309 46 end)
bsw/jbe@1309 47
bsw/jbe@1309 48 if true then
bsw/jbe@1309 49 return
bsw/jbe@1309 50 end
bsw/jbe@1309 51
bsw/jbe@1309 52 for i, unit in ipairs(units) do
bsw/jbe@1309 53
bsw/jbe@1309 54 ui.sidebar ( "tab-whatcanido units", function ()
bsw/jbe@1309 55
bsw/jbe@1309 56 local areas_selector = Area:new_selector()
bsw/jbe@1309 57 :reset_fields()
bsw/jbe@1309 58 :add_field("area.id", nil, { "grouped" })
bsw/jbe@1309 59 :add_field("area.unit_id", nil, { "grouped" })
bsw/jbe@1309 60 :add_field("area.name", nil, { "grouped" })
bsw/jbe@1309 61 :add_where{ "area.unit_id = ?", unit.id }
bsw/jbe@1309 62 :add_where{ "area.active" }
bsw/jbe@1309 63 :add_order_by("area.name")
bsw/jbe@1309 64
bsw/jbe@1309 65 local areas = areas_selector:exec()
bsw/jbe@1309 66 if member then
bsw/jbe@1309 67 areas:load_delegation_info_once_for_member_id(member.id)
bsw/jbe@1309 68 end
bsw/jbe@1309 69
bsw/jbe@1309 70 if #areas > 0 then
bsw/jbe@1309 71
bsw/jbe@1309 72 ui.container {
bsw/jbe@1309 73 attr = { class = "sidebarHead" },
bsw/jbe@1309 74 content = function ()
bsw/jbe@1309 75 ui.heading { level = 2, content = function ()
bsw/jbe@1309 76 ui.link {
bsw/jbe@1309 77 attr = { class = "unit" },
bsw/jbe@1309 78 module = "unit", view = "show", id = unit.id,
bsw/jbe@1309 79 content = unit.name
bsw/jbe@1309 80 }
bsw/jbe@1309 81
bsw/jbe@1309 82 if member then
bsw/jbe@1309 83 local delegation = Delegation:by_pk(member.id, unit.id, nil, nil)
bsw/jbe@1309 84
bsw/jbe@1309 85 if delegation then
bsw/jbe@1309 86 ui.link {
bsw/jbe@1309 87 module = "delegation", view = "show", params = {
bsw/jbe@1309 88 unit_id = unit.id
bsw/jbe@1309 89 },
bsw/jbe@1309 90 attr = { class = "delegation_info" },
bsw/jbe@1309 91 content = function ()
bsw/jbe@1309 92 ui.delegation(delegation.trustee_id, delegation.trustee.name)
bsw/jbe@1309 93 end
bsw/jbe@1309 94 }
bsw/jbe@1309 95 end
bsw/jbe@1309 96 end
bsw/jbe@1309 97 end }
bsw/jbe@1309 98
bsw/jbe@1309 99 end
bsw/jbe@1309 100 }
bsw/jbe@1309 101
bsw/jbe@1309 102
bsw/jbe@1309 103 ui.tag { tag = "div", attr = { class = "areas areas-" .. unit.id }, content = function ()
bsw/jbe@1309 104
bsw/jbe@1309 105 for i, area in ipairs(areas) do
bsw/jbe@1309 106
bsw/jbe@1309 107 ui.tag { tag = "div", attr = { class = "sidebarRow" }, content = function ()
bsw/jbe@1309 108
bsw/jbe@1309 109 if member then
bsw/jbe@1309 110 local delegation = Delegation:by_pk(member.id, nil, area.id, nil)
bsw/jbe@1309 111
bsw/jbe@1309 112 if delegation then
bsw/jbe@1309 113 ui.link {
bsw/jbe@1309 114 module = "delegation", view = "show", params = {
bsw/jbe@1309 115 area_id = area.id
bsw/jbe@1309 116 },
bsw/jbe@1309 117 attr = { class = "delegation_info" },
bsw/jbe@1309 118 content = function ()
bsw/jbe@1309 119 ui.delegation(delegation.trustee_id, delegation.trustee_id and delegation.trustee.name)
bsw/jbe@1309 120 end
bsw/jbe@1309 121 }
bsw/jbe@1309 122 end
bsw/jbe@1309 123 end
bsw/jbe@1309 124
bsw/jbe@1309 125 slot.put ( " " )
bsw/jbe@1309 126
bsw/jbe@1309 127 ui.link {
bsw/jbe@1309 128 attr = { class = "area" },
bsw/jbe@1309 129 module = "area", view = "show", id = area.id,
bsw/jbe@1309 130 content = area.name
bsw/jbe@1309 131 }
bsw/jbe@1309 132
bsw/jbe@1309 133
bsw/jbe@1309 134 end }
bsw/jbe@1309 135 end
bsw/jbe@1309 136 end }
bsw/jbe@1309 137 end
bsw/jbe@1309 138 end )
bsw/jbe@1309 139 end
bsw/jbe@1309 140
bsw/jbe@1309 141

Impressum / About Us