Add UIBlocks to twig (generic parser and node)

# Conflicts:
#	pages/run_query.php
#	test/VisualTest/Backoffice/RenderAllUiBlocks.php
This commit is contained in:
Eric
2021-01-18 12:09:07 +01:00
parent 2aae6cd744
commit 21740123f4
59 changed files with 712 additions and 1182 deletions

View File

@@ -10,11 +10,12 @@ use ApplicationException;
use appUserPreferences;
use AttributeLinkedSet;
use cmdbAbstractObject;
use Combodo\iTop\Application\UI\Base\AbstractUIBlockFactory;
use Combodo\iTop\Application\UI\Base\Component\DataTable\StaticTable\FormTable\FormTable;
use Combodo\iTop\Application\UI\Base\Component\DataTable\StaticTable\FormTableRow\FormTableRow;
use Combodo\iTop\Application\UI\Base\Component\DataTable\StaticTable\StaticTable;
use Combodo\iTop\Application\UI\Base\Component\Panel\PanelFactory;
use Combodo\iTop\Application\UI\Base\Component\Title\TitleFactory;
use Combodo\iTop\Application\UI\Base\Component\Title\TitleUIBlockFactory;
use Combodo\iTop\Application\UI\Base\Component\Toolbar\Toolbar;
use Combodo\iTop\Application\UI\Base\Layout\UIContentBlock;
use DBObjectSet;
@@ -26,15 +27,17 @@ use utils;
use WebPage;
/**
* Class DataTableFactory
* Class DataTableUIBlockFactory
*
* @internal
* @package Combodo\iTop\Application\UI\Base\Component\DataTable
* @since 3.0.0
*/
class DataTableFactory
class DataTableUIBlockFactory extends AbstractUIBlockFactory
{
public const TWIG_TAG_NAME = 'UIDataTable';
public const UI_BLOCK_CLASS_NAME = "Combodo\\iTop\\Application\\UI\\Base\\Component\\DataTable\\DataTable";
/**
* @param \WebPage $oPage
* @param string $sListId
@@ -55,7 +58,7 @@ class DataTableFactory
*/
public static function MakeForResult(WebPage $oPage, string $sListId, DBObjectSet $oSet, $aExtraParams = array())
{
$oDataTable = DataTableFactory::MakeForRendering($sListId, $oSet, $aExtraParams);
$oDataTable = DataTableUIBlockFactory::MakeForRendering($sListId, $oSet, $aExtraParams);
return self::RenderDataTable($oDataTable, 'list', $oPage, $sListId, $oSet, $aExtraParams);
}
@@ -78,7 +81,7 @@ class DataTableFactory
*/
public static function MakeForObject(WebPage $oPage, string $sListId, DBObjectSet $oSet, $aExtraParams = array())
{
$oDataTable = DataTableFactory::MakeForRenderingObject($sListId, $oSet, $aExtraParams);
$oDataTable = DataTableUIBlockFactory::MakeForRenderingObject($sListId, $oSet, $aExtraParams);
return self::RenderDataTable($oDataTable, 'listInObject', $oPage, $sListId, $oSet, $aExtraParams);
}
@@ -750,7 +753,7 @@ class DataTableFactory
public static function MakeForStaticData(string $sTitle, array $aColumns, array $aData, ?string $sId = null)
{
$oBlock = new UIContentBlock();
$oTitle = TitleFactory::MakeNeutral($sTitle, 3);
$oTitle = TitleUIBlockFactory::MakeNeutral($sTitle, 3);
$oBlock->AddSubBlock($oTitle);
$oTable = new StaticTable($sId);
$oTable->SetColumns($aColumns);