ui

package
v0.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 12, 2023 License: MIT Imports: 25 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// DeltaSign signals a diff.
	DeltaSign = "Δ"
	// PlusSign signals inc.
	PlusSign = "[red::b]↑"
	// MinusSign signal dec.
	MinusSign = "[green::b]↓"
)
View Source
const (
	Key0 tcell.Key = iota + 48
	Key1
	Key2
	Key3
	Key4
	Key5
	Key6
	Key7
	Key8
	Key9
)

Defines numeric keys for container actions.

View Source
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.

View Source
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.

View Source
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.

View Source
const (
	// DefaultColorName indicator to keep term colors.
	DefaultColorName = "default"

	// SearchFmt represents a filter view title.
	SearchFmt = "<[filter:bg:r]/%s[fg:bg:-]> "

	// NSTitleFmt represents a namespaced view title.
	NSTitleFmt = "[fg:bg:b] %s([hilite:bg:b]%s[fg:bg:-])[fg:bg:-][[count:bg:b]%d[fg:bg:-]][fg:bg:-] "

	// TitleFmt represents a standard view title.
	TitleFmt = "[fg:bg:b] %s[fg:bg:-][[count:bg:b]%d[fg:bg:-]][fg:bg:-] "

	// FullFmat specifies a namespaced dump file name.
	FullFmat = "%s-%s-%d.csv"

	// NoNSFmat specifies a cluster wide dump file name.
	NoNSFmat = "%s-%d.csv"
)
View Source
const TimeLayout = "2006-01-02 15:04:05"

Variables

View Source
var (
	// LabelRx identifies a label query.
	LabelRx = regexp.MustCompile(`\A\-l`)
)
View Source
var LogoBig = []string{
	` __  __  __     __     __   __  __  __    ___      __`,
	`/\ \/\ \/\ \  /'__'\ /'__'\/\ \/\ \/\ \  / __'\  /'__'\ `,
	`\ \ \_/ \_/ \/\  __//\  __/\ \ \_/ \_/ \/\ \L\ \/\  __/ `,
	` \ \___x___/'\ \____\ \____\\ \___x___/'\ \____/\ \____\`,
	`  \/__//__/   \/____/\/____/ \/__//__/   \/___/  \/____/`,
}

LogoBig WeeWoe big logo for splash page.

View Source
var LogoSmall = []string{

	`__  _  __ ____   ______  _  ______   ____`,
	`\ \/ \/ // __ \_/ __ \ \/ \/ /  _ \_/ __ \ `,
	` \     /\  ___/\  ___/\     (  <_> )  ___/`,
	`  \/\_/  \___  >\___  >\/\_/ \____/ \___  >`,
}

LogoSmall WeeWoe small log.

View Source
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 AsKey

func AsKey(evt *tcell.EventKey) tcell.Key

AsKey converts rune to keyboard key.,.

func AsPercDelta

func AsPercDelta(ov, nv int) string

AsPercDelta represents a percentage with a delta indicator.

func BenchConfig

func BenchConfig(context string) string

BenchConfig location of the benchmarks configuration file.

func ComputeMaxColumns

func ComputeMaxColumns(pads MaxyPad, sortColName string, header render.Header, ee render.RowEvents)

ComputeMaxColumns figures out column max size and necessary padding.

func Deltas

func Deltas(o, n string) string

Deltas signals diffs between 2 strings.

func IsASCII

func IsASCII(s string) bool

IsASCII checks if table cell has all ascii characters.

func IsFuzzySelector

func IsFuzzySelector(s string) bool

IsFuzzySelector checks if query is fuzzy.

func IsInverseSelector

func IsInverseSelector(s string) bool

IsInverseSelector checks if inverse char has been provided.

func IsLabelSelector

func IsLabelSelector(s string) bool

IsLabelSelector checks if query is a label query.

func Pad

func Pad(s string, width int) string

Pad a string up to the given length or truncates if greater than length.

func SkinTitle

func SkinTitle(fmat string, style config.Frame) string

