Use labelSelect to edit labels in bugView

Luke Adams created

Change summary

termui/show_bug.go | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)

Detailed changes

termui/show_bug.go 🔗

@@ -628,13 +628,12 @@ func (sb *showBug) toggleOpenClose(g *gocui.Gui, v *gocui.View) error {
 }
 
 func (sb *showBug) edit(g *gocui.Gui, v *gocui.View) error {
+	snap := sb.bug.Snapshot()
+
 	if sb.isOnSide {
-		ui.msgPopup.Activate(msgPopupErrorTitle, "Selected field is not editable.")
-		return nil
+		return sb.editLabels(g, snap)
 	}
 
-	snap := sb.bug.Snapshot()
-
 	op, err := snap.SearchTimelineItem(git.Hash(sb.selected))
 	if err != nil {
 		return err
@@ -647,12 +646,19 @@ func (sb *showBug) edit(g *gocui.Gui, v *gocui.View) error {
 	case *bug.CreateTimelineItem:
 		preMessage := op.(*bug.CreateTimelineItem).Message
 		return editCommentWithEditor(sb.bug, op.Hash(), preMessage)
+	case *bug.LabelChangeTimelineItem:
+		return sb.editLabels(g, snap)
 	}
 
 	ui.msgPopup.Activate(msgPopupErrorTitle, "Selected field is not editable.")
 	return nil
 }
 
+func (sb *showBug) editLabels(g *gocui.Gui, snap *bug.Snapshot) error {
+	ui.labelSelect.SetBug(sb.cache, sb.bug)
+	return ui.activateWindow(ui.labelSelect)
+}
+
 func (sb *showBug) addLabel(g *gocui.Gui, v *gocui.View) error {
 	c := ui.inputPopup.Activate("Add labels")