diff --git a/config/optional/views.view.message.yml b/config/optional/views.view.message.yml index 03f4d69..43610a8 100644 --- a/config/optional/views.view.message.yml +++ b/config/optional/views.view.message.yml @@ -1,9 +1,10 @@ -uuid: 746ddbc4-4082-4754-bf00-dd6fe24048d5 +uuid: c8e2c22d-3c0f-4de8-982c-44a393c75d79 langcode: en status: true dependencies: module: - message + - user id: message label: Message module: views @@ -20,10 +21,11 @@ display: position: 0 display_options: access: - type: none - options: { } + type: perm + options: + perm: 'overview messages' cache: - type: none + type: tag options: { } query: type: views_query @@ -46,7 +48,7 @@ display: pager: type: full options: - items_per_page: 25 + items_per_page: 10 offset: 0 id: 0 total_pages: null @@ -59,10 +61,10 @@ display: offset: false offset_label: Offset tags: - previous: '‹ previous' - next: 'next ›' - first: '« first' - last: 'last »' + previous: '‹ Previous' + next: 'Next ›' + first: '« First' + last: 'Last »' quantity: 9 style: type: table @@ -79,7 +81,7 @@ display: mid: mid uid: uid created: created - type: type + get_text: get_text info: mid: sortable: false @@ -102,7 +104,7 @@ display: separator: '' empty_column: false responsive: '' - type: + get_text: sortable: false default_sort_order: asc align: '' @@ -113,69 +115,20 @@ display: empty_table: false row: type: fields - fields: - message_bulk_form_1: - id: message_bulk_form_1 - table: message - field: message_bulk_form - relationship: none - group_type: group - admin_label: '' - label: 'Message operations bulk form' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' + options: + inline: { } + separator: '' hide_empty: false - empty_zero: false - hide_alter_empty: true - action_title: 'With selection' - include_exclude: include - selected_actions: - - messaege_delete_action - entity_type: message - plugin_id: message_bulk_form - mid: - id: mid + default_field_elements: true + fields: + created: + id: created table: message_field_data - field: mid + field: created relationship: none group_type: group admin_label: '' - label: 'Message ID' + label: Date exclude: false alter: alter_text: false @@ -217,10 +170,11 @@ display: empty_zero: false hide_alter_empty: true click_sort_column: value - type: number_integer + type: timestamp settings: - thousand_separator: '' - prefix_suffix: true + date_format: medium + custom_date_format: '' + timezone: '' group_column: value group_columns: { } group_rows: true @@ -231,17 +185,17 @@ display: multi_type: separator separator: ', ' field_api_classes: false - entity_type: null - entity_field: mid + entity_type: message + entity_field: created plugin_id: field - type: - id: type - table: message_field_data - field: type - relationship: none + name: + id: name + table: users_field_data + field: name + relationship: uid group_type: group admin_label: '' - label: 'Message type' + label: Author exclude: false alter: alter_text: false @@ -274,7 +228,7 @@ display: element_class: '' element_label_type: '' element_label_class: '' - element_label_colon: false + element_label_colon: true element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true @@ -282,11 +236,11 @@ display: hide_empty: false empty_zero: false hide_alter_empty: true - click_sort_column: target_id - type: entity_reference_label + click_sort_column: value + type: user_name settings: - link: true - group_column: target_id + link_to_entity: true + group_column: value group_columns: { } group_rows: true delta_limit: 0 @@ -296,8 +250,8 @@ display: multi_type: separator separator: ', ' field_api_classes: false - entity_type: message - entity_field: type + entity_type: user + entity_field: name plugin_id: field get_text: id: get_text @@ -325,16 +279,16 @@ display: suffix: '' target: '' nl2br: false - max_length: 500 + max_length: 0 word_boundary: true - ellipsis: false + ellipsis: true more_link: false more_link_text: '' more_link_path: '' strip_tags: false trim: false preserve_tags: '' - html: true + html: false element_type: '' element_class: '' element_label_type: '' @@ -349,142 +303,33 @@ display: hide_alter_empty: true entity_type: message plugin_id: get_text + filters: { } + sorts: { } + header: { } + footer: { } + empty: { } + relationships: uid: id: uid table: message_field_data field: uid relationship: none group_type: group - admin_label: '' - label: Author - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: false - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: target_id - type: entity_reference_label - settings: - link: true - group_column: target_id - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false + admin_label: User + required: false entity_type: message entity_field: uid - plugin_id: field - created: - id: created - table: message_field_data - field: created - relationship: none - group_type: group - admin_label: '' - label: 'Published date' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: false - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - date_format: fallback - custom_date_format: '' - timezone: '' - entity_type: message - entity_field: created - plugin_id: date - filters: { } - sorts: { } - title: Message - header: { } - footer: { } - empty: { } - relationships: { } + plugin_id: standard arguments: { } display_extenders: { } - filter_groups: - operator: AND - groups: { } cache_metadata: + max-age: 0 contexts: - 'languages:language_content' - 'languages:language_interface' - cacheable: false + - url.query_args + - user.permissions + tags: { } page_1: display_plugin: page id: page_1 @@ -492,22 +337,26 @@ display: position: 1 display_options: display_extenders: { } - path: admin/content/messages menu: type: tab title: Message description: '' - parent: system.admin_content + expanded: false + parent: '' weight: 0 context: '0' menu_name: admin + path: admin/content/messages tab_options: - type: none - title: '' + type: tab + title: Message description: '' weight: 0 cache_metadata: + max-age: 0 contexts: - 'languages:language_content' - 'languages:language_interface' - cacheable: false + - url.query_args + - user.permissions + tags: { } diff --git a/modules/message_example/message_example.tokens.inc b/modules/message_example/message_example.tokens.inc index c26ed5a..78f39d6 100644 --- a/modules/message_example/message_example.tokens.inc +++ b/modules/message_example/message_example.tokens.inc @@ -112,11 +112,14 @@ function message_example_tokens($type, $tokens, array $data = array(), array $op break; case 'node-render': if ($message->bundle() == 'example_create_comment') { - $replacements[$original] = render(entity_view($message->field_comment_reference->entity->getCommentedEntity(), 'teaser')); + $entity = $message->field_comment_reference->entity->getCommentedEntity(); } else { - $replacements[$original] = render(entity_view($message->field_node_reference->get(0)->entity, 'teaser')); + $entity = $message->field_node_reference->get(0)->entity; } + + $view_builder = \Drupal::entityTypeManager()->getViewBuilder($entity->getEntityTypeId()); + $replacements[$original] = render($view_builder->view($entity, 'teaser')); break; case 'comment-url': $replacements[$original] = $message->field_comment_reference->entity->id(); diff --git a/src/Entity/Message.php b/src/Entity/Message.php index e000146..cba41c6 100644 --- a/src/Entity/Message.php +++ b/src/Entity/Message.php @@ -7,7 +7,10 @@  namespace Drupal\message\Entity;  +use Drupal\Component\Render\FormattableMarkup; +use Drupal\Component\Render\OutputStrategyInterface; use Drupal\Component\Utility\Html; +use Drupal\Component\Utility\Xss; use Drupal\Core\Entity\ContentEntityBase; use Drupal\Core\Entity\EntityTypeInterface; use Drupal\Core\Field\BaseFieldDefinition; @@ -299,11 +302,10 @@ class Message extends ContentEntityBase implements MessageInterface { $value = call_user_func_array($value['callback'], $value['arguments']); }  - // @see \Drupal\Component\Render\FormattableMarkup::placeholderFormat() switch ($key[0]) { case '@': // Escaped only. - $args[$key] = Html::escape($value); + $args[$key] = OutputStrategyInterface::renderFromHtml($value); break;  case '%': diff --git a/src/Plugin/views/field/GetText.php b/src/Plugin/views/field/GetText.php index 5e67a1b..45ddb51 100644 --- a/src/Plugin/views/field/GetText.php +++ b/src/Plugin/views/field/GetText.php @@ -7,6 +7,7 @@  namespace Drupal\message\Plugin\views\field;  +use Drupal\Component\Render\FormattableMarkup; use Drupal\message\Entity\Message; use Drupal\views\Plugin\views\field\FieldPluginBase; use Drupal\views\ResultRow; @@ -36,7 +37,7 @@ class GetText extends FieldPluginBase { * {@inheritdoc} */ public function render(ResultRow $values) { - return $values->_entity->getText(); + return new FormattableMarkup($values->_entity->getText(), []); }  }