Merge pull request #105 from tomstgeorge/master

Add support for setting a default value for GridFieldAddNewMultiClasss
This commit is contained in:
Marcus 2015-09-15 10:09:13 +10:00
commit 381c6044ee

View File

@ -19,6 +19,8 @@ class GridFieldAddNewMultiClass implements GridField_HTMLProvider, GridField_URL
private $title; private $title;
private $classes; private $classes;
private $defaultClass;
/** /**
* @var String * @var String
@ -112,11 +114,23 @@ class GridFieldAddNewMultiClass implements GridField_HTMLProvider, GridField_URL
* @param array $classes a set of class names, optionally mapped to titles * @param array $classes a set of class names, optionally mapped to titles
* @return GridFieldAddNewMultiClass $this * @return GridFieldAddNewMultiClass $this
*/ */
public function setClasses(array $classes) { public function setClasses(array $classes, $default = null) {
$this->classes = $classes; $this->classes = $classes;
if($default) $this->defaultClass = $default;
return $this; return $this;
} }
/**
* Sets the default class that is selected automatically.
*
* @param string $default the class name to use as default
* @return GridFieldAddNewMultiClass $this
*/
public function setDefaultClass($default) {
$this->defaultClass = $default;
return $this;
}
/** /**
* Handles adding a new instance of a selected class. * Handles adding a new instance of a selected class.
* *
@ -157,7 +171,7 @@ class GridFieldAddNewMultiClass implements GridField_HTMLProvider, GridField_URL
GridFieldExtensions::include_requirements(); GridFieldExtensions::include_requirements();
$field = new DropdownField(sprintf('%s[ClassName]', __CLASS__), '', $classes); $field = new DropdownField(sprintf('%s[ClassName]', __CLASS__), '', $classes, $this->defaultClass);
if (Config::inst()->get('GridFieldAddNewMultiClass', 'showEmptyString')) { if (Config::inst()->get('GridFieldAddNewMultiClass', 'showEmptyString')) {
$field->setEmptyString(_t('GridFieldExtensions.SELECTTYPETOCREATE', '(Select type to create)')); $field->setEmptyString(_t('GridFieldExtensions.SELECTTYPETOCREATE', '(Select type to create)'));
} }