list

package
v0.0.0-...-0dd58d8 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2024 License: BSD-3-Clause Imports: 3 Imported by: 0

Documentation

Index

Constants

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

func New(items interface{}, size int) (*List, error)

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

func (l *List) CanPageDown() bool

CanPageDown returns whether a list can still PageDown().

func (*List) CanPageUp

func (l *List) CanPageUp() bool

CanPageUp returns whether a list can still PageUp().

func (*List) CancelSearch

func (l *List) CancelSearch()

CancelSearch stops the current search and returns the list to its original order.

func (*List) Index

func (l *List) Index() int

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

func (l *List) Items() ([]interface{}, int)

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

func (l *List) Search(term string)

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

func (l *List) SetCursor(i int)

SetCursor sets the position of the cursor in the list. Values out of bounds will be clamped.

func (*List) SetStart

func (l *List) SetStart(i int)

SetStart sets the current scroll position. Values out of bounds will be clamped.

func (*List) Start

func (l *List) Start() int

Start returns the current render start position of the list.

type Searcher

type Searcher func(input string, index int) bool

Searcher is a base function signature that is used inside select when activating the search mode. If defined, it is called on each items of the select and should return a boolean for whether or not the item fits the searched term.

Jump to

Keyboard shortcuts

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