File: D:/HostingSpaces/SBogers10/gggg.komma.nl/vendor/komma/kms/src/Core/Attributes/View.php
<?php
namespace Komma\KMS\Core\Attributes;
use Komma\KMS\Core\Attributes\Traits\LabelTrait;
use Illuminate\Support\Arr;
class View extends Attribute
{
use LabelTrait;
protected ?int $getsValueFrom = Attribute::NonInteractiveAttribute;
protected string $viewName;
protected string $viewComposerClass;
protected array $viewData = [];
/**
* @return string
*/
public function render(): string
{
$data = array_merge($this->viewData, [
'viewName' => $this->viewName,
'attribute' => $this,
]);
return view('KMS::attributes.view', $data)->render();
}
/**
* @return string
*/
public function getViewName(): string
{
return $this->viewName;
}
/**
* @param string $viewName
* @return View
*/
public function setViewName(string $viewName): View
{
$this->viewName = $viewName;
return $this;
}
/**
* @return string
*/
public function getViewComposerClass(): string
{
return $this->viewComposerClass;
}
/**
* @param string $viewComposerClass
* @return View
*/
public function setViewComposerClass(string $viewComposerClass): View
{
$this->viewComposerClass = $viewComposerClass;
return $this;
}
/**
* @return mixed
*/
public function getViewData()
{
return $this->viewData;
}
/**
* @param mixed $viewData
* @return View
*/
public function setViewData(array $viewData): View
{
$this->viewData = $viewData;
return $this;
}
}