You are here

function _social_private_message_set_private_message_thread_default_view_settings in Open Social 10.1.x

Same name and namespace in other branches
  1. 8.9 modules/social_features/social_private_message/social_private_message.install \_social_private_message_set_private_message_thread_default_view_settings()
  2. 8.8 modules/social_features/social_private_message/social_private_message.install \_social_private_message_set_private_message_thread_default_view_settings()
  3. 10.3.x modules/social_features/social_private_message/social_private_message.install \_social_private_message_set_private_message_thread_default_view_settings()
  4. 10.0.x modules/social_features/social_private_message/social_private_message.install \_social_private_message_set_private_message_thread_default_view_settings()
  5. 10.2.x modules/social_features/social_private_message/social_private_message.install \_social_private_message_set_private_message_thread_default_view_settings()

Set the OS specific settings for the private message thread default view.

1 call to _social_private_message_set_private_message_thread_default_view_settings()
social_private_message_install in modules/social_features/social_private_message/social_private_message.install
Implements hook_uninstall().

File

modules/social_features/social_private_message/social_private_message.install, line 124
The Social Private Message (de)installation file.

Code

function _social_private_message_set_private_message_thread_default_view_settings() {

  /** @var \Drupal\Core\Entity\Display\EntityViewDisplayInterface $pm_view_display */
  $pm_view_display = \Drupal::service('entity_type.manager')
    ->getStorage('entity_view_display')
    ->load('private_message_thread.private_message_thread.default');
  $deleted_field = [
    'weight' => -100,
    'region' => 'content',
    'settings' => [],
    'third_party_settings' => [],
  ];
  $members_field = $pm_view_display
    ->getComponent('members');
  $members_field['type'] = 'social_private_message_thread_member_formatter';
  $members_field['label'] = 'hidden';
  $pm_field = $pm_view_display
    ->getComponent('private_messages');
  $pm_field['label'] = 'hidden';
  $pm_field['settings'] = [
    'message_count' => 30,
    'ajax_previous_load_count' => 5,
    'ajax_refresh_rate' => 120,
    'message_order' => 'asc',
  ];
  $pm_view_display
    ->setComponent('deleted_field', $deleted_field)
    ->setComponent('members', $members_field)
    ->setComponent('private_messages', $pm_field)
    ->save();
}