ILIAS  trunk Revision v5.2.0beta1-34132-g2d4d73d4a0
ILIAS\UI\Implementation\Component\Dropdown\Renderer Class Reference
+ Inheritance diagram for ILIAS\UI\Implementation\Component\Dropdown\Renderer:
+ Collaboration diagram for ILIAS\UI\Implementation\Component\Dropdown\Renderer:

Public Member Functions

 registerResources (ResourceRegistry $registry)
 Announce resources this renderer requires. More...
 
- Public Member Functions inherited from ILIAS\UI\Implementation\Render\AbstractComponentRenderer
 __construct (private Factory $ui_factory, private TemplateFactory $tpl_factory, private ilLanguage $lng, private JavaScriptBinding $js_binding, private \ILIAS\Refinery\Factory $refinery, private ImagePathResolver $image_path_resolver, private DataFactory $data_factory, private HelpTextRetriever $help_text_retriever, private UploadLimitResolver $upload_limit_resolver,)
 
 registerResources (ResourceRegistry $registry)
 Announce resources this renderer requires. More...
 
 txt (string $id)
 Get a text from the language file. More...
 
 toJS ($key)
 Add language var to client side (il.Language) More...
 
 getLangKey ()
 Get current language key. More...
 
 getImagePathResolver ()
 
 getHelpText (Help\Purpose $purpose, Help\Topic ... $topics)
 
- Public Member Functions inherited from ILIAS\UI\Implementation\Render\ComponentRenderer
 render (Component $component, Renderer $default_renderer)
 Render the component if possible and delegate additional rendering to the default_renderer. More...
 
- Public Member Functions inherited from ILIAS\UI\HelpTextRetriever
 getHelpText (Help\Purpose $purpose, Help\Topic ... $topics)
 Try to find according help texts for the purpose an topics. More...
 

Protected Member Functions

 renderDropdown (Dropdown $component, RendererInterface $default_renderer)
 
 renderItems (array $items, Template $tpl, RendererInterface $default_renderer)
 
 renderId (JavaScriptBindable $component, Template $tpl)
 
 getComponentInterfaceName ()
 
- Protected Member Functions inherited from ILIAS\UI\Implementation\Render\AbstractComponentRenderer
 getUIFactory ()
 Get a UI factory. More...
 
 getDataFactory ()
 
 getRefinery ()
 
 getUploadLimitResolver ()
 
 getJavascriptBinding ()
 
 getTemplate (string $name, bool $purge_unfilled_vars, bool $purge_unused_blocks)
 Get template of component this renderer is made for. More...
 
 getTemplatePath (string $name)
 Get the path to the template of this component. More...
 
 bindJavaScript (JavaScriptBindable $component)
 Bind the component to JavaScript. More...
 
 createId ()
 Get a fresh unique id. More...
 
 checkComponent (Component $component)
 Check if a given component fits this renderer and throw if that is not the case. More...
 
 getComponentInterfaceName ()
 Get the name of the component-interface this renderer is supposed to render. More...
 
 getTooltipRenderer ()
 

Additional Inherited Members

- Protected Attributes inherited from ILIAS\UI\Implementation\Render\AbstractComponentRenderer
TooltipRenderer $tooltip_renderer = null
 

Detailed Description

Definition at line 30 of file Renderer.php.

Member Function Documentation

◆ getComponentInterfaceName()

ILIAS\UI\Implementation\Component\Dropdown\Renderer::getComponentInterfaceName ( )
protected

Definition at line 117 of file Renderer.php.

