dynamo-browse/internal/dynamo-browse/controllers/events.go
Leon Mika f65c5778a9
issue-50: fixed package name (#52)
Changed package name from github.com/lmika/audax to github.com/lmika/dynamo-browse
2023-04-17 08:31:03 +10:00

72 lines
1.4 KiB
Go

package controllers
import (
"fmt"
tea "github.com/charmbracelet/bubbletea"
"github.com/lmika/dynamo-browse/internal/dynamo-browse/models"
)
type SetTableItemView struct {
ViewIndex int
}
type SettingsUpdated struct {
}
type ColumnsUpdated struct {
}
type SetSelectedColumnInColSelector int
type MoveLeftmostDisplayedColumnInTableViewBy int
type NewResultSet struct {
ResultSet *models.ResultSet
currentFilter string
filteredCount int
statusMessage string
}
func (rs NewResultSet) ModeMessage() string {
var modeLine string
if rs.ResultSet.Query != nil {
modeLine = rs.ResultSet.Query.String()
} else {
modeLine = "All results"
}
if rs.currentFilter != "" {
modeLine = fmt.Sprintf("%v - Filter: '%v'", modeLine, rs.currentFilter)
}
return modeLine
}
func (rs NewResultSet) StatusMessage() string {
if rs.statusMessage != "" {
return rs.statusMessage
}
if rs.currentFilter != "" {
return fmt.Sprintf("%d of %d items returned", rs.filteredCount, len(rs.ResultSet.Items()))
} else {
return fmt.Sprintf("%d items returned", len(rs.ResultSet.Items()))
}
}
type PromptForTableMsg struct {
Tables []string
OnSelected func(tableName string) tea.Msg
}
type ResultSetUpdated struct {
statusMessage string
}
func (rs ResultSetUpdated) StatusMessage() string {
return rs.statusMessage
}
type ShowColumnOverlay struct{}
type HideColumnOverlay struct{}