0 follower

Final Class Yiisoft\Html\Tag\Optgroup

InheritanceYiisoft\Html\Tag\Optgroup » Yiisoft\Html\Tag\Base\NormalTag » Yiisoft\Html\Tag\Base\Tag
ImplementsYiisoft\Html\NoEncodeStringableInterface

Protected Properties

Hide inherited properties

Property Type Description Defined By
$attributes array Yiisoft\Html\Tag\Base\Tag

Method Details

Hide inherited methods

__toString() public method
public string __toString ( )

                final public function __toString(): string
{
    return $this->render();
}

            
addAttributes() public method

Defined in: Yiisoft\Html\Tag\Base\Tag::addAttributes()

Add a set of attributes to existing tag attributes.

Same named attributes are replaced.

public Yiisoft\Html\Tag\Optgroup addAttributes ( array $attributes )
$attributes array

Name-value set of attributes.

                final public function addAttributes(array $attributes): static
{
    $new = clone $this;
    $new->attributes = array_merge($new->attributes, $attributes);
    return $new;
}

            
addClass() public method

Defined in: Yiisoft\Html\Tag\Base\Tag::addClass()

Add one or more CSS classes to the tag.

public Yiisoft\Html\Tag\Optgroup addClass ( \BackedEnum|string|null $class )
$class \BackedEnum|string|null

One or many CSS classes.

                final public function addClass(BackedEnum|string|null ...$class): static
{
    $new = clone $this;
    Html::addCssClass($new->attributes, $class);
    return $new;
}

            
addStyle() public method

Defined in: Yiisoft\Html\Tag\Base\Tag::addStyle()

Add CSS styles to the tag.

See also Yiisoft\Html\Html::addCssStyle().

public Yiisoft\Html\Tag\Optgroup addStyle ( string|string[] $style, boolean $overwrite true )
$style string|string[]

The new style string (e.g. 'width: 100px; height: 200px') or array (e.g. ['width' => '100px', 'height' => '200px']).

$overwrite boolean

Whether to overwrite existing CSS properties if the new style contain them too.

                final public function addStyle(array|string $style, bool $overwrite = true): static
{
    $new = clone $this;
    Html::addCssStyle($new->attributes, $style, $overwrite);
    return $new;
}

            
after() protected method
protected string after ( )

                protected function after(): string
{
    return '';
}

            
attribute() public method

Defined in: Yiisoft\Html\Tag\Base\Tag::attribute()

Set attribute value.

public Yiisoft\Html\Tag\Optgroup attribute ( string $name, mixed $value )
$name string

Name of the attribute.

$value mixed

Value of the attribute.

                final public function attribute(string $name, mixed $value): static
{
    $new = clone $this;
    $new->attributes[$name] = $value;
    return $new;
}

            
attributes() public method

Defined in: Yiisoft\Html\Tag\Base\Tag::attributes()

Replace attributes with a new set.

public Yiisoft\Html\Tag\Optgroup attributes ( array $attributes )
$attributes array

Name-value set of attributes.

                final public function attributes(array $attributes): static
{
    $new = clone $this;
    $new->attributes = $attributes;
    return $new;
}

            
before() protected method
protected string before ( )

                protected function before(): string
{
    return '';
}

            
class() public method

Defined in: Yiisoft\Html\Tag\Base\Tag::class()

Replace current tag CSS classes with a new set of classes.

public Yiisoft\Html\Tag\Optgroup class ( \BackedEnum|string|null $class )
$class \BackedEnum|string|null

One or many CSS classes.

                final public function class(BackedEnum|string|null ...$class): static
{
    $new = clone $this;
    unset($new->attributes['class']);
    Html::addCssClass($new->attributes, $class);
    return $new;
}

            
close() public method
public string close ( )
return string

Closing tag.

                final public function close(): string
{
    return '</' . $this->getName() . '>';
}

            
disabled() public method

public self disabled ( boolean $disabled true )
$disabled boolean

                public function disabled(bool $disabled = true): self
{
    $new = clone $this;
    $new->attributes['disabled'] = $disabled;
    return $new;
}

            
generateContent() protected method

