3 declare(strict_types=1);
43 $tpl->setVariable(
'FORCE_RENDERING',
'');
54 'title' => $this->
escape($popover->getTitle()),
55 'placement' => $popover->getPosition(),
57 'template' => str_replace(array_keys($replacement), array_values($replacement),
$tpl->get()),
60 if ($popover->isFixedPosition()) {
61 $options[
'style'] =
"fixed";
64 $is_async = $popover->getAsyncContentUrl();
66 $options[
'type'] =
'async';
67 $options[
'url'] = $popover->getAsyncContentUrl();
70 $show = $popover->getShowSignal();
71 $replace = $popover->getReplaceContentSignal();
73 $popover = $popover->withAdditionalOnLoadCode(
function (
$id) use ($options, $show, $replace, $is_async) {
75 $options[
"url"] =
"#$id";
77 $options = json_encode($options);
80 "$(document).on('$show', function(event, signalData) { 81 il.UI.popover.showFromSignal(signalData, JSON.parse('$options')); 83 "$(document).on('$replace', function(event, signalData) { 84 il.UI.popover.replaceContentFromSignal('$show', signalData); 90 if ($popover->getAsyncContentUrl()) {
108 parent::registerResources($registry);
109 $registry->
register(
'./libs/bower/bower_components/webui-popover/dist/jquery.webui-popover.js');
110 $registry->
register(
'./src/UI/templates/js/Popover/popover.js');
118 $tpl = $this->
getTemplate(
'tpl.standard-popover-content.html',
true,
true);
119 $tpl->setVariable(
'ID', $id);
120 $tpl->setVariable(
'CONTENT', $default_renderer->render($popover->getContent()));
130 $tpl = $this->
getTemplate(
'tpl.listing-popover-content.html',
true,
true);
131 $tpl->setVariable(
'ID', $id);
132 foreach ($popover->getItems() as $item) {
133 $tpl->setCurrentBlock(
'item');
134 $tpl->setVariable(
'ITEM', $default_renderer->render($item));
135 $tpl->parseCurrentBlock();
141 protected function escape(
string $str): string
143 return strip_tags(htmlentities($str, ENT_QUOTES,
'UTF-8'));
Registry for resources required by rendered output like Javascript or CSS.
checkComponent(Component $component)
Check if a given component fits this renderer and throw if that is not the case. ...
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...
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)
renderStandardPopover(Component\Popover\Standard $popover, RendererInterface $default_renderer, string $id)
register(string $name)
Add a dependency.
render(Component $component, Renderer $default_renderer)
Render the component if possible and delegate additional rendering to the default_renderer.
registerResources(ResourceRegistry $registry)
Announce resources this renderer requires.
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
if($DIC->http() ->request() ->getMethod()=="GET" &&isset($DIC->http() ->request() ->getQueryParams()['tex'])) $tpl
Base class for all component renderers.
getComponentInterfaceName()
bindJavaScript(JavaScriptBindable $component)
Bind the component to JavaScript.