mirror of
https://github.com/Icinga/icingaweb2-module-businessprocess.git
synced 2026-02-16 17:32:39 -05:00
TileRenderer: incorporate AddNewTile
This commit is contained in:
parent
decc788d2a
commit
991d9f9b05
2 changed files with 21 additions and 50 deletions
|
|
@ -3,7 +3,9 @@
|
|||
namespace Icinga\Module\Businessprocess\Renderer;
|
||||
|
||||
use Icinga\Module\Businessprocess\Html\Container;
|
||||
use Icinga\Module\Businessprocess\Renderer\TileRenderer\AddNewTile;
|
||||
use Icinga\Module\Businessprocess\Html\Element;
|
||||
use Icinga\Module\Businessprocess\Html\Icon;
|
||||
use Icinga\Module\Businessprocess\Html\Link;
|
||||
use Icinga\Module\Businessprocess\Renderer\TileRenderer\NodeTile;
|
||||
|
||||
class TileRenderer extends Renderer
|
||||
|
|
@ -31,7 +33,7 @@ class TileRenderer extends Renderer
|
|||
}
|
||||
|
||||
if (! $this->isLocked()) {
|
||||
$this->add(new AddNewTile($this));
|
||||
$this->add($this->addNewNode());
|
||||
}
|
||||
|
||||
$path = $this->getCurrentPath();
|
||||
|
|
@ -72,4 +74,21 @@ class TileRenderer extends Renderer
|
|||
|
||||
return $howMany;
|
||||
}
|
||||
|
||||
protected function addNewNode()
|
||||
{
|
||||
return Element::create(
|
||||
'div',
|
||||
array('class' => 'addnew')
|
||||
)->add(
|
||||
Link::create(
|
||||
Icon::create('plus'),
|
||||
$this->getUrl()->with('action', 'add'),
|
||||
null,
|
||||
array(
|
||||
'title' => $this->translate('Add a new business process node')
|
||||
)
|
||||
)->addContent($this->translate('Add'))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,48 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace Icinga\Module\Businessprocess\Renderer\TileRenderer;
|
||||
|
||||
use Icinga\Module\Businessprocess\BusinessProcess;
|
||||
use Icinga\Module\Businessprocess\Html\BaseElement;
|
||||
use Icinga\Module\Businessprocess\Html\Icon;
|
||||
use Icinga\Module\Businessprocess\Html\Link;
|
||||
use Icinga\Module\Businessprocess\Renderer\Renderer;
|
||||
use Icinga\Module\Businessprocess\Web\Url;
|
||||
|
||||
class AddNewTile extends BaseElement
|
||||
{
|
||||
protected $tag = 'div';
|
||||
|
||||
protected $node;
|
||||
|
||||
protected $defaultAttributes = array('class' => 'addnew');
|
||||
|
||||
public function __construct(Renderer $renderer)
|
||||
{
|
||||
$bp = $renderer->getBusinessProcess();
|
||||
$path = $renderer->getCurrentPath();
|
||||
|
||||
$params = array(
|
||||
'config' => $bp->getName()
|
||||
);
|
||||
|
||||
// Workaround for array issues
|
||||
$url = Url::fromPath('businessprocess/node/add');
|
||||
$p = $url->getParams();
|
||||
$p->mergeValues($params);
|
||||
if (! empty($path)) {
|
||||
$p->addValues('path', $path);
|
||||
}
|
||||
|
||||
$this->add(
|
||||
Link::create(
|
||||
Icon::create('plus'),
|
||||
$url,
|
||||
null,
|
||||
array(
|
||||
'title' => $this->translate('Add a new business process node')
|
||||
)
|
||||
)->addContent($this->translate('Add'))
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue