Final Class Yiisoft\Form\Field\Image
| Inheritance | Yiisoft\Form\Field\Image » Yiisoft\Form\Field\Base\PartsField » Yiisoft\Form\Field\Base\BaseField » Yiisoft\Widget\Widget |
|---|
Represents <input> element of type "image" are used to create graphical submit buttons.
Protected Properties
Public Methods
Protected Methods
Constants
| Constant | Value | Description | Defined By |
|---|---|---|---|
| BUILTIN_TOKENS | [ '{input}', '{label}', '{hint}', '{error}', ] | Yiisoft\Form\Field\Base\PartsField |
Method Details
| public Yiisoft\Form\Field\Image addContainerAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function addContainerAttributes(array $attributes): static
{
$new = clone $this;
$new->containerAttributes = array_merge($new->containerAttributes, $attributes);
return $new;
}
Defined in: Yiisoft\Form\Field\Base\BaseField::addContainerClass()
Add one or more CSS classes to the container tag.
| public Yiisoft\Form\Field\Image 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;
}
| public Yiisoft\Form\Field\Image addErrorAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function addErrorAttributes(array $attributes): static
{
$new = clone $this;
$new->errorAttributes = array_merge($new->errorAttributes, $attributes);
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::addErrorClass()
Add one or more CSS classes to the error tag.
| public Yiisoft\Form\Field\Image addErrorClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
final public function addErrorClass(?string ...$class): static
{
$new = clone $this;
Html::addCssClass($new->errorAttributes, $class);
return $new;
}
| public Yiisoft\Form\Field\Image addHintAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function addHintAttributes(array $attributes): static
{
$new = clone $this;
$new->hintAttributes = array_merge($new->hintAttributes, $attributes);
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::addHintClass()
Add one or more CSS classes to the hint tag.
| public Yiisoft\Form\Field\Image addHintClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
final public function addHintClass(?string ...$class): static
{
$new = clone $this;
Html::addCssClass($new->hintAttributes, $class);
return $new;
}
| public self addInputAttributes ( array $attributes ) | ||
| $attributes | array | |
public function addInputAttributes(array $attributes): self
{
$new = clone $this;
$new->inputAttributes = array_merge($new->inputAttributes, $attributes);
return $new;
}
| public Yiisoft\Form\Field\Image addInputContainerAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function addInputContainerAttributes(array $attributes): static
{
$new = clone $this;
$new->inputContainerAttributes = array_merge($new->inputContainerAttributes, $attributes);
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::addInputContainerClass()
Add one or more CSS classes to the input container tag.
| public Yiisoft\Form\Field\Image addInputContainerClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
final public function addInputContainerClass(?string ...$class): static
{
$new = clone $this;
Html::addCssClass($new->inputContainerAttributes, $class);
return $new;
}
| public Yiisoft\Form\Field\Image addLabelAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function addLabelAttributes(array $attributes): static
{
$new = clone $this;
$new->labelAttributes = array_merge($new->labelAttributes, $attributes);
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::addLabelClass()
Add one or more CSS classes to the label tag.
| public Yiisoft\Form\Field\Image addLabelClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
final public function addLabelClass(?string ...$class): static
{
$new = clone $this;
Html::addCssClass($new->labelAttributes, $class);
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::afterInput()
| public Yiisoft\Form\Field\Image afterInput ( string|\Stringable $content ) | ||
| $content | string|\Stringable | |
final public function afterInput(string|Stringable $content): static
{
$new = clone $this;
$new->afterInput = $content;
return $new;
}
Provides the textual label for the button for users and user agents who cannot use the image.
| public self alt ( string|null $value ) | ||
| $value | string|null | |
public function alt(?string $value): self
{
$new = clone $this;
$new->inputAttributes['alt'] = $value;
return $new;
}
Identifies the element (or elements) that describes the object.
| public self ariaDescribedBy ( string|null $value ) | ||
| $value | string|null | |
public function ariaDescribedBy(?string ...$value): self
{
$new = clone $this;
$new->inputAttributes['aria-describedby'] = array_filter($value, static fn (?string $v): bool => $v !== null);
return $new;
}
Defines a string value that labels the current element.
| public self ariaLabel ( string|null $value ) | ||
| $value | string|null | |
public function ariaLabel(?string $value): self
{
$new = clone $this;
$new->inputAttributes['aria-label'] = $value;
return $new;
}
Focus on the control (put cursor into it) when the page loads. Only one form element could be in focus at the same time.
| public self autofocus ( boolean $value = true ) | ||
| $value | boolean | |
public function autofocus(bool $value = true): self
{
$new = clone $this;
$new->inputAttributes['autofocus'] = $value;
return $new;
}
| public Yiisoft\Form\Field\Image beforeInput ( string|\Stringable $content ) | ||
| $content | string|\Stringable | |
final public function beforeInput(string|Stringable $content): static
{
$new = clone $this;
$new->beforeInput = $content;
return $new;
}
| protected void beforeRender ( ) |
protected function beforeRender(): void
{
}
Defined in: Yiisoft\Form\Field\Base\BaseField::begin()
| public string|null begin ( ) |
final public function begin(): ?string
{
parent::begin();
$this->isStartedByBegin = true;
$this->beforeRender();
$content = $this->generateBeginContent();
return $this->renderOpenContainerAndContent($content);
}
| public Yiisoft\Form\Field\Image containerAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function containerAttributes(array $attributes): static
{
$new = clone $this;
$new->containerAttributes = $attributes;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\BaseField::containerClass()
Replace container tag CSS classes with a new set of classes.
| public Yiisoft\Form\Field\Image 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;
}
Defined in: Yiisoft\Form\Field\Base\BaseField::containerId()
Set container tag ID.
| public Yiisoft\Form\Field\Image 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;
}
| public Yiisoft\Form\Field\Image 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;
}
| public self disabled ( boolean $disabled = true ) | ||
| $disabled | boolean | |
public function disabled(bool $disabled = true): self
{
$new = clone $this;
$new->inputAttributes['disabled'] = $disabled;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::error()
| public Yiisoft\Form\Field\Image error ( string|null $message, string $messages ) | ||
| $message | string|null | |
| $messages | string | |
final public function error(?string $message, string ...$messages): static
{
$new = clone $this;
$new->errorConfig['message()'] = [$message, ...$messages];
return $new;
}
| public Yiisoft\Form\Field\Image errorAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function errorAttributes(array $attributes): static
{
$new = clone $this;
$new->errorAttributes = $attributes;
$new->replaceErrorAttributes = true;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::errorClass()
Replace error tag CSS classes with a new set of classes.
| public Yiisoft\Form\Field\Image errorClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
final public function errorClass(?string ...$class): static
{
$new = clone $this;
$new->errorAttributes['class'] = $class;
$new->replaceErrorClass = true;
return $new;
}
| public Yiisoft\Form\Field\Image errorConfig ( array $config ) | ||
| $config | array | |
final public function errorConfig(array $config): static
{
$new = clone $this;
$new->errorConfig = $config;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::errorId()
Set error tag ID.
| public Yiisoft\Form\Field\Image errorId ( string|null $id ) | ||
| $id | string|null |
Error tag ID. |
final public function errorId(?string $id): static
{
$new = clone $this;
$new->errorAttributes['id'] = $id;
return $new;
}
| protected string generateBeginContent ( ) |
final protected function generateBeginContent(): string
{
$parts = [
'{input}' => $this->generateBeginInput(),
'{label}' => ($this->hideLabel ?? $this->shouldHideLabel()) ? '' : $this->generateLabel(),
'{hint}' => $this->generateHint(),
'{error}' => $this->generateError(),
];
return $this->makeContent($this->templateBegin, $parts);
}
| protected string generateBeginInput ( ) |
protected function generateBeginInput(): string
{
return '';
}
| protected string|null generateContent ( ) |
final protected function generateContent(): ?string
{
$parts = [
'{input}' => $this->generateInputContainerBegin()
. $this->beforeInput
. $this->generateInput()
. $this->afterInput
. $this->generateInputContainerEnd(),
'{label}' => ($this->hideLabel ?? $this->shouldHideLabel()) ? '' : $this->generateLabel(),
'{hint}' => $this->generateHint(),
'{error}' => $this->generateError(),
];
return $this->makeContent($this->template, $parts);
}
| protected string generateEndContent ( ) |
final protected function generateEndContent(): string
{
$parts = [
'{input}' => $this->generateEndInput(),
'{label}' => ($this->hideLabel ?? $this->shouldHideLabel()) ? '' : $this->generateLabel(),
'{hint}' => $this->generateHint(),
'{error}' => $this->generateError(),
];
return $this->makeContent($this->templateEnd, $parts);
}
| protected string generateEndInput ( ) |
protected function generateEndInput(): string
{
return '';
}
| protected string generateInput ( ) |
protected function generateInput(): string
{
return Html::input(
type: 'image',
attributes: $this->inputAttributes
)->render();
}
| 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) ?? [];
}
| protected boolean hasCustomError ( ) |
final protected function hasCustomError(): bool
{
return isset($this->errorConfig['message()']);
}
| public self height ( integer|string|\Stringable|null $height ) | ||
| $height | integer|string|\Stringable|null | |
public function height(int|string|Stringable|null $height): self
{
$new = clone $this;
$new->inputAttributes['height'] = $height;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::hideLabel()
| public Yiisoft\Form\Field\Image hideLabel ( boolean|null $hide = true ) | ||
| $hide | boolean|null | |
final public function hideLabel(?bool $hide = true): static
{
$new = clone $this;
$new->hideLabel = $hide;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::hint()
| public Yiisoft\Form\Field\Image hint ( string|null $content ) | ||
| $content | string|null | |
final public function hint(?string $content): static
{
$new = clone $this;
$new->hintConfig['content()'] = [$content];
return $new;
}
| public Yiisoft\Form\Field\Image hintAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function hintAttributes(array $attributes): static
{
$new = clone $this;
$new->hintAttributes = $attributes;
$new->replaceHintAttributes = true;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::hintClass()
Replace hint tag CSS classes with a new set of classes.
| public Yiisoft\Form\Field\Image hintClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
final public function hintClass(?string ...$class): static
{
$new = clone $this;
$new->hintAttributes['class'] = $class;
$new->replaceHintClass = true;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::hintConfig()
| public Yiisoft\Form\Field\Image hintConfig ( array $config ) | ||
| $config | array | |
final public function hintConfig(array $config): static
{
$new = clone $this;
$new->hintConfig = $config;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::hintId()
Set hint tag ID.
| public Yiisoft\Form\Field\Image hintId ( string|null $id ) | ||
| $id | string|null |
Hint tag ID. |
final public function hintId(?string $id): static
{
$new = clone $this;
$new->hintAttributes['id'] = $id;
return $new;
}
| public self inputAttributes ( array $attributes ) | ||
| $attributes | array | |
public function inputAttributes(array $attributes): self
{
$new = clone $this;
$new->inputAttributes = $attributes;
return $new;
}
| public Yiisoft\Form\Field\Image inputContainerAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function inputContainerAttributes(array $attributes): static
{
$new = clone $this;
$new->inputContainerAttributes = $attributes;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::inputContainerClass()
Replace input container tag CSS classes with a new set of classes.
| public Yiisoft\Form\Field\Image inputContainerClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
final public function inputContainerClass(?string ...$class): static
{
$new = clone $this;
$new->inputContainerAttributes['class'] = array_filter($class, static fn ($c) => $c !== null);
return $new;
}
| public Yiisoft\Form\Field\Image inputContainerTag ( string|null $tag ) | ||
| $tag | string|null | |
final public function inputContainerTag(?string $tag): static
{
if ($tag === '') {
throw new InvalidArgumentException('Tag name cannot be empty.');
}
$new = clone $this;
$new->inputContainerTag = $tag;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::label()
| public Yiisoft\Form\Field\Image label ( string|null $content ) | ||
| $content | string|null | |
final public function label(?string $content): static
{
$new = clone $this;
$new->label = $content;
return $new;
}
| public Yiisoft\Form\Field\Image labelAttributes ( array $attributes ) | ||
| $attributes | array | |
final public function labelAttributes(array $attributes): static
{
$new = clone $this;
$new->labelAttributes = $attributes;
$new->replaceLabelAttributes = true;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::labelClass()
Replace label tag CSS classes with a new set of classes.
| public Yiisoft\Form\Field\Image labelClass ( string|null $class ) | ||
| $class | string|null |
One or many CSS classes. |
final public function labelClass(?string ...$class): static
{
$new = clone $this;
$new->labelAttributes['class'] = $class;
$new->replaceLabelClass = true;
return $new;
}
| public Yiisoft\Form\Field\Image labelConfig ( array $config ) | ||
| $config | array | |
final public function labelConfig(array $config): static
{
$new = clone $this;
$new->labelConfig = $config;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::labelId()
Set label tag ID.
| public Yiisoft\Form\Field\Image labelId ( string|null $id ) | ||
| $id | string|null |
Label tag ID. |
final public function labelId(?string $id): static
{
$new = clone $this;
$new->labelAttributes['id'] = $id;
return $new;
}
| protected void prepareContainerAttributes ( array &$attributes ) | ||
| $attributes | array | |
protected function prepareContainerAttributes(array &$attributes): void
{
}
Defined in: Yiisoft\Form\Field\Base\BaseField::render()
| 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;
}
| protected string renderError ( Yiisoft\Form\Field\Part\Error $error ) | ||
| $error | Yiisoft\Form\Field\Part\Error | |
protected function renderError(Error $error): string
{
return $error->render();
}
Defined in: Yiisoft\Form\Field\Base\PartsField::renderHint()
| protected string renderHint ( Yiisoft\Form\Field\Part\Hint $hint ) | ||
| $hint | Yiisoft\Form\Field\Part\Hint | |
protected function renderHint(Hint $hint): string
{
return $hint->render();
}
| protected string renderLabel ( Yiisoft\Form\Field\Part\Label $label ) | ||
| $label | Yiisoft\Form\Field\Part\Label | |
protected function renderLabel(Label $label): string
{
return $label->render();
}
| protected boolean shouldHideLabel ( ) |
protected function shouldHideLabel(): bool
{
return false;
}
| public self src ( string|null $url ) | ||
| $url | string|null | |
public function src(?string $url): self
{
$new = clone $this;
$new->inputAttributes['src'] = $url;
return $new;
}
The tabindex attribute indicates that its element can be focused, and where it participates in sequential
keyboard navigation (usually with the Tab key, hence the name).
It accepts an integer as a value, with different results depending on the integer's value:
- A negative value (usually
tabindex="-1") means that the element is not reachable via sequential keyboard navigation, but could be focused with Javascript or visually. It's mostly useful to create accessible widgets with JavaScript. tabindex="0"means that the element should be focusable in sequential keyboard navigation, but its order is defined by the document's source order.- A positive value means the element should be focusable in sequential keyboard navigation, with its order
defined by the value of the number. That is,
tabindex="4"is focused beforetabindex="5", but aftertabindex="3".
| public self tabIndex ( integer|null $value ) | ||
| $value | integer|null | |
public function tabIndex(?int $value): self
{
$new = clone $this;
$new->inputAttributes['tabindex'] = $value;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::template()
Set layout template for render a field.
| public Yiisoft\Form\Field\Image template ( string $template ) | ||
| $template | string | |
final public function template(string $template): static
{
$new = clone $this;
$new->template = $template;
return $new;
}
| public Yiisoft\Form\Field\Image templateBegin ( string $template ) | ||
| $template | string | |
final public function templateBegin(string $template): static
{
$new = clone $this;
$new->templateBegin = $template;
return $new;
}
| public Yiisoft\Form\Field\Image templateEnd ( string $template ) | ||
| $template | string | |
final public function templateEnd(string $template): static
{
$new = clone $this;
$new->templateEnd = $template;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::token()
| public Yiisoft\Form\Field\Image token ( string $token, string|\Stringable $value ) | ||
| $token | string | |
| $value | string|\Stringable | |
final public function token(string $token, string|Stringable $value): static
{
$this->validateToken($token);
$new = clone $this;
$new->extraTokens[$token] = $value;
return $new;
}
Defined in: Yiisoft\Form\Field\Base\PartsField::tokens()
| public Yiisoft\Form\Field\Image tokens ( array $tokens ) | ||
| $tokens | array | |
final public function tokens(array $tokens): static
{
$new = clone $this;
foreach ($tokens as $token => $value) {
if (!is_string($token)) {
throw new InvalidArgumentException(
sprintf(
'Token should be string. %s given.',
get_debug_type($token),
)
);
}
if (!is_string($value) && !$value instanceof Stringable) {
throw new InvalidArgumentException(
sprintf(
'Token value should be string or Stringable. %s given.',
get_debug_type($value),
)
);
}
$this->validateToken($token);
$new->extraTokens[$token] = $value;
}
return $new;
}
| public Yiisoft\Form\Field\Image useContainer ( boolean $use ) | ||
| $use | boolean | |
final public function useContainer(bool $use): static
{
$new = clone $this;
$new->useContainer = $use;
return $new;
}
Signup or Login in order to comment.