namespace Combodo\iTop\Form\Field; use Str; use Closure; use utils; /** * Description of UrlField * * @author Guillaume Lajarige */ class UrlField extends StringField { /** @var string */ public const DEFAULT_TARGET = '_blank'; /** @var string */ protected $sTarget; /** * @inheritDoc */ public function __construct(string $sId, Closure $onFinalizeCallback = null) { parent::__construct($sId, $onFinalizeCallback); $this->sTarget = static::DEFAULT_TARGET; } public function SetTarget($sTarget) { $this->sTarget = $sTarget; return $this; } /** * @inheritDoc */ public function GetDisplayValue() { $sLabel = Str::pure2html($this->currentValue); if (utils::StrLen($sLabel) > 128) { // Truncate the length to 128 characters, by removing the middle $sLabel = substr($sLabel, 0, 100).'.....'.substr($sLabel, -20); } return "sTarget\" href=\"$this->currentValue\">$sLabel"; } }