public function SalesforceMappingFieldsForm::submitForm in Salesforce Suite 8.4
Same name and namespace in other branches
- 5.0.x modules/salesforce_mapping_ui/src/Form/SalesforceMappingFieldsForm.php \Drupal\salesforce_mapping_ui\Form\SalesforceMappingFieldsForm::submitForm()
Submit handler.
Overrides EntityForm::submitForm
File
- modules/
salesforce_mapping_ui/ src/ Form/ SalesforceMappingFieldsForm.php, line 264
Class
- SalesforceMappingFieldsForm
- Salesforce Mapping Fields Form.
Namespace
Drupal\salesforce_mapping_ui\FormCode
public function submitForm(array &$form, FormStateInterface $form_state) {
parent::submitForm($form, $form_state);
// Need to transform the schema slightly to remove the "config" dereference.
// Also trigger submit handlers on plugins.
$form_state
->unsetValue([
'buttons',
'field_type',
'ops',
]);
$values =& $form_state
->getValues();
foreach ($values['field_mappings'] as $i => &$value) {
// Pass submit values to plugin submit handler.
$field_plugin = $this->entity
->getFieldMapping($value);
$sub_form_state = SubformState::createForSubform($form['field_mappings_wrapper']['field_mappings'][$i], $form, $form_state);
$field_plugin
->submitConfigurationForm($form['field_mappings_wrapper']['field_mappings'][$i], $sub_form_state);
$value = $value + $value['config'] + [
'id' => $i,
];
unset($value['config'], $value['ops']);
}
$this->entity
->set('field_mappings', $values['field_mappings']);
parent::submitForm($form, $form_state);
}