mirror of
https://github.com/symbiote/silverstripe-gridfieldextensions.git
synced 2024-10-22 17:05:39 +02:00
Merge pull request #105 from tomstgeorge/master
Add support for setting a default value for GridFieldAddNewMultiClasss
This commit is contained in:
commit
381c6044ee
@ -19,6 +19,8 @@ class GridFieldAddNewMultiClass implements GridField_HTMLProvider, GridField_URL
|
||||
private $title;
|
||||
|
||||
private $classes;
|
||||
|
||||
private $defaultClass;
|
||||
|
||||
/**
|
||||
* @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
|
||||
* @return GridFieldAddNewMultiClass $this
|
||||
*/
|
||||
public function setClasses(array $classes) {
|
||||
public function setClasses(array $classes, $default = null) {
|
||||
$this->classes = $classes;
|
||||
if($default) $this->defaultClass = $default;
|
||||
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.
|
||||
*
|
||||
@ -157,7 +171,7 @@ class GridFieldAddNewMultiClass implements GridField_HTMLProvider, GridField_URL
|
||||
|
||||
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')) {
|
||||
$field->setEmptyString(_t('GridFieldExtensions.SELECTTYPETOCREATE', '(Select type to create)'));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user