Issue #3426955 by mstrelan, sorlov, alexpott, smustgrave, godotislate: Convert ViewsField plugin discovery to attributes

(cherry picked from commit e0f270ff66281b06c2b33d5bd6a71b7f6576905f)
merge-requests/7079/head
Alex Pott 2024-03-15 14:51:42 +00:00
parent 3baba514dd
commit fc15d5ee53
No known key found for this signature in database
GPG Key ID: BDA67E7EE836E5CE
61 changed files with 142 additions and 120 deletions

View File

@ -2,13 +2,13 @@
namespace Drupal\comment\Plugin\views\field; namespace Drupal\comment\Plugin\views\field;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\BulkForm; use Drupal\views\Plugin\views\field\BulkForm;
/** /**
* Defines a comment operations bulk form element. * Defines a comment operations bulk form element.
*
* @ViewsField("comment_bulk_form")
*/ */
#[ViewsField("comment_bulk_form")]
class CommentBulkForm extends BulkForm { class CommentBulkForm extends BulkForm {
/** /**

View File

@ -2,14 +2,14 @@
namespace Drupal\comment\Plugin\views\field; namespace Drupal\comment\Plugin\views\field;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\EntityField; use Drupal\views\Plugin\views\field\EntityField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
/** /**
* Views field display for commented entity. * Views field display for commented entity.
*
* @ViewsField("commented_entity")
*/ */
#[ViewsField("commented_entity")]
class CommentedEntity extends EntityField { class CommentedEntity extends EntityField {
/** /**

View File

@ -2,6 +2,7 @@
namespace Drupal\comment\Plugin\views\field; namespace Drupal\comment\Plugin\views\field;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\EntityField; use Drupal\views\Plugin\views\field\EntityField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
@ -9,9 +10,8 @@ use Drupal\views\ResultRow;
* Field handler to display the depth of a comment. * Field handler to display the depth of a comment.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("comment_depth")
*/ */
#[ViewsField("comment_depth")]
class Depth extends EntityField { class Depth extends EntityField {
/** /**

View File

@ -3,6 +3,7 @@
namespace Drupal\comment\Plugin\views\field; namespace Drupal\comment\Plugin\views\field;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\FieldPluginBase; use Drupal\views\Plugin\views\field\FieldPluginBase;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
@ -10,9 +11,8 @@ use Drupal\views\ResultRow;
* Handler for showing comment module's entity links. * Handler for showing comment module's entity links.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("comment_entity_link")
*/ */
#[ViewsField("comment_entity_link")]
class EntityLink extends FieldPluginBase { class EntityLink extends FieldPluginBase {
/** /**

View File

@ -2,6 +2,7 @@
namespace Drupal\comment\Plugin\views\field; namespace Drupal\comment\Plugin\views\field;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\Date; use Drupal\views\Plugin\views\field\Date;
use Drupal\views\Plugin\views\display\DisplayPluginBase; use Drupal\views\Plugin\views\display\DisplayPluginBase;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
@ -11,9 +12,8 @@ use Drupal\views\ViewExecutable;
* Field handler to display the timestamp of a comment with the count of comments. * Field handler to display the timestamp of a comment with the count of comments.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("comment_last_timestamp")
*/ */
#[ViewsField("comment_last_timestamp")]
class LastTimestamp extends Date { class LastTimestamp extends Date {
/** /**

View File

@ -3,6 +3,7 @@
namespace Drupal\comment\Plugin\views\field; namespace Drupal\comment\Plugin\views\field;
use Drupal\Core\Url; use Drupal\Core\Url;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\LinkBase; use Drupal\views\Plugin\views\field\LinkBase;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
@ -10,9 +11,8 @@ use Drupal\views\ResultRow;
* Provides a comment approve link. * Provides a comment approve link.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("comment_link_approve")
*/ */
#[ViewsField("comment_link_approve")]
class LinkApprove extends LinkBase { class LinkApprove extends LinkBase {
/** /**

View File

@ -3,6 +3,7 @@
namespace Drupal\comment\Plugin\views\field; namespace Drupal\comment\Plugin\views\field;
use Drupal\Core\Url; use Drupal\Core\Url;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\LinkBase; use Drupal\views\Plugin\views\field\LinkBase;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
@ -10,9 +11,8 @@ use Drupal\views\ResultRow;
* Field handler to present a link to reply to a comment. * Field handler to present a link to reply to a comment.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("comment_link_reply")
*/ */
#[ViewsField("comment_link_reply")]
class LinkReply extends LinkBase { class LinkReply extends LinkBase {
/** /**

View File

@ -8,6 +8,7 @@ use Drupal\Core\Entity\EntityFieldManagerInterface;
use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\node\Entity\Node; use Drupal\node\Entity\Node;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\NumericField; use Drupal\views\Plugin\views\field\NumericField;
use Drupal\views\Plugin\views\display\DisplayPluginBase; use Drupal\views\Plugin\views\display\DisplayPluginBase;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
@ -18,9 +19,8 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
* Field handler to display the number of new comments. * Field handler to display the number of new comments.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("node_new_comments")
*/ */
#[ViewsField("node_new_comments")]
class NodeNewComments extends NumericField { class NodeNewComments extends NumericField {
/** /**

View File

@ -3,6 +3,7 @@
namespace Drupal\comment\Plugin\views\field; namespace Drupal\comment\Plugin\views\field;
use Drupal\user\Entity\User; use Drupal\user\Entity\User;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\FieldPluginBase; use Drupal\views\Plugin\views\field\FieldPluginBase;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
@ -10,9 +11,8 @@ use Drupal\views\ResultRow;
* Field handler to present the name of the last comment poster. * Field handler to present the name of the last comment poster.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("comment_ces_last_comment_name")
*/ */
#[ViewsField("comment_ces_last_comment_name")]
class StatisticsLastCommentName extends FieldPluginBase { class StatisticsLastCommentName extends FieldPluginBase {
/** /**

View File

@ -2,15 +2,15 @@
namespace Drupal\comment\Plugin\views\field; namespace Drupal\comment\Plugin\views\field;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\Date; use Drupal\views\Plugin\views\field\Date;
/** /**
* Field handler to display the newer of last comment / node updated. * Field handler to display the newer of last comment / node updated.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("comment_ces_last_updated")
*/ */
#[ViewsField("comment_ces_last_updated")]
class StatisticsLastUpdated extends Date { class StatisticsLastUpdated extends Date {
/** /**

View File

@ -4,6 +4,7 @@ namespace Drupal\contact\Plugin\views\field;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Url; use Drupal\Core\Url;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\LinkBase; use Drupal\views\Plugin\views\field\LinkBase;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
@ -11,9 +12,8 @@ use Drupal\views\ResultRow;
* Defines a field that links to the user contact page, if access is permitted. * Defines a field that links to the user contact page, if access is permitted.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("contact_link")
*/ */
#[ViewsField("contact_link")]
class ContactLink extends LinkBase { class ContactLink extends LinkBase {
/** /**

View File

@ -3,15 +3,15 @@
namespace Drupal\content_moderation\Plugin\views\field; namespace Drupal\content_moderation\Plugin\views\field;
use Drupal\content_moderation\Plugin\views\ModerationStateJoinViewsHandlerTrait; use Drupal\content_moderation\Plugin\views\ModerationStateJoinViewsHandlerTrait;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\EntityField; use Drupal\views\Plugin\views\field\EntityField;
/** /**
* A field handler for the computed moderation_state field. * A field handler for the computed moderation_state field.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("moderation_state_field")
*/ */
#[ViewsField("moderation_state_field")]
class ModerationStateField extends EntityField { class ModerationStateField extends EntityField {
use ModerationStateJoinViewsHandlerTrait; use ModerationStateJoinViewsHandlerTrait;

View File

@ -2,15 +2,15 @@
namespace Drupal\content_translation\Plugin\views\field; namespace Drupal\content_translation\Plugin\views\field;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\EntityLink; use Drupal\views\Plugin\views\field\EntityLink;
/** /**
* Provides a translation link for an entity. * Provides a translation link for an entity.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("content_translation_link")
*/ */
#[ViewsField("content_translation_link")]
class TranslationLink extends EntityLink { class TranslationLink extends EntityLink {
/** /**

View File

@ -8,6 +8,7 @@ use Drupal\Component\Utility\UrlHelper;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Routing\RedirectDestinationTrait; use Drupal\Core\Routing\RedirectDestinationTrait;
use Drupal\Core\Url; use Drupal\Core\Url;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\FieldPluginBase; use Drupal\views\Plugin\views\field\FieldPluginBase;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
@ -15,9 +16,8 @@ use Drupal\views\ResultRow;
* Provides a handler that adds contextual links. * Provides a handler that adds contextual links.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("contextual_links")
*/ */
#[ViewsField("contextual_links")]
class ContextualLinks extends FieldPluginBase { class ContextualLinks extends FieldPluginBase {
use RedirectDestinationTrait; use RedirectDestinationTrait;

View File

@ -4,6 +4,7 @@ namespace Drupal\dblog\Plugin\views\field;
use Drupal\Component\Render\FormattableMarkup; use Drupal\Component\Render\FormattableMarkup;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\FieldPluginBase; use Drupal\views\Plugin\views\field\FieldPluginBase;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
use Drupal\views\ViewExecutable; use Drupal\views\ViewExecutable;
@ -13,9 +14,8 @@ use Drupal\views\Plugin\views\display\DisplayPluginBase;
* Provides a field handler that renders a log event with replaced variables. * Provides a field handler that renders a log event with replaced variables.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("dblog_message")
*/ */
#[ViewsField("dblog_message")]
class DblogMessage extends FieldPluginBase { class DblogMessage extends FieldPluginBase {
/** /**

View File

@ -2,6 +2,7 @@
namespace Drupal\dblog\Plugin\views\field; namespace Drupal\dblog\Plugin\views\field;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\FieldPluginBase; use Drupal\views\Plugin\views\field\FieldPluginBase;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
@ -9,9 +10,8 @@ use Drupal\views\ResultRow;
* Provides a field handler that renders operation link markup. * Provides a field handler that renders operation link markup.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("dblog_operations")
*/ */
#[ViewsField("dblog_operations")]
class DblogOperations extends FieldPluginBase { class DblogOperations extends FieldPluginBase {
/** /**

View File

@ -4,6 +4,7 @@ namespace Drupal\file\Plugin\views\field;
use Drupal\Core\File\FileUrlGeneratorInterface; use Drupal\Core\File\FileUrlGeneratorInterface;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
use Drupal\views\ViewExecutable; use Drupal\views\ViewExecutable;
use Drupal\views\Plugin\views\display\DisplayPluginBase; use Drupal\views\Plugin\views\display\DisplayPluginBase;
@ -14,9 +15,8 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
* Field handler to provide simple renderer that allows linking to a file. * Field handler to provide simple renderer that allows linking to a file.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("file")
*/ */
#[ViewsField("file")]
class File extends FieldPluginBase { class File extends FieldPluginBase {
/** /**

View File

@ -3,6 +3,7 @@
namespace Drupal\history\Plugin\views\field; namespace Drupal\history\Plugin\views\field;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
use Drupal\views\ViewExecutable; use Drupal\views\ViewExecutable;
use Drupal\views\Plugin\views\display\DisplayPluginBase; use Drupal\views\Plugin\views\display\DisplayPluginBase;
@ -15,9 +16,8 @@ use Drupal\node\Plugin\views\field\Node;
* table is history. * table is history.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("history_user_timestamp")
*/ */
#[ViewsField("history_user_timestamp")]
class HistoryUserTimestamp extends Node { class HistoryUserTimestamp extends Node {
/** /**

View File

@ -9,6 +9,7 @@ use Drupal\Core\Form\FormBuilderInterface;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Url; use Drupal\Core\Url;
use Drupal\media_library\MediaLibraryState; use Drupal\media_library\MediaLibraryState;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\FieldPluginBase; use Drupal\views\Plugin\views\field\FieldPluginBase;
use Drupal\views\Render\ViewsRenderPipelineMarkup; use Drupal\views\Render\ViewsRenderPipelineMarkup;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
@ -17,11 +18,10 @@ use Symfony\Component\HttpFoundation\Request;
/** /**
* Defines a field that outputs a checkbox and form for selecting media. * Defines a field that outputs a checkbox and form for selecting media.
* *
* @ViewsField("media_library_select_form")
*
* @internal * @internal
* Plugin classes are internal. * Plugin classes are internal.
*/ */
#[ViewsField("media_library_select_form")]
class MediaLibrarySelectForm extends FieldPluginBase { class MediaLibrarySelectForm extends FieldPluginBase {
/** /**

View File

@ -4,6 +4,7 @@ namespace Drupal\node\Plugin\views\field;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Url; use Drupal\Core\Url;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
use Drupal\views\ViewExecutable; use Drupal\views\ViewExecutable;
use Drupal\views\Plugin\views\display\DisplayPluginBase; use Drupal\views\Plugin\views\display\DisplayPluginBase;
@ -17,9 +18,8 @@ use Drupal\views\Plugin\views\field\FieldPluginBase;
* enabled by default. * enabled by default.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("node")
*/ */
#[ViewsField("node")]
class Node extends FieldPluginBase { class Node extends FieldPluginBase {
/** /**

View File

@ -2,13 +2,13 @@
namespace Drupal\node\Plugin\views\field; namespace Drupal\node\Plugin\views\field;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\BulkForm; use Drupal\views\Plugin\views\field\BulkForm;
/** /**
* Defines a node operations bulk form element. * Defines a node operations bulk form element.
*
* @ViewsField("node_bulk_form")
*/ */
#[ViewsField("node_bulk_form")]
class NodeBulkForm extends BulkForm { class NodeBulkForm extends BulkForm {
/** /**

View File

@ -3,6 +3,7 @@
namespace Drupal\node\Plugin\views\field; namespace Drupal\node\Plugin\views\field;
use Drupal\Core\Url; use Drupal\Core\Url;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\LinkBase; use Drupal\views\Plugin\views\field\LinkBase;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
@ -10,9 +11,8 @@ use Drupal\views\ResultRow;
* Field handler to present a link to a node revision. * Field handler to present a link to a node revision.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("node_revision_link")
*/ */
#[ViewsField("node_revision_link")]
class RevisionLink extends LinkBase { class RevisionLink extends LinkBase {
/** /**

View File

@ -3,15 +3,15 @@
namespace Drupal\node\Plugin\views\field; namespace Drupal\node\Plugin\views\field;
use Drupal\Core\Url; use Drupal\Core\Url;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
/** /**
* Field handler to present link to delete a node revision. * Field handler to present link to delete a node revision.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("node_revision_link_delete")
*/ */
#[ViewsField("node_revision_link_delete")]
class RevisionLinkDelete extends RevisionLink { class RevisionLinkDelete extends RevisionLink {
/** /**

View File

@ -3,15 +3,15 @@
namespace Drupal\node\Plugin\views\field; namespace Drupal\node\Plugin\views\field;
use Drupal\Core\Url; use Drupal\Core\Url;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
/** /**
* Field handler to present a link to revert a node to a revision. * Field handler to present a link to revert a node to a revision.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("node_revision_link_revert")
*/ */
#[ViewsField("node_revision_link_revert")]
class RevisionLinkRevert extends RevisionLink { class RevisionLinkRevert extends RevisionLink {
/** /**

View File

@ -2,6 +2,7 @@
namespace Drupal\search\Plugin\views\field; namespace Drupal\search\Plugin\views\field;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\NumericField; use Drupal\views\Plugin\views\field\NumericField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
@ -9,9 +10,8 @@ use Drupal\views\ResultRow;
* Field handler for search score. * Field handler for search score.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("search_score")
*/ */
#[ViewsField("search_score")]
class Score extends NumericField { class Score extends NumericField {
/** /**

View File

@ -2,6 +2,7 @@
namespace Drupal\statistics\Plugin\views\field; namespace Drupal\statistics\Plugin\views\field;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\Date; use Drupal\views\Plugin\views\field\Date;
use Drupal\Core\Session\AccountInterface; use Drupal\Core\Session\AccountInterface;
@ -9,9 +10,8 @@ use Drupal\Core\Session\AccountInterface;
* Field handler to display the most recent time the node has been viewed. * Field handler to display the most recent time the node has been viewed.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("node_counter_timestamp")
*/ */
#[ViewsField("node_counter_timestamp")]
class NodeCounterTimestamp extends Date { class NodeCounterTimestamp extends Date {
/** /**

View File

@ -2,6 +2,7 @@
namespace Drupal\statistics\Plugin\views\field; namespace Drupal\statistics\Plugin\views\field;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\NumericField; use Drupal\views\Plugin\views\field\NumericField;
use Drupal\Core\Session\AccountInterface; use Drupal\Core\Session\AccountInterface;
@ -9,9 +10,8 @@ use Drupal\Core\Session\AccountInterface;
* Field handler to display numeric values from the statistics module. * Field handler to display numeric values from the statistics module.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("statistics_numeric")
*/ */
#[ViewsField("statistics_numeric")]
class StatisticsNumeric extends NumericField { class StatisticsNumeric extends NumericField {
/** /**

View File

@ -3,6 +3,7 @@
namespace Drupal\taxonomy\Plugin\views\field; namespace Drupal\taxonomy\Plugin\views\field;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\ViewExecutable; use Drupal\views\ViewExecutable;
use Drupal\views\Plugin\views\display\DisplayPluginBase; use Drupal\views\Plugin\views\display\DisplayPluginBase;
use Drupal\views\Plugin\views\field\PrerenderList; use Drupal\views\Plugin\views\field\PrerenderList;
@ -13,9 +14,8 @@ use Drupal\taxonomy\VocabularyStorageInterface;
* Field handler to display all taxonomy terms of a node. * Field handler to display all taxonomy terms of a node.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("taxonomy_index_tid")
*/ */
#[ViewsField("taxonomy_index_tid")]
class TaxonomyIndexTid extends PrerenderList { class TaxonomyIndexTid extends PrerenderList {
/** /**

View File

@ -3,6 +3,7 @@
namespace Drupal\taxonomy\Plugin\views\field; namespace Drupal\taxonomy\Plugin\views\field;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\EntityField; use Drupal\views\Plugin\views\field\EntityField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
@ -10,9 +11,8 @@ use Drupal\views\ResultRow;
* Displays taxonomy term names and allows converting spaces to hyphens. * Displays taxonomy term names and allows converting spaces to hyphens.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("term_name")
*/ */
#[ViewsField("term_name")]
class TermName extends EntityField { class TermName extends EntityField {
/** /**

View File

@ -4,6 +4,7 @@ namespace Drupal\user\Plugin\views\field;
use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Extension\ModuleHandlerInterface; use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\display\DisplayPluginBase; use Drupal\views\Plugin\views\display\DisplayPluginBase;
use Drupal\views\ViewExecutable; use Drupal\views\ViewExecutable;
use Drupal\views\Plugin\views\field\PrerenderList; use Drupal\views\Plugin\views\field\PrerenderList;
@ -13,9 +14,8 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
* Field handler to provide a list of permissions. * Field handler to provide a list of permissions.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("user_permissions")
*/ */
#[ViewsField("user_permissions")]
class Permissions extends PrerenderList { class Permissions extends PrerenderList {
/** /**

View File

@ -3,6 +3,7 @@
namespace Drupal\user\Plugin\views\field; namespace Drupal\user\Plugin\views\field;
use Drupal\Core\Database\Connection; use Drupal\Core\Database\Connection;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\display\DisplayPluginBase; use Drupal\views\Plugin\views\display\DisplayPluginBase;
use Drupal\views\ViewExecutable; use Drupal\views\ViewExecutable;
use Drupal\views\Plugin\views\field\PrerenderList; use Drupal\views\Plugin\views\field\PrerenderList;
@ -13,9 +14,8 @@ use Drupal\user\Entity\Role;
* Field handler to provide a list of roles. * Field handler to provide a list of roles.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("user_roles")
*/ */
#[ViewsField("user_roles")]
class Roles extends PrerenderList { class Roles extends PrerenderList {
/** /**

View File

@ -4,13 +4,13 @@ namespace Drupal\user\Plugin\views\field;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\user\UserInterface; use Drupal\user\UserInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\BulkForm; use Drupal\views\Plugin\views\field\BulkForm;
/** /**
* Defines a user operations bulk form element. * Defines a user operations bulk form element.
*
* @ViewsField("user_bulk_form")
*/ */
#[ViewsField("user_bulk_form")]
class UserBulkForm extends BulkForm { class UserBulkForm extends BulkForm {
/** /**

View File

@ -5,6 +5,7 @@ namespace Drupal\user\Plugin\views\field;
use Drupal\Core\Extension\ModuleExtensionList; use Drupal\Core\Extension\ModuleExtensionList;
use Drupal\Core\Extension\ModuleHandlerInterface; use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\FieldPluginBase; use Drupal\views\Plugin\views\field\FieldPluginBase;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
use Drupal\user\UserDataInterface; use Drupal\user\UserDataInterface;
@ -16,9 +17,8 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
* @ingroup views_field_handlers * @ingroup views_field_handlers
* *
* @see \Drupal\user\UserDataInterface * @see \Drupal\user\UserDataInterface
*
* @ViewsField("user_data")
*/ */
#[ViewsField("user_data")]
class UserData extends FieldPluginBase { class UserData extends FieldPluginBase {
/** /**

View File

@ -0,0 +1,19 @@
<?php
declare(strict_types=1);
namespace Drupal\views\Attribute;
use Drupal\Component\Plugin\Attribute\PluginID;
/**
* Defines a Plugin attribute class for views field handlers.
*
* @see \Drupal\views\Plugin\views\field\FieldPluginBase
*
* @ingroup views_field_handlers
*/
#[\Attribute(\Attribute::TARGET_CLASS)]
class ViewsField extends PluginID {
}

View File

@ -4,6 +4,7 @@ namespace Drupal\views\Plugin\views\field;
use Drupal\Component\Utility\Xss as UtilityXss; use Drupal\Component\Utility\Xss as UtilityXss;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Render\ViewsRenderPipelineMarkup; use Drupal\views\Render\ViewsRenderPipelineMarkup;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
use Drupal\views\ViewExecutable; use Drupal\views\ViewExecutable;
@ -24,9 +25,8 @@ use Drupal\views\Plugin\views\display\DisplayPluginBase;
* @endcode * @endcode
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("boolean")
*/ */
#[ViewsField("boolean")]
class Boolean extends FieldPluginBase { class Boolean extends FieldPluginBase {
/** /**

View File

@ -2,15 +2,15 @@
namespace Drupal\views\Plugin\views\field; namespace Drupal\views\Plugin\views\field;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\BrokenHandlerTrait; use Drupal\views\Plugin\views\BrokenHandlerTrait;
/** /**
* A special handler to take the place of missing or broken handlers. * A special handler to take the place of missing or broken handlers.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("broken")
*/ */
#[ViewsField("broken")]
class Broken extends FieldPluginBase { class Broken extends FieldPluginBase {
use BrokenHandlerTrait; use BrokenHandlerTrait;

View File

@ -14,6 +14,7 @@ use Drupal\Core\Routing\RedirectDestinationTrait;
use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\Core\StringTranslation\TranslatableMarkup;
use Drupal\Core\Routing\ResettableStackedRouteMatchInterface; use Drupal\Core\Routing\ResettableStackedRouteMatchInterface;
use Drupal\Core\TypedData\TranslatableInterface; use Drupal\Core\TypedData\TranslatableInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Entity\Render\EntityTranslationRenderTrait; use Drupal\views\Entity\Render\EntityTranslationRenderTrait;
use Drupal\views\Plugin\views\display\DisplayPluginBase; use Drupal\views\Plugin\views\display\DisplayPluginBase;
use Drupal\views\Plugin\views\style\Table; use Drupal\views\Plugin\views\style\Table;
@ -23,9 +24,8 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
/** /**
* Defines an actions-based bulk operation form element. * Defines an actions-based bulk operation form element.
*
* @ViewsField("bulk_form")
*/ */
#[ViewsField("bulk_form")]
class BulkForm extends FieldPluginBase implements CacheableDependencyInterface { class BulkForm extends FieldPluginBase implements CacheableDependencyInterface {
use RedirectDestinationTrait; use RedirectDestinationTrait;

View File

@ -3,15 +3,15 @@
namespace Drupal\views\Plugin\views\field; namespace Drupal\views\Plugin\views\field;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
/** /**
* Field handler to show a counter of the current row. * Field handler to show a counter of the current row.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("counter")
*/ */
#[ViewsField("counter")]
class Counter extends FieldPluginBase { class Counter extends FieldPluginBase {
use UncacheableFieldHandlerTrait; use UncacheableFieldHandlerTrait;

View File

@ -4,6 +4,7 @@ namespace Drupal\views\Plugin\views\field;
use Drupal\Component\Utility\Xss; use Drupal\Component\Utility\Xss;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Render\ViewsRenderPipelineMarkup; use Drupal\views\Render\ViewsRenderPipelineMarkup;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
@ -11,9 +12,8 @@ use Drupal\views\ResultRow;
* A handler to provide a field that is completely custom by the administrator. * A handler to provide a field that is completely custom by the administrator.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("custom")
*/ */
#[ViewsField("custom")]
class Custom extends FieldPluginBase { class Custom extends FieldPluginBase {
/** /**

View File

@ -6,6 +6,7 @@ use Drupal\Core\Datetime\TimeZoneFormHelper;
use Drupal\Component\Datetime\TimeInterface; use Drupal\Component\Datetime\TimeInterface;
use Drupal\Core\Entity\EntityStorageInterface; use Drupal\Core\Entity\EntityStorageInterface;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\DependencyInjection\ContainerInterface;
use Drupal\Core\Datetime\DateFormatterInterface; use Drupal\Core\Datetime\DateFormatterInterface;
@ -14,9 +15,8 @@ use Drupal\Core\Datetime\DateFormatterInterface;
* A handler to provide proper displays for dates. * A handler to provide proper displays for dates.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("date")
*/ */
#[ViewsField("date")]
class Date extends FieldPluginBase { class Date extends FieldPluginBase {
/** /**

View File

@ -2,15 +2,15 @@
namespace Drupal\views\Plugin\views\field; namespace Drupal\views\Plugin\views\field;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
/** /**
* Provides a handler that renders links as dropbutton. * Provides a handler that renders links as dropbutton.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("dropbutton")
*/ */
#[ViewsField("dropbutton")]
class Dropbutton extends Links { class Dropbutton extends Links {
/** /**

View File

@ -23,6 +23,7 @@ use Drupal\Core\Render\Element;
use Drupal\Core\Render\RendererInterface; use Drupal\Core\Render\RendererInterface;
use Drupal\Core\Session\AccountInterface; use Drupal\Core\Session\AccountInterface;
use Drupal\Core\TypedData\TypedDataInterface; use Drupal\Core\TypedData\TypedDataInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\FieldAPIHandlerTrait; use Drupal\views\FieldAPIHandlerTrait;
use Drupal\views\Entity\Render\EntityFieldRenderer; use Drupal\views\Entity\Render\EntityFieldRenderer;
use Drupal\views\Plugin\views\display\DisplayPluginBase; use Drupal\views\Plugin\views\display\DisplayPluginBase;
@ -35,9 +36,8 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
* A field that displays entity field data. * A field that displays entity field data.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("field")
*/ */
#[ViewsField("field")]
class EntityField extends FieldPluginBase implements CacheableDependencyInterface, MultiItemsFieldHandlerInterface, DependentWithRemovalPluginInterface { class EntityField extends FieldPluginBase implements CacheableDependencyInterface, MultiItemsFieldHandlerInterface, DependentWithRemovalPluginInterface {
use FieldAPIHandlerTrait; use FieldAPIHandlerTrait;

View File

@ -6,6 +6,7 @@ use Drupal\Core\Entity\EntityMalformedException;
use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Entity\Exception\UndefinedLinkTemplateException; use Drupal\Core\Entity\Exception\UndefinedLinkTemplateException;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
use Drupal\views\ViewExecutable; use Drupal\views\ViewExecutable;
use Drupal\views\Plugin\views\display\DisplayPluginBase; use Drupal\views\Plugin\views\display\DisplayPluginBase;
@ -13,9 +14,8 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
/** /**
* Field handler to display entity label optionally linked to entity page. * Field handler to display entity label optionally linked to entity page.
*
* @ViewsField("entity_label")
*/ */
#[ViewsField("entity_label")]
class EntityLabel extends FieldPluginBase { class EntityLabel extends FieldPluginBase {
/** /**

View File

@ -3,15 +3,15 @@
namespace Drupal\views\Plugin\views\field; namespace Drupal\views\Plugin\views\field;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
/** /**
* Field handler to present a link to an entity. * Field handler to present a link to an entity.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("entity_link")
*/ */
#[ViewsField("entity_link")]
class EntityLink extends LinkBase { class EntityLink extends LinkBase {
/** /**

View File

@ -2,15 +2,15 @@
namespace Drupal\views\Plugin\views\field; namespace Drupal\views\Plugin\views\field;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
/** /**
* Field handler to present a link to delete an entity. * Field handler to present a link to delete an entity.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("entity_link_delete")
*/ */
#[ViewsField("entity_link_delete")]
class EntityLinkDelete extends EntityLink { class EntityLinkDelete extends EntityLink {
/** /**

View File

@ -2,15 +2,15 @@
namespace Drupal\views\Plugin\views\field; namespace Drupal\views\Plugin\views\field;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
/** /**
* Field handler to present a link to edit an entity. * Field handler to present a link to edit an entity.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("entity_link_edit")
*/ */
#[ViewsField("entity_link_edit")]
class EntityLinkEdit extends EntityLink { class EntityLinkEdit extends EntityLink {
/** /**

View File

@ -7,6 +7,7 @@ use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Language\LanguageManagerInterface; use Drupal\Core\Language\LanguageManagerInterface;
use Drupal\Core\Routing\RedirectDestinationTrait; use Drupal\Core\Routing\RedirectDestinationTrait;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Entity\Render\EntityTranslationRenderTrait; use Drupal\views\Entity\Render\EntityTranslationRenderTrait;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\DependencyInjection\ContainerInterface;
@ -15,9 +16,8 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
* Renders all operations links for an entity. * Renders all operations links for an entity.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("entity_operations")
*/ */
#[ViewsField("entity_operations")]
class EntityOperations extends FieldPluginBase { class EntityOperations extends FieldPluginBase {
use EntityTranslationRenderTrait; use EntityTranslationRenderTrait;

View File

@ -3,14 +3,14 @@
namespace Drupal\views\Plugin\views\field; namespace Drupal\views\Plugin\views\field;
use Drupal\Core\Session\AccountInterface; use Drupal\Core\Session\AccountInterface;
use Drupal\views\Attribute\ViewsField;
/** /**
* Displays the language of an entity. * Displays the language of an entity.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("field_language")
*/ */
#[ViewsField("field_language")]
class FieldLanguage extends EntityField { class FieldLanguage extends EntityField {
/** /**

View File

@ -24,9 +24,9 @@ use Drupal\Core\StringTranslation\TranslatableMarkup;
* Field handlers handle both querying and display of fields in views. * Field handlers handle both querying and display of fields in views.
* *
* Field handler plugins extend * Field handler plugins extend
* \Drupal\views\Plugin\views\field\FieldPluginBase. They must be * \Drupal\views\Plugin\views\field\FieldPluginBase. They must be attributed
* annotated with \Drupal\views\Annotation\ViewsField annotation, and they * with \Drupal\views\Attribute\ViewsField attribute, and they must be in
* must be in namespace directory Plugin\views\field. * namespace directory Plugin\views\field.
* *
* The following items can go into a hook_views_data() implementation in a * The following items can go into a hook_views_data() implementation in a
* field section to affect how the field handler will behave: * field section to affect how the field handler will behave:

View File

@ -4,15 +4,15 @@ namespace Drupal\views\Plugin\views\field;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\StringTranslation\ByteSizeMarkup; use Drupal\Core\StringTranslation\ByteSizeMarkup;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
/** /**
* Render a numeric value as a size. * Render a numeric value as a size.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("file_size")
*/ */
#[ViewsField("file_size")]
class FileSize extends FieldPluginBase { class FileSize extends FieldPluginBase {
/** /**

View File

@ -3,15 +3,15 @@
namespace Drupal\views\Plugin\views\field; namespace Drupal\views\Plugin\views\field;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
/** /**
* Defines a field handler to translate a language into its readable form. * Defines a field handler to translate a language into its readable form.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("language")
*/ */
#[ViewsField("language")]
class LanguageField extends FieldPluginBase { class LanguageField extends FieldPluginBase {
/** /**

View File

@ -3,6 +3,7 @@
namespace Drupal\views\Plugin\views\field; namespace Drupal\views\Plugin\views\field;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
/** /**
@ -12,9 +13,8 @@ use Drupal\views\ResultRow;
* Definition items: * Definition items:
* - options callback: The function to call in order to generate the value options. If omitted, the options 'Yes' and 'No' will be used. * - options callback: The function to call in order to generate the value options. If omitted, the options 'Yes' and 'No' will be used.
* - options arguments: An array of arguments to pass to the options callback. * - options arguments: An array of arguments to pass to the options callback.
*
* @ViewsField("machine_name")
*/ */
#[ViewsField("machine_name")]
class MachineName extends FieldPluginBase { class MachineName extends FieldPluginBase {
/** /**

View File

@ -2,6 +2,7 @@
namespace Drupal\views\Plugin\views\field; namespace Drupal\views\Plugin\views\field;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\display\DisplayPluginBase; use Drupal\views\Plugin\views\display\DisplayPluginBase;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
use Drupal\views\ViewExecutable; use Drupal\views\ViewExecutable;
@ -15,9 +16,8 @@ use Drupal\views\ViewExecutable;
* which goes with the 'body' field. * which goes with the 'body' field.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("markup")
*/ */
#[ViewsField("markup")]
class Markup extends FieldPluginBase { class Markup extends FieldPluginBase {
/** /**

View File

@ -5,6 +5,7 @@ namespace Drupal\views\Plugin\views\field;
use Drupal\Component\Gettext\PoItem; use Drupal\Component\Gettext\PoItem;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\StringTranslation\PluralTranslatableMarkup; use Drupal\Core\StringTranslation\PluralTranslatableMarkup;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
/** /**
@ -15,9 +16,8 @@ use Drupal\views\ResultRow;
* will be assumed to be integer. * will be assumed to be integer.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("numeric")
*/ */
#[ViewsField("numeric")]
class NumericField extends FieldPluginBase { class NumericField extends FieldPluginBase {
/** /**

View File

@ -8,6 +8,7 @@ use Drupal\Core\Entity\EntityRepositoryInterface;
use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Language\LanguageManagerInterface; use Drupal\Core\Language\LanguageManagerInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Entity\Render\EntityTranslationRenderTrait; use Drupal\views\Entity\Render\EntityTranslationRenderTrait;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\DependencyInjection\ContainerInterface;
@ -17,9 +18,8 @@ use Drupal\Core\Cache\Cache;
* Provides a field handler which renders an entity in a certain view mode. * Provides a field handler which renders an entity in a certain view mode.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("rendered_entity")
*/ */
#[ViewsField("rendered_entity")]
class RenderedEntity extends FieldPluginBase implements CacheableDependencyInterface { class RenderedEntity extends FieldPluginBase implements CacheableDependencyInterface {
use EntityTranslationRenderTrait; use EntityTranslationRenderTrait;

View File

@ -3,15 +3,15 @@
namespace Drupal\views\Plugin\views\field; namespace Drupal\views\Plugin\views\field;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
/** /**
* Field handler to show data of serialized fields. * Field handler to show data of serialized fields.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("serialized")
*/ */
#[ViewsField("serialized")]
class Serialized extends FieldPluginBase { class Serialized extends FieldPluginBase {
/** /**

View File

@ -2,13 +2,14 @@
namespace Drupal\views\Plugin\views\field; namespace Drupal\views\Plugin\views\field;
use Drupal\views\Attribute\ViewsField;
/** /**
* Default implementation of the base field plugin. * Default implementation of the base field plugin.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("standard")
*/ */
#[ViewsField("standard")]
class Standard extends FieldPluginBase { class Standard extends FieldPluginBase {
} }

View File

@ -4,6 +4,7 @@ namespace Drupal\views\Plugin\views\field;
use Drupal\Core\Datetime\DateFormatterInterface; use Drupal\Core\Datetime\DateFormatterInterface;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\DependencyInjection\ContainerInterface;
@ -11,9 +12,8 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
* A handler to provide proper displays for time intervals. * A handler to provide proper displays for time intervals.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("time_interval")
*/ */
#[ViewsField("time_interval")]
class TimeInterval extends FieldPluginBase { class TimeInterval extends FieldPluginBase {
/** /**

View File

@ -5,15 +5,15 @@ namespace Drupal\views\Plugin\views\field;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Link; use Drupal\Core\Link;
use Drupal\Core\Url as CoreUrl; use Drupal\Core\Url as CoreUrl;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
/** /**
* Field handler to provide simple renderer that turns a URL into a clickable link. * Field handler to provide simple renderer that turns a URL into a clickable link.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("url")
*/ */
#[ViewsField("url")]
class Url extends FieldPluginBase { class Url extends FieldPluginBase {
/** /**

View File

@ -3,6 +3,7 @@
namespace Drupal\views_test_data\Plugin\views\field; namespace Drupal\views_test_data\Plugin\views\field;
use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Form\FormStateInterface;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\FieldPluginBase; use Drupal\views\Plugin\views\field\FieldPluginBase;
use Drupal\views\Plugin\views\field\UncacheableFieldHandlerTrait; use Drupal\views\Plugin\views\field\UncacheableFieldHandlerTrait;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
@ -11,9 +12,8 @@ use Drupal\views\ResultRow;
* A handler to provide a field that is completely custom by the administrator. * A handler to provide a field that is completely custom by the administrator.
* *
* @ingroup views_field_handlers * @ingroup views_field_handlers
*
* @ViewsField("field_form_button_test")
*/ */
#[ViewsField("field_form_button_test")]
class FieldFormButtonTest extends FieldPluginBase { class FieldFormButtonTest extends FieldPluginBase {
use UncacheableFieldHandlerTrait; use UncacheableFieldHandlerTrait;

View File

@ -2,12 +2,14 @@
namespace Drupal\views_test_data\Plugin\views\field; namespace Drupal\views_test_data\Plugin\views\field;
use Drupal\views\Attribute\ViewsField;
use Drupal\views\Plugin\views\field\FieldPluginBase; use Drupal\views\Plugin\views\field\FieldPluginBase;
use Drupal\views\ResultRow; use Drupal\views\ResultRow;
/** /**
* @ViewsField("test_field") * A test field handler.
*/ */
#[ViewsField("test_field")]
class FieldTest extends FieldPluginBase { class FieldTest extends FieldPluginBase {