37 $tpl->setVariable(
"TITLE", $component->getTitle());
39 $vcs = $component->getViewControls();
41 $tpl->touchBlock(
"viewcontrols");
42 foreach ($vcs as $vc) {
43 $tpl->setCurrentBlock(
"vc");
44 $tpl->setVariable(
"VC", $default_renderer->render($vc));
45 $tpl->parseCurrentBlock();
49 $row_mapping = $component->getRowMapping();
50 $data = $component->getData();
51 foreach (
$data as $record) {
56 $component->getEnvironment()
59 $tpl->setCurrentBlock(
"row");
60 $tpl->setVariable(
"ROW", $default_renderer->render($row));
61 $tpl->parseCurrentBlock();
78 $sig_show = $component->getShowSignal();
79 $sig_hide = $component->getCloseSignal();
80 $sig_toggle = $component->getToggleSignal();
83 $expander =
$f->symbol()->glyph()->expand(
"#")
84 ->withOnClick($sig_show);
85 $collapser =
$f->symbol()->glyph()->collapse(
"#")
86 ->withOnClick($sig_hide);
87 $shy_expander =
$f->button()->shy($this->
txt(
"presentation_table_more"),
"#")
88 ->withOnClick($sig_show);
90 $tpl->setVariable(
"ID", $id);
91 $tpl->setVariable(
"EXPANDER", $default_renderer->render($expander));
92 $tpl->setVariable(
"COLLAPSER", $default_renderer->render($collapser));
93 $tpl->setVariable(
"SHY_EXPANDER", $default_renderer->render($shy_expander));
95 $tpl->setVariable(
"HEADLINE", $component->getHeadline());
96 $tpl->setVariable(
"TOGGLE_SIGNAL", $sig_toggle);
97 $tpl->setVariable(
"SUBHEADLINE", $component->getSubheadline());
99 foreach ($component->getImportantFields() as $label => $value) {
100 $tpl->setCurrentBlock(
"important_field");
101 if (is_string($label)) {
102 $tpl->setVariable(
"IMPORTANT_FIELD_LABEL", $label);
104 $tpl->setVariable(
"IMPORTANT_FIELD_VALUE", $value);
105 $tpl->parseCurrentBlock();
108 $tpl->setVariable(
"DESCLIST", $default_renderer->render($component->getContent()));
110 $further_fields_headline = $component->getFurtherFieldsHeadline();
111 if ($further_fields_headline) {
112 $tpl->setVariable(
"FURTHER_FIELDS_HEADLINE", $further_fields_headline);
115 foreach ($component->getFurtherFields() as $label => $value) {
116 $tpl->setCurrentBlock(
"further_field");
117 if (is_string($label)) {
118 $tpl->setVariable(
"FIELD_LABEL", $label);
120 $tpl->setVariable(
"FIELD_VALUE", $value);
121 $tpl->parseCurrentBlock();
124 $action = $component->getAction();
125 if (!is_null($action)) {
126 $tpl->setCurrentBlock(
"button");
127 $tpl->setVariable(
"BUTTON", $default_renderer->render($action));
128 $tpl->parseCurrentBlock();
139 parent::registerResources($registry);
140 $registry->
register(
'./src/UI/templates/js/Table/presentation.js');
148 $show = $component->getShowSignal();
149 $close = $component->getCloseSignal();
150 $toggle = $component->getToggleSignal();
151 return $component->withAdditionalOnLoadCode(
function ($id) use ($show, $close, $toggle) {
153 "$(document).on('{$show}', function() { il.UI.table.presentation.expandRow('{$id}'); return false; });" .
154 "$(document).on('{$close}', function() { il.UI.table.presentation.collapseRow('{$id}'); return false; });" .
155 "$(document).on('{$toggle}', function() { il.UI.table.presentation.toggleRow('{$id}'); return false; });";
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. ...
registerSignals(Component\Table\PresentationRow $component)
renderPresentationTable(Component\Table\Presentation $component, RendererInterface $default_renderer)
registerResources(ResourceRegistry $registry)
Announce resources this renderer requires.null
txt($id)
Get a text from the language file.
render(Component\Component $component, RendererInterface $default_renderer)
getComponentInterfaceName()
renderPresentationRow(Component\Table\PresentationRow $component, RendererInterface $default_renderer)
register($name)
Add a dependency.
getUIFactory()
Get a UI factory.
if($DIC->http() ->request() ->getMethod()=="GET" &&isset($DIC->http() ->request() ->getQueryParams()['tex'])) $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.