array(
'devel_node_access/devel_node_access'
),
);
$debug_mode = \Drupal::config('devel_node_access.settings')->get('debug_mode');
$by_user_mode = \Drupal::config('devel_node_access.settings')->get('by_user_mode');
$form['node_content'] = array(
'#prefix' => '
',
'#suffix' => '
',
);
$form['node_content'][0] = DnaBlock::buildNodeInfo($debug_mode);
$form['user_content'] = array(
'#prefix' => '',
'#suffix' => '
',
);
if ($by_user_mode) {
$form['user_content'][0] = DnaBlock::buildByUserInfo();
}
$form['setup'] = array(
'#markup' => t('Enable:'),
'#prefix' => '',
'#suffix' => '
',
);
$form['setup']['debug_mode'] = array(
'#type' => 'checkbox',
'#value' => $debug_mode,
'#prefix' => ' ',
'#title' => t('Debug Mode'),
'#ajax' => array(
'callback' => '::toggleDebugMode',
'wrapper' => 'devel-node-access-node-content-div',
),
'#disabled' => TRUE,
);
$form['setup']['by_user_mode'] = array(
'#type' => 'checkbox',
'#value' => $by_user_mode,
'#prefix' => ' ',
'#title' => t('By-User Analysis (slow!)'),
'#ajax' => array(
'callback' => '::toggleByUserMode',
'wrapper' => 'devel-node-access-by-user-content-div',
),
'#disabled' => TRUE,
);
return $form;
}
/**
* AJAX handler for form_state.
*
* @param array $form
* An associative array containing the structure of the form.
* @param \Drupal\Core\Form\FormStateInterface $form_state
* The current state of the form.
*
* @return array
*/
public function toggleDebugMode($form, FormStateInterface $form_state) {
$debug_mode = $form_state->getUserInput();
$debug_mode = !empty($debug_mode['debug_mode']);
\Drupal::configFactory()->getEditable('devel_node_access.settings')->set('debug_mode', $debug_mode)->save(TRUE);
$form['node_content'][0] = DnaBlock::buildNodeInfo($debug_mode);
return $form['node_content'];
}
/**
* AJAX handler for by_user_state.
*
* @param array $form
* An associative array containing the structure of the form.
* @param \Drupal\Core\Form\FormStateInterface $form_state
* The current state of the form.
*
* @return array
*/
public function toggleByUserMode($form, FormStateInterface $form_state) {
$by_user_mode = $form_state->getUserInput();
$by_user_mode = !empty($by_user_mode['by_user_mode']);
\Drupal::configFactory()->getEditable('devel_node_access.settings')->set('by_user_mode', $by_user_mode)->save(TRUE);
$form['user_content'][0] = ($by_user_mode ? DnaBlock::buildByUserInfo() : []);
return $form['user_content'];
}
/**
* {@inheritdoc}
*/
public function submitForm(array &$form, FormStateInterface $form_state) {
}
}