FieldUiTestHooks.php
Namespace
Drupal\field_ui_test\HookFile
-
core/
modules/ field_ui/ tests/ modules/ field_ui_test/ src/ Hook/ FieldUiTestHooks.php
View source
<?php
declare (strict_types=1);
namespace Drupal\field_ui_test\Hook;
use Drupal\Core\Render\Element;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Access\AccessResult;
use Drupal\Core\Field\FieldConfigInterface;
use Drupal\Core\Hook\Attribute\Hook;
/**
* Hook implementations for field_ui_test.
*/
class FieldUiTestHooks {
/**
* Implements hook_ENTITY_TYPE_access().
*/
public function fieldConfigAccess(FieldConfigInterface $field) {
return AccessResult::forbiddenIf($field->getName() == 'highlander');
}
/**
* Implements hook_form_FORM_BASE_ID_alter().
*/
public function formEntityViewDisplayEditFormAlter(&$form, FormStateInterface $form_state) : void {
$table =& $form['fields'];
foreach (Element::children($table) as $name) {
$table[$name]['parent_wrapper']['parent']['#options'] = [
'indent' => 'Indent',
];
$table[$name]['parent_wrapper']['parent']['#default_value'] = 'indent';
}
$table['indent'] = [
'#attributes' => [
'class' => [
'draggable',
'field-group',
],
'id' => 'indent-id',
],
'#row_type' => 'group',
'#region_callback' => 'field_ui_test_region_callback',
'#js_settings' => [
'rowHandler' => 'group',
],
'human_name' => [
'#markup' => 'Indent',
'#prefix' => '<span class="group-label">',
'#suffix' => '</span>',
],
'weight' => [
'#type' => 'textfield',
'#default_value' => 0,
'#size' => 3,
'#attributes' => [
'class' => [
'field-weight',
],
],
],
'parent_wrapper' => [
'parent' => [
'#type' => 'select',
'#options' => [
'indent' => 'Indent',
],
'#empty_value' => '',
'#default_value' => '',
'#attributes' => [
'class' => [
'field-parent',
],
],
'#parents' => [
'fields',
'indent',
'parent',
],
],
'hidden_name' => [
'#type' => 'hidden',
'#default_value' => 'indent',
'#attributes' => [
'class' => [
'field-name',
],
],
],
],
];
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
FieldUiTestHooks | Hook implementations for field_ui_test. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.