N°2847 - Rework of MultiColumn / Column

- Remove unused HTML template
- Move SCSS files to match convention
- Move Column under MultiColumn to match convention (eg. ActivityPanel, PopoverMenu)
- Update PHPDoc
This commit is contained in:
Molkobain
2020-09-30 16:59:49 +02:00
parent 6fd56f750e
commit 5276b48ed4
9 changed files with 46 additions and 27 deletions

View File

@@ -26,7 +26,7 @@ use Combodo\iTop\Application\UI\Component\Form\Form;
use Combodo\iTop\Application\UI\Component\Input\InputFactory;
use Combodo\iTop\Application\UI\Component\Title\TitleFactory;
use Combodo\iTop\Application\UI\Component\Toolbar\Toolbar;
use Combodo\iTop\Application\UI\Layout\Column\Column;
use Combodo\iTop\Application\UI\Layout\MultiColumn\Column\Column;
use Combodo\iTop\Application\UI\Layout\MultiColumn\MultiColumn;
use Combodo\iTop\Application\UI\Layout\UIContentBlock;

View File

@@ -19,10 +19,10 @@
@import "navigation-menu";
@import "top-bar";
@import "content";
@import "multi-column/multi-column";
@import "multi-column/column";
@import "activity-panel/activity-panel";
@import "activity-panel/activity-entry";
@import "activity-panel/caselog-entry";
@import "activity-panel/edits-entry";
@import "activity-panel/transition-entry";
@import "multicolumn";
@import "column";

View File

