ILIAS  trunk Revision v11.0_alpha-1903-g97817446624
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ILIAS\UI\Implementation\Render\AbstractComponentRenderer Class Reference

Base class for all component renderers. More...

+ Inheritance diagram for ILIAS\UI\Implementation\Render\AbstractComponentRenderer:
+ Collaboration diagram for ILIAS\UI\Implementation\Render\AbstractComponentRenderer:

Public Member Functions

 __construct (private FactoryInternal $ui_factory, private TemplateFactory $tpl_factory, private Language $lng, private JavaScriptBinding $js_binding, 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)
 
 getComponentCanonicalNameAttribute (Component $component)
 
- 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

 getUIFactory ()
 Get a UI factory. More...
 
 getDataFactory ()
 
 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...
 
 cannotHandleComponent (Component $component)
 This method MUST be called by derived component renderers, if. More...
 
 getTooltipRenderer ()
 
 convertSpecialCharacters (string $value)
 

Protected Attributes

TooltipRenderer $tooltip_renderer = null
 

Private Member Functions

 getTemplateRaw (string $path, bool $purge_unfilled_vars, bool $purge_unused_blocks)
 Get a template from any path. More...
 
 bindOnloadCode (JavaScriptBindable $component)
 Bind the JavaScript onload-code. More...
 
 addTriggererOnLoadCode (Triggerer $triggerer)
 Add onload-code for triggerer. More...
 
 getMyComponent ()
 

Static Private Attributes

static array $component_storage
 

Detailed Description

Base class for all component renderers.

Offers some convenience methods for renderes, users only needs to implement ComponentRenderer::render. Assumes that there is no special resource the component requires.

Definition at line 43 of file AbstractComponentRenderer.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::__construct ( private FactoryInternal  $ui_factory,
private TemplateFactory  $tpl_factory,
private Language  $lng,
private JavaScriptBinding  $js_binding,
private ImagePathResolver  $image_path_resolver,
private DataFactory  $data_factory,
private HelpTextRetriever  $help_text_retriever,
private UploadLimitResolver  $upload_limit_resolver 
)
final

Definition at line 47 of file AbstractComponentRenderer.php.

56  {
57  }

Member Function Documentation

◆ addTriggererOnLoadCode()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::addTriggererOnLoadCode ( Triggerer  $triggerer)
private

Add onload-code for triggerer.

Definition at line 204 of file AbstractComponentRenderer.php.

References $id, ILIAS\UI\Component\Triggerer\getTriggeredSignals(), and ILIAS\UI\Component\JavaScriptBindable\withAdditionalOnLoadCode().

Referenced by ILIAS\UI\Implementation\Render\AbstractComponentRenderer\bindJavaScript().

205  {
206  $triggered_signals = $triggerer->getTriggeredSignals();
207  if (count($triggered_signals) == 0) {
208  return $triggerer;
209  }
210  return $triggerer->withAdditionalOnLoadCode(function ($id) use ($triggered_signals): string {
211  $code = "";
212  foreach ($triggered_signals as $triggered_signal) {
213  $signal = $triggered_signal->getSignal();
214  $event = $triggered_signal->getEvent();
215  $options = json_encode($signal->getOptions());
216  //Note this switch is necessary since $(#...).on('load', ...) could be fired before the binding of the event.
217  //Same seems true fro ready, see: #27456
218  if ($event == 'load' || $event == 'ready') {
219  $code .=
220  "$(document).trigger('$signal',
221  {
222  'id' : '$signal', 'event' : '$event',
223  'triggerer' : $('#$id'),
224  'options' : JSON.parse('$options')
225  }
226  );";
227  } else {
228  $code .=
229  "$('#$id').on('$event', function(event) {
230  $(this).trigger('$signal',
231  {
232  'id' : '$signal', 'event' : '$event',
233  'triggerer' : $(this),
234  'options' : JSON.parse('$options')
235  }
236  );
237  return false;
238  });";
239  }
240  }
241  return $code;
242  });
243  }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bindJavaScript()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::bindJavaScript ( JavaScriptBindable  $component)
finalprotected

Bind the component to JavaScript.

ATTENTION: If this returns an id, the returned id has to be included as id-attribute into the HTML of your component.

Definition at line 154 of file AbstractComponentRenderer.php.

References ILIAS\UI\Implementation\Render\AbstractComponentRenderer\addTriggererOnLoadCode(), and ILIAS\UI\Implementation\Render\AbstractComponentRenderer\bindOnloadCode().

