59 $this->viewBuilder = $entity_type_manager->getViewBuilder(
'paragraph');
61 $this->fieldValueManager = $field_value_manager;
68 $this->generators[$generator->
id()] = $generator;
83 $render_context =
new RenderContext();
84 $view = $this->viewBuilder->view($paragraph, $view_mode, $langcode);
90 $markup =
$renderer->executeInRenderContext($render_context,
function () use (
$renderer, $view) {
94 $this->
applyGenerators(
'complete', $data, $state, $render_context, $markup);
108 $state = $build[
'#paragraphs_editor_state'];
110 foreach (Element::children($build) as $field_name) {
111 if (!empty($build[$field_name][
'#items'])) {
112 $items = $build[$field_name][
'#items'];
113 $field_definition = $items->getFieldDefinition();
115 if ($this->fieldValueManager->isParagraphsField($field_definition)) {
118 if (!$this->fieldValueManager->isParagraphsEditorField($field_definition)) {
119 foreach (Element::children($build[$field_name]) as $delta) {
143 $element[
'#paragraphs_editor_state'] = $state;
144 if ($process_children) {
145 $element[
'#pre_render'][] = [$this,
'buildView'];
165 foreach ($paragraph->getFields() as $items) {
166 $field_definition = $items->getFieldDefinition();
167 if ($this->fieldValueManager->isParagraphsField($field_definition)) {
168 $is_editor_field = $this->fieldValueManager->isParagraphsEditorField($field_definition);
169 $this->
applyGenerators(
'processField', $data, $state, $items, $is_editor_field);
171 if (!$is_editor_field) {
172 foreach ($this->fieldValueManager->getReferencedEntities($items) as $child_paragraph) {
177 $this->
applyGenerators(
'postprocessField', $data, $state, $items, $is_editor_field);
181 $this->
applyGenerators(
'postprocessParagraph', $data, $state, $paragraph);
192 $args = func_get_args();
193 $method = array_shift($args);
194 foreach ($this->generators as $generator) {
195 call_user_func_array([$generator, $method], $args);