1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-25 08:09:43 +02:00

Tidy HTML, separate detailed single-board data

This commit is contained in:
Elliott Stoneham 2016-09-11 19:08:52 +01:00
parent 2d7647e790
commit 0345c93560
8 changed files with 155 additions and 134 deletions

View file

@ -12,34 +12,46 @@
package trello
const archiveTemplate = `
<h3>Deleted and Archived Cards</h3>
<p>Changes since {{.Since}}.</p>
<div class="section-trello-render">
<table class="trello-table" class="width-100">
<tbody class="trello">
{{range $b := .Boards}}
<tr>
<td>
<a href="{{ $b.Board.URL }}">
<span class="trello-board" style="background-color: {{$b.Board.Prefs.BackgroundColor}}">{{$b.Board.Name}}</span>
</a>
</td>
<td>
{{range $act := $b.Actions}}
{{if eq $act.Type "deleteCard" }}
Deleted:
{{$act.Data.List.Name}} : {{$act.Data.Card.Name}} - {{$act.Data.Text}}
{{if gt (len .Boards) 0}}
<div class="heading">Deleted and Archived Cards</div>
<p>Changes since {{.Since}}.</p>
<div class="section-trello-render">
<table class="trello-table" class="width-100">
<tbody class="trello">
{{range $b := .Boards}}
<tr>
<td>
<a href="{{ $b.Board.URL }}">
<span class="trello-board" style="background-color: {{$b.Board.Prefs.BackgroundColor}}">{{$b.Board.Name}}</span>
</a>
</td>
<td>
{{range $act := $b.Actions}}
{{if eq $act.Type "deleteCard" }}
Deleted:
{{$act.Data.List.Name}}
{{if ne $act.Data.Card.Name ""}}
: {{$act.Data.Card.Name}}
{{if ne $act.Data.Text ""}}
- {{$act.Data.Text}}
{{end}}
{{end}}
<br>
{{end}}
{{end}}
{{end}}
{{range $arch := $b.Archived}}
Archived:
{{$arch.Name}} - {{$arch.Desc}}
<br>
{{end}}
</td>
</tr>
{{end}}
</tbody>
</table>
</div>
{{range $arch := $b.Archived}}
Archived:
{{$arch.Name}}
{{if ne $arch.Desc ""}}
- {{$arch.Desc}}
{{end}}
<br>
{{end}}
</td>
</tr>
{{end}}
</tbody>
</table>
</div>
{{end}}
`

View file

@ -12,52 +12,55 @@
package trello
const boardsTemplate = `
<h3>Boards</h3>
<p>Changes since {{.Since}}.</p>
<div class="section-trello-render">
<table class="trello-table" class="width-100">
<tbody class="board-stats">
<tr>
<td>
<span class="stat-number">{{len .Boards}}</span> Boards
</td>
<td>
<span class="stat-number">{{.ListTotal}}</span> Lists
</td>
<td>
<span class="stat-number">{{.CardTotal}}</span> Cards
</td>
<td>
<span class="stat-number">{{len .MemberBoardAssign}}</span> Members
</td>
</tr>
</tbody>
</table>
<table class="trello-table" class="width-100">
<tbody class="trello">
{{range $b := .Boards}}
<tr>
<td>
<a href="{{ $b.Board.URL }}">
<span class="trello-board" style="background-color: {{$b.Board.Prefs.BackgroundColor}}">{{$b.Board.Name}}</span>
</a>
</td>
<td>
<h6>There are {{ len $b.Actions }} actions for this board.</h6>
<p>
{{range $act, $tot := $b.ActionSummary}}
{{$act}} ({{$tot}}),
{{end}}
{{if gt (len $b.Archived) 0}}
archive card ({{len $b.Archived}}).
{{if gt (len .Boards) 0}}
<div class="heading">Boards</div>
<p>Changes since {{.Since}}.</p>
<div class="section-trello-render">
<table class="trello-table" class="width-100">
<tbody class="board-stats">
<tr>
<td>
<span class="stat-number">{{len .Boards}}</span> Boards
</td>
<td>
<span class="stat-number">{{.ListTotal}}</span> Lists
</td>
<td>
<span class="stat-number">{{.CardTotal}}</span> Cards
</td>
<td>
<span class="stat-number">{{len .MemberBoardAssign}}</span> Members
</td>
</tr>
</tbody>
</table>
<table class="trello-table" class="width-100">
<tbody class="trello">
{{range $b := .Boards}}
<tr>
<td>
<a href="{{ $b.Board.URL }}">
<span class="trello-board" style="background-color: {{$b.Board.Prefs.BackgroundColor}}">{{$b.Board.Name}}</span>
</a>
</td>
<td>
<h6>There are {{ len $b.Actions }} actions for this board.</h6>
<p>
{{range $act, $tot := $b.ActionSummary}}
{{$act}} ({{$tot}}),
{{end}}
{{if gt (len $b.Archived) 0}}
archive card ({{len $b.Archived}}).
{{else}}
no cards archived.
{{end}}
<br>
{{end}}
</p>
</td>
</tr>
{{end}}
</tbody>
</table>
</div>
</p>
</td>
</tr>
{{end}}
</tbody>
</table>
</div>
{{end}}
`

