1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-28 01:29: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 package trello
const archiveTemplate = ` const archiveTemplate = `
<h3>Deleted and Archived Cards</h3> {{if gt (len .Boards) 0}}
<p>Changes since {{.Since}}.</p> <div class="heading">Deleted and Archived Cards</div>
<div class="section-trello-render"> <p>Changes since {{.Since}}.</p>
<table class="trello-table" class="width-100"> <div class="section-trello-render">
<tbody class="trello"> <table class="trello-table" class="width-100">
{{range $b := .Boards}} <tbody class="trello">
<tr> {{range $b := .Boards}}
<td> <tr>
<a href="{{ $b.Board.URL }}"> <td>
<span class="trello-board" style="background-color: {{$b.Board.Prefs.BackgroundColor}}">{{$b.Board.Name}}</span> <a href="{{ $b.Board.URL }}">
</a> <span class="trello-board" style="background-color: {{$b.Board.Prefs.BackgroundColor}}">{{$b.Board.Name}}</span>
</td> </a>
<td> </td>
{{range $act := $b.Actions}} <td>
{{if eq $act.Type "deleteCard" }} {{range $act := $b.Actions}}
Deleted: {{if eq $act.Type "deleteCard" }}
{{$act.Data.List.Name}} : {{$act.Data.Card.Name}} - {{$act.Data.Text}} 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}}
{{end}} {{range $arch := $b.Archived}}
{{range $arch := $b.Archived}} Archived:
Archived: {{$arch.Name}}
{{$arch.Name}} - {{$arch.Desc}} {{if ne $arch.Desc ""}}
<br> - {{$arch.Desc}}
{{end}} {{end}}
</td> <br>
</tr> {{end}}
{{end}} </td>
</tbody> </tr>
</table> {{end}}
</div> </tbody>
</table>
</div>
{{end}}
` `

View file

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

View file

@ -14,7 +14,7 @@ package trello
const graphsTemplate = ` const graphsTemplate = `
{{if false}} {{if false}}
<b>Single Boards (graphs)</b><br> <div class="heading">Single Boards (graphs)</div>
{{range $b := .Boards}} {{range $b := .Boards}}
<div> <div>
<p>There are {{ $b.CardCount }} cards across {{ $b.ListCount }} lists for board <a href="{{ $b.Board.URL }}">{{$b.Board.Name}}.</a></p> <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 = ` const labelsTemplate = `
{{if gt (len .SharedLabels) 0}} {{if gt (len .SharedLabels) 0}}
<h3>Labels</h3> <div class="heading">Labels</div>
<p>There are {{len .SharedLabels}} common labels across the boards.</p> <p>There are {{len .SharedLabels}} common labels across the boards.</p>
<div class="section-trello-render"> <div class="section-trello-render">
<table class="trello-table" class="width-100"> <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> <span class="trello-label" style="background-color: {{ $l.Color }}">{{ $l.Name }} ({{len $l.Boards}})</span>
</td> </td>
<td class="width-75"> <td class="width-75">
{{range $brd := $l.Boards}} {{range $idx, $brd := $l.Boards}}{{if gt $idx 0}}, {{end}}{{ $brd }}{{end}}.
{{ $brd }},
{{end}}
</td> </td>
</tr> </tr>
{{end}} {{end}}

View file

@ -12,32 +12,31 @@
package trello package trello
const membersTemplate = ` const membersTemplate = `
<h3>Member Stats</h3> {{if gt (len .Boards) 0}}
<p> <div class="heading">Member Stats</div>
There are {{len .MemberBoardAssign}} members assigned to {{.CardAssignTotal}} cards of the total {{.CardTotal}} cards across {{len .Boards}} boards. <p>
</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"> <div class="section-trello-render">
<table class="trello-table" class="width-100"> <table class="trello-table" class="width-100">
<tbody> <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>
{{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 { type trelloRender struct {
Config trelloConfig
Boards []trelloRenderBoard Boards []trelloRenderBoard
Since string
Since string Detail trelloRenderBoard
// items below are generated during the render phase // items below are generated during the render phase
SharedLabels []trelloSharedLabel SharedLabels []trelloSharedLabel

View file

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

View file

@ -186,7 +186,6 @@ func (*Provider) Refresh(ctx *provider.Context, config, data string) string {
log.IfErr(json.Unmarshal([]byte(config), &c)) log.IfErr(json.Unmarshal([]byte(config), &c))
save := trelloRender{} save := trelloRender{}
save.Config = c
save.Boards = make([]trelloRenderBoard, 0, len(c.Boards)) save.Boards = make([]trelloRenderBoard, 0, len(c.Boards))
if len(c.Since) >= len("yyyy/mm/dd hh:ss") { 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 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 { for _, board := range c.Boards {
if board.Included { if board.Included {
var payload = trelloRenderBoard{} var payload = trelloRenderBoard{}
c.Board = board c.Board = board
c.AppKey = request.ConfigString(meta.ConfigHandle(), "appKey")
lsts, err := getLists(c) lsts, err := getLists(c)
log.IfErr(err) log.IfErr(err)