19 declare(strict_types=1);
    45         $tpl = $this->
getTemplate(
'tpl.popover.html', 
true, 
true);
    46         $tpl->setVariable(
'FORCE_RENDERING', 
'');
    56             'title' => $this->
escape($component->getTitle()),
    57             'placement' => $component->getPosition(),
    59             'template' => str_replace(array_keys($replacement), array_values($replacement), $tpl->get()),
    62         if ($component->isFixedPosition()) {
    63             $options[
'style'] = 
"fixed";
    66         $is_async = $component->getAsyncContentUrl();
    68             $options[
'type'] = 
'async';
    69             $options[
'url'] = $component->getAsyncContentUrl();
    72         $show = $component->getShowSignal();
    73         $replace = $component->getReplaceContentSignal();
    75         $component = $component->withAdditionalOnLoadCode(
function (
$id) use ($options, $show, $replace, $is_async) {
    77                 $options[
"url"] = 
"#$id";
    79             $options = json_encode($options);
    82                 "$(document).on('$show', function(event, signalData) {    83                                         il.UI.popover.showFromSignal(signalData, JSON.parse('$options'));    85                 "$(document).on('$replace', function(event, signalData) {    86                                         il.UI.popover.replaceContentFromSignal('$show', signalData);    92         if ($component->getAsyncContentUrl()) {
   110         parent::registerResources($registry);
   111         $registry->
register(
'assets/js/jquery.webui-popover.min.js');
   112         $registry->
register(
'assets/js/popover.js');
   120         $tpl = $this->
getTemplate(
'tpl.standard-popover-content.html', 
true, 
true);
   121         $tpl->setVariable(
'ID', $id);
   122         $tpl->setVariable(
'CONTENT', $default_renderer->render($popover->getContent()));
   132         $tpl = $this->
getTemplate(
'tpl.listing-popover-content.html', 
true, 
true);
   133         $tpl->setVariable(
'ID', $id);
   134         foreach ($popover->getItems() as $item) {
   135             $tpl->setCurrentBlock(
'item');
   136             $tpl->setVariable(
'ITEM', $default_renderer->render($item));
   137             $tpl->parseCurrentBlock();
   143     protected function escape(
string $str): string
   145         return strip_tags(htmlentities($str, ENT_QUOTES, 
'UTF-8'));
 Registry for resources required by rendered output like Javascript or CSS. 
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
render(Component\Component $component, RendererInterface $default_renderer)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
getTemplate(string $name, bool $purge_unfilled_vars, bool $purge_unused_blocks)
Get template of component this renderer is made for. 
 
renderListingPopover(Component\Popover\Listing $popover, RendererInterface $default_renderer, string $id)
 
cannotHandleComponent(Component $component)
This method MUST be called by derived component renderers, if. 
 
renderStandardPopover(Component\Popover\Standard $popover, RendererInterface $default_renderer, string $id)
 
register(string $name)
Add a dependency. 
 
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins 
 
registerResources(ResourceRegistry $registry)
Announce resources this renderer requires. 
 
Base class for all component renderers. 
 
bindJavaScript(JavaScriptBindable $component)
Bind the component to JavaScript.