117  : array
118  {
119  return array(Component\Dropdown\Standard::class);
120  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

◆ registerResources()

ILIAS\UI\Implementation\Component\Dropdown\Renderer::registerResources ( ResourceRegistry  $registry)

Announce resources this renderer requires.

Implements ILIAS\UI\Implementation\Render\ComponentRenderer.

Definition at line 108 of file Renderer.php.

References ILIAS\UI\Implementation\Render\ResourceRegistry\register().

108  : void
109  {
110  parent::registerResources($registry);
111  $registry->register('./components/ILIAS/UI/src/templates/js/Dropdown/dropdown.js');
112  }
+ Here is the call graph for this function:

◆ renderDropdown()

ILIAS\UI\Implementation\Component\Dropdown\Renderer::renderDropdown ( Dropdown  $component,
RendererInterface  $default_renderer 
)
protected

Definition at line 45 of file Renderer.php.

References ILIAS\UI\Implementation\Component\Dropdown\Dropdown\getAriaLabel(), ILIAS\UI\Implementation\Component\Dropdown\Dropdown\getItems(), ILIAS\UI\Implementation\Component\Dropdown\Dropdown\getLabel(), ILIAS\UI\Implementation\Render\AbstractComponentRenderer\getTemplate(), ILIAS\UI\Implementation\Component\Dropdown\Renderer\renderId(), ILIAS\UI\Implementation\Component\Dropdown\Renderer\renderItems(), and ILIAS\UI\Implementation\Render\AbstractComponentRenderer\txt().

45  : string
46  {
47  // get template
48  $tpl_name = "tpl.standard.html";
49  $tpl = $this->getTemplate($tpl_name, true, true);
50 
51  // render items
52  $items = $component->getItems();
53  if (is_array($items) && count($items) == 0) {
54  return "";
55  }
56  $this->renderItems($items, $tpl, $default_renderer);
57 
58  // render trigger button
59  $label = $component->getLabel();
60  if ($label !== null) {
61  $tpl->setVariable("LABEL", $component->getLabel());
62  } else {
63  $tpl->setVariable("LABEL", "");
64  }
65 
66  // ensure that a) a separate aria label may be provided and
67  // b) that an empty label and empty aria-label will use the "actions" fallback
68  if ($component->getLabel() == "" || $component->getAriaLabel() != "") {
69  $aria_label = ($component->getAriaLabel() != "")
70  ? $component->getAriaLabel()
71  : $this->txt("actions");
72  $tpl->setCurrentBlock("aria_label");
73  $tpl->setVariable("ARIA_LABEL", $aria_label);
74  $tpl->parseCurrentBlock();
75  }
76 
77  $this->renderId($component, $tpl);
78 
79  return $tpl->get();
80  }
txt(string $id)
Get a text from the language file.
getTemplate(string $name, bool $purge_unfilled_vars, bool $purge_unused_blocks)
Get template of component this renderer is made for.
renderId(JavaScriptBindable $component, Template $tpl)
Definition: Renderer.php:92
renderItems(array $items, Template $tpl, RendererInterface $default_renderer)
Definition: Renderer.php:82
+ Here is the call graph for this function:

◆ renderId()

ILIAS\UI\Implementation\Component\Dropdown\Renderer::renderId ( JavaScriptBindable  $component,
Template  $tpl 
)
protected

Definition at line 92 of file Renderer.php.

References $id, ILIAS\UI\Implementation\Render\AbstractComponentRenderer\bindJavaScript(), ILIAS\UI\Implementation\Render\AbstractComponentRenderer\createId(), and ILIAS\UI\Implementation\Render\Template\setVariable().

Referenced by ILIAS\UI\Implementation\Component\Dropdown\Renderer\renderDropdown().

95  : void {
96  $id = $this->bindJavaScript($component);
97  if ($id === null) {
98  $id = $this->createId();
99  }
100  $tpl->setVariable("ID", $id);
101  $tpl->setVariable("ID_MENU", $id."_menu");
102 
103  }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
bindJavaScript(JavaScriptBindable $component)
Bind the component to JavaScript.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renderItems()

ILIAS\UI\Implementation\Component\Dropdown\Renderer::renderItems ( array  $items,
Template  $tpl,
RendererInterface  $default_renderer 
)
protected

Definition at line 82 of file Renderer.php.

References ILIAS\UI\Implementation\Render\Template\parseCurrentBlock(), ILIAS\UI\Implementation\Render\Template\setCurrentBlock(), and ILIAS\UI\Implementation\Render\Template\setVariable().

Referenced by ILIAS\UI\Implementation\Component\Dropdown\Renderer\renderDropdown().

82  : void
83  {
84  foreach ($items as $item) {
85  $tpl->setCurrentBlock("item");
86  $tpl->setVariable("ITEM", $default_renderer->render($item));
87  $tpl->parseCurrentBlock();
88  }
89  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

The documentation for this class was generated from the following file: