Documentation ¶
Index ¶
- Constants
- type List
- func (l *List) CanPageDown() bool
- func (l *List) CanPageUp() bool
- func (l *List) CancelSearch()
- func (l *List) Index() int
- func (l *List) Items() ([]interface{}, int)
- func (l *List) Next()
- func (l *List) PageDown()
- func (l *List) PageUp()
- func (l *List) Prev()
- func (l *List) Search(term string)
- func (l *List) SetCursor(i int)
- func (l *List) SetStart(i int)
- func (l *List) Start() int
- type Searcher
Constants ¶
const NotFound = -1
NotFound is an index returned when no item was selected. This could happen due to a search without results.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type List ¶
type List struct { Searcher Searcher // contains filtered or unexported fields }
List holds a collection of items that can be displayed with an N number of visible items. The list can be moved up, down by one item of time or an entire page (ie: visible size). It keeps track of the current selected item.
func New ¶
New creates and initializes a list of searchable items. The items attribute must be a slice type with a size greater than 0. Error will be returned if those two conditions are not met.
func (*List) CanPageDown ¶
CanPageDown returns whether a list can still PageDown().
func (*List) CancelSearch ¶
func (l *List) CancelSearch()
CancelSearch stops the current search and returns the list to its original order.
func (*List) Index ¶
Index returns the index of the item currently selected inside the searched list. If no item is selected, the NotFound (-1) index is returned.
func (*List) Items ¶
Items returns a slice equal to the size of the list with the current visible items and the index of the active item in this list.
func (*List) Next ¶
func (l *List) Next()
Next moves the visible list forward one item. If the selected item is out of view, the new select item becomes the first visible item. If the list is already at the bottom, nothing happens.
func (*List) PageDown ¶
func (l *List) PageDown()
PageDown moves the visible list forward by x items. Where x is the size of the visible items on the list. The selected item becomes the first visible item.
func (*List) PageUp ¶
func (l *List) PageUp()
PageUp moves the visible list backward by x items. Where x is the size of the visible items on the list. The selected item becomes the first visible item. If the list is already at the bottom, the selected item becomes the last visible item.
func (*List) Prev ¶
func (l *List) Prev()
Prev moves the visible list back one item. If the selected item is out of view, the new select item becomes the last visible item. If the list is already at the top, nothing happens.
func (*List) Search ¶
Search allows the list to be filtered by a given term. The list must implement the searcher function signature for this functionality to work.
func (*List) SetCursor ¶
SetCursor sets the position of the cursor in the list. Values out of bounds will be clamped.