diff --git a/application/cmdbabstract.class.inc.php b/application/cmdbabstract.class.inc.php index d0aaebcb0..7f1f0d374 100644 --- a/application/cmdbabstract.class.inc.php +++ b/application/cmdbabstract.class.inc.php @@ -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; diff --git a/css/backoffice/layout/_all.scss b/css/backoffice/layout/_all.scss index c866387f8..efdaa4aff 100644 --- a/css/backoffice/layout/_all.scss +++ b/css/backoffice/layout/_all.scss @@ -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"; \ No newline at end of file diff --git a/css/backoffice/layout/_column.scss b/css/backoffice/layout/multi-column/_column.scss similarity index 100% rename from css/backoffice/layout/_column.scss rename to css/backoffice/layout/multi-column/_column.scss diff --git a/css/backoffice/layout/_multicolumn.scss b/css/backoffice/layout/multi-column/_multi-column.scss similarity index 100% rename from css/backoffice/layout/_multicolumn.scss rename to css/backoffice/layout/multi-column/_multi-column.scss diff --git a/lib/composer/autoload_classmap.php b/lib/composer/autoload_classmap.php index e81ad9ac8..28f435050 100644 --- a/lib/composer/autoload_classmap.php +++ b/lib/composer/autoload_classmap.php @@ -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', diff --git a/lib/composer/autoload_static.php b/lib/composer/autoload_static.php index 0cc81c48d..fbad5620a 100644 --- a/lib/composer/autoload_static.php +++ b/lib/composer/autoload_static.php @@ -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', diff --git a/sources/application/UI/Layout/Column/Column.php b/sources/application/UI/Layout/MultiColumn/Column/Column.php similarity index 56% rename from sources/application/UI/Layout/Column/Column.php rename to sources/application/UI/Layout/MultiColumn/Column/Column.php index 2cb4509e7..48a0f1306 100644 --- a/sources/application/UI/Layout/Column/Column.php +++ b/sources/application/UI/Layout/MultiColumn/Column/Column.php @@ -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'; } \ No newline at end of file diff --git a/sources/application/UI/Layout/MultiColumn/MultiColumn.php b/sources/application/UI/Layout/MultiColumn/MultiColumn.php index fb3d29044..5ca63a757 100644 --- a/sources/application/UI/Layout/MultiColumn/MultiColumn.php +++ b/sources/application/UI/Layout/MultiColumn/MultiColumn.php @@ -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; } } \ No newline at end of file diff --git a/templates/layouts/column/layout.html.twig b/templates/layouts/column/layout.html.twig deleted file mode 100644 index 716e4f3eb..000000000 --- a/templates/layouts/column/layout.html.twig +++ /dev/null @@ -1,7 +0,0 @@ -{# @copyright Copyright (C) 2010-2020 Combodo SARL #} -{# @license http://opensource.org/licenses/AGPL-3.0 #} -