18declare(strict_types=1);
34 DataFactory $data_factory,
42 $field_factory->text(
$lng->txt(
'ui_link_label'),
null)->withDedicatedName(
'label'),
43 $field_factory->url(
$lng->txt(
'ui_link_url'),
null)->withDedicatedName(
'url')
53 $txt_id =
'label_cannot_be_empty_if_url_is_set';
55 $is_ok =
function ($v) {
63 && is_a(
$url, URI::class)
67 $label_is_set_for_url = $this->
refinery->custom()->constraint($is_ok,
$error);
68 $this->setAdditionalTransformation($label_is_set_for_url);
74 $trafo = $this->
refinery->custom()->transformation(
function ($v): ?\
ILIAS\Data\
Link {
79 return $this->data_factory->link(
$label ??
"",
$url);
82 $this->setAdditionalTransformation($trafo);
98 if ($this->requirement_constraint !==
null) {
99 return $this->requirement_constraint;
A Link is the often used combination of a label and an URL.
The scope of this class is split ilias-conform URI's into components.
A constraint encodes some resrtictions on values.
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
Refinery Factory $refinery
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Class ChatMainBarProvider \MainMenu\Provider.