Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • 2.x
  • 8.x-1.x
  • issue/ui_patterns_field_formatters-3251489-ui_patterns_field_formatters-3251489
  • 2.0.0
  • 2.0.0-alpha1
  • 2.0.0-beta1
  • 2.0.0-beta2
  • 2.0.0-beta3
  • 2.0.0-beta4
  • 2.1.0
  • 8.x-1.0
  • 8.x-1.1
  • 8.x-1.2
  • 8.x-1.3
  • 8.x-1.4
  • 8.x-1.5
  • 8.x-1.6
  • 8.x-1.7
  • 8.x-1.8
  • 8.x-1.9
  • previous/3187374-normalize-patterns-data/2021-11-12-1
21 results

Target

Select target project
  • project/ui_patterns_field_formatters
  • issue/ui_patterns_field_formatters-3182520
  • issue/ui_patterns_field_formatters-3196792
  • issue/ui_patterns_field_formatters-3229713
  • issue/ui_patterns_field_formatters-3187374
  • issue/ui_patterns_field_formatters-3246414
  • issue/ui_patterns_field_formatters-3251293
  • issue/ui_patterns_field_formatters-3251489
  • issue/ui_patterns_field_formatters-3254903
  • issue/ui_patterns_field_formatters-3308631
  • issue/ui_patterns_field_formatters-3311888
  • issue/ui_patterns_field_formatters-3343139
  • issue/ui_patterns_field_formatters-3334985
  • issue/ui_patterns_field_formatters-3341853
  • issue/ui_patterns_field_formatters-3341586
  • issue/ui_patterns_field_formatters-3355983
  • issue/ui_patterns_field_formatters-3355989
  • issue/ui_patterns_field_formatters-3365674
  • issue/ui_patterns_field_formatters-3395002
  • issue/ui_patterns_field_formatters-3421374
  • issue/ui_patterns_field_formatters-3406724
  • issue/ui_patterns_field_formatters-3438695
  • issue/ui_patterns_field_formatters-3435191
23 results
Select Git revision
  • 2.x
  • 3395002-php-warning-when
  • 8.x-1.x
  • issue/ui_patterns_field_formatters-3251489-ui_patterns_field_formatters-3251489
  • 2.0.0
  • 2.0.0-alpha1
  • 2.0.0-beta1
  • 2.0.0-beta2
  • 2.0.0-beta3
  • 2.0.0-beta4
  • 8.x-1.0
  • 8.x-1.1
  • 8.x-1.2
  • 8.x-1.3
  • 8.x-1.4
  • 8.x-1.5
  • 8.x-1.6
  • 8.x-1.7
  • 8.x-1.8
  • previous/3187374-normalize-patterns-data/2021-11-12-1
  • previous/3395002-php-warning-when/2024-10-01