SkinTitle decorates a title.

func TrimCell

func TrimCell(tv *SelectTable, row, col int) string

TrimCell removes superfluous padding.

func TrimLabelSelector

func TrimLabelSelector(s string) string

TrimLabelSelector extracts label query.

func Truncate

func Truncate(str string, width int) string

Truncate a string to the given l and suffix ellipsis if needed.

Types

type ActionHandler

type ActionHandler func(*tcell.EventKey) *tcell.EventKey

ActionHandler handles a keyboard command.

type App

type App struct {
	*tview.Application
	Configurator

	Main *Pages
	// contains filtered or unexported fields
}

App represents an application.

func NewApp

func NewApp(cfg *config.Config, context string) *App

NewApp returns a new app.

func (*App) ActivateCmd

func (a *App) ActivateCmd(b bool)

ActivateCmd toggle command mode.

func (*App) AddActions

func (a *App) AddActions(aa KeyActions)

AddActions returns the application actions.

func (*App) BailOut

func (a *App) BailOut()

BailOut exists the application.

func (*App) BufferActive

func (a *App) BufferActive(state bool, kind model.BufferKind)

BufferActive indicates the buff activity changed.

func (*App) BufferChanged

func (a *App) BufferChanged(_, _ string)

BufferChanged indicates the buffer was changed.

func (*App) BufferCompleted

func (a *App) BufferCompleted(_, _ string)

BufferCompleted indicates input was accepted.

func (*App) CmdBuff

func (a *App) CmdBuff() *model.FishBuff

CmdBuff returns the app cmd model.

func (*App) Crumbs

func (a *App) Crumbs() *Crumbs

Crumbs return app crumbs.

func (*App) Flash

func (a *App) Flash() *model.Flash

Flash returns a flash model.

func (*App) GetActions

func (a *App) GetActions() KeyActions

GetActions returns a collection of actions.

func (*App) GetCmd

func (a *App) GetCmd() string

GetCmd retrieves user command.

func (*App) HasAction

func (a *App) HasAction(key tcell.Key) (KeyAction, bool)

HasAction checks if key matches a registered binding.

func (*App) HasCmd

func (a *App) HasCmd() bool

HasCmd check if cmd buffer is active and has a command.

func (*App) InCmdMode

func (a *App) InCmdMode() bool

InCmdMode check if command mode is active.

func (*App) Init

func (a *App) Init()

Init initializes the application.

func (*App) IsRunning

func (a *App) IsRunning() bool

IsRunning checks if app is actually running.

func (a *App) Logo() *Logo

Logo return the app logo.

func (*App) Menu

func (a *App) Menu() *Menu

Menu returns app menu.

func (*App) Prompt

func (a *App) Prompt() *Prompt

Prompt returns command prompt.

func (*App) QueueUpdate

func (a *App) QueueUpdate(f func())

QueueUpdate queues up a ui action.

func (*App) QueueUpdateDraw

func (a *App) QueueUpdateDraw(f func())

QueueUpdateDraw queues up a ui action and redraw the ui.

func (*App) ReloadStyles

func (a *App) ReloadStyles(context string)

ReloadStyles reloads skin file.

func (*App) ResetCmd

func (a *App) ResetCmd()

ResetCmd clear out user command.

func (*App) ResetPrompt

func (a *App) ResetPrompt(m PromptModel)

ResetPrompt reset the prompt model and marks buffer as active.

func (*App) SetRunning

func (a *App) SetRunning(f bool)

SetRunning sets the app run state.

func (*App) StylesChanged

func (a *App) StylesChanged(s *config.Styles)

StylesChanged notifies the skin changed.

func (*App) SuggestionChanged

func (a *App) SuggestionChanged(ss []string)

SuggestionChanged notifies of update to command suggestions.

func (*App) Views

func (a *App) Views() map[string]tview.Primitive

Views return the application root views.

type ColorerFunc

type ColorerFunc func(ns string, evt render.RowEvent) tcell.Color

ColorerFunc represents a row colorer.

