<?php

use SilverStripe\Admin\ModelAdmin;
use SilverStripe\Forms\GridField\GridField;
use SilverStripe\Forms\GridField\GridFieldConfig;
use SilverStripe\Forms\GridField\GridFieldAddNewButton;
use SilverStripe\Forms\GridField\GridFieldDeleteAction;

class StaffPageAdmin extends ModelAdmin {

	private static $managed_models = array(   //since 2.3.2
		'StaffPage'
	);

   private static $model_importers = [
      StaffPage::class => StaffCsvBulkLoader::class,
   ];    

	private static $url_segment = 'staff'; // will be linked as /admin/opendays
	private static $menu_title = 'Staff';
    private static $menu_icon_class = 'fas fa-user-circle';

    public function getEditForm($id = null, $fields = null) {

        $form = parent::getEditForm($id, $fields);

        // Event specific settings
        if($this->modelClass == 'StaffPage') {

            $gridFieldName = $this->sanitiseClassName($this->modelClass);
            $gridField = $form->Fields()->fieldByName($gridFieldName);

            $config = $gridField->getConfig();

            // Configure 'Add New' button text
            $config->removeComponentsByType($config->getComponentByType(GridFieldAddNewButton::class));
            $config->removeComponentsByType($config->getComponentByType(GridFieldDeleteAction::class));

        }

        return $form;

    }    

}
