checkboxes_filter-1.0.0/src/Plugin/Field/FieldWidget/CheckboxesFilterWidget.php
src/Plugin/Field/FieldWidget/CheckboxesFilterWidget.php
<?php
namespace Drupal\checkboxes_filter\Plugin\Field\FieldWidget;
use Drupal\Core\Field\FieldItemListInterface;
use Drupal\Core\Field\Plugin\Field\FieldWidget\OptionsButtonsWidget;
use Drupal\Core\Form\FormStateInterface;
/**
* Plugin implementation of the 'options_buttons' widget.
*
* @FieldWidget(
* id = "checkboxes_filter",
* label = @Translation("Check boxes filter"),
* field_types = {
* "boolean",
* "entity_reference",
* "list_integer",
* "list_float",
* "list_string",
* },
* multiple_values = TRUE
* )
*/
class CheckboxesFilterWidget extends OptionsButtonsWidget {
/**
* {@inheritdoc}
*/
public function formElement(FieldItemListInterface $items, $delta, array $element, array &$form, FormStateInterface $form_state) {
$element = parent::formElement($items, $delta, $element, $form, $form_state);
if (!empty($element['#type']) && $element['#type'] == 'checkboxes') {
$element['#filter'] = TRUE;
}
return $element;
}
}
