silverstripe-userforms/code/FormField/UserFormsGroupField.php

36 lines
892 B
PHP
Raw Normal View History

<?php
namespace SilverStripe\UserForms\FormField;
use SilverStripe\UserForms\Model\EditableFormField\EditableFieldGroupEnd;
use SilverStripe\UserForms\Model\EditableFormField;
/**
* Front end composite field for userforms
*/
2016-07-21 07:53:59 +02:00
class UserFormsGroupField extends UserFormsCompositeField
{
public function __construct($children = null)
{
parent::__construct($children);
$this->setTag('fieldset');
}
2016-07-21 07:53:59 +02:00
public function getLegend()
{
// Legend defaults to title
return parent::getLegend() ?: $this->Title();
}
2015-09-11 00:20:06 +02:00
2016-07-21 07:53:59 +02:00
public function processNext(EditableFormField $field)
{
// When ending a group, jump up one level
if ($field instanceof EditableFieldGroupEnd) {
return $this->getParent();
}
2016-07-21 07:53:59 +02:00
// Otherwise behave as per normal composite field
return parent::processNext($field);
}
}