View file

@ -14,7 +14,7 @@ package trello
const graphsTemplate = `
{{if false}}
<b>Single Boards (graphs)</b><br>
<div class="heading">Single Boards (graphs)</div>
{{range $b := .Boards}}
<div>
<p>There are {{ $b.CardCount }} cards across {{ $b.ListCount }} lists for board <a href="{{ $b.Board.URL }}">{{$b.Board.Name}}.</a></p>

View file

@ -13,7 +13,7 @@ package trello
const labelsTemplate = `
{{if gt (len .SharedLabels) 0}}
<h3>Labels</h3>
<div class="heading">Labels</div>
<p>There are {{len .SharedLabels}} common labels across the boards.</p>
<div class="section-trello-render">
<table class="trello-table" class="width-100">
@ -24,9 +24,7 @@ const labelsTemplate = `
<span class="trello-label" style="background-color: {{ $l.Color }}">{{ $l.Name }} ({{len $l.Boards}})</span>
</td>
<td class="width-75">
{{range $brd := $l.Boards}}
{{ $brd }},
{{end}}
{{range $idx, $brd := $l.Boards}}{{if gt $idx 0}}, {{end}}{{ $brd }}{{end}}.
</td>
</tr>
{{end}}

View file

@ -12,32 +12,31 @@
package trello
const membersTemplate = `
<h3>Member Stats</h3>
<p>
There are {{len .MemberBoardAssign}} members assigned to {{.CardAssignTotal}} cards of the total {{.CardTotal}} cards across {{len .Boards}} boards.
</p>
{{if gt (len .Boards) 0}}
<div class="heading">Member Stats</div>
<p>
There are {{len .MemberBoardAssign}} members assigned to {{.CardAssignTotal}} cards of the total {{.CardTotal}} cards across {{len .Boards}} boards.
</p>
<div class="section-trello-render">
<table class="trello-table" class="width-100">
<tbody>
{{range $m := .MemberBoardAssign}}
<tr>
<td>
<img class="trello-avatar" src="https://trello-avatars.s3.amazonaws.com/{{$m.AvatarHash}}/50.png" height="50" alt="Member Avatar">
</td>
<td>
<h6>{{$m.MemberName}}</h6>
<p>
{{range $ac := $m.AssignCounts}}
{{$ac.BoardName}} ({{$ac.Count}}),
{{end}}
</p>
</td>
</tr>
{{end}}
</tbody>
</table>
</div>
<div class="section-trello-render">
<table class="trello-table" class="width-100">
<tbody>
{{range $m := .MemberBoardAssign}}
<tr>
<td>
<img class="trello-avatar" src="https://trello-avatars.s3.amazonaws.com/{{$m.AvatarHash}}/50.png" height="50" alt="Member Avatar">
</td>
<td>
<h6>{{$m.MemberName}}</h6>
<p>
{{range $idx, $ac := $m.AssignCounts}}{{if gt $idx 0}}, {{end}}{{$ac.BoardName}} ({{$ac.Count}}){{end}}.
</p>
</td>
</tr>
{{end}}
</tbody>
</table>
</div>
{{end}}
`

View file

@ -264,11 +264,9 @@ type trelloBoardAssign struct {
}
type trelloRender struct {
Config trelloConfig
Boards []trelloRenderBoard
Since string
Since string
Detail trelloRenderBoard
// items below are generated during the render phase
SharedLabels []trelloSharedLabel

View file

@ -12,27 +12,27 @@
package trello
const tradTemplate = `
{{if false}}
{{range $b := .Boards}}
<p class="non-printable-message">Non-printable</p>
<div class="section-trello-render non-printable">
<p>There are {{ $b.CardCount }} cards across {{ $b.ListCount }} lists for board <a href="{{ $b.Board.URL }}">{{$b.Board.Name}}.</a></p>
<div class="trello-board" style="background-color: {{$b.Board.Prefs.BackgroundColor}}">
<a href="{{ $b.Board.URL }}"><div class="trello-board-title">{{$b.Board.Name}}</div></a>
{{range $data := $b.Data}}
<div class="trello-list">
<div class="trello-list-title">{{ $data.List.Name }}</div>
{{range $card := $data.Cards}}
<a href="{{ $card.URL }}">
<div class="trello-card">
{{ $card.Name }}
</div>
</a>
{{end}}
</div>
{{end}}
</div>
{{if ne .Detail.Board.ID ""}}
<div class="heading">Board: {{.Detail.Board.Name}}</div>
<p class="non-printable-message">Non-printable</p>
<div class="section-trello-render non-printable">
<p>There are {{ .Detail.CardCount }} cards across {{ .Detail.ListCount }} lists
for board <a href="{{ .Detail.Board.URL }}">{{.Detail.Board.Name}}.</a></p>
<div class="trello-board" style="background-color: {{.Detail.Board.Prefs.BackgroundColor}}">
<a href="{{ .Detail.Board.URL }}"><div class="trello-board-title">{{.Detail.Board.Name}}</div></a>
{{range $data := .Detail.Data}}
<div class="trello-list">
<div class="trello-list-title">{{ $data.List.Name }}</div>
{{range $card := $data.Cards}}
<a href="{{ $card.URL }}">
<div class="trello-card">
{{ $card.Name }}
</div>
</a>
{{end}}
</div>
{{end}}
</div>
{{end}}
</div>
{{end}}
`

View file

@ -186,7 +186,6 @@ func (*Provider) Refresh(ctx *provider.Context, config, data string) string {
log.IfErr(json.Unmarshal([]byte(config), &c))
save := trelloRender{}
save.Config = c
save.Boards = make([]trelloRenderBoard, 0, len(c.Boards))
if len(c.Since) >= len("yyyy/mm/dd hh:ss") {
@ -211,12 +210,24 @@ func (*Provider) Refresh(ctx *provider.Context, config, data string) string {
}
save.Since = (*c.SincePtr).Format("January 2, 2006") + dateMessage
c.AppKey = request.ConfigString(meta.ConfigHandle(), "appKey")
if c.Board.ID != "" { // set up detail board
var err error
save.Detail.Board = c.Board
save.Detail.Data, err = getCards(c)
log.IfErr(err)
save.Detail.ListCount = len(save.Detail.Data)
for _, list := range save.Detail.Data {
save.Detail.CardCount += len(list.Cards)
}
}
for _, board := range c.Boards {
if board.Included {
var payload = trelloRenderBoard{}
c.Board = board
c.AppKey = request.ConfigString(meta.ConfigHandle(), "appKey")
lsts, err := getLists(c)
log.IfErr(err)