From abb616699fe561fab7f32d17ff72732e0b484b13 Mon Sep 17 00:00:00 2001 From: fimtitzgerald Date: Mon, 23 Jul 2018 22:54:19 -0700 Subject: [PATCH] Add ability to open ticket queue with Enter key --- zendesk/tickets.go | 4 ---- zendesk/widget.go | 20 +++++++++++++++++++- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/zendesk/tickets.go b/zendesk/tickets.go index e66de775..b9e6f36f 100644 --- a/zendesk/tickets.go +++ b/zendesk/tickets.go @@ -13,10 +13,6 @@ type TicketArray struct { Tickets []Ticket } -type SingleTicket struct { - Ticket *Ticket `json:"ticket"` -} - type Ticket struct { Id uint64 `json:"id"` URL string `json:"url"` diff --git a/zendesk/widget.go b/zendesk/widget.go index eef67cc2..d9b557af 100644 --- a/zendesk/widget.go +++ b/zendesk/widget.go @@ -4,6 +4,8 @@ import ( "fmt" "log" + "github.com/gdamore/tcell" + "github.com/senorprogrammer/wtf/wtf" ) @@ -13,9 +15,11 @@ type Widget struct { func NewWidget() *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(" Zendesk ", "zendesk", false), + TextWidget: wtf.NewTextWidget(" Zendesk ", "zendesk", true), } + widget.View.SetInputCapture(widget.keyboardIntercept) + return &widget } @@ -66,3 +70,17 @@ func (widget *Widget) parseRequester(ticket Ticket) interface{} { fromName := fromValMap["name"] return fromName } + +func (widget *Widget) openTicket() { + wtf.OpenFile("https://" + subdomain + ".zendesk.com") +} + +func (widget *Widget) keyboardIntercept(event *tcell.EventKey) *tcell.EventKey { + switch event.Key() { + case tcell.KeyEnter: + widget.openTicket() + return nil + default: + return event + } +}