liquid_feedback_frontend

diff app/main/initiative/history.lua @ 1309:32cc544d5a5b

Cumulative patch for upcoming frontend version 4
author bsw/jbe
date Sun Jul 15 14:07:29 2018 +0200 (2018-07-15)
parents fede09736f2b
children 3ab878ba277e
line diff
     1.1 --- a/app/main/initiative/history.lua	Thu Jun 23 03:30:57 2016 +0200
     1.2 +++ b/app/main/initiative/history.lua	Sun Jul 15 14:07:29 2018 +0200
     1.3 @@ -4,125 +4,127 @@
     1.4  initiative.issue:load_everything_for_member_id(app.session.member_id)
     1.5  
     1.6  
     1.7 -execute.view{ module = "issue", view = "_sidebar_state", params = {
     1.8 -  initiative = initiative
     1.9 -} }
    1.10 +ui.grid{ content = function()
    1.11  
    1.12 -execute.view { 
    1.13 -  module = "issue", view = "_sidebar_issue", 
    1.14 -  params = {
    1.15 -    issue = initiative.issue,
    1.16 -    highlight_initiative_id = initiative.id
    1.17 -  }
    1.18 -}
    1.19 -
    1.20 -execute.view {
    1.21 -  module = "issue", view = "_sidebar_whatcanido",
    1.22 -  params = { initiative = initiative }
    1.23 -}
    1.24 -
    1.25 -execute.view { 
    1.26 -  module = "issue", view = "_sidebar_members", params = {
    1.27 -    issue = initiative.issue, initiative = initiative
    1.28 -  }
    1.29 -}
    1.30 +  ui.cell_main{ content = function()
    1.31 +    ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
    1.32  
    1.33 -
    1.34 -
    1.35 -execute.view {
    1.36 -  module = "issue", view = "_head", params = {
    1.37 -    issue = initiative.issue
    1.38 -  }
    1.39 -}
    1.40 -
    1.41 -ui.form{
    1.42 -  method = "get",
    1.43 -  module = "draft",
    1.44 -  view = "diff",
    1.45 -  attr = { class = "section" },
    1.46 -  content = function()
    1.47 -    ui.field.hidden{ name = "initiative_id", value = initiative.id }
    1.48 -  
    1.49 -    ui.sectionHead( function()
    1.50 -      ui.link{
    1.51 -        module = "initiative", view = "show", id = initiative.id,
    1.52 -        content = function ()
    1.53 -          ui.heading { 
    1.54 -            level = 1,
    1.55 -            content = initiative.display_name
    1.56 +      ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function ()
    1.57 +        ui.heading { 
    1.58 +          attr = { class = "mdl-card__title-text" },
    1.59 +          content = function()
    1.60 +            ui.link{
    1.61 +              module = "initiative", view = "show", id = initiative.id,
    1.62 +              content = initiative.display_name
    1.63 +            }
    1.64 +          end
    1.65 +        }
    1.66 +        ui.container { content = _"Draft history" }
    1.67 +      end }
    1.68 +      
    1.69 +      ui.container {
    1.70 +        attr = { class = "mdl-card__content" },
    1.71 +        content = function()
    1.72 +          ui.form{
    1.73 +            method = "get",
    1.74 +            module = "draft",
    1.75 +            view = "diff",
    1.76 +            attr = { class = "section" },
    1.77 +            content = function()
    1.78 +              ui.field.hidden{ name = "initiative_id", value = initiative.id }
    1.79 +            
    1.80 +              ui.sectionRow( function()
    1.81 +              
    1.82 +                local columns = {
    1.83 +                  {
    1.84 +                    label = _"draft ID",
    1.85 +                    content = function(record)
    1.86 +                      ui.tag { content = record.id }
    1.87 +                    end
    1.88 +                  },
    1.89 +                  {
    1.90 +                    label = _"published at",
    1.91 +                    content = function(record)
    1.92 +                      ui.link{
    1.93 +                        attr = { class = "action" },
    1.94 +                        module = "draft", view = "show", id = record.id,
    1.95 +                        text = format.timestamp(record.created)
    1.96 +                      }
    1.97 +                    end
    1.98 +                  },
    1.99 +                  {
   1.100 +                    label = _"compare",
   1.101 +                    content = function(record)
   1.102 +                      slot.put('<label class="mdl-radio mdl-js-radio mdl-js-ripple-effect" for="old_draft_id_' .. record.id .. '"><input type="radio" class="mdl-radio__button" id="old_draft_id_' .. record.id .. '" name="old_draft_id" value="' .. tostring(record.id) .. '"></label>')
   1.103 +                      slot.put('<label class="mdl-radio mdl-js-radio mdl-js-ripple-effect" for="new_draft_id_' .. record.id .. '"><input type="radio" class="mdl-radio__button" id="new_draft_id_' .. record.id .. '" name="new_draft_id" value="' .. tostring(record.id) .. '"></label>')
   1.104 +                      --lot.put('<input type="radio" name="new_draft_id" value="' .. tostring(record.id) .. '">')
   1.105 +                    end
   1.106 +                  }
   1.107 +                }
   1.108 +                
   1.109 +                if app.session:has_access("authors_pseudonymous") then
   1.110 +                  columns[#columns+1] = {
   1.111 +                    label = _"author",
   1.112 +                    content = function(record)
   1.113 +                      if record.author then
   1.114 +                        return util.micro_avatar ( record.author )
   1.115 +                      end
   1.116 +                    end
   1.117 +                  }
   1.118 +                end
   1.119 +                
   1.120 +                if config.render_external_reference and config.render_external_reference.draft then
   1.121 +                  columns[#columns+1] = {
   1.122 +                    label = _"external reference",
   1.123 +                    content = function(draft)
   1.124 +                      config.render_external_reference.draft(draft, function (callback)
   1.125 +                        callback()
   1.126 +                      end)
   1.127 +                    end
   1.128 +                  }
   1.129 +                end
   1.130 +                
   1.131 +                ui.list{
   1.132 +                  records = initiative.drafts,
   1.133 +                  columns = columns
   1.134 +                }
   1.135 +                
   1.136 +                slot.put("<br />")
   1.137 +                ui.container { attr = { class = "actions" }, content = function()
   1.138 +                  ui.tag{
   1.139 +                    tag = "input",
   1.140 +                    attr = {
   1.141 +                      type = "submit",
   1.142 +                      class = "mdl-button mdl-js-button mdl-button--raised mdl-button--colored",
   1.143 +                      value = _"compare revisions"
   1.144 +                    },
   1.145 +                    content = ""
   1.146 +                  }
   1.147 +                end }
   1.148 +              end )
   1.149 +            end
   1.150            }
   1.151          end
   1.152        }
   1.153 -      ui.heading { level = 2, content = _"Draft history" }
   1.154 -    end)
   1.155 -    
   1.156 -    ui.sectionRow( function()
   1.157 -    
   1.158 -      local columns = {
   1.159 -        {
   1.160 -          label = _"draft ID",
   1.161 -          content = function(record)
   1.162 -            ui.tag { content = record.id }
   1.163 -          end
   1.164 -        },
   1.165 -        {
   1.166 -          label = _"published at",
   1.167 -          content = function(record)
   1.168 -            ui.link{
   1.169 -              attr = { class = "action" },
   1.170 -              module = "draft", view = "show", id = record.id,
   1.171 -              text = format.timestamp(record.created)
   1.172 -            }
   1.173 -          end
   1.174 -        },
   1.175 -        {
   1.176 -          label = _"compare",
   1.177 -          content = function(record)
   1.178 -            slot.put('<input type="radio" name="old_draft_id" value="' .. tostring(record.id) .. '">')
   1.179 -            slot.put('<input type="radio" name="new_draft_id" value="' .. tostring(record.id) .. '">')
   1.180 -          end
   1.181 -        }
   1.182 +    end }
   1.183 +  end }
   1.184 +  
   1.185 +  ui.cell_sidebar{ content = function()
   1.186 +    execute.view{ module = "issue", view = "_sidebar", params = {
   1.187 +      initiative = initiative,
   1.188 +      issue = initiative.issue
   1.189 +    } }
   1.190 +
   1.191 +    execute.view {
   1.192 +      module = "issue", view = "_sidebar_whatcanido",
   1.193 +      params = { initiative = initiative }
   1.194 +    }
   1.195 +
   1.196 +    execute.view { 
   1.197 +      module = "issue", view = "_sidebar_members", params = {
   1.198 +        issue = initiative.issue, initiative = initiative
   1.199        }
   1.200 -      
   1.201 -      if app.session:has_access("authors_pseudonymous") then
   1.202 -        columns[#columns+1] = {
   1.203 -          label = _"author",
   1.204 -          content = function(record)
   1.205 -            if record.author then
   1.206 -              return util.micro_avatar ( record.author )
   1.207 -            end
   1.208 -          end
   1.209 -        }
   1.210 -      end
   1.211 -      
   1.212 -      if config.render_external_reference and config.render_external_reference.draft then
   1.213 -        columns[#columns+1] = {
   1.214 -          label = _"external reference",
   1.215 -          content = function(draft)
   1.216 -            config.render_external_reference.draft(draft, function (callback)
   1.217 -              callback()
   1.218 -            end)
   1.219 -          end
   1.220 -        }
   1.221 -      end
   1.222 -      
   1.223 -      ui.list{
   1.224 -        records = initiative.drafts,
   1.225 -        columns = columns
   1.226 -      }
   1.227 -      
   1.228 -      slot.put("<br />")
   1.229 -      ui.container { attr = { class = "actions" }, content = function()
   1.230 -        ui.tag{
   1.231 -          tag = "input",
   1.232 -          attr = {
   1.233 -            type = "submit",
   1.234 -            class = "btn btn-default",
   1.235 -            value = _"compare revisions"
   1.236 -          },
   1.237 -          content = ""
   1.238 -        }
   1.239 -      end }
   1.240 -    end )
   1.241 -  end
   1.242 -}
   1.243 +    }
   1.244 +  end }
   1.245 +  
   1.246 +end }

Impressum / About Us