19declare(strict_types=1);
47 $tpl_name =
"tpl.standard.html";
52 if (is_array($items) && count($items) == 0) {
55 $this->
renderItems($items, $tpl, $default_renderer);
59 if ($label !==
null) {
60 $tpl->setVariable(
"LABEL", $component->
getLabel());
62 $tpl->setVariable(
"LABEL",
"");
70 : $this->
txt(
"actions");
71 $tpl->setCurrentBlock(
"aria_label");
72 $tpl->setVariable(
"ARIA_LABEL", $aria_label);
73 $tpl->parseCurrentBlock();
76 $component = $component->withAdditionalOnLoadCode(
78 "il.UI.dropdown.init(document.getElementById(\"$id\"));"
86 protected function renderItems(array $items,
Template $tpl, RendererInterface $default_renderer): void
88 foreach ($items as $item) {
90 $tpl->
setVariable(
"ITEM", $default_renderer->render($item));
114 parent::registerResources($registry);
115 $registry->
register(
'assets/js/dropdown.js');
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
This implements commonalities between different types of Dropdowns.
renderItems(array $items, Template $tpl, RendererInterface $default_renderer)
renderId(JavaScriptBindable $component, Template $tpl)
registerResources(ResourceRegistry $registry)
Announce resources this renderer requires.
renderDropdown(Dropdown $component, RendererInterface $default_renderer)
render(Component\Component $component, RendererInterface $default_renderer)
Base class for all component renderers.
cannotHandleComponent(Component $component)
This method MUST be called by derived component renderers, if.
txt(string $id)
Get a text from the language file.
createId()
Get a fresh unique id.
bindJavaScript(JavaScriptBindable $component)
Bind the component to JavaScript.
getTemplate(string $name, bool $purge_unfilled_vars, bool $purge_unused_blocks)
Get template of component this renderer is made for.
Interface to be extended by components that have the possibility to bind to Javascript.
Registry for resources required by rendered output like Javascript or CSS.
register(string $name)
Add a dependency.
Interface to templating as it is used in the UI framework.
setVariable(string $name, $value)
Set a variable in the current block.
setCurrentBlock(string $name)
Set the block to work on.
parseCurrentBlock()
Parse the block that is currently worked on.
An entity that renders components to a string output.
trait JavaScriptBindable
Trait for components implementing JavaScriptBindable providing standard implementation.