Pull up additionalCSSClasses from Button & UiContentBlock to UiBlock

This will allow to use this everywhere !

Before this commit we had :
UiContentBlock
  aCSSClasses
  GetCssClasses
  SetCssClasses // reset + add, existing callers
  AddCSSClasses
Button
  $aAdditionalCSSClasses
  GetAdditionalCSSClass
  AddCSSClasses

Now we have :
UiBlock
  aAdditionalCSSClasses
  AddCSSClasses
  SetCSSClasses
  GetAdditionalCSSClass

Note that there were also some methods in PopoverMenuItem :
PopoverMenuItem
  SetCssClasses
  AddCssClass
  GetCssClasses
As they are indirection to methods in the $oPopupMenuItem attribute, I added to them the "MenuItem" prefix :
  SetMenuItemCssClasses
  AddMenuItemCssClass
  GetMenuItemCssClasses
Didn't find any use to change.
This commit is contained in:
Pierre Goiffon
2021-01-21 09:50:34 +01:00
parent 26f800d488
commit f723862def
12 changed files with 77 additions and 88 deletions

View File

@@ -28,8 +28,6 @@ class UIContentBlock extends UIBlock implements iUIContentBlock
public const BLOCK_CODE = 'ibo-content-block';
public const DEFAULT_HTML_TEMPLATE_REL_PATH = 'base/layouts/content-block/layout';
/** @var array */
protected $aCSSClasses;
/** @var array */
protected $aSubBlocks;
/** @var array */
@@ -40,15 +38,15 @@ class UIContentBlock extends UIBlock implements iUIContentBlock
* Generates a <div> only if $sContainerClass if not empty or block has data attributes
*
* @param string|null $sId
* @param string $sContainerClass
* @param string $sContainerClasses list of additional CSS classes, space as separator
*/
public function __construct(string $sId = null, string $sContainerClass = '')
public function __construct(string $sId = null, string $sContainerClasses = '')
{
parent::__construct($sId);
$this->aSubBlocks = [];
$this->aDeferredBlocks = [];
$this->SetCSSClasses($sContainerClass);
$this->SetCSSClasses($sContainerClasses);
}
/**
@@ -121,43 +119,6 @@ class UIContentBlock extends UIBlock implements iUIContentBlock
return $this;
}
/**
* @return string
*/
public function GetCSSClasses(): string
{
return implode(' ', $this->aCSSClasses);
}
/**
* @param string $sCSSClasses
*
* @return UIContentBlock
*/
public function SetCSSClasses(string $sCSSClasses)
{
$this->aCSSClasses = [];
$this->AddCSSClasses($sCSSClasses);
return $this;
}
/**
* @param string $sCSSClasses
*
* @return $this
*/
public function AddCSSClasses(string $sCSSClasses)
{
foreach (explode(' ', $sCSSClasses) as $sCSSClass) {
if (!empty($sCSSClass)) {
$this->aCSSClasses[$sCSSClass] = $sCSSClass;
}
}
return $this;
}
/**
* @inheritDoc
*/