function _gutenberg_node_type_form_submit in Gutenberg 8.2
Same name and namespace in other branches
- 8 gutenberg.module \_gutenberg_node_type_form_submit()
Alters the node form submit.
Parameters
array $form: The form definition array.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
1 string reference to '_gutenberg_node_type_form_submit'
- gutenberg_form_alter in ./
gutenberg.module - Implements hook_form_alter().
File
- ./
gutenberg.module, line 329 - Provides integration with the Gutenberg editor.
Code
function _gutenberg_node_type_form_submit(array $form, FormStateInterface $form_state) {
$gutenberg_enabled = $form_state
->getValue('enable_gutenberg_experience');
$template = $form_state
->getValue('gutenberg_template');
$template_lock = $form_state
->getValue('gutenberg_template_lock');
$config = \Drupal::service('config.factory')
->getEditable('gutenberg.settings');
$config
->set($form_state
->getValue('type') . '_enable_full', $gutenberg_enabled)
->save();
if (!$gutenberg_enabled) {
$config
->clear($form_state
->getValue('type') . '_allowed_blocks')
->save();
$config
->clear($form_state
->getValue('type') . '_allowed_drupal_blocks')
->save();
$config
->clear($form_state
->getValue('type') . '_gutenberg_template')
->save();
$config
->clear($form_state
->getValue('type') . '_gutenberg_template_lock')
->save();
return;
}
// Save template settings.
$config
->set($form_state
->getValue('type') . '_template', $template)
->save();
$config
->set($form_state
->getValue('type') . '_template_lock', $template_lock)
->save();
// Save Gutenberg core blocks settings.
$categories = explode(' ', $form_state
->getValue('categories'));
$values = [];
foreach ($categories as $category) {
$values = array_merge($values, $form_state
->getValue('allowed_blocks_' . $category));
}
$config
->set($form_state
->getValue('type') . '_allowed_blocks', $values)
->save();
// Save Drupal blocks settings.
$categories = explode(' ', $form_state
->getValue('categories_drupal'));
$values = [];
foreach ($categories as $category) {
$values = array_merge($values, $form_state
->getValue('allowed_drupal_blocks_' . $category));
}
$config
->set($form_state
->getValue('type') . '_allowed_drupal_blocks', $values)
->save();
}