53 public function __construct($plugin_id, $plugin_definition, FieldDefinitionInterface $field_definition, array $settings, $label, $view_mode, array $third_party_settings,
FieldValueManagerInterface $field_value_manager, EntityDisplayRepositoryInterface $entity_display_repository, DomProcessorInterface $dom_processor) {
54 parent::__construct($plugin_id, $plugin_definition, $field_definition, $settings, $label, $view_mode, $third_party_settings);
55 $this->fieldValueManager = $field_value_manager;
56 $this->entityDisplayRepository = $entity_display_repository;
57 $this->domProcessor = $dom_processor;
63 public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
67 $configuration[
'field_definition'],
68 $configuration[
'settings'],
69 $configuration[
'label'],
70 $configuration[
'view_mode'],
71 $configuration[
'third_party_settings'],
72 $container->get(
'paragraphs_editor.field_value.manager'),
73 $container->get(
'entity_display.repository'),
74 $container->get(
'dom_processor.dom_processor')
83 'view_mode' =>
'default',
90 public function viewElements(FieldItemListInterface $items, $langcode) {
99 $field_value_wrapper = $this->fieldValueManager->wrapItems($items);
100 if (!$this->domProcessor->prepared()) {
101 $this->domProcessor->prepare([
104 'wrapper' => $field_value_wrapper,
105 'is_mutable' => TRUE,
107 'settings' => $this->getSettings(),
112 '#type' =>
'processed_text',
113 '#text' => $field_value_wrapper->getMarkup(),
114 '#format' => $field_value_wrapper->getFormat(),
115 '#langcode' => $langcode,
124 public function settingsForm(array $form, FormStateInterface $form_state) {
126 $elements[
'view_mode'] = [
128 '#options' => $this->entityDisplayRepository->getViewModeOptions(
'paragraph'),
129 '#title' => $this->t(
'View Mode'),
130 '#description' => $this->t(
'The view mode that embedded entities will be rendered with.'),
131 '#default_value' => $this->getSetting(
'view_mode'),
143 $summary[] = $this->t(
'Rendered as @mode', [
'@mode' => $this->getSetting(
'view_mode')]);
150 public static function isApplicable(FieldDefinitionInterface $field_definition) {
151 return \Drupal::service(
'paragraphs_editor.field_value.manager')->isParagraphsEditorField($field_definition);
159 $this->settings += $field_config->getThirdPartySettings(
'paragraphs_editor');
160 $this->settings += static::defaultSettings();
161 $this->defaultSettingsMerged = TRUE;
static ensureFieldConfig(FieldDefinitionInterface $field_definition=NULL)