hospital_management-8.x-1.x-dev/web/themes/bootstrap/src/Plugin/Preprocess/Input.php
web/themes/bootstrap/src/Plugin/Preprocess/Input.php
<?php
namespace Drupal\bootstrap\Plugin\Preprocess;
use Drupal\bootstrap\Utility\Element;
use Drupal\bootstrap\Utility\Variables;
/**
* Pre-processes variables for the "input" theme hook.
*
* @ingroup plugins_preprocess
*
* @BootstrapPreprocess("input")
*/
class Input extends PreprocessBase implements PreprocessInterface {
/**
* {@inheritdoc}
*/
public function preprocessElement(Element $element, Variables $variables) {
// Autocomplete.
if ($route = $element->getProperty('autocomplete_route_name')) {
$variables['autocomplete'] = TRUE;
}
// Create variables for #input_group and #input_group_button flags.
$variables['input_group'] = $element->getProperty('input_group') || $element->getProperty('input_group_button');
// Map the element properties.
$variables->map([
'attributes' => 'attributes',
'icon' => 'icon',
'field_prefix' => 'prefix',
'field_suffix' => 'suffix',
'type' => 'type',
]);
// Ensure attributes are proper objects.
$this->preprocessAttributes();
}
}
