named

package
v0.410.1 Latest Latest
Warning

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

Go to latest
Published: May 28, 2026 License: MIT Imports: 9 Imported by: 1

Documentation

Overview

Package named provides named boolean values and collections used by select, option and radio widgets.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WriteHTMLSelect

func WriteHTMLSelect(w io.Writer, jid jid.Jid, nba *BoolArray, attrs []template.HTMLAttr) (err error)

WriteHTMLSelect writes a select tag with options from nba.

Types

type Bool

type Bool struct {
	// contains filtered or unexported fields
}

Bool stores a named boolean value with an HTML representation.

Bool values are safe for concurrent use.

func NewBool

func NewBool(nba *BoolArray, name string, html template.HTML, checked bool) *Bool

NewBool returns a Bool with the given name, HTML and checked state.

If nba is non-nil, changing the value through Bool.JawsSet may dirty the containing BoolArray and deselect sibling values in single-select mode.

func (*Bool) Array

func (nb *Bool) Array() *BoolArray

Array returns the BoolArray that owns nb, or nil.

func (*Bool) Checked

func (nb *Bool) Checked() (checked bool)

Checked reports whether nb is checked.

func (*Bool) HTML

func (nb *Bool) HTML() (h template.HTML)

HTML returns the trusted HTML label for nb.

func (*Bool) JawsGet

func (nb *Bool) JawsGet(elem *jaws.Element) (yes bool)

JawsGet returns whether nb is checked.

func (*Bool) JawsGetHTML

func (nb *Bool) JawsGetHTML(elem *jaws.Element) (h template.HTML)

JawsGetHTML returns the trusted HTML label for nb.

func (*Bool) JawsSet

func (nb *Bool) JawsSet(elem *jaws.Element, checked bool) (err error)

JawsSet sets the checked state and dirties the affected element tags.

func (*Bool) Name

func (nb *Bool) Name() (s string)

Name returns the form value name for nb.

func (*Bool) Set

func (nb *Bool) Set(checked bool) (changed bool)

Set changes the checked state and reports whether it changed.

func (*Bool) String

func (nb *Bool) String() string

String returns a string representation of the Bool suitable for debugging.

type BoolArray

type BoolArray struct {
	// contains filtered or unexported fields
}

BoolArray stores the data required to support HTML select elements and sets of HTML radio buttons. It is safe to use from multiple goroutines concurrently.

func NewBoolArray

func NewBoolArray(multi bool) *BoolArray

NewBoolArray returns an empty BoolArray.

If multi is false, setting one value clears other names in the array. If multi is true, multiple values may be checked at the same time.

func (*BoolArray) Add

func (nba *BoolArray) Add(name string, text template.HTML) *BoolArray

Add adds a Bool with the given name and trusted HTML text. Returns itself.

Note that while it is legal to have multiple Bool values with the same name because HTML allows it, it is usually not a good idea.

func (*BoolArray) Count

func (nba *BoolArray) Count(name string) (n int)

Count returns the number of Bool values in the set that have the given name.

func (*BoolArray) Get

func (nba *BoolArray) Get() (name string)

Get returns the name of the first Bool in the group that has its checked value set to true. Returns an empty string if none are true.

In case you can have more than one selected or you need to distinguish between a blank name and the fact that none are set to true, use BoolArray.ReadLocked to inspect the data directly.

func (*BoolArray) IsChecked

func (nba *BoolArray) IsChecked(name string) (state bool)

IsChecked returns true if any Bool in the set with the given name are Checked. Returns false if the name is not found.

func (*BoolArray) JawsContains

func (nba *BoolArray) JawsContains(elem *jaws.Element) (contents []jaws.UI)

JawsContains returns the option widgets for a select backed by nba.

func (*BoolArray) JawsGet

func (nba *BoolArray) JawsGet(elem *jaws.Element) string

JawsGet returns the currently selected name.

func (*BoolArray) JawsSet

func (nba *BoolArray) JawsSet(elem *jaws.Element, name string) (err error)

JawsSet selects name and dirties nba if the selection changed.

func (*BoolArray) ReadLocked

func (nba *BoolArray) ReadLocked(fn func(nbl []*Bool))

ReadLocked calls fn with the BoolArray locked for reading.

func (*BoolArray) Set

func (nba *BoolArray) Set(name string, state bool) (changed bool)

Set sets the checked state for Bool values with the given name.

If the given name does not match any values in single-select mode, everything will be deselected.

func (*BoolArray) String

func (nba *BoolArray) String() string

String returns a string representation of the BoolArray suitable for debugging.

func (*BoolArray) WriteLocked

func (nba *BoolArray) WriteLocked(fn func(nbl []*Bool) []*Bool)

WriteLocked calls fn with the BoolArray locked for writing and replaces the internal []*Bool slice with the return value.

type SelectHandler

type SelectHandler interface {
	jaws.Container
	bind.Setter[string]
}

SelectHandler is implemented by values that can both render options and store a selected option name.

Jump to

Keyboard shortcuts

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