examquiz-8.x-1.x-dev/src/Plugin/Field/FieldWidget/ExamFieldDefaultWidget.php
src/Plugin/Field/FieldWidget/ExamFieldDefaultWidget.php
<?php
namespace Drupal\examquiz\Plugin\Field\FieldWidget;
use Drupal;
use Drupal\Core\Field\WidgetBase;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Field\FieldItemListInterface;
use Drupal\Core\Field\Plugin\Field\FieldWidget\EntityReferenceAutocompleteWidget;
/**
* Plugin implementation of the 'ExamFieldDefaultWidget' widget.
*
* @FieldWidget(
* id = "ExamFieldDefaultWidget",
* label = @Translation("Exam selector"),
* field_types = {
* "exam_field"
* }
* )
*/
class ExamFieldDefaultWidget extends EntityReferenceAutocompleteWidget {
/**
* Define the form for the field type.
*
* Inside this method we can define the form used to edit the field type.
*
* Here there is a list of allowed element types: https://goo.gl/XVd4tA
*/
public function formElement(FieldItemListInterface $items, $delta, array $element, array &$form, FormStateInterface $form_state) {
$widget = parent::formElement($items, $delta, $element, $form, $form_state);
$widget['score'] = [
'#type' => 'textfield',
'#title' => t('Score'),
'#default_value' => isset($items[$delta]) ? $items[$delta]->score : 1,
'#min' => 1,
'#weight' => 10,
];
return $widget;
}
}