Verified Commit d418da39 authored by Lauri Timmanee's avatar Lauri Timmanee
Browse files

Issue #3372092 by srishtiiee, lauriii, larowlan, tim.plunkett, kunal.sachdev,...

Issue #3372092 by srishtiiee, lauriii, larowlan, tim.plunkett, kunal.sachdev, Wim Leers: Allow field_type_categories.yml entries to define asset libraries
parent b8ad5f57
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -10,13 +10,14 @@ class FallbackFieldTypeCategory extends FieldTypeCategory {
  /**
   * {@inheritdoc}
   */
  public function __construct(array $configuration) {
  public function __construct(array $configuration, string $plugin_id, array $plugin_definition) {
    $plugin_id = $configuration['unique_identifier'];
    $plugin_definition = [
      'label' => $configuration['label'] ?? '',
      'description' => $configuration['description'] ?? '',
      'weight' => $configuration['weight'] ?? 0,
    ];
    parent::__construct($configuration, $configuration['unique_identifier'], $plugin_definition);
    ] + $plugin_definition;
    parent::__construct($configuration, $plugin_id, $plugin_definition);
  }

}
+7 −0
Original line number Diff line number Diff line
@@ -33,4 +33,11 @@ public function getWeight(): int {
    return $this->pluginDefinition['weight'];
  }

  /**
   * {@inheritdoc}
   */
  public function getLibraries(): array {
    return $this->pluginDefinition['libraries'] ?? [];
  }

}
+8 −0
Original line number Diff line number Diff line
@@ -33,4 +33,12 @@ public function getDescription(): TranslatableMarkup;
   */
  public function getWeight(): int;

  /**
   * Returns asset libraries for the field group.
   *
   * @return array
   *   The asset libraries to attach.
   */
  public function getLibraries(): array;

}
+4 −0
Original line number Diff line number Diff line
@@ -19,6 +19,8 @@
 *     label: STRING
 *     description: STRING
 *     weight: INTEGER
 *     libraries:
 *       - STRING
 * @endcode
 * For example:
 * @code
@@ -26,6 +28,8 @@
 *   label: Text
 *   description: Text fields.
 *   weight: 2
 *   libraries:
 *     - module_name/library_name
 * @endcode
 *
 * @see \Drupal\Core\Field\FieldTypeCategoryInterface
+8 −3
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
use Drupal\comment\Plugin\Field\FieldType\CommentItemInterface;
use Drupal\Core\Entity\Entity\EntityViewMode;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Field\FieldTypeCategoryManagerInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
@@ -785,8 +786,12 @@ function comment_entity_view_display_presave(EntityViewDisplayInterface $display
}

/**
 * Implements hook_preprocess_form_element__new_storage_type().
 * Implements hook_field_type_category_info_alter().
 */
function comment_preprocess_form_element__new_storage_type(&$variables) {
  $variables['#attached']['library'][] = 'comment/drupal.comment-icon';
function comment_field_type_category_info_alter(&$definitions) {
  // TRICKY: the `comment` field type belongs in the `general` category, so the
  // libraries need to be attached using an alter hook.
  if (array_key_exists(FieldTypeCategoryManagerInterface::FALLBACK_CATEGORY, $definitions)) {
    $definitions[FieldTypeCategoryManagerInterface::FALLBACK_CATEGORY]['libraries'][] = 'comment/drupal.comment-icon';
  }
}
Loading