You are here

public static function GridStackLayoutBase::create in GridStack 8.2

Creates an instance of the plugin.

Parameters

\Symfony\Component\DependencyInjection\ContainerInterface $container: The container to pull out services used in the plugin.

array $configuration: A configuration array containing information about the plugin instance.

string $plugin_id: The plugin ID for the plugin instance.

mixed $plugin_definition: The plugin implementation definition.

Return value

static Returns an instance of this plugin.

Overrides ContainerFactoryPluginInterface::create

File

src/Plugin/Layout/GridStackLayoutBase.php, line 66

Class

GridStackLayoutBase
Provides a GridStack base class for Layout plugins.

Namespace

Drupal\gridstack\Plugin\Layout

Code

public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
  $instance = new static($configuration, $plugin_id, $plugin_definition);
  $instance->currentUser = $container
    ->get('current_user');
  $instance->manager = $container
    ->get('gridstack.manager');
  $instance->stylizer = $instance->manager
    ->stylizer();
  $config = [];
  foreach ([
    'field_name',
    'optionset',
  ] as $key) {
    if (isset($configuration[$key])) {
      $config[$key] = $configuration[$key];
    }
  }
  $instance->styleForm = $instance->stylizer
    ->form($config);
  return $instance;
}