type Configurator

type Configurator struct {
	Config     *config.Config
	Styles     *config.Styles
	CustomView *config.CustomView
	BenchFile  string
	// contains filtered or unexported fields
}

Configurator represents an application configuration.

func (*Configurator) CustomViewsWatcher

func (c *Configurator) CustomViewsWatcher(ctx context.Context, s synchronizer) error

CustomViewsWatcher watches for view config file changes.

func (*Configurator) HasSkin

func (c *Configurator) HasSkin() bool

HasSkin returns true if a skin file was located.

func (*Configurator) RefreshCustomViews

func (c *Configurator) RefreshCustomViews()

RefreshCustomViews load view configuration changes.

func (*Configurator) RefreshStyles

func (c *Configurator) RefreshStyles(context string)

RefreshStyles load for skin configuration changes.

func (*Configurator) StylesWatcher

func (c *Configurator) StylesWatcher(ctx context.Context, s synchronizer) error

StylesWatcher watches for skin file changes.

type Crumbs

type Crumbs struct {
	*tview.TextView
	// contains filtered or unexported fields
}

Crumbs represents user breadcrumbs.

func NewCrumbs

func NewCrumbs(styles *config.Styles) *Crumbs

NewCrumbs returns a new breadcrumb view.

func (*Crumbs) StackPopped

func (c *Crumbs) StackPopped(_, _ model.Component)

StackPopped indicates an item was deleted.

func (*Crumbs) StackPushed

func (c *Crumbs) StackPushed(comp model.Component)

StackPushed indicates a new item was added.

func (*Crumbs) StackTop

func (c *Crumbs) StackTop(top model.Component)

StackTop indicates the top of the stack.

func (*Crumbs) StylesChanged

func (c *Crumbs) StylesChanged(s *config.Styles)

StylesChanged notifies skin changed.

type DecorateFunc

type DecorateFunc func(render.TableData) render.TableData

DecorateFunc represents a row decorator.

type Flash

type Flash struct {
	*tview.TextView
	// contains filtered or unexported fields
}

Flash represents a flash message indicator.

func NewFlash

func NewFlash(app *App) *Flash

NewFlash returns a new flash view.

func (*Flash) SetMessage

func (f *Flash) SetMessage(m model.LevelMessage)

SetMessage sets flash message and level.

func (*Flash) SetTestMode

func (f *Flash) SetTestMode(b bool)

SetTestMode for testing ONLY!

func (*Flash) StylesChanged

func (f *Flash) StylesChanged(s *config.Styles)

StylesChanged notifies listener the skin changed.

func (*Flash) Watch

func (f *Flash) Watch(ctx context.Context, c model.FlashChan)

Watch watches for flash changes.

type KeyAction

type KeyAction struct {
	Description string
	Action      ActionHandler
	Visible     bool
	Shared      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) Clear

func (a KeyActions) Clear()

Clear remove all actions.

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.

func (KeyActions) Set

func (a KeyActions) Set(aa KeyActions)

Set replace actions with new ones.

type KeyListenerFunc

type KeyListenerFunc func()

KeyListenerFunc listens to key presses.

type Logo struct {
	*tview.Flex
	// contains filtered or unexported fields
}

Logo represents a W2 logo.

func NewLogo(styles *config.Styles) *Logo

NewLogo returns a new logo.

func (*Logo) Err

func (l *Logo) Err(msg string)

Err displays a log error state.

func (*Logo) Info

func (l *Logo) Info(msg string)

Info displays a log info state.

func (*Logo) IsBenchmarking

func (l *Logo) IsBenchmarking() bool

IsBenchmarking checks if benchmarking is active or not.

func (l *Logo) Logo() *tview.TextView

Logo returns the logo viewer.

func (*Logo) Reset

func (l *Logo) Reset()

Reset clears out the logo view and resets colors.

func (*Logo) Status

func (l *Logo) Status() *tview.TextView

Status returns the status viewer.

func (*Logo) StylesChanged

