checked;
}
/**
* Set whether the checkbox is checked
*
* @param bool $checked
*
* @return $this
*/
public function setChecked($checked)
{
$this->checked = (bool) $checked;
return $this;
}
/**
* Get the value of the checkbox when it is checked
*
* @return string
*/
public function getCheckedValue()
{
return $this->checkedValue;
}
/**
* Set the value of the checkbox when it is checked
*
* @param string $checkedValue
*
* @return $this
*/
public function setCheckedValue($checkedValue)
{
$this->checkedValue = $checkedValue;
return $this;
}
/**
* Get the value of the checkbox when it is not checked
*
* @return string
*/
public function getUncheckedValue()
{
return $this->uncheckedValue;
}
/**
* Set the value of the checkbox when it is not checked
*
* @param string $uncheckedValue
*
* @return $this
*/
public function setUncheckedValue($uncheckedValue)
{
$this->uncheckedValue = $uncheckedValue;
return $this;
}
public function setValue($value)
{
if (is_bool($value)) {
$value = $value ? $this->getCheckedValue() : $this->getUncheckedValue();
}
$this->setChecked($value === $this->getCheckedValue());
return parent::setValue($value);
}
public function getValueAttribute()
{
return $this->getCheckedValue();
}
protected function registerAttributeCallbacks(Attributes $attributes)
{
parent::registerAttributeCallbacks($attributes);
$attributes
->registerAttributeCallback('checked', [$this, 'isChecked'], [$this, 'setChecked'])
->registerAttributeCallback('checkedValue', null, [$this, 'setCheckedValue'])
->registerAttributeCallback('uncheckedValue', null, [$this, 'setUncheckedValue']);
}
public function renderUnwrapped()
{
$html = parent::renderUnwrapped();
return (new HiddenElement($this->getValueOfNameAttribute(), ['value' => $this->getUncheckedValue()])) . $html;
}
}