ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
Engageable.php
Go to the documentation of this file.
1<?php
2
3/* Copyright (c) 2018 Nils Haagen <nils.haagen@concepts-and-training.de> Extended GPL, see docs/LICENSE */
4
6
7use ILIAS\UI\Component\Button\Engageable as EngageableInterface;
8
15{
19 protected $is_engageable = false;
20
24 protected $engaged = false;
25
29 public function isEngageable() : bool
30 {
31 return $this->is_engageable;
32 }
33
37 public function withEngagedState(bool $state) : EngageableInterface
38 {
39 $clone = clone $this;
40 $clone->is_engageable = true;
41 $clone->engaged = $state;
42 return $clone;
43 }
44
48 public function isEngaged() : bool
49 {
50 return $this->engaged;
51 }
52}
An exception for terminatinating execution or to throw for unit testing.
A Button can be stateful; when engaged, the state MUST be refelected in the "aria-pressed"-,...
Definition: Engageable.php:15