X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fparagraphs%2Ftests%2Fsrc%2FFunctionalJavascript%2FParagraphsTestBaseTrait.php;fp=web%2Fmodules%2Fcontrib%2Fparagraphs%2Ftests%2Fsrc%2FFunctionalJavascript%2FParagraphsTestBaseTrait.php;h=0000000000000000000000000000000000000000;hp=8b2faee5a38bf814530ae8752e570e5405c18844;hb=059867c3f96750652c80f39e44c442a58c2549ee;hpb=f8fc16ae6b862bef59baaad5d051dd37b7ff11b2 diff --git a/web/modules/contrib/paragraphs/tests/src/FunctionalJavascript/ParagraphsTestBaseTrait.php b/web/modules/contrib/paragraphs/tests/src/FunctionalJavascript/ParagraphsTestBaseTrait.php deleted file mode 100644 index 8b2faee5a..000000000 --- a/web/modules/contrib/paragraphs/tests/src/FunctionalJavascript/ParagraphsTestBaseTrait.php +++ /dev/null @@ -1,224 +0,0 @@ - $content_type_name, - 'name' => $content_type_name, - ]); - $node_type->save(); - - $this->addParagraphsField($content_type_name, $paragraphs_field_name, 'node', $widget_type); - } - - /** - * Adds a Paragraphs field to a given entity type. - * - * @param string $entity_type_name - * Entity type name to be used. - * @param string $paragraphs_field_name - * Paragraphs field name to be used. - * @param string $entity_type - * Entity type where to add the field. - * @param string $widget_type - * (optional) Declares if we use experimental or classic widget. - * Defaults to 'paragraphs' for experimental widget. - * Use 'entity_reference_paragraphs' for classic widget. - */ - protected function addParagraphsField($entity_type_name, $paragraphs_field_name, $entity_type, $widget_type = 'paragraphs') { - $field_storage = FieldStorageConfig::loadByName($entity_type, $paragraphs_field_name); - if (!$field_storage) { - // Add a paragraphs field. - $field_storage = FieldStorageConfig::create([ - 'field_name' => $paragraphs_field_name, - 'entity_type' => $entity_type, - 'type' => 'entity_reference_revisions', - 'cardinality' => '-1', - 'settings' => [ - 'target_type' => 'paragraph', - ], - ]); - $field_storage->save(); - } - $field = FieldConfig::create([ - 'field_storage' => $field_storage, - 'bundle' => $entity_type_name, - 'settings' => [ - 'handler' => 'default:paragraph', - 'handler_settings' => ['target_bundles' => NULL], - ], - ]); - $field->save(); - - $form_display = entity_get_form_display($entity_type, $entity_type_name, 'default') - ->setComponent($paragraphs_field_name, ['type' => $widget_type]); - $form_display->save(); - - $view_display = entity_get_display($entity_type, $entity_type_name, 'default') - ->setComponent($paragraphs_field_name, ['type' => 'entity_reference_revisions_entity_view']); - $view_display->save(); - } - - /** - * Adds a Paragraphs type. - * - * @param string $paragraphs_type_name - * Paragraph type name used to create. - */ - protected function addParagraphsType($paragraphs_type_name) { - $paragraphs_type = ParagraphsType::create([ - 'id' => $paragraphs_type_name, - 'label' => $paragraphs_type_name, - ]); - $paragraphs_type->save(); - } - - /** - * Adds an icon to a paragraphs type. - * - * @param string $paragraphs_type - * Machine name of the paragraph type to add the icon to. - * - * @return \Drupal\file\Entity\File - * The file entity used as the icon. - */ - protected function addParagraphsTypeIcon($paragraphs_type) { - // Get an image. - $image_files = $this->getTestFiles('image'); - $uri = current($image_files)->uri; - - // Create a copy of the image, so that multiple file entities don't - // reference the same file. - $copy_uri = file_unmanaged_copy($uri); - - // Create a new file entity. - $file_entity = File::create([ - 'uri' => $copy_uri, - ]); - $file_entity->save(); - - // Add the file entity to the paragraphs type as its icon. - $paragraphs_type_entity = ParagraphsType::load($paragraphs_type); - $paragraphs_type_entity->set('icon_uuid', $file_entity->uuid()); - $paragraphs_type_entity->save(); - - return $file_entity; - } - - /** - * Adds a field to a given paragraph type. - * - * @param string $paragraph_type_id - * Paragraph type ID to be used. - * @param string $field_name - * Field name to be used. - * @param string $field_type - * Type of the field. - * @param array $storage_settings - * Settings for the field storage. - */ - protected function addFieldtoParagraphType($paragraph_type_id, $field_name, $field_type, array $storage_settings = []) { - // Add a paragraphs field. - $field_storage = FieldStorageConfig::create([ - 'field_name' => $field_name, - 'entity_type' => 'paragraph', - 'type' => $field_type, - 'cardinality' => 1, - 'settings' => $storage_settings, - ]); - $field_storage->save(); - $field = FieldConfig::create([ - 'field_storage' => $field_storage, - 'bundle' => $paragraph_type_id, - 'settings' => [], - ]); - $field->save(); - - $field_type_definition = \Drupal::service('plugin.manager.field.field_type')->getDefinition($field_type); - - entity_get_form_display('paragraph', $paragraph_type_id, 'default') - ->setComponent($field_name, ['type' => $field_type_definition['default_widget']]) - ->save(); - - entity_get_display('paragraph', $paragraph_type_id, 'default') - ->setComponent($field_name, ['type' => $field_type_definition['default_formatter']]) - ->save(); - } - - /** - * Sets some of the settings of a paragraphs field widget. - * - * @param string $bundle - * Machine name of the bundle (e.g., a content type for nodes, a paragraphs - * type for paragraphs, etc.) with a paragraphs field. - * @param string $paragraphs_field - * Machine name of the paragraphs field whose widget (settings) to change. - * @param array $settings - * New setting values keyed by names of settings that are to be set. - * @param string|null $field_widget - * (optional) Machine name of the paragraphs field widget to use. NULL to - * keep the current widget. - * @param string $entity_type - * (optional) Machine name of the content entity type that the bundle - * belongs to. Defaults to "node". - */ - protected function setParagraphsWidgetSettings($bundle, $paragraphs_field, array $settings, $field_widget = NULL, $entity_type = 'node') { - /** @var \Drupal\Core\Entity\Display\EntityFormDisplayInterface $default_form_display */ - $default_form_display = \Drupal::entityTypeManager() - ->getStorage('entity_form_display') - ->load($entity_type . '.' . $bundle . '.default'); - $component = $default_form_display->getComponent($paragraphs_field); - - $updated_component = $component; - if ($field_widget === NULL || $field_widget === $component['type']) { - // The widget stays the same. - $updated_component['settings'] = $settings + $component['settings']; - } - else { - // Change the widget. - $updated_component['type'] = $field_widget; - - $widget_definition = \Drupal::service('plugin.manager.field.widget') - ->getDefinition($field_widget); - /** @var \Drupal\Core\Field\WidgetInterface $class */ - $class = $widget_definition['class']; - $default_settings = $class::defaultSettings(); - - $updated_component['settings'] = $settings + $default_settings; - } - - $default_form_display->setComponent($paragraphs_field, $updated_component) - ->save(); - } - -}