liquid_feedback_frontend
annotate app/main/area/show.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 | 7d0f4721d2f3 |
| children | c0835d707465 |
| rev | line source |
|---|---|
| bsw/jbe@0 | 1 local area = Area:new_selector():add_where{ "id = ?", param.get_id() }:single_object_mode():exec() |
| bsw/jbe@0 | 2 |
| jorges@103 | 3 app.html_title.title = area.name |
| jorges@103 | 4 app.html_title.subtitle = _("Area") |
| jorges@103 | 5 |
| bsw/jbe@52 | 6 if config.feature_rss_enabled then |
| bsw/jbe@52 | 7 util.html_rss_head{ title = _"Initiatives in this area (last created first)", module = "initiative", view = "list_rss", params = { area_id = area.id } } |
| bsw/jbe@52 | 8 util.html_rss_head{ title = _"Initiatives in this area (last updated first)", module = "initiative", view = "list_rss", params = { area_id = area.id } } |
| bsw/jbe@52 | 9 end |
| bsw/jbe@52 | 10 |
| bsw/jbe@0 | 11 slot.put_into("title", encode.html(_"Area '#{name}'":gsub("#{name}", area.name))) |
| bsw/jbe@0 | 12 |
| bsw/jbe@0 | 13 ui.container{ |
| bsw/jbe@0 | 14 attr = { class = "vertical"}, |
| bsw/jbe@0 | 15 content = function() |
| bsw/jbe@0 | 16 ui.field.text{ value = area.description } |
| bsw/jbe@0 | 17 end |
| bsw/jbe@0 | 18 } |
| bsw/jbe@0 | 19 |
| bsw@51 | 20 if app.session.member_id then |
| bsw@51 | 21 slot.select("actions", function() |
| bsw@51 | 22 ui.link{ |
| bsw@51 | 23 content = function() |
| bsw@51 | 24 ui.image{ static = "icons/16/folder_add.png" } |
| bsw@51 | 25 slot.put(_"Create new issue") |
| bsw@51 | 26 end, |
| bsw@51 | 27 module = "initiative", |
| bsw@51 | 28 view = "new", |
| bsw@51 | 29 params = { area_id = area.id } |
| bsw@51 | 30 } |
| bsw@51 | 31 end) |
| bsw@51 | 32 end |
| bsw/jbe@0 | 33 |
| bsw/jbe@4 | 34 util.help("area.show") |
| bsw/jbe@4 | 35 |
| bsw@51 | 36 if app.session.member_id then |
| bsw@51 | 37 execute.view{ |
| bsw@51 | 38 module = "membership", |
| bsw@51 | 39 view = "_show_box", |
| bsw@51 | 40 params = { area = area } |
| bsw@51 | 41 } |
| bsw/jbe@0 | 42 |
| bsw@51 | 43 execute.view{ |
| bsw@51 | 44 module = "delegation", |
| bsw@51 | 45 view = "_show_box", |
| bsw@51 | 46 params = { area_id = area.id } |
| bsw@51 | 47 } |
| bsw@51 | 48 |
| bsw@51 | 49 end |
| bsw/jbe@0 | 50 |
| bsw/jbe@19 | 51 --[[ |
| bsw/jbe@19 | 52 for i, issue in ipairs(area.issues) do |
| bsw/jbe@19 | 53 local head_name = "issue_head_content_" .. tostring(issue.id) |
| bsw/jbe@19 | 54 local name = "issue_content_" .. tostring(issue.id) |
| bsw/jbe@19 | 55 local icon_name = "issue_icon_" .. tostring(issue.id) |
| bsw/jbe@19 | 56 ui.container{ |
| bsw/jbe@19 | 57 attr = { class = "ui_tabs" }, |
| bsw/jbe@0 | 58 content = function() |
| bsw/jbe@19 | 59 local onclick = |
| bsw/jbe@19 | 60 'if (ui_tabs_active["' .. name .. '"]) {' .. |
| bsw/jbe@19 | 61 'el=document.getElementById("' .. name .. '");' .. |
| bsw/jbe@19 | 62 'el.innerHTML="";' .. |
| bsw/jbe@19 | 63 'el.style.display="none";' .. |
| bsw/jbe@19 | 64 'ui_tabs_active["' .. name .. '"]=false' .. |
| bsw/jbe@19 | 65 '} else {' .. |
| bsw/jbe@19 | 66 'ui_tabs_active["' .. name .. '"]=true;' .. |
| bsw/jbe@19 | 67 'document.getElementById("' .. name .. '").style.display="block"; ' .. |
| bsw/jbe@19 | 68 'var hourglass_el = document.getElementById("' .. icon_name .. '");' .. |
| bsw/jbe@19 | 69 'var hourglass_src = hourglass_el.src;' .. |
| bsw/jbe@19 | 70 'hourglass_el.src = "' .. encode.url{ static = "icons/16/connect.png" } .. '";' .. |
| bsw/jbe@19 | 71 'partialMultiLoad(' .. |
| bsw/jbe@19 | 72 '{ trace: "trace", system_error: "system_error", ' .. name .. '_title: "title", ' .. name .. '_actions: "actions", ' .. name .. '_content: "default" },' .. |
| bsw/jbe@19 | 73 '{},' .. |
| bsw/jbe@19 | 74 '"error",' .. |
| bsw/jbe@19 | 75 '"' .. request.get_relative_baseurl() .. 'issue/show/' .. tostring(issue.id) .. '.html?&_webmcp_json_slots[]=title&_webmcp_json_slots[]=actions&_webmcp_json_slots[]=default&_webmcp_json_slots[]=trace&_webmcp_json_slots[]=system_error&dyn=1",' .. |
| bsw/jbe@19 | 76 '{},' .. |
| bsw/jbe@19 | 77 '{},' .. |
| bsw/jbe@19 | 78 'function() {' .. |
| bsw/jbe@19 | 79 'hourglass_el.src = hourglass_src;' .. |
| bsw/jbe@19 | 80 '},' .. |
| bsw/jbe@19 | 81 'function() {' .. |
| bsw/jbe@19 | 82 'hourglass_el.src = hourglass_src;' .. |
| bsw/jbe@19 | 83 '}' .. |
| bsw/jbe@19 | 84 '); ' .. |
| bsw/jbe@19 | 85 '}' .. |
| bsw/jbe@19 | 86 'return(false);' |
| bsw/jbe@19 | 87 ui.link{ |
| bsw/jbe@19 | 88 attr = { |
| bsw/jbe@19 | 89 name = name, |
| bsw/jbe@19 | 90 class = "ui_tabs_accordeon_head", |
| bsw/jbe@19 | 91 id = head_name, |
| bsw/jbe@19 | 92 onclick = onclick, |
| bsw/jbe@19 | 93 }, |
| bsw/jbe@19 | 94 module = "issue", |
| bsw/jbe@19 | 95 view = "show", |
| bsw/jbe@19 | 96 id = issue.id, |
| bsw/jbe@19 | 97 params = params, |
| bsw/jbe@19 | 98 anchor = name, |
| bsw/jbe@19 | 99 content = function() |
| bsw/jbe@19 | 100 ui.image{ |
| bsw/jbe@19 | 101 attr = { id = icon_name }, |
| bsw/jbe@19 | 102 static = "icons/16/script.png" |
| bsw/jbe@19 | 103 } |
| bsw/jbe@19 | 104 ui.container{ |
| bsw/jbe@19 | 105 attr = { style = "float: right;" }, |
| bsw/jbe@19 | 106 content = function() |
| bsw/jbe@19 | 107 |
| bsw/jbe@19 | 108 end |
| bsw/jbe@19 | 109 } |
| bsw/jbe@19 | 110 slot.put(tostring(issue.id)) |
| bsw/jbe@19 | 111 end |
| bsw/jbe@0 | 112 } |
| bsw/jbe@0 | 113 end |
| bsw/jbe@19 | 114 } |
| bsw/jbe@19 | 115 |
| bsw/jbe@19 | 116 ui.container{ |
| bsw/jbe@19 | 117 attr = { |
| bsw/jbe@19 | 118 id = name, |
| bsw/jbe@19 | 119 class = "ui_tabs_accordeon_content", |
| bsw/jbe@19 | 120 }, |
| bsw/jbe@0 | 121 content = function() |
| bsw/jbe@19 | 122 ui.container{ attr = { id = name .. "_title", }, content = function() slot.put(" ") end } |
| bsw/jbe@19 | 123 ui.container{ attr = { id = name .. "_actions", }, content = function() slot.put(" ") end } |
| bsw/jbe@19 | 124 ui.container{ attr = { id = name .. "_content", }, content = function() |
| bsw/jbe@19 | 125 execute.view{ |
| bsw/jbe@19 | 126 module = "initiative", |
| bsw/jbe@19 | 127 view = "_list", |
| bsw/jbe@19 | 128 params = { |
| bsw/jbe@19 | 129 issue = issue, |
| bsw/jbe@19 | 130 initiatives_selector = issue:get_reference_selector("initiatives"), |
| bsw/jbe@19 | 131 limit = 3, |
| bsw/jbe@19 | 132 per_page = 3, |
| bsw/jbe@19 | 133 no_sort = true, |
| bsw/jbe@19 | 134 } |
| bsw/jbe@19 | 135 } |
| bsw/jbe@19 | 136 end } |
| bsw/jbe@0 | 137 end |
| bsw/jbe@19 | 138 } |
| bsw/jbe@19 | 139 |
| bsw/jbe@19 | 140 if config.user_tab_mode == "accordeon_all_expanded" then |
| bsw/jbe@19 | 141 ui.script{ script = 'document.getElementById("' .. head_name .. '").onclick();' } |
| bsw/jbe@19 | 142 end |
| bsw/jbe@19 | 143 end |
| bsw/jbe@19 | 144 --]] |
| bsw/jbe@19 | 145 |
| bsw/jbe@19 | 146 execute.view{ |
| bsw/jbe@19 | 147 module = "area", |
| bsw/jbe@19 | 148 view = "show_tab", |
| bsw/jbe@19 | 149 params = { area = area } |
| bsw/jbe@0 | 150 } |
| bsw/jbe@0 | 151 |