diff options
Diffstat (limited to 'library/Director/Web/ActionBar/TemplateActionBar.php')
-rw-r--r-- | library/Director/Web/ActionBar/TemplateActionBar.php | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/library/Director/Web/ActionBar/TemplateActionBar.php b/library/Director/Web/ActionBar/TemplateActionBar.php new file mode 100644 index 0000000..53e65ed --- /dev/null +++ b/library/Director/Web/ActionBar/TemplateActionBar.php @@ -0,0 +1,42 @@ +<?php + +namespace Icinga\Module\Director\Web\ActionBar; + +use gipfl\IcingaWeb2\Link; + +class TemplateActionBar extends DirectorBaseActionBar +{ + protected function assemble() + { + $type = str_replace('_', '-', $this->type); + $plType = preg_replace('/cys$/', 'cies', $type . 's'); + $renderTree = $this->url->getParam('render') === 'tree'; + $renderParams = $renderTree ? null : ['render' => 'tree']; + $this->add( + $this->getBackToDashboardLink() + )->add( + Link::create( + $this->translate('Add'), + "director/$type/add", + ['type' => 'template'], + [ + 'title' => $this->translate('Create a new Template'), + 'class' => 'icon-plus', + 'data-base-target' => '_next' + ] + ) + )->add( + Link::create( + $renderTree ? $this->translate('Table') : $this->translate('Tree'), + "director/$plType/templates", + $renderParams, + [ + 'class' => 'icon-' . ($renderTree ? 'doc-text' : 'sitemap'), + 'title' => $renderTree + ? $this->translate('Switch to Tree view') + : $this->translate('Switch to Table view') + ] + ) + ); + } +} |