19 declare(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 ($modal_submit_lable = $component->getModalSubmitLabel()) {
56 $modal = $modal->withSubmitLabel($modal_submit_lable);
59 if ($modal_cancel_label = $component->getModalCancelLabel()) {
60 $modal = $modal->withCancelButtonLabel($modal_cancel_label);
63 $tpl->setVariable(
"FORM", $default_renderer->render($modal));
64 $start_button = $start_button->withOnClick($modal->getShowSignal());
68 $start_button = $start_button->withUnavailableAction();
70 if ($status_icon = $component->getStatusIcon()) {
71 $tpl->setVariable(
"STATUS_ICON", $default_renderer->render($status_icon));
73 if ($status_message = $component->getStatusMessageBox()) {
74 $tpl->setVariable(
"STATUS_MESSAGE", $default_renderer->render($status_message));
76 $tpl->setVariable(
"DESCRIPTION", $component->getDescription());
77 $tpl->setVariable(
"BUTTON", $default_renderer->render($start_button));
getTemplate(string $name, bool $purge_unfilled_vars, bool $purge_unused_blocks)
Get template of component this renderer is made for.
render(Component\Component $component, RendererInterface $default_renderer)
cannotHandleComponent(Component $component)
This method MUST be called by derived component renderers, if.
renderInline(Inline $component, RendererInterface $default_renderer)
getUIFactory()
Get a UI factory.
Base class for all component renderers.