protected string generateContent ( )

                protected function generateContent(): string
{
    $options = array_map(
        fn(Option $option) => $option->selected(in_array($option->getValue(), $this->selection, true)),
        $this->options,
    );
    return $options
        ? "\n" . implode("\n", $options) . "\n"
        : '';
}

            
getName() protected method

protected string getName ( )

                protected function getName(): string
{
    return 'optgroup';
}

            
id() public method

Defined in: Yiisoft\Html\Tag\Base\Tag::id()

Set tag ID.

public Yiisoft\Html\Tag\Optgroup id ( string|null $id )
$id string|null

Tag ID.

                final public function id(?string $id): static
{
    $new = clone $this;
    $new->attributes['id'] = $id;
    return $new;
}

            
label() public method

public self label ( string|null $label )
$label string|null

                public function label(?string $label): self
{
    $new = clone $this;
    $new->attributes['label'] = $label;
    return $new;
}

            
open() public method
public string open ( )
return string

Opening tag.

                final public function open(): string
{
    return '<' . $this->getName() . $this->renderAttributes() . '>' . $this->prepend();
}

            
options() public method

public self options ( Yiisoft\Html\Tag\Option $options )
$options Yiisoft\Html\Tag\Option

                public function options(Option ...$options): self
{
    $new = clone $this;
    $new->options = $options;
    return $new;
}

            
optionsData() public method

Options as a set of value-content pairs.

public self optionsData ( string[] $data, boolean $encode true, array[] $optionsAttributes = [] )
$data string[]

Value-content set of options.

$encode boolean

Whether to encode option content.

$optionsAttributes array[]

Array of option attribute sets indexed by option values from {@see $data}.

                public function optionsData(array $data, bool $encode = true, array $optionsAttributes = []): self
{
    $options = [];
    foreach ($data as $value => $content) {
        $options[] = Option::tag()
            ->attributes($optionsAttributes[$value] ?? [])
            ->value($value)
            ->content($content)
            ->encode($encode);
    }
    return $this->options(...$options);
}

            
prepareAttributes() protected method
protected void prepareAttributes ( )

                protected function prepareAttributes(): void {}

            
prepend() protected method
protected string prepend ( )

                protected function prepend(): string
{
    return '';
}

            
removeStyle() public method

Defined in: Yiisoft\Html\Tag\Base\Tag::removeStyle()

Remove CSS styles from the tag.

See also Yiisoft\Html\Html::removeCssStyle().

public Yiisoft\Html\Tag\Optgroup removeStyle ( string|string[] $properties )
$properties string|string[]

The CSS properties to be removed. You may use a string if you are removing a single property.

                final public function removeStyle(string|array $properties): static
{
    $new = clone $this;
    Html::removeCssStyle($new->attributes, $properties);
    return $new;
}

            
render() public method
public string render ( )

                final public function render(): string
{
    return $this->before() . $this->renderTag() . $this->after();
}

            
renderAttributes() protected method

Defined in: Yiisoft\Html\Tag\Base\Tag::renderAttributes()

Render the current tag attributes.

See also Yiisoft\Html\Html::renderTagAttributes().

protected string renderAttributes ( )

                final protected function renderAttributes(): string
{
    $this->prepareAttributes();
    return Html::renderTagAttributes($this->attributes);
}

            
renderTag() protected method
protected string renderTag ( )

                final protected function renderTag(): string
{
    return $this->open() . $this->generateContent() . $this->close();
}

            
selection() public method

public self selection ( boolean|float|integer|string|\Stringable|null $value )
$value boolean|float|integer|string|\Stringable|null

Values of options that are selected.

                public function selection(bool|float|int|string|Stringable|null ...$value): self
{
    $new = clone $this;
    $new->selection = array_map('\strval', $value);
    return $new;
}

            
tag() public static method
public static Yiisoft\Html\Tag\Optgroup tag ( )

                final public static function tag(): static
{
    return new static();
}

            
unionAttributes() public method

Defined in: Yiisoft\Html\Tag\Base\Tag::unionAttributes()

Union attributes with a new set.

public Yiisoft\Html\Tag\Optgroup unionAttributes ( array $attributes )
$attributes array

Name-value set of attributes.

                final public function unionAttributes(array $attributes): static
{
    $new = clone $this;
    $new->attributes += $attributes;
    return $new;
}