} /**
* {@inheritdoc}
*/
protected function getBuildDefaults(EntityInterface
$entity,
$view_mode) { $build = parent::
getBuildDefaults($entity,
$view_mode);
/** @var \Drupal\comment\CommentInterface $entity */
// Store a threading field setting to use later in self::buildComponents().
$commented_entity =
$entity->
getCommentedEntity();
$build['#comment_threaded'
] =
is_null($commented_entity) ||
$commented_entity->
getFieldDefinition($entity->
getFieldName()) ->
getSetting('default_mode'
) === CommentManagerInterface::COMMENT_MODE_THREADED;
// If threading is enabled, don't render cache individual comments, but do
// keep the cacheability metadata, so it can bubble up.
if ($build['#comment_threaded'
]) { unset($build['#cache'
]['keys'
]);
} return $build;
}