public static function WidgetSubmit::doSubmit in Library 8
Submits the widget elements, saving and deleted entities where needed.
Parameters
array $form: The form.
\Drupal\Core\Form\FormStateInterface $form_state: The form state.
File
- src/
WidgetSubmit.php, line 44
Class
- WidgetSubmit
- Performs widget submission.
Namespace
Drupal\libraryCode
public static function doSubmit(array $form, FormStateInterface $form_state) {
$callback = $form_state
->getFormObject();
$entity = $callback
->getEntity();
/** @var \Drupal\node\Entity\Node $entity */
$fields = $entity
->getFieldDefinitions();
/** @var \Drupal\Core\Field\FieldDefinitionInterface[] $fields */
$libraryFields = [];
foreach ($fields as $field) {
if ($field
->getType() == 'library_item_field_type') {
$libraryFields[] = $field;
}
}
if (count($libraryFields) > 1) {
\Drupal::messenger()
->addError(t('Only one library field per bundle supported.'));
return;
}
if (isset($libraryFields[0])) {
$submittedValues = $form_state
->getValue($libraryFields[0]
->getName());
self::processLibraryItems($libraryFields[0], $submittedValues, $entity);
}
}