Files
iTop/sources/application/UI/Base/Component/DataTable/StaticTable/StaticTable.php
Pierre Goiffon f723862def 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.
2021-01-21 10:49:31 +01:00

94 lines
2.1 KiB
PHP

<?php
namespace Combodo\iTop\Application\UI\Base\Component\DataTable\StaticTable;
use Combodo\iTop\Application\UI\Base\Layout\UIContentBlock;
/**
* @copyright Copyright (C) 2010-2020 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
/**
* Tables with static data
* Class StaticTable
*/
class StaticTable extends UIContentBlock
{
// Overloaded constants
public const BLOCK_CODE = 'ibo-datatable';
public const DEFAULT_HTML_TEMPLATE_REL_PATH = 'base/components/datatable/static/layout';
public const DEFAULT_JS_ON_READY_TEMPLATE_REL_PATH = 'base/components/datatable/static/layout';
public const DEFAULT_JS_FILES_REL_PATH = [
'lib/datatables/js/jquery.dataTables.min.js',
'lib/datatables/js/dataTables.bootstrap.min.js',
'lib/datatables/js/dataTables.fixedHeader.min.js',
'lib/datatables/js/dataTables.responsive.min.js',
'lib/datatables/js/dataTables.scroller.min.js',
'lib/datatables/js/dataTables.select.min.js',
'js/dataTables.main.js',
'js/dataTables.settings.js',
'js/dataTables.pipeline.js',
];
/**
* @var array of 'entry name' => [
* 'description' => tooltip,
* 'label' => label to display,
* 'class' => cell CSS class,
* 'metadata' => [key => value] transformed into data-key="value"
* ]
*/
private $aColumns;
/**
* @var array of [
* '@class' => css class of the row,
* 'entry name' => [
* 'value_html' => value to display in the cell,
* 'value_raw' => real value put into data-value-raw
* ], ...
* ]
*/
private $aData;
public function __construct(string $sId = null, string $sContainerCSSClasses = '')
{
parent::__construct($sId, $sContainerCSSClasses);
$this->aColumns = [];
$this->aData = [];
}
/**
* @return array
*/
public function GetColumns(): array
{
return $this->aColumns;
}
/**
* @param array $aColumns
*/
public function SetColumns(array $aColumns): void
{
$this->aColumns = $aColumns;
}
/**
* @return array
*/
public function GetData(): array
{
return $this->aData;
}
/**
* @param array $aData
*/
public function SetData(array $aData): void
{
$this->aData = $aData;
}
}