// Only show the settings if there is at least one custom display mode.
$display_mode_options =
$this->
getDisplayModeOptions();
// Unset default option.
unset($display_mode_options['default'
]);
if ($display_mode_options) { $form['modes'
] =
[ '#type' => 'details',
'#title' =>
$this->
t('Custom display settings'
),
];
// Prepare default values for the 'Custom display settings' checkboxes.
$default =
[];
if ($enabled_displays =
array_filter($this->
getDisplayStatuses())) { $default =
array_keys(array_intersect_key($display_mode_options,
$enabled_displays));
} natcasesort($display_mode_options);
$form['modes'
]['display_modes_custom'
] =
[ '#type' => 'checkboxes',
'#title' =>
$this->
t('Use custom display settings for the following @display_context modes',
['@display_context' =>
$this->displayContext
]),
'#options' =>
$display_mode_options,
'#default_value' =>
$default,
];
// Provide link to manage display modes.
$form['modes'
]['display_modes_link'
] =
$this->
getDisplayModesLink();
}