File tree 6 files changed +34
-2
lines changed
6 files changed +34
-2
lines changed Original file line number Diff line number Diff line change @@ -30,6 +30,7 @@ This should be all that's needed to get going.
30
30
<enter> - select item
31
31
q - go back / quit
32
32
L - Label view (query results page only)
33
+ E - Edit ticket
33
34
34
35
### Configuration
35
36
Original file line number Diff line number Diff line change @@ -28,6 +28,10 @@ type ItemSelecter interface {
28
28
SelectItem ()
29
29
}
30
30
31
+ type TicketEditer interface {
32
+ EditTicket ()
33
+ }
34
+
31
35
type PagePager interface {
32
36
NextLine (int )
33
37
PreviousLine (int )
Original file line number Diff line number Diff line change @@ -26,6 +26,10 @@ func (p *TicketListPage) GoBack() {
26
26
changePage ()
27
27
}
28
28
29
+ func (p * TicketListPage ) EditTicket () {
30
+ runJiraCmdEdit (p .GetSelectedTicketId ())
31
+ }
32
+
29
33
func (p * TicketListPage ) Create (opts ... interface {}) {
30
34
ui .Clear ()
31
35
var label string
Original file line number Diff line number Diff line change 6
6
7
7
type TicketShowPage struct {
8
8
BaseListPage
9
+ TicketId string
9
10
}
10
11
11
12
func (p * TicketShowPage ) PreviousPage () {
@@ -22,6 +23,10 @@ func (p *TicketShowPage) GoBack() {
22
23
changePage ()
23
24
}
24
25
26
+ func (p * TicketShowPage ) EditTicket () {
27
+ runJiraCmdEdit (p .TicketId )
28
+ }
29
+
25
30
func (p * TicketShowPage ) lastDisplayedLine () int {
26
31
return lastLineDisplayed (p .uiList , p .firstDisplayLine , 5 )
27
32
}
@@ -32,8 +37,8 @@ func (p *TicketShowPage) Create(opts ...interface{}) {
32
37
p .uiList = ls
33
38
p .selectedLine = 0
34
39
p .firstDisplayLine = 0
35
- ticketId : = ticketListPage .GetSelectedTicketId ()
36
- p .cachedResults = JiraTicketAsStrings (ticketId )
40
+ p . TicketId = ticketListPage .GetSelectedTicketId ()
41
+ p .cachedResults = JiraTicketAsStrings (p . TicketId )
37
42
p .displayLines = make ([]string , len (p .cachedResults ))
38
43
ls .ItemFgColor = ui .ColorYellow
39
44
ls .Height = ui .TermHeight ()
Original file line number Diff line number Diff line change @@ -35,6 +35,9 @@ func registerKeyboardHandlers() {
35
35
ui .Handle ("/sys/kbd/C-b" , func (ui.Event ) {
36
36
handlePageUpKey ()
37
37
})
38
+ ui .Handle ("/sys/kbd/E" , func (ui.Event ) {
39
+ handleEditKey ()
40
+ })
38
41
ui .Handle ("/sys/wnd/resize" , func (ui.Event ) {
39
42
handleResize ()
40
43
})
@@ -49,6 +52,12 @@ func handleLabelViewKey() {
49
52
changePage ()
50
53
}
51
54
55
+ func handleEditKey () {
56
+ if obj , ok := currentPage .(TicketEditer ); ok {
57
+ obj .EditTicket ()
58
+ }
59
+ }
60
+
52
61
func handleBackKey () {
53
62
if obj , ok := currentPage .(GoBacker ); ok {
54
63
obj .GoBack ()
Original file line number Diff line number Diff line change @@ -25,6 +25,15 @@ func countLabelsFromQuery(query string) map[string]int {
25
25
return counts
26
26
}
27
27
28
+ func runJiraCmdEdit (ticketId string ) {
29
+ opts := getJiraOpts ()
30
+ c := jira .New (opts )
31
+ ui .Close ()
32
+ c .CmdEdit (ticketId )
33
+ log .Notice ("Regrettably, need to exit after edit. See https://github.com/mikepea/go-jira-ui/issues/8" )
34
+ os .Exit (0 )
35
+ }
36
+
28
37
func runJiraQuery (query string ) (interface {}, error ) {
29
38
opts := getJiraOpts ()
30
39
opts ["query" ] = query
You can’t perform that action at this time.
0 commit comments