19declare(strict_types=1);
31 if ($component instanceof
Inline) {
32 return $this->
renderInline($component, $default_renderer);
39 if ($result = $component->getResult()) {
40 $f = $component->getEvaluation();
41 $f($result, $component);
44 $tpl = $this->
getTemplate(
"tpl.launcher_inline.html",
true,
true);
47 $target = $component->getTarget()->getURL();
48 $label = $component->getButtonLabel();
49 $launchable = $component->isLaunchable();
51 $launch_glyph = $ui_factory->symbol()->glyph()->launch();
52 $start_button = $ui_factory->button()->bulky($launch_glyph, $label, (
string) $target);
54 if ($modal = $component->getModal()) {
55 if ($result?->isError()) {
56 $modal = $modal->withOnLoad($modal->getShowSignal());
59 if ($modal_submit_lable = $component->getModalSubmitLabel()) {
60 $modal = $modal->withSubmitLabel($modal_submit_lable);
63 if ($modal_cancel_label = $component->getModalCancelLabel()) {
64 $modal = $modal->withCancelButtonLabel($modal_cancel_label);
67 $tpl->setVariable(
"FORM", $default_renderer->render($modal));
68 $start_button = $start_button->withOnClick($modal->getShowSignal());
72 $start_button = $start_button->withUnavailableAction();
74 if ($status_icon = $component->getStatusIcon()) {
75 $tpl->setVariable(
"STATUS_ICON", $default_renderer->render($status_icon));
77 if ($status_message = $component->getStatusMessageBox()) {
78 $tpl->setVariable(
"STATUS_MESSAGE", $default_renderer->render($status_message));
80 $tpl->setVariable(
"DESCRIPTION", $component->getDescription());
81 $tpl->setVariable(
"BUTTON", $default_renderer->render($start_button));
renderInline(Inline $component, RendererInterface $default_renderer)
render(Component\Component $component, RendererInterface $default_renderer)
Base class for all component renderers.
cannotHandleComponent(Component $component)
This method MUST be called by derived component renderers, if.
getUIFactory()
Get a UI factory.
getTemplate(string $name, bool $purge_unfilled_vars, bool $purge_unused_blocks)
Get template of component this renderer is made for.
An entity that renders components to a string output.