Introduce vertical separator for toolbar blocks

This commit is contained in:
Molkobain
2021-03-19 19:18:10 +01:00
parent 8717d6d75e
commit 10bdb57391
11 changed files with 139 additions and 2 deletions

View File

@@ -24,8 +24,7 @@
@import "form";
@import "fieldset";
@import "field";
@import "toolbar";
@import "toolbar-spacer";
@import "toolbar/all";
@import "richtext";
@import "formtable";
@import "formtablerow";

View File

@@ -0,0 +1,8 @@
/*!
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
@import "toolbar";
@import "toolbar-spacer";
@import "separator";

View File

@@ -0,0 +1,21 @@
/*!
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
/* SCSS variables */
$ibo-toolbar-vertical-separator--width: 1px !default;
$ibo-toolbar-vertical-separator--height: 16px !default;
$ibo-toolbar-vertical-separator--margin-x: 0.75rem !default;
$ibo-toolbar-vertical-separator--margin-y: 0 !default;
$ibo-toolbar-vertical-separator--border-size: 1px !default;
$ibo-toolbar-vertical-separator--border-color: $ibo-color-grey-500 !default;
/* SCSS Rules */
.ibo-toolbar-vertical-separator {
display: inline-flex;
border-right: $ibo-toolbar-vertical-separator--border-size solid $ibo-toolbar-vertical-separator--border-color;
width: $ibo-toolbar-vertical-separator--width;
height: $ibo-toolbar-vertical-separator--height;
margin: $ibo-toolbar-vertical-separator--margin-y $ibo-toolbar-vertical-separator--margin-x;
}

View File

