3 declare(strict_types=1);
    87         $this->signal_generator = $signal_generator;
    96         return $this->entries;
   107             MainControls\Slate\Slate::class
   110         $this->checkArgListElements(
"Bulky or Slate", 
$check, $classes);
   112         if (array_key_exists($id, $this->entries)) {
   116         $clone = clone $this;
   117         $clone->entries[
$id] = $entry;
   126         return $this->tool_entries;
   135         bool $initially_hidden = 
false,
   138         if (!$this->tools_button) {
   139             throw new LogicException(
"There must be a tool-button configured to add tool-entries", 1);
   142         if (array_key_exists($id, $this->tool_entries)) {
   146         $clone = clone $this;
   147         $clone->tool_entries[
$id] = $entry;
   148         $signal = $this->signal_generator->create();
   149         $signal->addOption(
'entry_id', $id);
   150         $signal->addOption(
'action', self::ENTRY_ACTION_TRIGGER_MAPPED);
   151         $clone->tool_signals[
$id] = $signal;
   153         if ($initially_hidden) {
   154             $clone->initially_hidden_ids[] = 
$id;
   158             $clone->close_buttons[
$id] = $close_button;
   168         $clone = clone $this;
   169         $clone->tools_button = $button;
   178         return $this->tools_button;
   186         return $this->entry_click_signal;
   194         return $this->tools_click_signal;
   202         return $this->tools_removal_signal;
   210         return $this->disengage_all_signal;
   218         return $this->toggle_tools_signal;
   226         $this->entry_click_signal = $this->signal_generator->create();
   227         $this->tools_click_signal = $this->signal_generator->create();
   228         $this->tools_removal_signal = $this->signal_generator->create();
   229         $this->disengage_all_signal = $this->signal_generator->create();
   230         $this->disengage_all_signal->addOption(
'action', self::ENTRY_ACTION_DISENGAGE_ALL);
   231         $this->toggle_tools_signal = $this->signal_generator->create();
   232         $this->toggle_tools_signal->addOption(
'action', self::ENTRY_ACTION_TOGGLE_TOOLS);
   237         $clone = clone $this;
   238         $clone->initSignals();
   239         foreach (array_keys($this->tool_entries) as $tool_id) {
   240             $this->tool_signals[$tool_id] = $this->signal_generator->create();
   250         return $this->active;
   258         $valid_entries = array_merge(
   259             array_keys($this->entries),
   260             array_keys($this->tool_entries),
   263         if (!in_array($active, $valid_entries)) {
   267         $clone = clone $this;
   268         $clone->active = $active;
   277         return array_unique($this->initially_hidden_ids);
   285         return $this->tool_signals[$tool_id];
   293         return $this->close_buttons;
   299         $clone = clone $this;
   300         $clone->entries = [];
   301         $clone->tool_entries = [];
   309         if (!in_array($action, [self::ENTRY_ACTION_TRIGGER, self::ENTRY_ACTION_REMOVE])) {
   312         $signal = $this->signal_generator->create();
   313         $signal->addOption(
'entry_id', $entry_id);
   314         $signal->addOption(
'action', $action);
   320         $clone = clone $this;
   321         $clone->mainbar_tree_position = $tree_pos;
   327         $clone = clone $this;
   330         foreach ($clone->getEntries() as $k => $v) {
   331             $clone->entries[$k] = 
$f($counter, $v, 
false);
   336         foreach ($clone->getToolEntries() as $k => $v) {
   337             $clone->tool_entries[$k] = 
$f($counter, $v, 
true);
 
Signal $tools_click_signal
 
const ENTRY_ACTION_TRIGGER
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
Signal $entry_click_signal
 
This describes the MainBar. 
 
Button Bulky $tools_button
 
__construct(SignalGeneratorInterface $signal_generator)
 
withAdditionalToolEntry(string $id, Slate $entry, bool $initially_hidden=false, Button\Close $close_button=null)
 
trait JavaScriptBindable
Trait for components implementing JavaScriptBindable providing standard implementation. 
 
withAdditionalEntry(string $id, $entry)
 
const ENTRY_ACTION_TOGGLE_TOOLS
 
initSignals()
Set the signals for this component. 
 
const ENTRY_ACTION_REMOVE
 
withMappedSubNodes(callable $f)
 
Signal $toggle_tools_signal
 
string $mainbar_tree_position
 
getInitiallyHiddenToolIds()
 
Signal $tools_removal_signal
 
const ENTRY_ACTION_TRIGGER_MAPPED
 
getEngageToolSignal(string $tool_id)
 
withMainBarTreePosition(string $tree_pos)
 
withActive(string $active)
 
Button Bulky $more_button
 
getTriggerSignal(string $entry_id, string $action)
 
const ENTRY_ACTION_DISENGAGE_ALL
 
array $initially_hidden_ids
 
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins 
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
withToolsButton(Button\Bulky $button)
 
Signal $disengage_all_signal
 
SignalGeneratorInterface $signal_generator