Referenced by ILIAS\UI\Implementation\Component\Dropzone\File\Renderer\bindAndApplyJavaScript(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\bindJSandApplyId(), ILIAS\UI\Implementation\Component\MainControls\Renderer\bindMainbarJS(), ILIAS\UI\Implementation\Component\Button\Renderer\maybeRenderId(), ILIAS\UI\Implementation\Component\Link\Renderer\maybeRenderWithTooltip(), ILIAS\UI\Implementation\Component\Tree\Renderer\render(), ILIAS\UI\Implementation\Component\Symbol\Icon\Renderer\render(), ILIAS\UI\Implementation\Component\Legacy\Renderer\render(), ILIAS\UI\Implementation\Component\Card\Renderer\render(), ILIAS\UI\Implementation\Component\Image\Renderer\render(), ILIAS\UI\Implementation\Component\Input\Container\Filter\Renderer\render(), ILIAS\UI\Implementation\Component\Popover\Renderer\render(), ILIAS\UI\Implementation\Component\Symbol\Glyph\Renderer\render(), ILIAS\UI\Implementation\Component\Symbol\Glyph\GlyphNonAbstractRendererWithJS\render(), ILIAS\UI\Implementation\Component\Modal\Renderer\renderAsync(), ILIAS\UI\Implementation\Component\Player\Renderer\renderAudio(), ILIAS\UI\Implementation\Component\Table\Renderer\renderDataTable(), ILIAS\UI\Implementation\Component\Menu\Renderer\renderDrilldownMenu(), ILIAS\UI\Implementation\Component\Input\ViewControl\Renderer\renderFieldSelection(), ILIAS\UI\Implementation\Component\Input\Container\Form\FormWithoutSubmitButtonsContextRenderer\renderFormWithoutSubmitButtons(), ILIAS\UI\Implementation\Component\Chart\Bar\Renderer\renderHorizontal(), ILIAS\UI\Implementation\Component\Dropdown\Renderer\renderId(), ILIAS\UI\Implementation\Component\ViewControl\Renderer\renderId(), ILIAS\UI\Implementation\Component\Modal\Renderer\renderInterruptive(), ILIAS\UI\Implementation\Component\Modal\Renderer\renderInterruptiveItemsByClass(), ILIAS\UI\Implementation\Component\Modal\Renderer\renderLightbox(), ILIAS\UI\Implementation\Component\MainControls\Renderer\renderMainbarEntry(), ILIAS\UI\Implementation\Component\Input\ViewControl\Renderer\renderMode(), ILIAS\UI\Implementation\Component\Button\Renderer\renderMonth(), ILIAS\UI\Implementation\Component\Table\Renderer\renderOrderingTable(), ILIAS\UI\Implementation\Component\ViewControl\Renderer\renderPagination(), ILIAS\UI\Implementation\Component\Input\ViewControl\Renderer\renderPagination(), ILIAS\UI\Implementation\Component\Table\Renderer\renderPresentationRow(), ILIAS\UI\Implementation\Component\Table\Renderer\renderPresentationTable(), ILIAS\UI\Implementation\Component\Progress\Renderer\renderProgressBar(), ILIAS\UI\Implementation\Component\Prompt\Renderer\renderPrompt(), ILIAS\UI\Implementation\Component\Item\Renderer\renderShy(), ILIAS\UI\Implementation\Component\MainControls\Slate\Renderer\renderSlate(), ILIAS\UI\Implementation\Component\Input\ViewControl\Renderer\renderSortation(), ILIAS\UI\Implementation\Component\ViewControl\Renderer\renderSortation(), ILIAS\UI\Implementation\Component\Input\Container\ViewControl\Renderer\renderStandard(), ILIAS\UI\Implementation\Component\Layout\Page\Renderer\renderStandardPage(), ILIAS\UI\Implementation\Component\MainControls\Renderer\renderSystemInfo(), ILIAS\UI\Implementation\Component\Toast\Renderer\renderToast(), ILIAS\UI\Implementation\Component\Chart\Bar\Renderer\renderVertical(), ILIAS\UI\Implementation\Component\Player\Renderer\renderVideo(), and ILIAS\UI\Implementation\Component\Input\Field\Renderer\wrapInFormContext().

154  : ?string
155  {
156  if ($component instanceof Triggerer) {
157  $component = $this->addTriggererOnLoadCode($component);
158  }
159  return $this->bindOnloadCode($component);
160  }
addTriggererOnLoadCode(Triggerer $triggerer)
Add onload-code for triggerer.
bindOnloadCode(JavaScriptBindable $component)
Bind the JavaScript onload-code.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bindOnloadCode()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::bindOnloadCode ( JavaScriptBindable  $component)
private

Bind the JavaScript onload-code.

Definition at line 182 of file AbstractComponentRenderer.php.

References $id, ILIAS\UI\Component\JavaScriptBindable\getOnLoadCode(), and null.

Referenced by ILIAS\UI\Implementation\Render\AbstractComponentRenderer\bindJavaScript().

182  : ?string
183  {
184  $binder = $component->getOnLoadCode();
185  if ($binder === null) {
186  return null;
187  }
188 
189  $id = $this->js_binding->createId();
190  $on_load_code = $binder($id);
191  if (!is_string($on_load_code)) {
192  throw new LogicException(
193  "Expected JavaScript binder to return string" .
194  " (used component: " . get_class($component) . ")"
195  );
196  }
197  $this->js_binding->addOnLoadCode($on_load_code);
198  return $id;
199  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cannotHandleComponent()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::cannotHandleComponent ( Component  $component)
finalprotected

This method MUST be called by derived component renderers, if.

See also
ComponentRenderer::render() cannot handle the provided component.

Definition at line 249 of file AbstractComponentRenderer.php.

Referenced by ILIAS\UI\Implementation\Component\Launcher\Renderer\render(), ILIAS\UI\Implementation\Component\Modal\InterruptiveItem\Renderer\render(), ILIAS\UI\Implementation\Component\MainControls\Slate\Renderer\render(), ILIAS\UI\Implementation\Component\Breadcrumbs\Renderer\render(), ILIAS\UI\Implementation\Component\Divider\Renderer\render(), ILIAS\UI\Implementation\Component\Progress\State\Bar\Renderer\render(), ILIAS\UI\Implementation\Component\Chart\Renderer\render(), ILIAS\UI\Implementation\Component\Deck\Renderer\render(), ILIAS\UI\Implementation\Component\Player\Renderer\render(), ILIAS\UI\Implementation\Component\Counter\Renderer\render(), ILIAS\UI\Implementation\Component\Panel\Listing\Renderer\render(), ILIAS\UI\Implementation\Component\Panel\Secondary\Renderer\render(), ILIAS\UI\Implementation\Component\Prompt\Renderer\render(), ILIAS\UI\Implementation\Component\Prompt\State\Renderer\render(), ILIAS\UI\Implementation\Component\Listing\Entity\Renderer\render(), ILIAS\UI\Implementation\Component\Tree\Renderer\render(), ILIAS\UI\Implementation\Component\Listing\Workflow\Renderer\render(), ILIAS\UI\Implementation\Component\Chart\Bar\Renderer\render(), ILIAS\UI\Implementation\Component\Layout\Alignment\Horizontal\Renderer\render(), ILIAS\UI\Implementation\Component\Dropdown\Renderer\render(), ILIAS\UI\Implementation\Component\Layout\Alignment\Renderer\render(), ILIAS\UI\Implementation\Component\Link\Renderer\render(), ILIAS\UI\Implementation\Component\Input\Container\Form\FormWithoutSubmitButtonsContextRenderer\render(), ILIAS\UI\Implementation\Component\Entity\Renderer\render(), ILIAS\UI\Implementation\Component\Input\Container\Form\Renderer\render(), ILIAS\UI\Implementation\Component\MessageBox\Renderer\render(), ILIAS\UI\Implementation\Component\Legacy\Renderer\render(), ILIAS\UI\Implementation\Component\Card\Renderer\render(), ILIAS\UI\Implementation\Component\Symbol\Icon\Renderer\render(), ILIAS\UI\Implementation\Component\MessageBox\PromptContextRenderer\render(), ILIAS\UI\Implementation\Component\Toast\Renderer\render(), ILIAS\UI\Implementation\Component\Listing\Renderer\render(), ILIAS\UI\Implementation\Component\Input\Container\ViewControl\Renderer\render(), ILIAS\UI\Implementation\Component\Panel\Renderer\render(), ILIAS\UI\Implementation\Component\Chart\ProgressMeter\Renderer\render(), ILIAS\UI\Implementation\Component\Input\Container\Filter\Renderer\render(), ILIAS\UI\Implementation\Component\Image\Renderer\render(), ILIAS\UI\Implementation\Component\Menu\Renderer\render(), ILIAS\UI\Implementation\Component\Listing\CharacteristicValue\Renderer\render(), ILIAS\UI\Implementation\Component\Dropzone\File\Renderer\render(), ILIAS\UI\Implementation\Component\Input\ViewControl\Renderer\render(), ILIAS\UI\Implementation\Component\Button\Renderer\render(), ILIAS\UI\Implementation\Component\ViewControl\Renderer\render(), ILIAS\UI\Implementation\Component\Layout\Page\Renderer\render(), ILIAS\UI\Implementation\Component\Popover\Renderer\render(), ILIAS\UI\Implementation\Component\Table\Renderer\render(), ILIAS\UI\Implementation\Component\Symbol\Glyph\Renderer\render(), ILIAS\UI\Implementation\Component\Item\Renderer\render(), ILIAS\UI\Implementation\Component\Progress\Renderer\render(), ILIAS\UI\Implementation\Component\Modal\Renderer\render(), ILIAS\UI\Implementation\Component\Input\Field\FilterContextRenderer\render(), ILIAS\UI\Implementation\Component\MainControls\Renderer\render(), and ILIAS\UI\Implementation\Component\Input\Field\Renderer\render().

249  : never
250  {
251  throw new LogicException(
252  sprintf(
253  "%s could not render component %s",
254  static::class,
255  get_class($component)
256  )
257  );
258  }
+ Here is the caller graph for this function:

◆ convertSpecialCharacters()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::convertSpecialCharacters ( string  $value)
protected

◆ createId()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::createId ( )
finalprotected

Get a fresh unique id.

ATTENTION: This does not take care about any usage scenario of the provided id. If you want to use it to bind JS-code to a component, you most probably would want to use bindJavaScript instead, which returns an id that is used to bind js to a component.

However, there are cases (e.g radio-input) where an id is required even if there is no javascript involved (e.g. to connect a label with an option), this is where this method could come in handy.

Definition at line 174 of file AbstractComponentRenderer.php.

Referenced by ILIAS\UI\Implementation\Component\Input\Field\Renderer\bindJSandApplyId(), ILIAS\UI\Implementation\Component\Link\Renderer\maybeRenderWithTooltip(), ILIAS\UI\Implementation\Component\Card\Renderer\render(), ILIAS\UI\Implementation\Component\Button\Renderer\renderButton(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderCheckboxField(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderColorSelectField(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderDateTimeField(), ILIAS\UI\Implementation\Component\Menu\Renderer\renderDrilldownMenu(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderDurationField(), ILIAS\UI\Implementation\Component\Input\ViewControl\Renderer\renderFieldSelection(), ILIAS\UI\Implementation\Component\Input\Container\Form\FormWithoutSubmitButtonsContextRenderer\renderFormWithoutSubmitButtons(), ILIAS\UI\Implementation\Component\Dropdown\Renderer\renderId(), ILIAS\UI\Implementation\Component\ViewControl\Renderer\renderId(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderNumericField(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderOptionalGroup(), ILIAS\UI\Implementation\Component\Table\Renderer\renderOrderingTable(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderPasswordField(), ILIAS\UI\Implementation\Component\Progress\Renderer\renderProgressBar(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderRadioField(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderRatingField(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderSelectField(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderSwitchableGroup(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderTagField(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderTextField(), ILIAS\UI\Implementation\Component\Button\Renderer\renderToggle(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderUrlField(), and ILIAS\UI\Implementation\Component\Input\Field\Renderer\wrapInFormContext().

174  : string
175  {
176  return $this->js_binding->createId();
177  }
+ Here is the caller graph for this function:

◆ getComponentCanonicalNameAttribute()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::getComponentCanonicalNameAttribute ( Component  $component)

Definition at line 312 of file AbstractComponentRenderer.php.

References ILIAS\UI\Component\Component\getCanonicalName().

Referenced by ILIAS\UI\Implementation\Component\Input\Field\Renderer\wrapInFormContext().

312  : string
313  {
314  return str_replace(' ', '-', strtolower($component->getCanonicalName()));
315  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getDataFactory()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::getDataFactory ( )
finalprotected

◆ getHelpText()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::getHelpText ( Help\Purpose  $purpose,
Help\Topic ...  $topics 
)

Definition at line 286 of file AbstractComponentRenderer.php.

286  : array
287  {
288  return $this->help_text_retriever->getHelpText($purpose, ...$topics);
289  }

◆ getImagePathResolver()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::getImagePathResolver ( )

Definition at line 281 of file AbstractComponentRenderer.php.

Referenced by ILIAS\UI\Implementation\Component\Symbol\Icon\Renderer\getStandardIconPath(), and ViewControlPaginationTest\getStubRenderer().

281  : ImagePathResolver
282  {
283  return $this->image_path_resolver;
284  }
+ Here is the caller graph for this function:

◆ getJavascriptBinding()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::getJavascriptBinding ( )
finalprotected

Definition at line 112 of file AbstractComponentRenderer.php.

Referenced by ILIAS\UI\Implementation\Component\Input\ViewControl\Renderer\renderFieldSelection().

112  : JavaScriptBinding
113  {
114  return $this->js_binding;
115  }
+ Here is the caller graph for this function:

◆ getLangKey()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::getLangKey ( )

Get current language key.

Definition at line 107 of file AbstractComponentRenderer.php.

References ILIAS\Repository\lng().

Referenced by ILIAS\UI\Implementation\Component\Layout\Page\Renderer\renderStandardPage().

107  : string
108  {
109  return $this->lng->getLangKey();
110  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getMyComponent()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::getMyComponent ( )
private
Returns
mixed

Definition at line 263 of file AbstractComponentRenderer.php.

Referenced by ILIAS\UI\Implementation\Render\AbstractComponentRenderer\getTemplatePath().

264  {
265  $class = get_class($this);
266  if (isset(self::$component_storage[$class])) {
267  return self::$component_storage[$class];
268  }
269  $matches = array();
270  // Extract component
271  $re = "%ILIAS\\\\UI\\\\Implementation\\\\Component\\\\(\\w+)\\\\(\\w+)%";
272  preg_match($re, $class, $matches);
273  if (preg_match($re, $class, $matches) !== 1) {
274  throw new LogicException("The Renderer needs to be located in ILIAS\\UI\\Implementation\\Component\\*.");
275  }
276  self::$component_storage[$class] = $matches[1];
277 
278  return self::$component_storage[$class];
279  }
+ Here is the caller graph for this function:

◆ getTemplate()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::getTemplate ( string  $name,
bool  $purge_unfilled_vars,
bool  $purge_unused_blocks 
)
finalprotected

Get template of component this renderer is made for.

Serves as a wrapper around instantiation of ilTemplate, exposes a smaller interface.

Exceptions
InvalidArgumentExceptionif there is no such template

Definition at line 125 of file AbstractComponentRenderer.php.

References $path, ILIAS\UI\Implementation\Render\AbstractComponentRenderer\getTemplatePath(), and ILIAS\UI\Implementation\Render\AbstractComponentRenderer\getTemplateRaw().

Referenced by ILIAS\UI\Implementation\Component\Symbol\Glyph\GlyphNonAbstractRenderer\_getTemplate(), ILIAS\UI\Implementation\Component\Counter\CounterNonAbstractRenderer\_getTemplate(), ILIAS\UI\Implementation\Component\Symbol\Glyph\Renderer\getInnerGlyphHTML(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\getPreparedTextareaTemplate(), ILIAS\UI\Implementation\Component\Listing\CharacteristicValue\Renderer\getReportTemplate(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\internalRenderDateTimeField(), ILIAS\UI\Implementation\Component\MainControls\Renderer\permanentLink(), ILIAS\UI\Implementation\Component\Breadcrumbs\Renderer\render(), ILIAS\UI\Implementation\Component\Chart\Renderer\render(), ILIAS\UI\Implementation\Component\Counter\Renderer\render(), ILIAS\UI\Implementation\Component\Deck\Renderer\render(), ILIAS\UI\Implementation\Component\Tree\Renderer\render(), ILIAS\UI\Implementation\Component\MessageBox\Renderer\render(), ILIAS\UI\Implementation\Component\Card\Renderer\render(), ILIAS\UI\Implementation\Component\Symbol\Icon\Renderer\render(), ILIAS\UI\Implementation\Component\MessageBox\PromptContextRenderer\render(), ILIAS\UI\Implementation\Component\Image\Renderer\render(), ILIAS\UI\Implementation\Component\Input\Container\Filter\Renderer\render(), ILIAS\UI\Implementation\Component\Popover\Renderer\render(), ILIAS\UI\Implementation\Component\Symbol\Glyph\Renderer\render(), ILIAS\UI\Implementation\Component\Listing\Renderer\render_descriptive(), ILIAS\UI\Implementation\Component\Listing\Workflow\Renderer\render_linear(), ILIAS\UI\Implementation\Component\Listing\Renderer\render_simple(), ILIAS\UI\Implementation\Component\Input\Field\FilterContextRenderer\renderAddField(), ILIAS\UI\Implementation\Component\Layout\Alignment\Renderer\renderAlignment(), ILIAS\UI\Implementation\Component\Layout\Alignment\Horizontal\Renderer\renderAlignment(), ILIAS\UI\Implementation\Component\Player\Renderer\renderAudio(), ILIAS\UI\Implementation\Component\Button\Renderer\renderButton(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderCheckboxField(), ILIAS\UI\Implementation\Component\Button\Renderer\renderClose(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderColorSelectField(), ILIAS\UI\Implementation\Component\Toast\Renderer\renderContainer(), ILIAS\UI\Implementation\Component\Table\Renderer\renderDataRow(), ILIAS\UI\Implementation\Component\Table\Renderer\renderDataTable(), ILIAS\UI\Implementation\Component\Divider\Renderer\renderDividerHorizontal(), ILIAS\UI\Implementation\Component\Divider\Renderer\renderDividerVertical(), ILIAS\UI\Implementation\Component\Menu\Renderer\renderDrilldownMenu(), ILIAS\UI\Implementation\Component\Dropdown\Renderer\renderDropdown(), ILIAS\UI\Implementation\Component\Input\Field\FilterContextRenderer\renderDurationField(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderDurationField(), ILIAS\UI\Implementation\Component\Table\Renderer\renderEmptyPresentationRow(), ILIAS\UI\Implementation\Component\Entity\Renderer\renderEntity(), ILIAS\UI\Implementation\Component\Listing\Entity\Renderer\renderEntityListing(), ILIAS\UI\Implementation\Component\Input\ViewControl\Renderer\renderFieldSelection(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderFileField(), ILIAS\UI\Implementation\Component\Chart\ProgressMeter\Renderer\renderFixedSize(), ILIAS\UI\Implementation\Component\MainControls\Renderer\renderFooter(), ILIAS\UI\Implementation\Component\Input\Container\Form\FormWithoutSubmitButtonsContextRenderer\renderFormWithoutSubmitButtons(), ILIAS\UI\Implementation\Component\Table\Renderer\renderFullWidthDataCell(), ILIAS\UI\Implementation\Component\Item\Renderer\renderGroup(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderHiddenField(), ILIAS\UI\Implementation\Component\Chart\Bar\Renderer\renderHorizontal(), ILIAS\UI\Implementation\Component\Launcher\Renderer\renderInline(), ILIAS\UI\Implementation\Component\Modal\Renderer\renderInterruptive(), ILIAS\UI\Implementation\Component\Modal\Renderer\renderInterruptiveItemsByClass(), ILIAS\UI\Implementation\Component\Modal\InterruptiveItem\Renderer\renderKeyValue(), ILIAS\UI\Implementation\Component\Panel\Secondary\Renderer\renderLegacy(), ILIAS\UI\Implementation\Component\Modal\Renderer\renderLightbox(), ILIAS\UI\Implementation\Component\Panel\Secondary\Renderer\renderListing(), ILIAS\UI\Implementation\Component\Popover\Renderer\renderListingPopover(), ILIAS\UI\Implementation\Component\MainControls\Renderer\renderMainbarEntry(), ILIAS\UI\Implementation\Component\Menu\Renderer\renderMenuItems(), ILIAS\UI\Implementation\Component\Chart\ProgressMeter\Renderer\renderMini(), ILIAS\UI\Implementation\Component\Button\Renderer\renderMinimize(), ILIAS\UI\Implementation\Component\ViewControl\Renderer\renderMode(), ILIAS\UI\Implementation\Component\Input\ViewControl\Renderer\renderMode(), ILIAS\UI\Implementation\Component\MainControls\Renderer\renderModeInfo(), ILIAS\UI\Implementation\Component\Button\Renderer\renderMonth(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderMultiSelectField(), ILIAS\UI\Implementation\Component\MainControls\Slate\Renderer\renderNotificationSlate(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderNumericField(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderOptionalGroup(), ILIAS\UI\Implementation\Component\Table\Renderer\renderOrderingRow(), ILIAS\UI\Implementation\Component\Table\Renderer\renderOrderingTable(), ILIAS\UI\Implementation\Component\ViewControl\Renderer\renderPagination(), ILIAS\UI\Implementation\Component\Input\ViewControl\Renderer\renderPagination(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderPasswordField(), ILIAS\UI\Implementation\Component\Table\Renderer\renderPresentationRow(), ILIAS\UI\Implementation\Component\Table\Renderer\renderPresentationTable(), ILIAS\UI\Implementation\Component\Progress\Renderer\renderProgressBar(), ILIAS\UI\Implementation\Component\Progress\State\Bar\Renderer\renderProgressBarState(), ILIAS\UI\Implementation\Component\Prompt\Renderer\renderPrompt(), ILIAS\UI\Implementation\Component\Listing\Renderer\renderProperty(), ILIAS\UI\Implementation\Component\Input\Field\FilterContextRenderer\renderProxyField(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderRadioField(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderRatingField(), ILIAS\UI\Implementation\Component\Panel\Renderer\renderReport(), ILIAS\UI\Implementation\Component\ViewControl\Renderer\renderSection(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderSection(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderSelectField(), ILIAS\UI\Implementation\Component\Item\Renderer\renderShy(), ILIAS\UI\Implementation\Component\MainControls\Slate\Renderer\renderSlate(), ILIAS\UI\Implementation\Component\Input\ViewControl\Renderer\renderSortation(), ILIAS\UI\Implementation\Component\ViewControl\Renderer\renderSortation(), ILIAS\UI\Implementation\Component\Panel\Listing\Renderer\renderStandard(), ILIAS\UI\Implementation\Component\Modal\InterruptiveItem\Renderer\renderStandard(), ILIAS\UI\Implementation\Component\Input\Container\Form\Renderer\renderStandard(), ILIAS\UI\Implementation\Component\Chart\ProgressMeter\Renderer\renderStandard(), ILIAS\UI\Implementation\Component\Panel\Renderer\renderStandard(), ILIAS\UI\Implementation\Component\Input\Container\ViewControl\Renderer\renderStandard(), ILIAS\UI\Implementation\Component\Dropzone\File\Renderer\renderStandard(), ILIAS\UI\Implementation\Component\Item\Renderer\renderStandard(), ILIAS\UI\Implementation\Component\Menu\Renderer\renderStandardMenu(), ILIAS\UI\Implementation\Component\Layout\Page\Renderer\renderStandardPage(), ILIAS\UI\Implementation\Component\Popover\Renderer\renderStandardPopover(), ILIAS\UI\Implementation\Component\Prompt\State\Renderer\renderState(), ILIAS\UI\Implementation\Component\Panel\Renderer\renderSub(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderSwitchableGroup(), ILIAS\UI\Implementation\Component\MainControls\Renderer\renderSystemInfo(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderTagField(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderTextField(), ILIAS\UI\Implementation\Component\Toast\Renderer\renderToast(), ILIAS\UI\Implementation\Component\Button\Renderer\renderToggle(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderUrlField(), ILIAS\UI\Implementation\Component\Chart\Bar\Renderer\renderVertical(), ILIAS\UI\Implementation\Component\Player\Renderer\renderVideo(), ILIAS\UI\Implementation\Component\Dropzone\File\Renderer\renderWrapper(), ILIAS\UI\Implementation\Component\Link\Renderer\setStandardVars(), ILIAS\UI\Implementation\Component\Input\Field\DateTimeFilterContextRenderer\wrapInFormContext(), ILIAS\UI\Implementation\Component\Input\Field\FilterContextRenderer\wrapInFormContext(), and ILIAS\UI\Implementation\Component\Input\Field\Renderer\wrapInFormContext().

125  : Template
126  {
127  $path = $this->getTemplatePath($name);
128  return $this->getTemplateRaw($path, $purge_unfilled_vars, $purge_unused_blocks);
129  }
getTemplateRaw(string $path, bool $purge_unfilled_vars, bool $purge_unused_blocks)
Get a template from any path.
$path
Definition: ltiservices.php:29
getTemplatePath(string $name)
Get the path to the template of this component.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTemplatePath()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::getTemplatePath ( string  $name)
protected

Get the path to the template of this component.

Definition at line 134 of file AbstractComponentRenderer.php.

References ILIAS\UI\Implementation\Render\AbstractComponentRenderer\getMyComponent().

Referenced by ILIAS\UI\Implementation\Render\AbstractComponentRenderer\getTemplate().

134  : string
135  {
136  $component = $this->getMyComponent();
137  return "components/ILIAS/UI/src/templates/default/$component/$name";
138  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTemplateRaw()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::getTemplateRaw ( string  $path,
bool  $purge_unfilled_vars,
bool  $purge_unused_blocks 
)
private

Get a template from any path.

Definition at line 143 of file AbstractComponentRenderer.php.

Referenced by ILIAS\UI\Implementation\Render\AbstractComponentRenderer\getTemplate(), and ILIAS\UI\Implementation\Render\AbstractComponentRenderer\getTooltipRenderer().

143  : Template
144  {
145  return $this->tpl_factory->getTemplate($path, $purge_unfilled_vars, $purge_unused_blocks);
146  }
$path
Definition: ltiservices.php:29
+ Here is the caller graph for this function:

◆ getTooltipRenderer()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::getTooltipRenderer ( )
protected

Definition at line 296 of file AbstractComponentRenderer.php.

References $path, ILIAS\UI\Implementation\Render\AbstractComponentRenderer\$tooltip_renderer, ILIAS\UI\Implementation\Render\AbstractComponentRenderer\getTemplateRaw(), and null.

Referenced by ILIAS\UI\Implementation\Component\Link\Renderer\maybeRenderWithTooltip(), ILIAS\UI\Implementation\Component\Button\Renderer\renderButton(), and ILIAS\UI\Implementation\Component\Button\Renderer\renderToggle().

296  : TooltipRenderer
297  {
298  if ($this->tooltip_renderer === null) {
299  $this->tooltip_renderer = new TooltipRenderer(
300  $this,
301  fn($path, $f1, $f2) => $this->getTemplateRaw($path, $f1, $f2)
302  );
303  }
305  }
getTemplateRaw(string $path, bool $purge_unfilled_vars, bool $purge_unused_blocks)
Get a template from any path.
$path
Definition: ltiservices.php:29
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getUIFactory()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::getUIFactory ( )
finalprotected

Get a UI factory.

This could be used to create and render subcomponents like close buttons, etc.

Definition at line 72 of file AbstractComponentRenderer.php.

Referenced by ILIAS\UI\Implementation\Component\Table\Renderer\buildMultiActionsAllObjectsModal(), ILIAS\UI\Implementation\Component\Table\Renderer\buildMultiActionsDropdown(), ILIAS\UI\Implementation\Component\Tree\Renderer\buildNode(), ILIAS\UI\Implementation\Component\Layout\Page\Renderer\convertBreadcrumbsToDropdownLocator(), ILIAS\UI\Implementation\Component\Chart\Bar\Renderer\getAccessibilityList(), ILIAS\UI\Implementation\Component\MainControls\Slate\Renderer\getCombinedSlateContents(), ILIAS\UI\Implementation\Component\ViewControl\Renderer\getPaginationShyButton(), ILIAS\UI\Implementation\Component\Table\Renderer\getSingleActionsForRow(), ViewControlPaginationTest\getStubRenderer(), ILIAS\UI\Implementation\Component\MainControls\Renderer\permanentLink(), ILIAS\UI\Implementation\Component\MessageBox\PromptContextRenderer\render(), ILIAS\UI\Implementation\Component\MessageBox\Renderer\render(), ILIAS\UI\Implementation\Component\Listing\Workflow\Renderer\render_linear(), ILIAS\UI\Implementation\Component\Table\Renderer\renderActionsHeader(), ILIAS\UI\Implementation\Component\Input\Field\FilterContextRenderer\renderAddField(), ILIAS\UI\Implementation\Component\Input\Container\Filter\Renderer\renderApplyAndReset(), ILIAS\UI\Implementation\Component\Player\Renderer\renderAudio(), ILIAS\UI\Implementation\Component\Menu\Renderer\renderDrilldownMenu(), ILIAS\UI\Implementation\Component\Entity\Renderer\renderEntity(), ILIAS\UI\Implementation\Component\Input\Container\Filter\Renderer\renderExpandAndCollapse(), ILIAS\UI\Implementation\Component\Input\ViewControl\Renderer\renderFieldSelection(), ILIAS\UI\Implementation\Component\MainControls\Renderer\renderFooter(), ILIAS\UI\Implementation\Component\Launcher\Renderer\renderInline(), ILIAS\UI\Implementation\Component\Modal\Renderer\renderInterruptiveItemsByClass(), ILIAS\UI\Implementation\Component\MainControls\Renderer\renderMainbarEntry(), ILIAS\UI\Implementation\Component\ViewControl\Renderer\renderMode(), ILIAS\UI\Implementation\Component\Input\ViewControl\Renderer\renderMode(), ILIAS\UI\Implementation\Component\MainControls\Renderer\renderModeInfo(), ILIAS\UI\Implementation\Component\Table\Renderer\renderOrderingRow(), ILIAS\UI\Implementation\Component\Table\Renderer\renderOrderingTable(), ILIAS\UI\Implementation\Component\ViewControl\Renderer\renderPagination(), ILIAS\UI\Implementation\Component\Input\ViewControl\Renderer\renderPagination(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderPasswordField(), ILIAS\UI\Implementation\Component\Table\Renderer\renderPresentationRow(), ILIAS\UI\Implementation\Component\Table\Renderer\renderPresentationTable(), ILIAS\UI\Implementation\Component\Input\Field\FilterContextRenderer\renderProxyField(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderSelectField(), ILIAS\UI\Implementation\Component\Item\Renderer\renderShy(), ILIAS\UI\Implementation\Component\Input\ViewControl\Renderer\renderSortation(), ILIAS\UI\Implementation\Component\ViewControl\Renderer\renderSortation(), ILIAS\UI\Implementation\Component\Input\Container\Form\Renderer\renderStandard(), ILIAS\UI\Implementation\Component\Prompt\State\Renderer\renderState(), ILIAS\UI\Implementation\Component\MainControls\Renderer\renderSystemInfo(), ILIAS\UI\Implementation\Component\Table\Renderer\renderTableHeader(), ILIAS\UI\Implementation\Component\MainControls\Renderer\renderTriggerButtonsAndSlates(), ILIAS\UI\Implementation\Component\ViewControl\Renderer\setPaginationBrowseControls(), AbstractRendererTest\setUp(), and ILIAS\UI\Implementation\Component\Input\Field\FilterContextRenderer\wrapInFormContext().

72  : FactoryInternal
73  {
74  return $this->ui_factory;
75  }
+ Here is the caller graph for this function:

◆ getUploadLimitResolver()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::getUploadLimitResolver ( )
finalprotected

◆ registerResources()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::registerResources ( ResourceRegistry  $registry)

Announce resources this renderer requires.

Implements ILIAS\UI\Implementation\Render\ComponentRenderer.

Definition at line 62 of file AbstractComponentRenderer.php.

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

62  : void
63  {
64  $registry->register('assets/js/core.js');
65  }
+ Here is the call graph for this function:

◆ toJS()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::toJS (   $key)
final

Add language var to client side (il.Language)

Parameters
mixed$key

Definition at line 99 of file AbstractComponentRenderer.php.

References ILIAS\Repository\lng().

99  : void
100  {
101  $this->lng->toJS($key);
102  }
+ Here is the call graph for this function:

◆ txt()

ILIAS\UI\Implementation\Render\AbstractComponentRenderer::txt ( string  $id)
final

Get a text from the language file.

Definition at line 90 of file AbstractComponentRenderer.php.

References ILIAS\Repository\lng().

Referenced by ILIAS\UI\Implementation\Component\Table\Renderer\buildMultiActionsAllObjectsModal(), ILIAS\UI\Implementation\Component\Table\Renderer\buildMultiActionsDropdown(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\getPreparedTextareaTemplate(), ILIAS\UI\Implementation\Component\Input\Container\Form\Renderer\maybeAddError(), ILIAS\UI\Implementation\Component\Input\Container\Form\Renderer\maybeAddRequired(), ILIAS\UI\Implementation\Component\MainControls\Renderer\permanentLink(), ILIAS\UI\Implementation\Component\Breadcrumbs\Renderer\render(), ILIAS\UI\Implementation\Component\Chart\Renderer\render(), ILIAS\UI\Implementation\Component\Card\Renderer\render(), ILIAS\UI\Implementation\Component\MessageBox\PromptContextRenderer\render(), ILIAS\UI\Implementation\Component\MessageBox\Renderer\render(), ILIAS\UI\Implementation\Component\Table\Renderer\renderActionsHeader(), ILIAS\UI\Implementation\Component\Input\Container\Filter\Renderer\renderApplyAndReset(), ILIAS\UI\Implementation\Component\Player\Renderer\renderAudio(), ILIAS\UI\Implementation\Component\Button\Renderer\renderClose(), ILIAS\UI\Implementation\Component\Table\Renderer\renderDataTable(), ILIAS\UI\Implementation\Component\Menu\Renderer\renderDrilldownMenu(), ILIAS\UI\Implementation\Component\Dropdown\Renderer\renderDropdown(), ILIAS\UI\Implementation\Component\Input\Container\Filter\Renderer\renderExpandAndCollapse(), ILIAS\UI\Implementation\Component\Input\ViewControl\Renderer\renderFieldSelection(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderFileField(), ILIAS\UI\Implementation\Component\MainControls\Renderer\renderFooter(), ILIAS\UI\Implementation\Component\Modal\Renderer\renderInterruptive(), ILIAS\UI\Implementation\Component\Modal\Renderer\renderInterruptiveItemsByClass(), ILIAS\UI\Implementation\Component\Symbol\Glyph\ButtonContextRenderer\renderLabel(), ILIAS\UI\Implementation\Component\Symbol\Glyph\Renderer\renderLabel(), ILIAS\UI\Implementation\Component\Modal\Renderer\renderLightbox(), ILIAS\UI\Implementation\Component\MainControls\Renderer\renderMainbarEntry(), ILIAS\UI\Implementation\Component\Button\Renderer\renderMinimize(), ILIAS\UI\Implementation\Component\ViewControl\Renderer\renderMode(), ILIAS\UI\Implementation\Component\Input\ViewControl\Renderer\renderMode(), ILIAS\UI\Implementation\Component\Table\Renderer\renderOrderingRow(), ILIAS\UI\Implementation\Component\Table\Renderer\renderOrderingTable(), ILIAS\UI\Implementation\Component\ViewControl\Renderer\renderPagination(), ILIAS\UI\Implementation\Component\Input\ViewControl\Renderer\renderPagination(), ILIAS\UI\Implementation\Component\Table\Renderer\renderPresentationRow(), ILIAS\UI\Implementation\Component\Table\Renderer\renderPresentationTable(), ILIAS\UI\Implementation\Component\Prompt\Renderer\renderPrompt(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderRatingField(), ILIAS\UI\Implementation\Component\ViewControl\Renderer\renderSectionButton(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\renderSelectField(), ILIAS\UI\Implementation\Component\Item\Renderer\renderShy(), ILIAS\UI\Implementation\Component\Input\ViewControl\Renderer\renderSortation(), ILIAS\UI\Implementation\Component\ViewControl\Renderer\renderSortation(), ILIAS\UI\Implementation\Component\Input\Container\Form\Renderer\renderStandard(), ILIAS\UI\Implementation\Component\Prompt\State\Renderer\renderState(), ILIAS\UI\Implementation\Component\Table\Renderer\renderTableHeader(), ILIAS\UI\Implementation\Component\Button\Renderer\renderToggle(), ILIAS\UI\Implementation\Component\Input\Field\Renderer\setHelpBlockForFileField(), and ILIAS\UI\Implementation\Component\Input\Field\Renderer\wrapInFormContext().

90  : string
91  {
92  return $this->lng->txt($id);
93  }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $component_storage

array ILIAS\UI\Implementation\Render\AbstractComponentRenderer::$component_storage
staticprivate

Definition at line 45 of file AbstractComponentRenderer.php.

◆ $tooltip_renderer

TooltipRenderer ILIAS\UI\Implementation\Render\AbstractComponentRenderer::$tooltip_renderer = null
protected

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