func (l *Logo) StylesChanged(s *config.Styles)

StylesChanged notifies the skin changed.

func (*Logo) Warn

func (l *Logo) Warn(msg string)

Warn displays a log warning state.

type MaxyPad

type MaxyPad []int

MaxyPad tracks uniform column padding.

type Menu struct {
	*tview.Table
	// contains filtered or unexported fields
}

Menu presents menu options.

func NewMenu

func NewMenu(styles *config.Styles) *Menu

NewMenu returns a new menu.

func (m *Menu) HydrateMenu(hh model.MenuHints)

HydrateMenu populate menu ui from hints.

func (m *Menu) StackPopped(o, top model.Component)

StackPopped notifies a component was removed.

func (m *Menu) StackPushed(c model.Component)

StackPushed notifies a component was added.

func (m *Menu) StackTop(t model.Component)

StackTop notifies the top component.

func (m *Menu) StylesChanged(s *config.Styles)

StylesChanged notifies skin changed.

type Namespaceable

type Namespaceable interface {
	// ClusterWide returns true if the model represents resource in all namespaces.
	ClusterWide() bool

	// GetNamespace returns the model namespace.
	GetNamespace() string

	// SetNamespace changes the model namespace.
	SetNamespace(string)

	// InNamespace check if current namespace matches models.
	InNamespace(string) bool
}

Namespaceable represents a namespaceable model.

type Pages

type Pages struct {
	*tview.Pages
	*model.Stack
}

Pages represents a stack of view pages.

func NewPages

func NewPages() *Pages

NewPages return a new view.

func (*Pages) Current

func (p *Pages) Current() model.Component

Current returns the current component.

func (*Pages) Dump

func (p *Pages) Dump()

Dump for debug.

func (*Pages) IsTopDialog

func (p *Pages) IsTopDialog() bool

IsTopDialog checks if front page is a dialog.

func (*Pages) Show

func (p *Pages) Show(c model.Component)

Show displays a given page.

func (*Pages) StackPopped

func (p *Pages) StackPopped(o, top model.Component)

StackPopped notifies a component was removed.

func (*Pages) StackPushed

func (p *Pages) StackPushed(c model.Component)

StackPushed notifies a new component was pushed.

func (*Pages) StackTop

func (p *Pages) StackTop(top model.Component)

StackTop notifies a new component is at the top of the stack.

type Prompt

type Prompt struct {
	*tview.TextView
	// contains filtered or unexported fields
}

Prompt captures users free from command input.

func NewPrompt

func NewPrompt(app *App, noIcons bool, styles *config.Styles) *Prompt

NewPrompt returns a new command view.

func (*Prompt) BufferActive

func (p *Prompt) BufferActive(activate bool, kind model.BufferKind)

BufferActive indicates the buff activity changed.

func (*Prompt) BufferChanged

func (p *Prompt) BufferChanged(text, suggestion string)

BufferChanged indicates the buffer was changed.

func (*Prompt) BufferCompleted

func (p *Prompt) BufferCompleted(text, suggestion string)

BufferCompleted indicates input was accepted.

func (*Prompt) InCmdMode

func (p *Prompt) InCmdMode() bool

InCmdMode returns true if command is active, false otherwise.

func (*Prompt) SendKey

func (p *Prompt) SendKey(evt *tcell.EventKey)

SendKey sends an keyboard event (testing only!).

func (*Prompt) SendStrokes

func (p *Prompt) SendStrokes(s string)

SendStrokes (testing only!)

func (*Prompt) SetModel

func (p *Prompt) SetModel(m PromptModel)

SetModel sets the prompt buffer model.

func (*Prompt) StylesChanged

func (p *Prompt) StylesChanged(s *config.Styles)

StylesChanged notifies skin changed.

func (*Prompt) SuggestionChanged

func (p *Prompt) SuggestionChanged(text, suggestion string)

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 SelectTable

type SelectTable struct {
	*tview.Table
	// contains filtered or unexported fields
}

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) 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) GetSelectedItem2

func (s *SelectTable) GetSelectedItem2() string

GetSelectedItem2 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.

func (*SelectTable) SpanMark

func (s *SelectTable) SpanMark()

SpanMark toggles marked row.

func (*SelectTable) ToggleMark

func (s *SelectTable) ToggleMark()

ToggleMark toggles marked row.

type SelectedRowFunc

type SelectedRowFunc func(r int)

SelectedRowFunc a table selection callback.

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 Splash

type Splash struct {
	*tview.Flex
}

Splash represents a splash screen.

func NewSplash

func NewSplash(styles *config.Styles, version string) *Splash

NewSplash instantiates a new splash screen with product and company info.

type StatusIndicator

type StatusIndicator struct {
	*tview.TextView
	// contains filtered or unexported fields
}

StatusIndicator represents a status indicator when main header is collapsed.

func NewStatusIndicator

func NewStatusIndicator(app *App, styles *config.Styles) *StatusIndicator

NewStatusIndicator returns a new status indicator.

func (*StatusIndicator) ClusterInfoChanged

func (s *StatusIndicator) ClusterInfoChanged(c model.Cluster)

ClusterInfoChanged notifies the cluster meta was changed.

func (*StatusIndicator) Err

func (s *StatusIndicator) Err(msg string)

Err displays a log error state.

func (*StatusIndicator) Info

func (s *StatusIndicator) Info(msg string)

Info displays a log info state.

func (*StatusIndicator) Reset

func (s *StatusIndicator) Reset()

Reset clears out the logo view and resets colors.

func (*StatusIndicator) SetPermanent

func (s *StatusIndicator) SetPermanent(info string)

SetPermanent sets permanent title to be reset to after updates.

func (*StatusIndicator) StylesChanged

func (s *StatusIndicator) StylesChanged(styles *config.Styles)

StylesChanged notifies the skins changed.

func (*StatusIndicator) Warn

func (s *StatusIndicator) Warn(msg string)

Warn displays a log warning state.

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 {
	Path   string
	Extras string
	*SelectTable
	// contains filtered or unexported fields
}

Table represents tabular data.

func NewTable

func NewTable(cat string) *Table

NewTable returns a new table view.

func (*Table) Actions

func (t *Table) Actions() KeyActions

Actions returns active menu bindings.

func (*Table) AddHeaderCell

func (t *Table) AddHeaderCell(col int, h render.HeaderColumn)

AddHeaderCell configures a table cell header.

func (*Table) AddListener

func (t *Table) AddListener(l TableListener)

AddListener adds a new model listener.

func (*Table) Cat

func (t *Table) Cat() string

func (*Table) ClearMarks

func (t *Table) ClearMarks()

ClearMarks clear out marked items.

func (*Table) CmdBuff

func (t *Table) CmdBuff() *model.FishBuff

CmdBuff returns the associated command buffer.

func (*Table) ExtraHints

func (t *Table) ExtraHints() map[string]string

ExtraHints returns additional hints.

func (*Table) Filter

func (t *Table) Filter(q string)

Filter filters out table data.

func (*Table) FilterInput

func (t *Table) FilterInput(r rune) bool

FilterInput filters user commands.

func (*Table) GetFilteredData

func (t *Table) GetFilteredData() render.TableData

GetFilteredData fetch filtered tabular data.

func (*Table) GetSelectedRow

func (t *Table) GetSelectedRow(path string) (render.Row, bool)

GetSelectedRow returns the entire selected row.

func (*Table) Hints

func (t *Table) Hints() model.MenuHints

Hints returns the view hints.

func (*Table) Init

func (t *Table) Init(ctx context.Context)

Init initializes the component.

func (*Table) NameColIndex

func (t *Table) NameColIndex() int

NameColIndex returns the index of the resource name column.

func (*Table) Refresh

func (t *Table) Refresh()

Refresh update the table data.

func (*Table) RemoveListener

func (t *Table) RemoveListener(l TableListener)

RemoveListener delete a listener from the list.

func (*Table) ResetToast

