23 return $this->
renderGroup($component, $default_renderer);
32 $title = $component->getTitle();
33 $items = $component->getItems();
36 foreach ($items as $item) {
37 $tpl->setCurrentBlock(
"item");
38 $tpl->setVariable(
"ITEM", $default_renderer->render($item));
39 $tpl->parseCurrentBlock();
43 $tpl->setCurrentBlock(
"title");
44 $tpl->setVariable(
"TITLE", $title);
45 $tpl->parseCurrentBlock();
49 $actions = $component->getActions();
50 if ($actions !== null) {
51 $tpl->setVariable(
"ACTIONS", $default_renderer->render($actions));
53 $tpl->setVariable(
"ACTIONS",
"");
69 $color = $component->getColor();
70 if ($color !== null) {
71 $tpl->setCurrentBlock(
"color");
72 $tpl->setVariable(
"COLOR", $color->asHex());
73 $tpl->parseCurrentBlock();
77 $lead = $component->getLead();
79 if (is_string($lead)) {
80 $tpl->setCurrentBlock(
"lead_text");
81 $tpl->setVariable(
"LEAD_TEXT", $lead);
82 $tpl->parseCurrentBlock();
84 if ($lead instanceof
Component\Image\Image) {
85 $tpl->setCurrentBlock(
"lead_image");
86 $tpl->setVariable(
"LEAD_IMAGE", $default_renderer->render($lead));
87 $tpl->parseCurrentBlock();
89 if ($lead instanceof
Component\Symbol\Icon\Icon) {
90 $tpl->setCurrentBlock(
"lead_icon");
91 $tpl->setVariable(
"LEAD_ICON", $default_renderer->render($lead));
92 $tpl->parseCurrentBlock();
93 $tpl->setCurrentBlock(
"lead_start_icon");
94 $tpl->parseCurrentBlock();
96 $tpl->setCurrentBlock(
"lead_start");
97 $tpl->parseCurrentBlock();
99 $tpl->touchBlock(
"lead_end");
102 $actions = $component->getActions();
103 if ($actions !== null) {
104 $tpl->setVariable(
"ACTIONS", $default_renderer->render($actions));
115 $tpl->setVariable(
"LEAD_ICON", $default_renderer->render($component->getLeadIcon()));
118 $actions = $component->getActions();
119 if ($actions !== null) {
120 $tpl->setVariable(
"ACTIONS", $default_renderer->render($actions));
124 if ($component->getAdditionalContent()) {
125 $tpl->setCurrentBlock(
"additional_content");
126 $tpl->setVariable(
"ADDITIONAL_CONTENT", $default_renderer->render($component->getAdditionalContent()));
127 $tpl->parseCurrentBlock();
130 $aggregates_html =
"";
134 $aggregates_html = $default_renderer->render(
135 $this->
getUIFactory()->mainControls()->slate()->
notification($default_renderer->render($title), $component->getAggregateNotifications())
139 if (!empty($component->getAggregateNotifications())) {
143 $component = $component->withAdditionalOnLoadCode(
144 function ($id) use ($toggleable) {
145 return "il.UI.item.notification.getNotificationItemObject($($id)).registerAggregates($toggleable);";
152 $tpl->setCurrentBlock(
"aggregate_notifications");
153 $tpl->setVariable(
"AGGREGATES", $aggregates_html);
154 $tpl->setVariable(
"PARENT_ID", $item_id);
155 $tpl->parseCurrentBlock();
158 if ($component->getCloseAction()) {
159 $url = $component->getCloseAction();
160 $close_action = $this->
getUIFactory()->button()->close()->withAdditionalOnLoadCode(
161 function ($id) use (
$url, $item_id) {
162 return "il.UI.item.notification.getNotificationItemObject($($id)).registerCloseAction('$url',1);";
165 $tpl->setVariable(
"CLOSE_ACTION", $default_renderer->render($close_action));
168 $tpl->setCurrentBlock(
"id");
169 $tpl->setVariable(
'ID', $item_id);
170 $tpl->parseCurrentBlock();
181 $title = $component->getTitle();
183 $title = $default_renderer->render($title);
185 $tpl->setVariable(
"TITLE", $title);
194 $desc = $component->getDescription();
195 if (trim($desc) !=
"") {
196 $tpl->setCurrentBlock(
"desc");
197 $tpl->setVariable(
"DESC", $desc);
198 $tpl->parseCurrentBlock();
208 $props = $component->getProperties();
209 if (count($props) > 0) {
211 foreach ($props as
$name => $value) {
213 $value = $default_renderer->render($value);
217 $tpl->setCurrentBlock(
"property_row");
218 $tpl->setVariable(
"PROP_NAME_A",
$name);
219 $tpl->setVariable(
"PROP_VAL_A", $value);
221 $tpl->setVariable(
"PROP_NAME_B",
$name);
222 $tpl->setVariable(
"PROP_VAL_B", $value);
223 $tpl->parseCurrentBlock();
227 $tpl->parseCurrentBlock();
229 $tpl->setCurrentBlock(
"properties");
230 $tpl->parseCurrentBlock();
239 parent::registerResources($registry);
240 $registry->register(
'./src/UI/templates/js/Item/notification.js');
if(isset($_FILES['img_file']['size']) && $_FILES['img_file']['size'] > 0) $tpl
renderGroup(Component\Item\Group $component, RendererInterface $default_renderer)
checkComponent(Component $component)
Check if a given component fits this renderer and throw if that is not the case. ...
renderDescription(Component\Item\Item $component, RendererInterface $default_renderer, \ILIAS\UI\Implementation\Render\Template $tpl)
registerResources(\ILIAS\UI\Implementation\Render\ResourceRegistry $registry)
Class ChatMainBarProvider .
Common interface to all items.
txt($id)
Get a text from the language file.
render(Component\Component $component, RendererInterface $default_renderer)
Common interface to all items.
renderStandard(Component\Item\Item $component, RendererInterface $default_renderer)
getComponentInterfaceName()
renderNotification(Component\Item\Notification $component, RendererInterface $default_renderer)
renderProperties(Component\Item\Item $component, RendererInterface $default_renderer, \ILIAS\UI\Implementation\Render\Template $tpl)
getUIFactory()
Get a UI factory.
renderTitle(Component\Item\Item $component, RendererInterface $default_renderer, \ILIAS\UI\Implementation\Render\Template $tpl)
getTemplate($name, $purge_unfilled_vars, $purge_unused_blocks)
Get template of component this renderer is made for.
Base class for all component renderers.
bindJavaScript(JavaScriptBindable $component)
Bind the component to JavaScript.