0 follower

Abstract Class Yiisoft\Form\Field\Base\BaseField

InheritanceYiisoft\Form\Field\Base\BaseField » Yiisoft\Widget\Widget
SubclassesYiisoft\Form\Field\Base\ButtonField, Yiisoft\Form\Field\Base\DateTimeInputField, Yiisoft\Form\Field\Base\InputField, Yiisoft\Form\Field\Base\PartsField, Yiisoft\Form\Field\Button, Yiisoft\Form\Field\ButtonGroup, Yiisoft\Form\Field\Checkbox, Yiisoft\Form\Field\CheckboxList, Yiisoft\Form\Field\Color, Yiisoft\Form\Field\Date, Yiisoft\Form\Field\DateTimeLocal, Yiisoft\Form\Field\Email, Yiisoft\Form\Field\ErrorSummary, Yiisoft\Form\Field\Fieldset, Yiisoft\Form\Field\File, Yiisoft\Form\Field\Hidden, Yiisoft\Form\Field\Image, Yiisoft\Form\Field\Number, Yiisoft\Form\Field\Password, Yiisoft\Form\Field\RadioList, Yiisoft\Form\Field\Range, Yiisoft\Form\Field\ResetButton, Yiisoft\Form\Field\Select, Yiisoft\Form\Field\SubmitButton, Yiisoft\Form\Field\Telephone, Yiisoft\Form\Field\Text, Yiisoft\Form\Field\Textarea, Yiisoft\Form\Field\Time, Yiisoft\Form\Field\Url

Property Details

Hide inherited properties

$containerAttributes protected property
protected array $containerAttributes = []
$containerTag protected property
protected string $containerTag 'div'
$enrichment protected property
protected array $enrichment = []
$useContainer protected property
protected boolean $useContainer true

Method Details

Hide inherited methods

addContainerAttributes() public method

public static addContainerAttributes ( array $attributes )
$attributes array

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

            
addContainerClass() public method

Add one or more CSS classes to the container tag.

public static addContainerClass ( string|null $class )
$class string|null

One or many CSS classes.

                final public function addContainerClass(?string ...$class): static
{
    $new = clone $this;
    Html::addCssClass($new->containerAttributes, $class);
    return $new;
}

            
beforeRender() protected method

protected void beforeRender ( )

                protected function beforeRender(): void {}

            
begin() public method

public ?string begin ( )

                final public function begin(): ?string
{
    parent::begin();
    $this->isStartedByBegin = true;
    $this->beforeRender();
    $content = $this->generateBeginContent();
    return $this->renderOpenContainerAndContent($content);
}

            
containerAttributes() public method

public static containerAttributes ( array $attributes )
$attributes array

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

            
containerClass() public method

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

public static containerClass ( string|null $class )
$class string|null

One or many CSS classes.

                final public function containerClass(?string ...$class): static
{
    $new = clone $this;
    $new->containerAttributes['class'] = array_filter($class, static fn($c) => $c !== null);
    return $new;
}

            
containerId() public method

Set container tag ID.

public static containerId ( string|null $id )
$id string|null

Container tag ID.

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

            
containerTag() public method

public static containerTag ( string $tag )
$tag string

                final public function containerTag(string $tag): static
{
    if ($tag === '') {
        throw new InvalidArgumentException('Tag name cannot be empty.');
    }
    $new = clone $this;
    $new->containerTag = $tag;
    return $new;
}

            
generateBeginContent() protected method

protected string generateBeginContent ( )

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

            
generateContent() protected abstract method

protected abstract ?string generateContent ( )

                abstract protected function generateContent(): ?string;

            
generateEndContent() protected method

protected string generateEndContent ( )

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

            
getThemeConfig() protected static method

protected static array getThemeConfig ( ?string $theme )
$theme ?string

                final protected static function getThemeConfig(?string $theme): array
{
    return ThemeContainer::getTheme($theme)?->getFieldConfig(static::class) ?? [];
}

            
prepareContainerAttributes() protected method

protected void prepareContainerAttributes ( array &$attributes )
$attributes array

                protected function prepareContainerAttributes(array &$attributes): void {}

            
render() public method

public string render ( )

                final public function render(): string
{
    if ($this->isStartedByBegin) {
        $this->isStartedByBegin = false;
        return $this->renderEnd();
    }
    $this->beforeRender();
    $content = $this->generateContent();
    if ($content === null) {
        $this->enrichment = [];
        return '';
    }
    $result = $this->renderOpenContainerAndContent($content);
    if ($this->useContainer) {
        $result .= "\n" . Html::closeTag($this->containerTag);
    }
    $this->enrichment = [];
    return $result;
}

            
useContainer() public method

public static useContainer ( boolean $use )
$use boolean

                final public function useContainer(bool $use): static
{
    $new = clone $this;
    $new->useContainer = $use;
    return $new;
}