func (t *Table) ResetToast()

ResetToast resets toast flag.

func (*Table) SetColorerFn

func (t *Table) SetColorerFn(f render.ColorerFunc)

SetColorerFn specifies the default colorer.

func (*Table) SetDecorateFn

func (t *Table) SetDecorateFn(f DecorateFunc)

SetDecorateFn specifies the default row decorator.

func (*Table) SetSortCol

func (t *Table) SetSortCol(name string, asc bool)

SetSortCol sets in sort column index and order.

func (*Table) ShowDeleted

func (t *Table) ShowDeleted()

ShowDeleted marks row as deleted.

func (*Table) SortColCmd

func (t *Table) SortColCmd(name string, asc bool) func(evt *tcell.EventKey) *tcell.EventKey

SortColCmd designates a sorted column.

func (*Table) SortInvertCmd

func (t *Table) SortInvertCmd(evt *tcell.EventKey) *tcell.EventKey

SortInvertCmd reverses sorting order.

func (*Table) Stop

func (t *Table) Stop()

func (*Table) Styles

func (t *Table) Styles() *config.Styles

Styles returns styling configurator.

func (*Table) StylesChanged

func (t *Table) StylesChanged(s *config.Styles)

StylesChanged notifies the skin changed.

func (*Table) ToggleToast

func (t *Table) ToggleToast()

ToggleToast toggles to show toast resources.

func (*Table) ToggleWide

func (t *Table) ToggleWide()

ToggleWide toggles wide col display.

func (*Table) Update

func (t *Table) Update(data render.TableData, hasMetrics bool)

Update table content.

func (*Table) UpdateTitle

func (t *Table) UpdateTitle()

UpdateTitle refreshes the table title.

func (*Table) ViewSettingsChanged

func (t *Table) ViewSettingsChanged(settings config.ViewSetting)

ViewSettingsChanged notifies listener the view configuration changed.

type TableListener

type TableListener interface {
	TableTick()
}

type Tabular

type Tabular interface {
	Namespaceable

	// SetInstance sets parent resource path.
	SetInstance(string)

	// SetLabelFilter sets the label filter.
	SetLabelFilter(string)

	// 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

	// SendCommand customs actions
	SendCommand(context.Context, int64) 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)

	// Delete a resource.
	Delete(ctx context.Context, path string, cascade, force bool) error
}

Tabular represents a tabular model.

type Tree

type Tree struct {
	*tview.TreeView

	Count int
	// contains filtered or unexported fields
}

Tree represents a tree view.

func NewTree

func NewTree() *Tree

NewTree returns a new view.

func (*Tree) Actions

func (t *Tree) Actions() KeyActions

Actions returns active menu bindings.

func (*Tree) BindKeys

func (t *Tree) BindKeys()

BindKeys binds default mnemonics.

func (*Tree) ClearSelection

func (t *Tree) ClearSelection()

ClearSelection clears the currently selected node.

func (*Tree) CmdBuff

func (t *Tree) CmdBuff() *model.FishBuff

CmdBuff returns the filter command.

func (*Tree) ExpandNodes

func (t *Tree) ExpandNodes() bool

ExpandNodes returns true if nodes are expanded or false otherwise.

func (*Tree) ExtraHints

func (t *Tree) ExtraHints() map[string]string

ExtraHints returns additional hints.

func (*Tree) GetSelectedItem

func (t *Tree) GetSelectedItem() string

GetSelectedItem returns the currently selected item or blank if none.

func (*Tree) Hints

func (t *Tree) Hints() model.MenuHints

Hints returns the view hints.

func (*Tree) Init

func (t *Tree) Init(ctx context.Context) error

Init initializes the view.

func (*Tree) SetKeyListenerFn

func (t *Tree) SetKeyListenerFn(f KeyListenerFunc)

SetKeyListenerFn sets a key entered listener.

func (*Tree) SetSelectedItem

func (t *Tree) SetSelectedItem(s string)

SetSelectedItem sets the currently selected node.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL