edit_ui-8.x-1.x-dev/edit_ui.module
edit_ui.module
<?php
/**
* @file
* Contains hook implementations for edit_ui module.
*/
declare(strict_types = 1);
use Drupal\Core\Form\FormStateInterface;
/**
* Implements hook_theme_suggestions_HOOK_alter().
*/
function edit_ui_theme_suggestions_block_alter(array &$suggestions, array $variables) {
$parts = explode(':', $variables['elements']['#plugin_id']);
if ($parts[0] === 'system_messages_block') {
$suggestions[] = 'block__system_messages_block__edit_ui';
}
}
/**
* Implements hook_theme().
*/
function edit_ui_theme($existing, $type, $theme, $path) {
$items['block__system_messages_block__edit_ui'] = [
'render element' => 'elements',
'base hook' => 'block',
];
return $items;
}
/**
* Implements hook_preprocess_HOOK() for region templates.
*/
function edit_ui_preprocess_region(&$variables) {
$variables['attributes']['class'][] = 'js-edit-ui__region';
$variables['attributes']['data-edit-ui-region'] = $variables['region'];
}
/**
* Implements hook_form_FORM_ID_alter().
*/
function edit_ui_form_block_form_alter(&$form, FormStateInterface $form_state) {
$request = \Drupal::request();
$module = $request->request->get('module');
if ($module == 'edit_ui') {
$weight = $request->query->get('weight');
$form['module'] = [
'#type' => 'hidden',
'#value' => $module,
'#id' => 'module',
'#name' => 'module',
];
if (!empty($weight)) {
$form_state->getFormObject()->getEntity()->setWeight($weight);
$form['weight'] = [
'#type' => 'hidden',
'#value' => $weight,
'#id' => 'weight',
'#name' => 'weight',
];
}
$form['actions']['submit']['#attributes'] = ['class' => ['use-ajax-submit']];
$form['actions']['submit']['#submit'][] = 'edit_ui_form_submit';
}
}
/**
* Edit UI form_block submit callback.
*
* @param array $form
* The block instance edit form.
* @param \Drupal\Core\Form\FormStateInterface $form_state
* The block instance form state.
*/
function edit_ui_form_submit(array $form, FormStateInterface $form_state) {
if ($form_state->getValue('module') == 'edit_ui') {
$block_id = $form_state->getFormObject()->getEntity()->getOriginalId();
$form_state->setRedirect('edit_ui.block.modal', ['block_id' => $block_id]);
}
}