@@ -222,6 +222,9 @@ return array(
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Text\\Text' => $baseDir . '/sources/application/UI/Base/Component/Text/Text.php',
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Title\\Title' => $baseDir . '/sources/application/UI/Base/Component/Title/Title.php',
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Title\\TitleUIBlockFactory' => $baseDir . '/sources/application/UI/Base/Component/Title/TitleUIBlockFactory.php',
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Toolbar\\Separator\\AbstractSeparator' => $baseDir . '/sources/application/UI/Base/Component/Toolbar/Separator/AbstractSeparator.php',
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Toolbar\\Separator\\ToolbarSeparatorUIBlockFactory' => $baseDir . '/sources/application/UI/Base/Component/Toolbar/Separator/ToolbarSeparatorUIBlockFactory.php',
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Toolbar\\Separator\\VerticalSeparator' => $baseDir . '/sources/application/UI/Base/Component/Toolbar/Separator/VerticalSeparator.php',
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Toolbar\\Toolbar' => $baseDir . '/sources/application/UI/Base/Component/Toolbar/Toolbar.php',
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Toolbar\\ToolbarSpacer\\ToolbarSpacer' => $baseDir . '/sources/application/UI/Base/Component/Toolbar/ToolbarSpacer/ToolbarSpacer.php',
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Toolbar\\ToolbarSpacer\\ToolbarSpacerUIBlockFactory' => $baseDir . '/sources/application/UI/Base/Component/Toolbar/ToolbarSpacer/ToolbarSpacerUIBlockFactory.php',

View File

@@ -452,6 +452,9 @@ class ComposerStaticInit0018331147de7601e7552f7da8e3bb8b
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Text\\Text' => __DIR__ . '/../..' . '/sources/application/UI/Base/Component/Text/Text.php',
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Title\\Title' => __DIR__ . '/../..' . '/sources/application/UI/Base/Component/Title/Title.php',
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Title\\TitleUIBlockFactory' => __DIR__ . '/../..' . '/sources/application/UI/Base/Component/Title/TitleUIBlockFactory.php',
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Toolbar\\Separator\\AbstractSeparator' => __DIR__ . '/../..' . '/sources/application/UI/Base/Component/Toolbar/Separator/AbstractSeparator.php',
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Toolbar\\Separator\\ToolbarSeparatorUIBlockFactory' => __DIR__ . '/../..' . '/sources/application/UI/Base/Component/Toolbar/Separator/ToolbarSeparatorUIBlockFactory.php',
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Toolbar\\Separator\\VerticalSeparator' => __DIR__ . '/../..' . '/sources/application/UI/Base/Component/Toolbar/Separator/VerticalSeparator.php',
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Toolbar\\Toolbar' => __DIR__ . '/../..' . '/sources/application/UI/Base/Component/Toolbar/Toolbar.php',
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Toolbar\\ToolbarSpacer\\ToolbarSpacer' => __DIR__ . '/../..' . '/sources/application/UI/Base/Component/Toolbar/ToolbarSpacer/ToolbarSpacer.php',
'Combodo\\iTop\\Application\\UI\\Base\\Component\\Toolbar\\ToolbarSpacer\\ToolbarSpacerUIBlockFactory' => __DIR__ . '/../..' . '/sources/application/UI/Base/Component/Toolbar/ToolbarSpacer/ToolbarSpacerUIBlockFactory.php',

View File

@@ -0,0 +1,26 @@
<?php
/**
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
namespace Combodo\iTop\Application\UI\Base\Component\Toolbar\Separator;
use Combodo\iTop\Application\UI\Base\UIBlock;
/**
* Class AbstractSeparator
*
* The only purpose of this class is tho be referenced in the factory
*
* @used-by \Combodo\iTop\Application\UI\Base\Component\Toolbar\Separator\ToolbarSeparatorUIBlockFactory
*
* @internal
* @author Guillaume Lajarige <guillaume.lajarige@combodo.com>
* @package Combodo\iTop\Application\UI\Base\Component\Toolbar\Separator
* @since 3.0.0
*/
class AbstractSeparator extends UIBlock
{
}

View File

@@ -0,0 +1,37 @@
<?php
/**
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
namespace Combodo\iTop\Application\UI\Base\Component\Toolbar\Separator;
use Combodo\iTop\Application\UI\Base\AbstractUIBlockFactory;
/**
* Class ToolbarSeparatorUIBlockFactory
*
* @api
* @author Guillaume Lajarige <guillaume.lajarige@combodo.com>
* @since 3.0.0
* @package Combodo\iTop\Application\UI\Base\Component\Toolbar\Separator
*/
class ToolbarSeparatorUIBlockFactory extends AbstractUIBlockFactory
{
/** @inheritDoc */
public const TWIG_TAG_NAME = 'UIToolbarSeparator';
/** @inheritDoc */
public const UI_BLOCK_CLASS_NAME = Toolbar::class;
/**
* @param string|null $sId
*
* @return \Combodo\iTop\Application\UI\Base\Component\Toolbar\Separator\VerticalSeparator
*/
public static function MakeVertical(string $sId = null)
{
return new VerticalSeparator($sId);
}
}

View File

@@ -0,0 +1,31 @@
<?php
/**
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
namespace Combodo\iTop\Application\UI\Base\Component\Toolbar\Separator;
/**
* Class ToolbarSpacer
*
* @internal
* @author Guillaume Lajarige <guillaume.lajarige@combodo.com>
* @package Combodo\iTop\Application\UI\Base\Component\Toolbar\Separator
* @since 3.0.0
*/
class VerticalSeparator extends AbstractSeparator
{
// Overloaded constants
/** @inheritDoc */
public const BLOCK_CODE = 'ibo-toolbar-vertical-separator';
/** @inheritDoc */
public const DEFAULT_HTML_TEMPLATE_REL_PATH = 'base/components/toolbar/separator/vertical-separator/layout';
/** @inheritDoc */
public function __construct(?string $sId = null)
{
parent::__construct($sId);
}
}

View File

@@ -0,0 +1,9 @@
{# @copyright Copyright (C) 2010-2021 Combodo SARL #}
{# @license http://opensource.org/licenses/AGPL-3.0 #}
{% apply spaceless %}
<span id="{{ oUIBlock.GetId() }}" class="{{ oUIBlock.GetBlocksInheritanceCSSClassesAsString() }}
{% if oUIBlock.GetAdditionalCSSClassesAsString() %}{{ oUIBlock.GetAdditionalCSSClassesAsString() }}{% endif %}
{% if oUIBlock.IsHidden() %}ibo-is-hidden{% endif %}"
data-role="ibo-toolbar-vertical-separator">
</span>
{% endapply %}