%PDF- %PDF-
| Direktori : /www/loslex_o/test/vendor/livewire/livewire/src/Features/SupportReactiveProps/ |
| Current File : /www/loslex_o/test/vendor/livewire/livewire/src/Features/SupportReactiveProps/BaseReactive.php |
<?php
namespace Livewire\Features\SupportReactiveProps;
use Livewire\Features\SupportAttributes\Attribute as LivewireAttribute;
use function Livewire\store;
#[\Attribute]
class BaseReactive extends LivewireAttribute
{
function __construct() {}
protected $originalValueHash;
public function mount($params)
{
$property = $this->getName();
store($this->component)->push('reactiveProps', $property);
$this->originalValueHash = crc32(json_encode($this->getValue()));
}
public function hydrate()
{
if (SupportReactiveProps::hasPassedInProps($this->component->getId())) {
$updatedValue = SupportReactiveProps::getPassedInProp(
$this->component->getId(), $this->getName()
);
$this->setValue($updatedValue);
}
$this->originalValueHash = crc32(json_encode($this->getValue()));
}
public function dehydrate($context)
{
if ($this->originalValueHash !== crc32(json_encode($this->getValue()))) {
throw new CannotMutateReactivePropException($this->component->getName(), $this->getName());
}
$context->pushMemo('props', $this->getName());
}
}