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:
parent
2d7647e790
commit
0345c93560
8 changed files with 155 additions and 134 deletions
|
@ -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}}
|
||||
`
|
||||
|
|
|
@ -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}}
|
||||
`
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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}}
|
||||
|
|
|
@ -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}}
|
||||
`
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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}}
|
||||
`
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue