3 namespace Drupal\node\Plugin\views\wizard;
5 use Drupal\views\Plugin\views\wizard\WizardPluginBase;
8 * @todo: replace numbers with constants.
12 * Tests creating node revision views with the wizard.
15 * id = "node_revision",
16 * base_table = "node_field_revision",
17 * title = @Translation("Content revisions")
20 class NodeRevision extends WizardPluginBase {
23 * Set the created column.
27 protected $createdColumn = 'changed';
30 * Set default values for the filters.
32 protected $filters = [
35 'table' => 'node_field_revision',
37 'plugin_id' => 'boolean',
38 'entity_type' => 'node',
39 'entity_field' => 'status',
44 * Overrides Drupal\views\Plugin\views\wizard\WizardPluginBase::rowStyleOptions().
46 * Node revisions do not support full posts or teasers, so remove them.
48 protected function rowStyleOptions() {
49 $options = parent::rowStyleOptions();
50 unset($options['teasers']);
51 unset($options['full_posts']);
58 protected function defaultDisplayOptions() {
59 $display_options = parent::defaultDisplayOptions();
61 // Add permission-based access control.
62 $display_options['access']['type'] = 'perm';
63 $display_options['access']['options']['perm'] = 'view all revisions';
65 // Remove the default fields, since we are customizing them here.
66 unset($display_options['fields']);
68 /* Field: Content revision: Created date */
69 $display_options['fields']['changed']['id'] = 'changed';
70 $display_options['fields']['changed']['table'] = 'node_field_revision';
71 $display_options['fields']['changed']['field'] = 'changed';
72 $display_options['fields']['changed']['entity_type'] = 'node';
73 $display_options['fields']['changed']['entity_field'] = 'changed';
74 $display_options['fields']['changed']['alter']['alter_text'] = FALSE;
75 $display_options['fields']['changed']['alter']['make_link'] = FALSE;
76 $display_options['fields']['changed']['alter']['absolute'] = FALSE;
77 $display_options['fields']['changed']['alter']['trim'] = FALSE;
78 $display_options['fields']['changed']['alter']['word_boundary'] = FALSE;
79 $display_options['fields']['changed']['alter']['ellipsis'] = FALSE;
80 $display_options['fields']['changed']['alter']['strip_tags'] = FALSE;
81 $display_options['fields']['changed']['alter']['html'] = FALSE;
82 $display_options['fields']['changed']['hide_empty'] = FALSE;
83 $display_options['fields']['changed']['empty_zero'] = FALSE;
84 $display_options['fields']['changed']['plugin_id'] = 'field';
85 $display_options['fields']['changed']['type'] = 'timestamp';
86 $display_options['fields']['changed']['settings']['date_format'] = 'medium';
87 $display_options['fields']['changed']['settings']['custom_date_format'] = '';
88 $display_options['fields']['changed']['settings']['timezone'] = '';
90 /* Field: Content revision: Title */
91 $display_options['fields']['title']['id'] = 'title';
92 $display_options['fields']['title']['table'] = 'node_field_revision';
93 $display_options['fields']['title']['field'] = 'title';
94 $display_options['fields']['title']['entity_type'] = 'node';
95 $display_options['fields']['title']['entity_field'] = 'title';
96 $display_options['fields']['title']['label'] = '';
97 $display_options['fields']['title']['alter']['alter_text'] = 0;
98 $display_options['fields']['title']['alter']['make_link'] = 0;
99 $display_options['fields']['title']['alter']['absolute'] = 0;
100 $display_options['fields']['title']['alter']['trim'] = 0;
101 $display_options['fields']['title']['alter']['word_boundary'] = 0;
102 $display_options['fields']['title']['alter']['ellipsis'] = 0;
103 $display_options['fields']['title']['alter']['strip_tags'] = 0;
104 $display_options['fields']['title']['alter']['html'] = 0;
105 $display_options['fields']['title']['hide_empty'] = 0;
106 $display_options['fields']['title']['empty_zero'] = 0;
107 $display_options['fields']['title']['settings']['link_to_entity'] = 0;
108 $display_options['fields']['title']['plugin_id'] = 'field';
109 return $display_options;