TestItemWithPreconfiguredOptions.php in Drupal 10        
                          
                  
                        
  
  
  
  
File
  core/modules/field/tests/modules/field_test/src/Plugin/Field/FieldType/TestItemWithPreconfiguredOptions.php
  
    View source  
  <?php
namespace Drupal\field_test\Plugin\Field\FieldType;
use Drupal\Core\Field\FieldStorageDefinitionInterface;
use Drupal\Core\Field\PreconfiguredFieldUiOptionsInterface;
class TestItemWithPreconfiguredOptions extends TestItem implements PreconfiguredFieldUiOptionsInterface {
  
  public static function getPreconfiguredOptions() {
    return [
      'custom_options' => [
        'label' => t('All custom options'),
        'category' => t('Custom category'),
        'field_storage_config' => [
          'cardinality' => FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED,
          'settings' => [
            'test_field_storage_setting' => 'preconfigured_storage_setting',
          ],
        ],
        'field_config' => [
          'required' => TRUE,
          'settings' => [
            'test_field_setting' => 'preconfigured_field_setting',
          ],
        ],
        'entity_form_display' => [
          'type' => 'test_field_widget_multiple',
        ],
        'entity_view_display' => [
          'type' => 'field_test_multiple',
        ],
      ],
    ];
  }
}