targetlist

package
v0.4.17 Latest Latest
Warning

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

Go to latest
Published: Aug 7, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package targetlist is the selectable record list used by CRUD views.

Index

Constants

View Source
const (
	PartRow        = widget.Part("row")
	PartMenu       = widget.Part("menu")
	PartOptions    = widget.Part("options")
	PartBadge      = widget.Part("badge")
	PartLabel      = widget.Part("label")
	PartList       = widget.Part("list")
	PartBackdrop   = widget.Part("backdrop")
	PartButton     = widget.Part("button")
	PartIcon       = widget.Part("icon")
	PartItem       = widget.Part("item")
	PartItemDanger = widget.Part("item-danger")
	PartItemIcon   = widget.Part("item-icon")
	PartItemLabel  = widget.Part("item-label")
)
View Source
const NameTargetList = widget.Name("targetlist")

NameTargetList is the widget identity.

Variables

This section is empty.

Functions

This section is empty.

Types

type Item

type Item struct {
	ID          string
	Label       string
	Description string
}

Item is one selectable record: an id, a visible label, and an optional badge.

type TargetList

type TargetList struct {
	Element

	// Selected holds the id of the highlighted row. Optional — created if nil so a
	// host can share it (e.g. a CRUD view binding the form to the same signal).
	Selected *SignalString

	// Row callbacks. All optional.
	OnSelect func(it Item)   // row body clicked
	OnEdit   func(id string) // ⋮ → Editar
	OnDelete func(id string) // ⋮ → Eliminar
	// contains filtered or unexported fields
}

TargetList is a selectable list of records with a per-row options menu.

func (*TargetList) CloseMenus added in v0.4.17

func (t *TargetList) CloseMenus()

CloseMenus is closeAllMenus, exported for a host that shares Selected (see crudview) to call when ITS OWN cancel path clears the selection. The ⋮ summary's click handler sets Selected directly (see buildRow) so the floating options menu reads as belonging to a highlighted row, but native <details> open state is not tracked by that signal — clearing Selected elsewhere does not, by itself, close a menu left open on some row. A host that lets a row's ⋮ drive its own "active" state is responsible for closing it back up when that state resets.

func (*TargetList) Count

func (t *TargetList) Count() int

Count reports how many rows are currently rendered (used by hosts/tests).

func (*TargetList) IconSvg

func (t *TargetList) IconSvg() *sprite.Sprite

IconSvg registers the ⋮ (vertical dots) options glyph and the two icons mobile shows in its place: a pencil (Editar) and a trash can (Eliminar), both currentColor so CSS controls their color per the surface (Primary, Danger) the mobile icon button underneath them resolves to.

func (*TargetList) Init

func (t *TargetList) Init(_ Ctx)

func (*TargetList) Items

func (t *TargetList) Items() []Item

Items returns the current items (the data behind the rendered rows).

func (*TargetList) Render

func (t *TargetList) Render() *Element

func (*TargetList) RenderCSS

func (t *TargetList) RenderCSS() *css.Stylesheet

RenderCSS defines the targetlist visual contract using the style DSL.

func (*TargetList) SetItems

func (t *TargetList) SetItems(items []Item)

SetItems replaces the visible rows. Safe to call from a host on every filter or reload; rows go through the keyed reconcile so their bindings stay wired.

func (*TargetList) WidgetKind added in v0.1.13

func (t *TargetList) WidgetKind() widget.Kind

func (*TargetList) WidgetName added in v0.1.13

func (t *TargetList) WidgetName() widget.Name

Jump to

Keyboard shortcuts

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