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 Yiisoft\Form\Field\Base\BaseField 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 Yiisoft\Form\Field\Base\BaseField 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|null begin ( )

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

            
containerAttributes() public method

public Yiisoft\Form\Field\Base\BaseField 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 Yiisoft\Form\Field\Base\BaseField 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 Yiisoft\Form\Field\Base\BaseField 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 Yiisoft\Form\Field\Base\BaseField 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|null 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|null $theme )
$theme string|null

                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 Yiisoft\Form\Field\Base\BaseField useContainer ( boolean $use )
$use boolean

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