21 results
Show changes
Commits on Source (7)
......@@ -37,4 +37,4 @@ field.formatter.settings.pattern_all_formatter:
type: ignore
field.formatter.settings.pattern_each_formatter:
type: field.formatter.settings.pattern_all_formatter
\ No newline at end of file
type: field.formatter.settings.pattern_all_formatter
......@@ -8,12 +8,12 @@ use Drupal\Core\Field\FieldItemListInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
use Drupal\Core\Render\Element;
use Drupal\Core\TypedData\Plugin\DataType\Uri;
use Drupal\Core\Url;
use Drupal\field_formatter\Plugin\Field\FieldFormatter\FieldWrapperBase;
use Drupal\text\TextProcessed;
use Drupal\ui_patterns\Form\PatternDisplayFormTrait;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Drupal\Core\TypedData\Plugin\DataType\Uri;
use Drupal\Core\Url;
/**
* Plugin implementation of the 'pattern' formatter.
......@@ -172,7 +172,7 @@ class PatternOneForAllFormatter extends FieldWrapperBase implements ContainerFac
// Set pattern fields.
$fields = [];
foreach ($mapping as $field) {
if ($field['destination'] === '_hidden') {
if (isset($field['destination']) && $field['destination'] === '_hidden') {
continue;
}
......@@ -180,6 +180,16 @@ class PatternOneForAllFormatter extends FieldWrapperBase implements ContainerFac
if ($field['source'] == '_label') {
$fields[$field['destination']][] = $items->getFieldDefinition()->getLabel();
}
elseif ($field['source'] == '_field_display_label') {
if ($this->moduleHandler->moduleExists('field_display_label')) {
$fields[$field['destination']][] = $items->getFieldDefinition()->getThirdPartySetting('field_display_label', 'display_label');
}
}
elseif ($field['source'] == '_entity_form_field_label') {
if ($this->moduleHandler->moduleExists('entity_form_field_label')) {
$fields[$field['destination']][] = $this->getThirdPartySetting('entity_form_field_label', 'new_label');
}
}
elseif ($field['source'] == '_formatted') {
$field_output = $this->getFieldOutput($items, $langcode);
// Take the element children from the field output and return them.
......
......@@ -57,7 +57,7 @@ class PatternOneForEachFormatter extends PatternOneForAllFormatter {
$fields = [];
foreach ($mapping as $field) {
if ($field['destination'] === '_hidden') {
if (isset($field['destination']) && $field['destination'] === '_hidden') {
continue;
}
......@@ -65,6 +65,11 @@ class PatternOneForEachFormatter extends PatternOneForAllFormatter {
if ($field['source'] == '_label') {
$fields[$field['destination']][] = $items->getFieldDefinition()->getLabel();
}
elseif ($field['source'] == '_field_display_label') {
if ($this->moduleHandler->moduleExists('field_display_label')) {
$fields[$field['destination']][] = $items->getFieldDefinition()->getThirdPartySetting('field_display_label', 'display_label');
}
}
elseif ($field['source'] == '_formatted') {
$fields[$field['destination']][] = $field_output[$delta];
}
......
......@@ -2,7 +2,10 @@
namespace Drupal\ui_patterns_field_formatters\Plugin\UiPatterns\Source;
use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
use Drupal\ui_patterns\Plugin\PatternSourceBase;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Defines Field meta properties source plugin.
......@@ -15,7 +18,23 @@ use Drupal\ui_patterns\Plugin\PatternSourceBase;
* }
* )
*/
class FieldMetaPropertiesSource extends PatternSourceBase {
class FieldMetaPropertiesSource extends PatternSourceBase implements ContainerFactoryPluginInterface {
/**
* The module_handler service.
*
* @var \Drupal\Core\Extension\ModuleHandlerInterface
*/
protected ModuleHandlerInterface $moduleHandler;
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
$instance = new static($configuration, $plugin_id, $plugin_definition);
$instance->moduleHandler = $container->get('module_handler');
return $instance;
}
/**
* {@inheritdoc}
......@@ -23,6 +42,17 @@ class FieldMetaPropertiesSource extends PatternSourceBase {
public function getSourceFields() {
$sources = [];
$sources[] = $this->getSourceField('_label', 'Label');
// Support Field Display Label module.
if ($this->moduleHandler->moduleExists('field_display_label')) {
$sources[] = $this->getSourceField('_field_display_label', 'Label (Field Display Label)');
}
// Support Entity Form/Display Field Label module.
if ($this->moduleHandler->moduleExists('entity_form_field_label')) {
$sources[] = $this->getSourceField('_entity_form_field_label', 'Label (Entity Form/Display Field Label)');
}
$sources[] = $this->getSourceField('_formatted', 'Formatted values');
return $sources;
}
......
name: UI Patterns Field Formatters
type: module
description: Use patterns as field formatters templates.
core: 8.x
core_version_requirement: ^8 || ^9 || ^10
core_version_requirement: ^8 || ^9 || ^10 || ^11
package: User interface
dependencies:
- field_formatter:field_formatter
......
......@@ -105,8 +105,6 @@ function ui_patterns_field_formatters_update_9200(&$sandbox) {
function ui_patterns_field_formatters_update_9201(&$sandbox) {
/** @var \Drupal\Core\Config\Entity\ConfigEntityStorage $viewDisplayStorage */
$viewDisplayStorage = \Drupal::service('entity_type.manager')->getStorage('entity_view_display');
/** @var \Drupal\field\FieldStorageConfigStorage $fieldStorageConfigStorage */
$fieldStorageConfigStorage = \Drupal::service('entity_type.manager')->getStorage('field_storage_config');
/** @var \Drupal\Core\Entity\EntityFieldManagerInterface $entityFieldManager */
$entityFieldManager = \Drupal::service('entity_field.manager');
......@@ -182,7 +180,7 @@ function ui_patterns_field_formatters_update_9201(&$sandbox) {
$changed = TRUE;
}
elseif ($component['type'] === 'pattern_wrapper_entity_reference_formatter') {
$component['type'] = $field_multiple ? 'pattern_each_formatter' : 'pattern_all_formatter';
$component['type'] = 'pattern_all_formatter';
$component['settings']['type'] = 'entity_reference_entity_view';
$component['settings']['settings'] = [
'view_mode' => $component['settings']['view_mode'],
......
......@@ -7,7 +7,6 @@
use Drupal\Core\Routing\RouteMatchInterface;
/**
* Implements hook_help().
*/
......