diff --git a/code/GridFieldAddNewMultiClass.php b/code/GridFieldAddNewMultiClass.php index e5075d8..9d4d1ea 100755 --- a/code/GridFieldAddNewMultiClass.php +++ b/code/GridFieldAddNewMultiClass.php @@ -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)')); }