%PDF- %PDF-
| Direktori : /www/varak.net/losik.varak.net/vendor/nette/forms/src/Forms/Controls/ |
| Current File : //www/varak.net/losik.varak.net/vendor/nette/forms/src/Forms/Controls/Checkbox.php |
<?php
/**
* This file is part of the Nette Framework (https://nette.org)
* Copyright (c) 2004 David Grudl (https://davidgrudl.com)
*/
declare(strict_types=1);
namespace Nette\Forms\Controls;
use Nette;
use Nette\Utils\Html;
/**
* Check box control. Allows the user to select a true or false condition.
*/
class Checkbox extends BaseControl
{
/** @var Html wrapper element template */
private $container;
/**
* @param string|object $label
*/
public function __construct($label = null)
{
parent::__construct($label);
$this->control->type = 'checkbox';
$this->container = Html::el();
$this->setOption('type', 'checkbox');
}
/**
* Sets control's value.
* @return static
* @internal
*/
public function setValue($value)
{
if (!is_scalar($value) && $value !== null) {
throw new Nette\InvalidArgumentException(sprintf("Value must be scalar or null, %s given in field '%s'.", gettype($value), $this->name));
}
$this->value = (bool) $value;
return $this;
}
public function isFilled(): bool
{
return $this->getValue() !== false; // back compatibility
}
public function getControl(): Html
{
return $this->container->setHtml($this->getLabelPart()->insert(0, $this->getControlPart()));
}
/**
* Bypasses label generation.
*/
public function getLabel($caption = null)
{
return null;
}
public function getControlPart(): Html
{
return parent::getControl()->checked($this->value);
}
public function getLabelPart(): Html
{
return parent::getLabel();
}
/**
* Returns container HTML element template.
*/
public function getContainerPrototype(): Html
{
return $this->container;
}
/** @deprecated use getContainerPrototype() */
public function getSeparatorPrototype(): Html
{
return $this->container;
}
}