public function EntityqueueDragtableWidget::form in Entityqueue 8
Creates a form element for a field.
If the entity associated with the form is new (i.e., $entity->isNew() is TRUE), the 'default value', if any, is pre-populated. Also allows other modules to alter the form element by implementing their own hooks.
Parameters
\Drupal\Core\Field\FieldItemListInterface $items: An array of the field values. When creating a new entity this may be NULL or an empty array to use default values.
array $form: An array representing the form that the editing element will be attached to.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
int $get_delta: Used to get only a specific delta value of a multiple value field.
Return value
array The form element array created for this field.
Overrides WidgetBase::form
File
- src/
Plugin/ Field/ FieldWidget/ EntityqueueDragtableWidget.php, line 88
Class
- EntityqueueDragtableWidget
- Plugin implementation of the 'entityqueue_dragtable' widget.
Namespace
Drupal\entityqueue\Plugin\Field\FieldWidgetCode
public function form(FieldItemListInterface $items, array &$form, FormStateInterface $form_state, $get_delta = NULL) {
if ($this->fieldDefinition
->getTargetEntityTypeId() === 'entity_subqueue' && $this->fieldDefinition
->getName() === 'items') {
// Restrict the cardinality of the 'items' field if the queue has defined
// a maximum number of items and it is not configured to act as a queue.
/** @var \Drupal\entityqueue\EntityQueueInterface $queue */
$queue = $items
->getEntity()
->getQueue();
if (($max_size = $queue
->getMaximumSize()) && !$queue
->getActAsQueue()) {
$this->fieldDefinition
->getFieldStorageDefinition()
->setCardinality($max_size);
}
}
return parent::form($items, $form, $form_state, $get_delta);
}