Plushie.Table.Cell (Plushie v0.7.2)

Copy Markdown View Source

A cell inside a Plushie.Table.Row.

Each cell declares which column it belongs to via the column field (must match a column :key from the table's columns prop). Children are any widgets that form the cell content.

cell "name", text(user.name)

cell "actions" do
  button("edit", "Edit")
  button("del", "Delete")
end

Summary

Functions

Converts this widget struct to a ui_node() map.

Column key this cell belongs to.

Appends multiple children to the widget.

Creates a new element without an explicit ID (auto-assigned by parent container).

Creates a new element with the given ID and keyword options.

Appends a child to the widget.

Returns the element type string for the wire protocol.

Applies keyword options to an existing widget struct.

Types

option()

@type option() :: {:column, String.t() | atom()}

t()

@type t() :: %Plushie.Table.Cell{
  children: [Plushie.Widget.ui_node()],
  column:
    (String.t() | atom())
    | Plushie.Animation.Transition.t()
    | Plushie.Animation.Spring.t()
    | Plushie.Animation.Sequence.t()
    | nil,
  id: String.t() | nil
}

Functions

build(widget)

@spec build(widget :: t()) :: Plushie.Widget.ui_node()

Converts this widget struct to a ui_node() map.

column(widget, descriptor)

@spec column(widget :: t(), value :: (String.t() | atom()) | nil) :: t()

Column key this cell belongs to.

Accepts String.t() | atom().

extend(widget, children)

@spec extend(widget :: t(), children :: [Plushie.Widget.child()]) :: t()

Appends multiple children to the widget.

new(id)

@spec new(opts :: [option()]) :: t()

Creates a new element without an explicit ID (auto-assigned by parent container).

new(id, opts)

@spec new(id :: String.t(), opts :: [option()]) :: t()

Creates a new element with the given ID and keyword options.

push(widget, child)

@spec push(widget :: t(), child :: Plushie.Widget.child()) :: t()

Appends a child to the widget.

type_name()

@spec type_name() :: String.t()

Returns the element type string for the wire protocol.

with_options(widget, opts)

@spec with_options(widget :: t(), opts :: [option()]) :: t()

Applies keyword options to an existing widget struct.