Documentation ¶
Index ¶
- Constants
- Variables
- func AsKey(evt *tcell.EventKey) tcell.Key
- func SortMapByKeys(m map[string]tview.Primitive) map[string]tview.Primitive
- func SortMapKeys(m map[string]tview.Primitive) []string
- func TrimCell(tv *SelectTable, row, col int) string
- type ActionHandler
- type App
- func (a *App) AddActions(aa KeyActions)
- func (a *App) BailOut()
- func (a *App) BufferActive(state bool, kind model.BufferKind)
- func (a *App) BufferChanged(_, _ string)
- func (a *App) BufferCompleted(_, _ string)
- func (a *App) CmdBuff() *model.FishBuff
- func (a *App) Crumbs() *Crumbs
- func (a *App) Flash() *model.Flash
- func (a *App) FlashView() *Flash
- func (a *App) GetActions() KeyActions
- func (a *App) GetCmd() string
- func (a *App) HasAction(key tcell.Key) (KeyAction, bool)
- func (a *App) HasCmd() bool
- func (a *App) InCmdMode() bool
- func (a *App) Init()
- func (a *App) IsRunning() bool
- func (a *App) Menu() *Menu
- func (a *App) Prompt() *Prompt
- func (a *App) QueueUpdate(f func())
- func (a *App) QueueUpdateDraw(f func())
- func (a *App) ResetCmd()
- func (a *App) ResetPrompt(m PromptModel)
- func (a *App) SetRunning(f bool)
- func (a *App) SuggestionChanged(ss []string)
- func (a *App) UpdateContext(ctx context.Context)
- func (a *App) Views() map[string]tview.Primitive
- type CloudSelectionScreen
- type Crumbs
- type DropDown
- type DropdownSelectedFn
- type Flash
- type Info
- type KeyAction
- type KeyActions
- type Lister
- type Logo
- type Menu
- type OptionWithAction
- type Pages
- type Prompt
- func (p *Prompt) BufferActive(activate bool, kind model.BufferKind)
- func (p *Prompt) BufferChanged(text, suggestion string)
- func (p *Prompt) BufferCompleted(text, suggestion string)
- func (p *Prompt) InCmdMode() bool
- func (p *Prompt) SendKey(evt *tcell.EventKey)
- func (p *Prompt) SendStrokes(s string)
- func (p *Prompt) SetModel(m PromptModel)
- func (p *Prompt) SuggestionChanged(text, suggestion string)
- type PromptModel
- type ResourceViewerListener
- type SelectTable
- func (s *SelectTable) ClearMarks()
- func (s *SelectTable) ClearSelection()
- func (s *SelectTable) DeleteMark(k string)
- func (s *SelectTable) GetModel() Tabular
- func (s *SelectTable) GetRowID(index int) (string, bool)
- func (s *SelectTable) GetSecondColumn() string
- func (s *SelectTable) GetSelectedCell(col int) string
- func (s *SelectTable) GetSelectedItem() string
- func (s *SelectTable) GetSelectedItems() []string
- func (s *SelectTable) GetSelectedRowIndex() int
- func (s *SelectTable) IsMarked(item string) bool
- func (s *SelectTable) SelectFirstRow()
- func (s *SelectTable) SelectRow(r int, broadcast bool)
- func (s *SelectTable) SetModel(m Tabular)
- func (s *SelectTable) SetSelectedFn(f func(string) string)
- func (s *SelectTable) SpanMark()
- func (s *SelectTable) ToggleMark()
- type SortColumn
- type SortFn
- type Splash
- type StatusIndicator
- type Suggester
- type Table
- func (t *Table) Actions() KeyActions
- func (t *Table) AddHeaderCell(col int, h render.HeaderColumn)
- func (t *Table) ClearMarks()
- func (t *Table) Hints() model.MenuHints
- func (t *Table) Init(ctx context.Context)
- func (t *Table) Refresh()
- func (t *Table) ResetToast()
- func (t *Table) Resource() string
- func (t *Table) SortColCmd(name string, asc bool) func(evt *tcell.EventKey) *tcell.EventKey
- func (t *Table) ToggleToast()
- func (t *Table) ToggleWide()
- func (t *Table) Update(data *render.TableData)
- func (t *Table) UpdateTitle()
- type Tabular
- type Viewer
Constants ¶
const ( Key0 tcell.Key = iota + 48 Key1 Key2 Key3 Key4 Key5 Key6 Key7 Key8 Key9 )
Defines numeric keys for container actions.
const ( KeyShift0 tcell.Key = 41 KeyShift1 tcell.Key = 33 KeyShift2 tcell.Key = 64 KeyShift3 tcell.Key = 35 KeyShift4 tcell.Key = 36 KeyShift5 tcell.Key = 37 KeyShift6 tcell.Key = 94 KeyShift7 tcell.Key = 38 KeyShift8 tcell.Key = 42 KeyShift9 tcell.Key = 40 )
Defines numeric keys for container actions.
const ( KeyA tcell.Key = iota + 97 KeyB KeyC KeyD KeyE KeyF KeyG KeyH KeyI KeyJ KeyK KeyL KeyM KeyN KeyO KeyP KeyQ KeyR KeyS KeyT KeyU KeyV KeyW KeyX KeyY KeyZ KeyHelp = 63 KeySlash = 47 KeyColon = 58 KeySpace = 32 )
Defines char keystrokes.
const ( KeyShiftA tcell.Key = iota + 65 KeyShiftB KeyShiftC KeyShiftD KeyShiftE KeyShiftF KeyShiftG KeyShiftH KeyShiftI KeyShiftJ KeyShiftK KeyShiftL KeyShiftM KeyShiftN KeyShiftO KeyShiftP KeyShiftQ KeyShiftR KeyShiftS KeyShiftT KeyShiftU KeyShiftV KeyShiftW KeyShiftX KeyShiftY KeyShiftZ )
Define Shift Keys.
const DropDownIndicatiorColor string = "green"
const DropdownPadSpaces int = 3
Variables ¶
var LogoBig = []string{
`█▀▀ █ █▀▀█ █ █ █▀▀▄ █ █▀▀ █▀▀▄ █▀▀`,
`█ █ █ █ █ █ █ █ █ █▀▀ █ █ ▀▀█`,
`▀▀▀ ▀▀▀ ▀▀▀▀ ▀▀▀ ▀▀▀ ▀▀▀ ▀▀▀ ▀ ▀ ▀▀▀`,
}
LogoBig cls big logo for splash page.
var LogoSmall = []string{
`_________ .__ `,
`\_ ___ \| | ______`,
`/ \ \/| | / ___/`,
`\ \___| |__\___ \ `,
` \______ /____/____ >`,
` \/ \/ `,
}
LogoSmall cls small log.
var NumKeys = map[int]tcell.Key{ 0: Key0, 1: Key1, 2: Key2, 3: Key3, 4: Key4, 5: Key5, 6: Key6, 7: Key7, 8: Key8, 9: Key9, }
NumKeys tracks number keys.
Functions ¶
func TrimCell ¶
func TrimCell(tv *SelectTable, row, col int) string
TrimCell removes superfluous padding.
Types ¶
type ActionHandler ¶
type ActionHandler func(*tcell.EventKey) *tcell.EventKey
ActionHandler handles a keyboard command.
type App ¶
type App struct { *tview.Application Main *Pages // contains filtered or unexported fields }
func (*App) AddActions ¶
func (a *App) AddActions(aa KeyActions)
AddActions returns the application actions.
func (*App) BufferActive ¶
func (a *App) BufferActive(state bool, kind model.BufferKind)
BufferActive indicates the buff activity changed.
func (*App) BufferChanged ¶
BufferChanged indicates the buffer was changed.
func (*App) BufferCompleted ¶
BufferCompleted indicates input was accepted.
func (*App) GetActions ¶
func (a *App) GetActions() KeyActions
GetActions returns a collection of actions.
func (*App) QueueUpdateDraw ¶
func (a *App) QueueUpdateDraw(f func())
QueueUpdateDraw queues up a ui action and redraw the ui.
func (*App) ResetPrompt ¶
func (a *App) ResetPrompt(m PromptModel)
ResetPrompt reset the prompt model and marks buffer as active.
func (*App) SuggestionChanged ¶
SuggestionChanged notifies of update to command suggestions.
func (*App) UpdateContext ¶ added in v0.1.4
type CloudSelectionScreen ¶ added in v0.1.4
func NewCloudSelectionScreen ¶ added in v0.1.4
func NewCloudSelectionScreen(optionsWithAction OptionWithAction, version string) *CloudSelectionScreen
func (*CloudSelectionScreen) GetFocusItem ¶ added in v0.1.4
func (c *CloudSelectionScreen) GetFocusItem() *tview.List
type Crumbs ¶
Crumbs represents user breadcrumbs.
func (*Crumbs) StackPopped ¶
StackPopped indicates an item was deleted.
func (*Crumbs) StackPushed ¶
StackPushed indicates a new item was added.
type DropDown ¶
func NewDropDown ¶
func (*DropDown) SetSelectedFn ¶
func (d *DropDown) SetSelectedFn(selectedFn DropdownSelectedFn)
type DropdownSelectedFn ¶
type Flash ¶
Flash represents a flash message indicator.
func (*Flash) SetMessage ¶
func (f *Flash) SetMessage(m model.LevelMessage)
SetMessage sets flash message and level.
type KeyAction ¶
type KeyAction struct { Description string Action ActionHandler Visible bool }
KeyAction represents a keyboard action.
func NewKeyAction ¶
func NewKeyAction(d string, a ActionHandler, display bool) KeyAction
NewKeyAction returns a new keyboard action.
func NewSharedKeyAction ¶
func NewSharedKeyAction(d string, a ActionHandler, display bool) KeyAction
NewSharedKeyAction returns a new shared keyboard action.
type KeyActions ¶
type KeyActions map[tcell.Key]KeyAction
KeyActions tracks mappings between keystrokes and actions.
func (KeyActions) Add ¶
func (a KeyActions) Add(aa KeyActions)
Add sets up keyboard action listener.
func (KeyActions) Delete ¶
func (a KeyActions) Delete(kk ...tcell.Key)
Delete deletes actions by the given keys.
func (KeyActions) Hints ¶
func (a KeyActions) Hints() model.MenuHints
Hints returns a collection of hints.
type Lister ¶
type Lister interface { // Get returns a resource instance. Get(ctx context.Context, path string) (dao.Object, error) }
Lister represents a viewable resource.
type Menu ¶
Menu presents menu options.
func (*Menu) HydrateMenu ¶
HydrateMenu populate menu ui from hints.
func (*Menu) StackPopped ¶
StackPopped notifies a component was removed.
func (*Menu) StackPushed ¶
StackPushed notifies a component was added.
type OptionWithAction ¶ added in v0.1.4
type OptionWithAction map[string]func()
type Pages ¶
Pages represents a stack of view pages.
func (*Pages) IsTopDialog ¶
IsTopDialog checks if front page is a dialog.
func (*Pages) StackPopped ¶
StackPopped notifies a component was removed.
func (*Pages) StackPushed ¶
StackPushed notifies a new component was pushed.
type Prompt ¶
Prompt captures users free from command input.
func (*Prompt) BufferActive ¶
func (p *Prompt) BufferActive(activate bool, kind model.BufferKind)
BufferActive indicates the buff activity changed.
func (*Prompt) BufferChanged ¶
BufferChanged indicates the buffer was changed.
func (*Prompt) BufferCompleted ¶
BufferCompleted indicates input was accepted.
func (*Prompt) SendKey ¶
func (p *Prompt) SendKey(evt *tcell.EventKey)
SendKey sends an keyboard event (testing only!).
func (*Prompt) SetModel ¶
func (p *Prompt) SetModel(m PromptModel)
SetModel sets the prompt buffer model.
func (*Prompt) SuggestionChanged ¶
SuggestionChanged notifies the suggestion changed.
type PromptModel ¶
type PromptModel interface { // SetText sets the model text. SetText(txt, sug string) // GetText returns the current text. GetText() string // GetSuggestion returns the current suggestion. GetSuggestion() string // ClearText clears out model text. ClearText(fire bool) // Notify notifies all listener of current suggestions. Notify(bool) // AddListener registers a command listener. AddListener(model.BuffWatcher) // RemoveListener removes a listener. RemoveListener(model.BuffWatcher) // IsActive returns true if prompt is active. IsActive() bool // SetActive sets whether the prompt is active or not. SetActive(bool) // Add adds a new char to the prompt. Add(rune) // Delete deletes the last prompt character. Delete() }
PromptModel represents a prompt buffer.
type ResourceViewerListener ¶
type SelectTable ¶
SelectTable represents a table with selections.
func (*SelectTable) ClearMarks ¶
func (s *SelectTable) ClearMarks()
ClearMarks delete all marked items.
func (*SelectTable) ClearSelection ¶
func (s *SelectTable) ClearSelection()
ClearSelection reset selected row.
func (*SelectTable) DeleteMark ¶
func (s *SelectTable) DeleteMark(k string)
DeleteMark delete a marked item.
func (*SelectTable) GetModel ¶
func (s *SelectTable) GetModel() Tabular
GetModel returns the current model.
func (*SelectTable) GetRowID ¶
func (s *SelectTable) GetRowID(index int) (string, bool)
GetRowID returns the row id at at given location.
func (*SelectTable) GetSecondColumn ¶
func (s *SelectTable) GetSecondColumn() string
func (*SelectTable) GetSelectedCell ¶
func (s *SelectTable) GetSelectedCell(col int) string
GetSelectedCell returns the content of a cell for the currently selected row.
func (*SelectTable) GetSelectedItem ¶
func (s *SelectTable) GetSelectedItem() string
GetSelectedItem returns the currently selected item name.
func (*SelectTable) GetSelectedItems ¶
func (s *SelectTable) GetSelectedItems() []string
GetSelectedItems return currently marked or selected items names.
func (*SelectTable) GetSelectedRowIndex ¶
func (s *SelectTable) GetSelectedRowIndex() int
GetSelectedRowIndex fetch the currently selected row index.
func (*SelectTable) IsMarked ¶
func (s *SelectTable) IsMarked(item string) bool
IsMarked returns true if this item was marked.
func (*SelectTable) SelectFirstRow ¶
func (s *SelectTable) SelectFirstRow()
SelectFirstRow select first data row if any.
func (*SelectTable) SelectRow ¶
func (s *SelectTable) SelectRow(r int, broadcast bool)
SelectRow select a given row by index.
func (*SelectTable) SetModel ¶
func (s *SelectTable) SetModel(m Tabular)
SetModel sets the table model.
func (*SelectTable) SetSelectedFn ¶
func (s *SelectTable) SetSelectedFn(f func(string) string)
SetSelectedFn defines a function that cleanse the current selection.
type SortColumn ¶
type SortColumn struct {
// contains filtered or unexported fields
}
SortColumn represents a sortable column.
type SortFn ¶
type SortFn func(rows render.Rows, sortCol SortColumn)
SortFn represent a function that can sort columnar data.
type StatusIndicator ¶
func NewStatusIndicator ¶
func NewStatusIndicator(app *App) *StatusIndicator
NewStatusIndicator returns a new status indicator.
func (*StatusIndicator) SetPermanent ¶
func (s *StatusIndicator) SetPermanent(info string)
SetPermanent sets permanent title to be reset to after updates.
type Suggester ¶
type Suggester interface { // CurrentSuggestion returns the current suggestion. CurrentSuggestion() (string, bool) // NextSuggestion returns the next suggestion. NextSuggestion() (string, bool) // PrevSuggestion returns the prev suggestion. PrevSuggestion() (string, bool) // ClearSuggestions clear out all suggestions. ClearSuggestions() }
Suggester provides suggestions.
type Table ¶
type Table struct { *SelectTable // contains filtered or unexported fields }
Table represents tabular data.
func (*Table) AddHeaderCell ¶
func (t *Table) AddHeaderCell(col int, h render.HeaderColumn)
AddHeaderCell configures a table cell header.
func (*Table) SortColCmd ¶
SortColCmd designates a sorted column.
func (*Table) ToggleToast ¶
func (t *Table) ToggleToast()
ToggleToast toggles to show toast resources.
type Tabular ¶
type Tabular interface { Lister // Empty returns true if model has no data. Empty() bool // Count returns the model data count. Count() int // Peek returns current model data. Peek() *render.TableData //Watch watches a given resource for changes. Watch(context.Context) error // Refresh forces a new refresh. Refresh(context.Context) error // SetRefreshRate sets the model watch loop rate. SetRefreshRate(time.Duration) // AddListener registers a model listener. AddListener(model.TableListener) // RemoveListener unregister a model listener. RemoveListener(model.TableListener) }
Tabular represents a tabular model.