@@ -199,7 +199,7 @@ return array(
'Combodo\\iTop\\Application\\UI\\Layout\\ActivityPanel\\ActivityEntry\\TransitionEntry' => $baseDir . '/sources/application/UI/Layout/ActivityPanel/ActivityEntry/TransitionEntry.php',
'Combodo\\iTop\\Application\\UI\\Layout\\ActivityPanel\\ActivityPanel' => $baseDir . '/sources/application/UI/Layout/ActivityPanel/ActivityPanel.php',
'Combodo\\iTop\\Application\\UI\\Layout\\ActivityPanel\\ActivityPanelFactory' => $baseDir . '/sources/application/UI/Layout/ActivityPanel/ActivityPanelFactory.php',
'Combodo\\iTop\\Application\\UI\\Layout\\Column\\Column' => $baseDir . '/sources/application/UI/Layout/Column/Column.php',
'Combodo\\iTop\\Application\\UI\\Layout\\MultiColumn\\Column\\Column' => $baseDir . '/sources/application/UI/Layout/MultiColumn/Column/Column.php',
'Combodo\\iTop\\Application\\UI\\Layout\\MultiColumn\\MultiColumn' => $baseDir . '/sources/application/UI/Layout/MultiColumn/MultiColumn.php',
'Combodo\\iTop\\Application\\UI\\Layout\\NavigationMenu\\NavigationMenu' => $baseDir . '/sources/application/UI/Layout/NavigationMenu/NavigationMenu.php',
'Combodo\\iTop\\Application\\UI\\Layout\\NavigationMenu\\NavigationMenuFactory' => $baseDir . '/sources/application/UI/Layout/NavigationMenu/NavigationMenuFactory.php',

View File

@@ -429,7 +429,7 @@ class ComposerStaticInit0018331147de7601e7552f7da8e3bb8b
'Combodo\\iTop\\Application\\UI\\Layout\\ActivityPanel\\ActivityEntry\\TransitionEntry' => __DIR__ . '/../..' . '/sources/application/UI/Layout/ActivityPanel/ActivityEntry/TransitionEntry.php',
'Combodo\\iTop\\Application\\UI\\Layout\\ActivityPanel\\ActivityPanel' => __DIR__ . '/../..' . '/sources/application/UI/Layout/ActivityPanel/ActivityPanel.php',
'Combodo\\iTop\\Application\\UI\\Layout\\ActivityPanel\\ActivityPanelFactory' => __DIR__ . '/../..' . '/sources/application/UI/Layout/ActivityPanel/ActivityPanelFactory.php',
'Combodo\\iTop\\Application\\UI\\Layout\\Column\\Column' => __DIR__ . '/../..' . '/sources/application/UI/Layout/Column/Column.php',
'Combodo\\iTop\\Application\\UI\\Layout\\MultiColumn\\Column\\Column' => __DIR__ . '/../..' . '/sources/application/UI/Layout/MultiColumn/Column/Column.php',
'Combodo\\iTop\\Application\\UI\\Layout\\MultiColumn\\MultiColumn' => __DIR__ . '/../..' . '/sources/application/UI/Layout/MultiColumn/MultiColumn.php',
'Combodo\\iTop\\Application\\UI\\Layout\\NavigationMenu\\NavigationMenu' => __DIR__ . '/../..' . '/sources/application/UI/Layout/NavigationMenu/NavigationMenu.php',
'Combodo\\iTop\\Application\\UI\\Layout\\NavigationMenu\\NavigationMenuFactory' => __DIR__ . '/../..' . '/sources/application/UI/Layout/NavigationMenu/NavigationMenuFactory.php',

View File

@@ -4,7 +4,7 @@
* @license http://opensource.org/licenses/AGPL-3.0
*/
namespace Combodo\iTop\Application\UI\Layout\Column;
namespace Combodo\iTop\Application\UI\Layout\MultiColumn\Column;
use Combodo\iTop\Application\UI\Layout\UIContentBlock;
@@ -12,11 +12,11 @@ use Combodo\iTop\Application\UI\Layout\UIContentBlock;
/**
* Class Column
*
* @package Combodo\iTop\Application\UI\Layout\Column
* @package Combodo\iTop\Application\UI\Layout\MultiColumn\Column
* @internal
* @since 2.8.0
*/
class Column extends UIContentBlock
{
class Column extends UIContentBlock {
// Overloaded constants
public const BLOCK_CODE = 'ibo-column';
public const HTML_TEMPLATE_REL_PATH = 'layouts/column/layout';
}

View File

@@ -7,37 +7,63 @@
namespace Combodo\iTop\Application\UI\Layout\MultiColumn;
use Combodo\iTop\Application\UI\Layout\Column\Column;
use Combodo\iTop\Application\UI\Layout\MultiColumn\Column\Column;
use Combodo\iTop\Application\UI\UIBlock;
/**
* Class MultiColumn
*
* @package Combodo\iTop\Application\UI\Layout\MultiColumn
* @internal
* @since 2.8.0
*/
class MultiColumn extends UIBlock
{
class MultiColumn extends UIBlock {
// Overloaded constants
public const BLOCK_CODE = 'ibo-multicolumn';
public const HTML_TEMPLATE_REL_PATH = 'layouts/multicolumn/layout';
/** @var array */
/** @var \Combodo\iTop\Application\UI\Layout\MultiColumn\Column\Column[] */
protected $aColumns;
public function __construct(?string $sId = null)
{
/**
* @inheritDoc
*/
public function __construct(?string $sId = null) {
parent::__construct($sId);
$this->aColumns = [];
}
public function AddColumn(Column $oColumn): self
{
/**
* @param \Combodo\iTop\Application\UI\Layout\MultiColumn\Column\Column $oColumn
*
* @return $this
*/
public function AddColumn(Column $oColumn) {
$this->aColumns[] = $oColumn;
return $this;
}
public function GetSubBlocks()
{
/**
* Remove the column of $iIndex index.
* Note that if the column does not exists, it proceeds silently.
*
* @param int $iIndex
*
* @return $this
*/
public function RemoveColumn(int $iIndex) {
if (isset($this->aColumns[$iIndex])) {
unset($this->aColumns[$iIndex]);
}
return $this;
}
/**
* @inheritDoc
*/
public function GetSubBlocks() {
return $this->aColumns;
}
}

View File

@@ -1,7 +0,0 @@
{# @copyright Copyright (C) 2010-2020 Combodo SARL #}
{# @license http://opensource.org/licenses/AGPL-3.0 #}
<div class="ibo-column">
{% for oSubBlock in oUIBlock.GetSubBlocks() %}
{{ render_block(oSubBlock, {aPage: aPage}) }}
{% endfor %}
</div>