configuration += $this->defaultConfiguration(); $this->entityFieldManager = $entity_field_manager; } /** * {@inheritdoc} */ public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { return new static($configuration, $plugin_id, $plugin_definition, $container->get('entity_field.manager') ); } /** * {@inheritdoc} */ public function buildConfigurationForm(array $form, FormStateInterface $form_state) { return $form; } /** * {@inheritdoc} */ public function validateConfigurationForm(array &$form, FormStateInterface $form_state) { } /** * {@inheritdoc} */ public function submitConfigurationForm(array &$form, FormStateInterface $form_state) { } /** * {@inheritdoc} */ public function defaultConfiguration() { return []; } /** * {@inheritdoc} */ public function getConfiguration() { return $this->configuration; } /** * {@inheritdoc} */ public function setConfiguration(array $configuration) { $this->configuration = $configuration + $this->defaultConfiguration(); } /** * {@inheritdoc} */ public function calculateDependencies() { return []; } /** * {@inheritdoc} */ public function preprocess(&$variables) { } /** * {@inheritdoc} */ public static function isApplicable(ParagraphsType $paragraphs_type) { return TRUE; } /** * {@inheritdoc} */ public function settingsSummary(Paragraph $paragraph) { return []; } /** * {@inheritdoc} */ public function buildBehaviorForm(ParagraphInterface $paragraph, array &$form, FormStateInterface $form_state) { return []; } /** * {@inheritdoc} */ public function validateBehaviorForm(ParagraphInterface $paragraph, array &$form, FormStateInterface $form_state) {} /** * {@inheritdoc} */ public function submitBehaviorForm(ParagraphInterface $paragraph, array &$form, FormStateInterface $form_state) { $paragraph->setBehaviorSettings($this->getPluginId(), $form_state->getValues()); } /** * {@inheritdoc} */ public function getFieldNameOptions(ParagraphsType $paragraphs_type, $field_type = NULL) { $fields = []; $field_definitions = $this->entityFieldManager->getFieldDefinitions('paragraph', $paragraphs_type->id()); foreach ($field_definitions as $name => $definition) { if ($field_definitions[$name] instanceof FieldConfigInterface) { if (empty($field_type) || $definition->getType() == $field_type) { $fields[$name] = $definition->getLabel(); } } } return $fields; } }