liquid_feedback_frontend
annotate app/main/area/show.lua @ 150:eaf3db89a6e1
implement initiative pager in content_navigation
this allows you to swtich between the initiatives very quickly
this allows you to swtich between the initiatives very quickly
author | Daniel Poelzleithner <poelzi@poelzi.org> |
---|---|
date | Fri Oct 08 04:29:20 2010 +0200 (2010-10-08) |
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 |