You are here

function toc_js_per_node_form_node_type_form_alter in Toc.js 8

Same name and namespace in other branches
  1. 2.0.x modules/toc_js_per_node/toc_js_per_node.module \toc_js_per_node_form_node_type_form_alter()

Implements hook_form_FORM_ID_alter().

File

modules/toc_js_per_node/toc_js_per_node.module, line 55
Contains toc_js_per_node.module.

Code

function toc_js_per_node_form_node_type_form_alter(&$form, FormStateInterface $form_state) {

  /** @var \Drupal\node\NodeTypeInterface $type */
  $type = $form_state
    ->getFormObject()
    ->getEntity();
  $form['toc_js']['override'] = [
    '#type' => 'checkbox',
    '#title' => t('Permit to enable/disable toc per node'),
    '#default_value' => $type
      ->getThirdPartySetting('toc_js_per_node', 'override', 0),
    '#states' => [
      'visible' => [
        ':input[name="toc_js_active"]' => [
          'checked' => TRUE,
        ],
      ],
    ],
    '#weight' => 100,
  ];
  $form['toc_js']['override_default'] = [
    '#type' => 'radios',
    '#title' => t('Default state for table of contents per node'),
    '#default_value' => $type
      ->getThirdPartySetting('toc_js_per_node', 'override_default', 1),
    '#options' => [
      1 => t('Enabled'),
      0 => t('Disabled'),
    ],
    '#states' => [
      'visible' => [
        ':input[name="toc_js_active"]' => [
          'checked' => TRUE,
        ],
        ':input[name="override"]' => [
          'checked' => TRUE,
        ],
      ],
    ],
    '#weight' => 100,
  ];
  $form['#entity_builders'][] = 'toc_js_per_node_form_node_type_form_builder';
}