19 declare(strict_types=1);
47 $tpl = $this->
getTemplate(
"tpl.sequence.html",
true,
true);
53 $positions = $binding->getAllPositions(
60 if ($position >= count($positions) || $position < 0) {
65 $segment = $binding->getSegment(
67 $positions[$position],
73 $back = $ui_factory->button()->standard($this->
txt(
'back'), $component->
getNext(-1)->__toString())
74 ->
withSymbol($ui_factory->symbol()->glyph()->back())
75 ->withUnavailableAction($position - 1 < 0);
77 $next = $ui_factory->button()->standard($this->
txt(
'next'), $component->
getNext(1)->__toString())
78 ->
withSymbol($ui_factory->symbol()->glyph()->next())
79 ->withUnavailableAction($position + 1 === count($positions));
81 $tpl->setVariable(
'BACK', $default_renderer->render($back));
82 $tpl->setVariable(
'NEXT', $default_renderer->render($next));
85 $tpl->setVariable(
'VIEWCONTROLS', $default_renderer->render($viewcontrols));
89 $tpl->setVariable(
'ACTIONS_GLOBAL', $default_renderer->render($actions));
92 if ($actions = $segment->getSegmentActions()) {
93 $tpl->setVariable(
'ACTIONS_SEGMENT', $default_renderer->render($actions));
96 $tpl->setVariable(
'SEGMENT_TITLE', $segment->getSegmentTitle());
97 $tpl->setVariable(
'SEGMENT_CONTENTS', $default_renderer->render($segment));
99 $content_region_id = $this->
createId();
100 $tpl->setVariable(
'CONTENT_REGION_ID', $content_region_id);
103 $tpl->setVariable(
'HEADLINE_ID', $headline_id);
106 $tpl->setVariable(
'NAVIGATION_ID', $navigation_id);
108 $navigation_description_id = $this->
createId();
109 $tpl->setVariable(
'NAVIGATION_DESCRIPTION_ID', $navigation_description_id);
111 $nav_label = $this->
txt(
"ui_nav_sequence_control_label");
112 $tpl->setVariable(
'NAVIGATION_LABEL', $nav_label);
114 $nav_description = $this->
txt(
"ui_nav_sequence_description");
115 $tpl->setVariable(
'NAVIGATION_DESCRIPTION', $nav_description);
render(Component\Component $component, RendererInterface $default_renderer)
txt(string $id)
Get a text from the language file.
createId()
Get a fresh unique id.
getTemplate(string $name, bool $purge_unfilled_vars, bool $purge_unused_blocks)
Get template of component this renderer is made for.
withSymbol(Symbol $symbol)
renderSequence(Sequence $component, RendererInterface $default_renderer)
cannotHandleComponent(Component $component)
This method MUST be called by derived component renderers, if.
withCurrentPosition(int $position)
getUIFactory()
Get a UI factory.
Base class for all component renderers.