File: D:/HostingSpaces/brameda/brameda.nl/app/Komma/Kms/Core/Attributes/Link.php
<?php
namespace App\Komma\Kms\Core\Attributes;
use App\Komma\Kms\Core\Attributes\Traits\LabelTrait;
use App\Komma\Kms\Core\Attributes\Traits\PlaceholderTextTrait;
class Link extends Attribute
{
use LabelTrait;
/** @var string $linkText */
private $linkText = '';
/**
* Link constructor.
* @param string $labelText
* @param null $duskSelector
*/
public function __construct(string $labelText, string $duskSelector = null)
{
$this->setLabelText($labelText);
parent::__construct();
$this->mapValueFrom(Attribute::ValueFromItself, (!$duskSelector) ? $this->getLabelText() : $duskSelector);
parent::setValue($labelText);
}
/**
* Returns a view that visually represents this attribute
*
* @return \Illuminate\View\View
*/
public function render()
{
return view('kms/attributes.link', [
'attribute' => $this
]);
}
/**
* @return string
*/
public function getLink(): string
{
return $this->getValue();
}
/**
* @param string $link
* @return Link
*/
public function setLink(string $link): Link
{
$this->setValue($link);
return $this;
}
/**
* @return string
*/
public function getLinkText(): string
{
return $this->linkText;
}
/**
* @param string $linkText
* @return Link
*/
public function setLinkText(string $linkText): Link
{
$this->linkText = $linkText;
return $this;
}
}