3declare(strict_types=1);
25use ILIAS\UI\Implementation\Component\ComponentHelper;
28use InvalidArgumentException;
45 $this->checkStringArg(
"content",
$content);
49 $this->signal_list = array();
75 if (!key_exists($signal_name, $this->signal_list)) {
76 throw new InvalidArgumentException(
"Signal with name $signal_name is not registered");
79 return $this->signal_list[$signal_name][
'signal'];
104 $this->signal_list[$signal_name] = array(
105 'signal' => $this->signal_generator->create(),
106 'js_code' => $js_code
getCustomSignal(string $signal_name)
withCustomSignal(string $signal_name, string $js_code)
SignalGeneratorInterface $signal_generator
registerSignalAndCustomCode(string $signal_name, string $js_code)
Registers new signal with its JavaScript code in the signal list.
__construct(string $content, SignalGeneratorInterface $signal_generator)
getAllCustomSignals()
Get a list of all registered signals and their custom JavaScript code.
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...
trait JavaScriptBindable
Trait for components implementing JavaScriptBindable providing standard implementation.