ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
Drilldown.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
28 
32 class Drilldown extends Menu implements IMenu\Drilldown
33 {
35 
36  protected Signal $signal;
37  protected ?string $persistence_id = null;
38 
42  public function __construct(
43  SignalGeneratorInterface $signal_generator,
44  string $label,
45  array $items
46  ) {
47  $this->checkItemParameter($items);
48  $this->label = $label;
49  $this->items = $items;
50  $this->signal = $signal_generator->create();
51  }
52 
53  public function getBacklinkSignal(): Signal
54  {
55  return $this->signal;
56  }
57 
58  public function withPersistenceId(?string $id): self
59  {
60  if (is_null($id)) {
61  return $this;
62  }
63  $clone = clone $this;
64  $clone->persistence_id = $id;
65  return $clone;
66  }
67 
68  public function getPersistenceId(): ?string
69  {
70  return $this->persistence_id;
71  }
72 }
trait JavaScriptBindable
Trait for components implementing JavaScriptBindable providing standard implementation.
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
create(string $class='')
Create a signal, each created signal MUST have a unique ID.
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
__construct(SignalGeneratorInterface $signal_generator, string $label, array $items)
Definition: Drilldown.php:42