class Name in Drupal 10
Same name in this branch
- 10 core/tests/Drupal/Tests/Component/Annotation/Doctrine/DocParserTest.php \Drupal\Tests\Component\Annotation\Doctrine\Name
- 10 core/modules/user/src/Plugin/views/filter/Name.php \Drupal\user\Plugin\views\filter\Name
Same name and namespace in other branches
- 8 core/modules/user/src/Plugin/views/filter/Name.php \Drupal\user\Plugin\views\filter\Name
- 9 core/modules/user/src/Plugin/views/filter/Name.php \Drupal\user\Plugin\views\filter\Name
Filter handler for usernames.
Plugin annotation
@ViewsFilter("user_name");
Hierarchy
- class \Drupal\views\Plugin\views\filter\FilterPluginBase extends \Drupal\views\Plugin\views\HandlerBase implements CacheableDependencyInterface
- class \Drupal\views\Plugin\views\filter\InOperator
- class \Drupal\user\Plugin\views\filter\Name
- class \Drupal\views\Plugin\views\filter\InOperator
Expanded class hierarchy of Name
Related topics
2 files declare their use of Name
- UidRevision.php in core/
modules/ node/ src/ Plugin/ views/ filter/ UidRevision.php - UserUid.php in core/
modules/ tracker/ src/ Plugin/ views/ filter/ UserUid.php
89 string references to 'Name'
- AccountSettingsForm::buildForm in core/
modules/ user/ src/ AccountSettingsForm.php - Form constructor.
- AddFormBase::buildEntityFormElement in core/
modules/ media_library/ src/ Form/ AddFormBase.php - Builds the sub-form for setting required fields on a new media item.
- AreaDisplayLinkTest::testAreaDisplayLink in core/
modules/ views/ tests/ src/ Kernel/ Handler/ AreaDisplayLinkTest.php - Tests the views area display_link handler.
- Comment::baseFieldDefinitions in core/
modules/ comment/ src/ Entity/ Comment.php - ConfigSync::buildForm in core/
modules/ config/ src/ Form/ ConfigSync.php - Form constructor.
File
- core/
modules/ user/ src/ Plugin/ views/ filter/ Name.php, line 17
Namespace
Drupal\user\Plugin\views\filterView source
class Name extends InOperator {
protected $alwaysMultiple = TRUE;
protected function valueForm(&$form, FormStateInterface $form_state) {
$users = $this->value ? User::loadMultiple($this->value) : [];
$default_value = EntityAutocomplete::getEntityLabels($users);
$form['value'] = [
'#type' => 'entity_autocomplete',
'#title' => $this
->t('Usernames'),
'#description' => $this
->t('Enter a comma separated list of user names.'),
'#target_type' => 'user',
'#tags' => TRUE,
'#default_value' => $default_value,
'#process_default_value' => $this
->isExposed(),
];
$user_input = $form_state
->getUserInput();
if ($form_state
->get('exposed') && !isset($user_input[$this->options['expose']['identifier']])) {
$user_input[$this->options['expose']['identifier']] = $default_value;
$form_state
->setUserInput($user_input);
}
}
protected function valueValidate($form, FormStateInterface $form_state) {
$uids = [];
if ($values = $form_state
->getValue([
'options',
'value',
])) {
foreach ($values as $value) {
$uids[] = $value['target_id'];
}
sort($uids);
}
$form_state
->setValue([
'options',
'value',
], $uids);
}
public function acceptExposedInput($input) {
$rc = parent::acceptExposedInput($input);
if ($rc) {
// If we have previously validated input, override.
if (isset($this->validated_exposed_input)) {
$this->value = $this->validated_exposed_input;
}
}
return $rc;
}
public function validateExposed(&$form, FormStateInterface $form_state) {
if (empty($this->options['exposed'])) {
return;
}
if (empty($this->options['expose']['identifier'])) {
return;
}
$identifier = $this->options['expose']['identifier'];
$input = $form_state
->getValue($identifier);
if ($this->options['is_grouped'] && isset($this->options['group_info']['group_items'][$input])) {
$this->operator = $this->options['group_info']['group_items'][$input]['operator'];
$input = $this->options['group_info']['group_items'][$input]['value'];
}
$uids = [];
$values = $form_state
->getValue($identifier);
if ($values && (!$this->options['is_grouped'] || $this->options['is_grouped'] && $input != 'All')) {
foreach ($values as $value) {
$uids[] = $value['target_id'];
}
}
if ($uids) {
$this->validated_exposed_input = $uids;
}
}
protected function valueSubmit($form, FormStateInterface $form_state) {
// prevent array filter from removing our anonymous user.
}
/**
* {@inheritdoc}
*/
public function getValueOptions() {
return $this->valueOptions;
}
public function adminSummary() {
// set up $this->valueOptions for the parent summary
$this->valueOptions = [];
if ($this->value) {
$result = \Drupal::entityTypeManager()
->getStorage('user')
->loadByProperties([
'uid' => $this->value,
]);
foreach ($result as $account) {
if ($account
->id()) {
$this->valueOptions[$account
->id()] = $account
->label();
}
else {
// Intentionally NOT translated.
$this->valueOptions[$account
->id()] = 'Anonymous';
}
}
}
return parent::adminSummary();
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
FilterPluginBase:: |
public | property | Disable the possibility to allow an exposed input to be optional. | |
FilterPluginBase:: |
public | property | Contains the information of the selected item in a grouped filter. | |
FilterPluginBase:: |
public | property | Disable the possibility to use operators. | 1 |
FilterPluginBase:: |
public | property | Contains the operator which is used on the query. | |
FilterPluginBase:: |
public | property | Contains the actual value of the field,either configured in the views ui or entered in the exposed filters. | |
FilterPluginBase:: |
public | function | Add a new group to the exposed filter groups. | |
FilterPluginBase:: |
protected static | function | Filter by no empty values, though allow the use of (string) "0". | |
FilterPluginBase:: |
protected | function | Build the form to let users create the group of exposed filters. | |
FilterPluginBase:: |
public | function | Render our chunk of the exposed filter form when selecting. | |
FilterPluginBase:: |
public | function | Displays the Build Group form. | |
FilterPluginBase:: |
protected | function | Provide default options for exposed filters. | |
FilterPluginBase:: |
protected | function | Save new group items, re-enumerates and remove groups marked to delete. | |
FilterPluginBase:: |
protected | function | Validate the build group options form. | |
FilterPluginBase:: |
public | function | Provide the basic form which calls through to subforms. | 2 |
FilterPluginBase:: |
protected | function | Builds wrapper for value and operator forms. | |
FilterPluginBase:: |
protected | function | Determine if a filter can be converted into a group. | |
FilterPluginBase:: |
public | function | Determine if a filter can be exposed. | 5 |
FilterPluginBase:: |
public | function | Can this filter be used in OR groups? | 1 |
FilterPluginBase:: |
public | function | Transform the input from a grouped filter into a standard filter. | |
FilterPluginBase:: |
public | function | Tell the renderer about our exposed form. This only needs to be overridden for particularly complex forms. And maybe not even then. | |
FilterPluginBase:: |
protected | function | Make some translations to a form item to make it more suitable to exposing. | |
FilterPluginBase:: |
public | function |
The cache contexts associated with this object. Overrides CacheableDependencyInterface:: |
6 |
FilterPluginBase:: |
public | function |
The maximum age for which this object may be cached. Overrides CacheableDependencyInterface:: |
|
FilterPluginBase:: |
public | function |
The cache tags associated with this object. Overrides CacheableDependencyInterface:: |
1 |
FilterPluginBase:: |
public | function | Build a form containing a group of operator | values to apply as a single filter. | |
FilterPluginBase:: |
public | function | Returns the options available for a grouped filter that users checkboxes as widget, and therefore has to be applied several times, one per item selected. | |
FilterPluginBase:: |
protected | function | Determines if the given grouped filter entry has a valid value. | 1 |
FilterPluginBase:: |
public | function | Returns TRUE if the exposed filter works like a grouped filter. | |
FilterPluginBase:: |
public | function | Returns TRUE if users can select multiple groups items of a grouped exposed filter. | |
FilterPluginBase:: |
protected | function | Options form subform for setting the operator. | 5 |
FilterPluginBase:: |
public | function | Perform any necessary changes to the form values prior to storage. | |
FilterPluginBase:: |
protected | function | Validate the operator form. | |
FilterPluginBase:: |
protected | function | Sanitizes the HTML select element's options. | |
FilterPluginBase:: |
protected | function | Shortcut to display the build_group/hide button. | |
FilterPluginBase:: |
public | function | Shortcut to display the exposed options form. | |
FilterPluginBase:: |
public | function | Shortcut to display the expose/hide button. | |
FilterPluginBase:: |
public | function | Shortcut to display the operator form. | |
FilterPluginBase:: |
protected | function | Shortcut to display the value form. | |
FilterPluginBase:: |
public | function | ||
FilterPluginBase:: |
public | function | If set to remember exposed input in the session, store it there. | |
FilterPluginBase:: |
public | function | Simple submit handler. | |
FilterPluginBase:: |
public static | function | ||
FilterPluginBase:: |
public | function | Validate the options form. | |
FilterPluginBase:: |
protected | function | Validates a filter identifier. | |
FilterPluginBase:: |
public | function | Simple validate handler. | 1 |
InOperator:: |
protected | property | 2 | |
InOperator:: |
protected | property | Stores all operations which are available on the form. | |
InOperator:: |
protected | property | The filter title. | |
InOperator:: |
public | function |
Options form subform for exposed filter options. Overrides FilterPluginBase:: |
1 |
InOperator:: |
public | function |
Provide default options for exposed filters. Overrides FilterPluginBase:: |
|
InOperator:: |
protected | function |
Overrides FilterPluginBase:: |
1 |
InOperator:: |
public | function |
Overrides \Drupal\views\Plugin\views\HandlerBase::init(). Overrides FilterPluginBase:: |
1 |
InOperator:: |
protected | function | ||
InOperator:: |
public | function |
Build strings from the operators() for 'select' options. Overrides FilterPluginBase:: |
1 |
InOperator:: |
public | function | This kind of construct makes it relatively easy for a child class to add or remove functionality by overriding this function and adding/removing items from this array. | 1 |
InOperator:: |
protected | function | ||
InOperator:: |
protected | function | 1 | |
InOperator:: |
public | function |
Add this filter to the query. Overrides FilterPluginBase:: |
5 |
InOperator:: |
public | function | When using exposed filters, we may be required to reduce the set. | |
InOperator:: |
public | function |
Overrides FilterPluginBase:: |
|
Name:: |
protected | property |
Disable the possibility to force a single value. Overrides FilterPluginBase:: |
|
Name:: |
public | function |
Determines if the input from a filter should change the generated query. Overrides InOperator:: |
|
Name:: |
public | function |
Display the filter on the administrative summary. Overrides InOperator:: |
|
Name:: |
public | function |
Child classes should be used to override this function and set the
'value options', unless 'options callback' is defined as a valid function
or static public method to generate these values. Overrides InOperator:: |
|
Name:: |
public | function | ||
Name:: |
protected | function |
Options form subform for setting options. Overrides InOperator:: |
|
Name:: |
protected | function |
Perform any necessary changes to the form values prior to storage. Overrides InOperator:: |
|
Name:: |
protected | function |
Validate the options form. Overrides FilterPluginBase:: |