From 72e7aa798c6fc28747c372bf7773b9b5f8dd0e39 Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Fri, 9 Dec 2016 16:59:25 +0100 Subject: [PATCH] Rendering: improve tile sizes, fullscreen mode --- application/controllers/ProcessController.php | 10 ++++---- library/Businessprocess/Renderer/Renderer.php | 24 +++++++++++++++++++ .../Businessprocess/Renderer/TileRenderer.php | 6 ++--- public/css/module.less | 6 ++--- 4 files changed, 36 insertions(+), 10 deletions(-) diff --git a/application/controllers/ProcessController.php b/application/controllers/ProcessController.php index a464ab4..2670ef7 100644 --- a/application/controllers/ProcessController.php +++ b/application/controllers/ProcessController.php @@ -102,7 +102,9 @@ class ProcessController extends Controller ); } - $controls->add($this->getProcessTabs($bp, $renderer)); + if (! ($this->showFullscreen || $this->view->compact)) { + $controls->add($this->getProcessTabs($bp, $renderer)); + } if (! $this->view->compact) { $controls->add(Element::create('h1')->setContent($this->view->title)); } @@ -141,9 +143,6 @@ class ProcessController extends Controller protected function getProcessTabs(BusinessProcess $bp, Renderer $renderer) { - if ($this->showFullscreen || $this->view->compact) { - return; - } $tabs = $this->singleTab($bp->getTitle()); if (! $renderer->isLocked()) { @@ -175,6 +174,9 @@ class ProcessController extends Controller { $action = $this->params->get('action'); $form = null; + if ($this->showFullscreen) { + return; + } if ($action === 'add') { $form =$this->loadForm('AddNode') diff --git a/library/Businessprocess/Renderer/Renderer.php b/library/Businessprocess/Renderer/Renderer.php index a364949..cb5a32a 100644 --- a/library/Businessprocess/Renderer/Renderer.php +++ b/library/Businessprocess/Renderer/Renderer.php @@ -86,6 +86,30 @@ abstract class Renderer extends Html return $this->parent->getParents(); } + /** + * @return BpNode[] + */ + public function getChildNodes() + { + if ($this->wantsRootNodes()) { + return $this->bp->getRootNodes(); + } else { + return $this->parent->getChildren(); + } + } + + /** + * @return int + */ + public function countChildNodes() + { + if ($this->wantsRootNodes()) { + return $this->bp->countChildren(); + } else { + return $this->parent->countChildren(); + } + } + /** * @param $summary * @return Container diff --git a/library/Businessprocess/Renderer/TileRenderer.php b/library/Businessprocess/Renderer/TileRenderer.php index 62e8e6c..56029be 100644 --- a/library/Businessprocess/Renderer/TileRenderer.php +++ b/library/Businessprocess/Renderer/TileRenderer.php @@ -63,12 +63,12 @@ class TileRenderer extends Renderer */ protected function howMany() { - $count = $this->bp->countChildren(); + $count = $this->countChildNodes(); $howMany = 'normal'; - if ($count < 20) { + if ($count <= 6) { $howMany = 'few'; - } elseif ($count > 50) { + } elseif ($count > 12) { $howMany = 'many'; } diff --git a/public/css/module.less b/public/css/module.less index e4160f9..0ddc860 100644 --- a/public/css/module.less +++ b/public/css/module.less @@ -505,13 +505,13 @@ div.bp .badges { } .tiles.few { font-size: 3em; } -.tiles.normal { font-size: 2em; } -.tiles.many { font-size: 1.5em; } +.tiles.normal { font-size: 2.4em; } +.tiles.many { font-size: 1.8em; } #layout.twocols, #layout.layout-minimal, .compact { .tiles.few { font-size: 1.8em; } .tiles.normal { font-size: 1.4em; } - .tiles.many { font-size: 0.9em; } + .tiles.many { font-size: 1.2em; } } #layout.fullscreen-layout .controls {