ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
Bulky.php
Go to the documentation of this file.
1<?php
2declare(strict_types=1);
3
4/* Copyright (c) 2017 Nils Haagen <nils.haagen@concepts-and-training.de> Extended GPL, see docs/LICENSE */
5
7
10
14class Bulky extends Button implements C\Button\Bulky
15{
16 use Engageable;
17
18 // allowed ARIA roles
19 const MENUITEM = 'menuitem';
20
24 protected $icon_or_glyph;
25
29 protected $aria_role;
30
34 protected static $allowed_aria_roles = array(
35 self::MENUITEM
36 );
37
38 public function __construct(Symbol $icon_or_glyph, string $label, string $action)
39 {
40 $this->icon_or_glyph = $icon_or_glyph;
41 $this->label = $label;
42 $this->action = $action;
43 }
44
48 public function getIconOrGlyph()
49 {
51 }
52
59 public function withAriaRole(string $aria_role) : Button
60 {
61 $this->checkArgIsElement(
62 "role",
63 $aria_role,
64 self::$allowed_aria_roles,
65 implode('/', self::$allowed_aria_roles)
66 );
67 $clone = clone $this;
68 $clone->aria_role = $aria_role;
69 return $clone;
70 }
71
77 public function getAriaRole() : ?string
78 {
79 return $this->aria_role;
80 }
81}
An exception for terminatinating execution or to throw for unit testing.
withAriaRole(string $aria_role)
Get a button like this, but with an additional ARIA role.
Definition: Bulky.php:59
__construct(Symbol $icon_or_glyph, string $label, string $action)
Definition: Bulky.php:38
getAriaRole()
Get the ARIA role on the button.
Definition: Bulky.php:77
This describes a symbol.
Definition: Symbol.php:12
checkArgIsElement($which, $value, $array, $name)
Throw an InvalidArgumentException if $value is not an element of array.