19 declare(strict_types=1);
72 $clone = clone($this);
73 $clone->visiblility_callable = $is_visible;
74 $clone->is_visible_static = null;
84 if (isset($this->is_visible_static)) {
88 return $this->is_visible_static =
false;
90 if (is_callable($this->visiblility_callable)) {
93 $value = (bool) $callable();
95 return $this->is_visible_static = $value;
98 return $this->is_visible_static =
true;
106 $clone = clone($this);
107 $clone->available_callable = $is_available;
120 if (is_callable($this->available_callable)) {
123 return (
bool) $callable();
134 $clone = clone $this;
135 $clone->non_available_reason = $element;
147 return $this->non_available_reason instanceof
Legacy ? $this->non_available_reason : $DIC->ui()->factory()->legacy(
"");
163 $clone = clone($this);
164 $clone->is_always_available = $always_active;
182 $clone = clone($this);
193 $this->type_information = $information;
209 $changed = $this->hasChanged();
210 if ($this instanceof
isChild) {
withPosition(int $position)
withAvailableCallable(callable $is_available)
withNonAvailableReason(Legacy $element)
setTypeInformation(TypeInformation $information)
withAlwaysAvailable(bool $always_active)
Interface IdentificationInterface.
TypeInformation $type_information
Closure $available_callable
bool $is_always_available
Legacy $non_available_reason
Closure $visiblility_callable
__construct(IdentificationInterface $provider_identification)
AbstractBaseItem constructor.
IdentificationInterface $provider_identification
trait ComponentDecoratorTrait
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
withVisibilityCallable(callable $is_visible)
getProviderIdentification()