public function FontAwesomeIconpickerWidget::massageFormValues in Font Awesome Icons 8.2
Massages the form values into the format expected for field values.
Parameters
array $values: The submitted form values produced by the widget.
- If the widget does not manage multiple values itself, the array holds the values generated by the multiple copies of the $element generated by the formElement() method, keyed by delta.
- If the widget manages multiple values, the array holds the values of the form element generated by the formElement() method.
array $form: The form structure where field elements are attached to. This might be a full form structure, or a sub-element of a larger form.
\Drupal\Core\Form\FormStateInterface $form_state: The form state.
Return value
array An array of field values, keyed by delta.
Overrides FontAwesomeIconWidget::massageFormValues
File
- modules/
fontawesome_iconpicker_widget/ src/ Plugin/ Field/ FieldWidget/ FontAwesomeIconpickerWidget.php, line 177
Class
- FontAwesomeIconpickerWidget
- Fontawesome Iconpicker Widget.
Namespace
Drupal\fontawesome_iconpicker_widget\Plugin\Field\FieldWidgetCode
public function massageFormValues(array $values, array $form, FormStateInterface $form_state) {
// Loop over each item and set the data properly.
foreach ($values as &$item) {
// Reset $item['icon_name'] to the base name.
$class = $item['icon_name'];
$item['icon_name'] = $this->iconManager
->getIconBaseNameFromClass($class);
$item['style'] = $this->iconManager
->getIconPrefixFromClass($class);
unset($item['settings']['style']);
if (!empty($item['settings']['masking']['mask'])) {
$mask_class = $item['settings']['masking']['mask'];
$item['settings']['masking']['mask'] = $this->iconManager
->getIconBaseNameFromClass($mask_class);
$item['settings']['masking']['style'] = $this->iconManager
->getIconPrefixFromClass($mask_class);
}
// Massage rotate and flip values to make them format properly.
if (is_numeric($item['settings']['power_transforms']['rotate']['value'])) {
$item['settings']['power_transforms']['rotate']['type'] = 'rotate';
}
else {
unset($item['settings']['power_transforms']['rotate']);
}
if (!empty($item['settings']['power_transforms']['flip-h']['value'])) {
$item['settings']['power_transforms']['flip-h']['type'] = 'flip';
}
else {
unset($item['settings']['power_transforms']['flip-h']);
}
if (!empty($item['settings']['power_transforms']['flip-v']['value'])) {
$item['settings']['power_transforms']['flip-v']['type'] = 'flip';
}
else {
unset($item['settings']['power_transforms']['flip-v']);
}
$item['settings'] = serialize(array_filter($item['settings']));
}
return $values;
}