mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 12:05:37 +00:00
ENHANCEMENT Allow overriding TableListField_Item on TableListField by setting the property itemClass (merged from r98428)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@98774 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
parent
2fc2d72501
commit
c3e213b690
@ -76,6 +76,11 @@ class TableListField extends FormField {
|
||||
*/
|
||||
protected $template = "TableListField";
|
||||
|
||||
/**
|
||||
* @var $itemClass string Class name for each item/row
|
||||
*/
|
||||
public $itemClass = 'TableListField_Item';
|
||||
|
||||
/**
|
||||
* @var bool Do we use checkboxes to mark records, or delete them one by one?
|
||||
*/
|
||||
@ -457,8 +462,7 @@ JS
|
||||
function Items() {
|
||||
$fieldItems = new DataObjectSet();
|
||||
if($items = $this->sourceItems()) foreach($items as $item) {
|
||||
$fieldItem = new TableListField_Item($item, $this);
|
||||
if($item) $fieldItems->push(new TableListField_Item($item, $this));
|
||||
if($item) $fieldItems->push(new $this->itemClass($item, $this));
|
||||
}
|
||||
return $fieldItems;
|
||||
}
|
||||
@ -659,7 +663,7 @@ JS
|
||||
foreach($groupedItems as $key => $group) {
|
||||
$fieldItems = new DataObjectSet();
|
||||
foreach($group as $item) {
|
||||
if($item) $fieldItems->push(new TableListField_Item($item, $this));
|
||||
if($item) $fieldItems->push(new $this->itemClass($item, $this));
|
||||
}
|
||||
$groupedArrItems->push(new ArrayData(array(
|
||||
'Items' => $fieldItems,
|
||||
@ -957,7 +961,7 @@ JS
|
||||
$className = isset($item['RecordClassName']) ? $item['RecordClassName'] : $item['ClassName'];
|
||||
$item = new $className($item);
|
||||
}
|
||||
$fieldItem = new TableListField_Item($item, $this);
|
||||
$fieldItem = new $this->itemClass($item, $this);
|
||||
|
||||
$fields = $fieldItem->Fields(false);
|
||||
$columnData = array();
|
||||
|
Loading…
x
Reference in New Issue
Block a user