mirror of
https://gitea.com/gitea/tea.git
synced 2024-11-24 19:41:36 +01:00
a91168fd36
remove unused debug var move outputList into a struct so we can add additional functionality for all list output rename list output to table.go make table sortable sort milestones sort milestones descending remove unnecessary if Co-authored-by: Norwin Roosen <git@nroo.de> Reviewed-on: https://gitea.com/gitea/tea/pulls/281 Reviewed-by: khmarbaise <khmarbaise@noreply.gitea.io> Reviewed-by: 6543 <6543@obermui.de> Co-Authored-By: Norwin <noerw@noreply.gitea.io> Co-Committed-By: Norwin <noerw@noreply.gitea.io>
64 lines
1.3 KiB
Go
64 lines
1.3 KiB
Go
// Copyright 2020 The Gitea Authors. All rights reserved.
|
|
// Use of this source code is governed by a MIT-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package print
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"code.gitea.io/sdk/gitea"
|
|
)
|
|
|
|
// MilestoneDetails print an milestone formatted to stdout
|
|
func MilestoneDetails(milestone *gitea.Milestone) {
|
|
fmt.Printf("%s\n",
|
|
milestone.Title,
|
|
)
|
|
if len(milestone.Description) != 0 {
|
|
fmt.Printf("\n%s\n", milestone.Description)
|
|
}
|
|
if milestone.Deadline != nil && !milestone.Deadline.IsZero() {
|
|
fmt.Printf("\nDeadline: %s\n", FormatTime(*milestone.Deadline))
|
|
}
|
|
}
|
|
|
|
// MilestonesList prints a listing of milestones
|
|
func MilestonesList(miles []*gitea.Milestone, output string, state gitea.StateType) {
|
|
headers := []string{
|
|
"Title",
|
|
}
|
|
if state == gitea.StateAll {
|
|
headers = append(headers, "State")
|
|
}
|
|
headers = append(headers,
|
|
"Open/Closed Issues",
|
|
"DueDate",
|
|
)
|
|
|
|
t := table{headers: headers}
|
|
|
|
for _, m := range miles {
|
|
var deadline = ""
|
|
|
|
if m.Deadline != nil && !m.Deadline.IsZero() {
|
|
deadline = FormatTime(*m.Deadline)
|
|
}
|
|
|
|
item := []string{
|
|
m.Title,
|
|
}
|
|
if state == gitea.StateAll {
|
|
item = append(item, string(m.State))
|
|
}
|
|
item = append(item,
|
|
fmt.Sprintf("%d/%d", m.OpenIssues, m.ClosedIssues),
|
|
deadline,
|
|
)
|
|
t.addRowSlice(item)
|
|
}
|
|
|
|
t.sort(0, true)
|
|
t.print(output)
|
|
}
|