public function ItemForm::targetEntityTypeCallback in Business Rules 2.x
Same name and namespace in other branches
- 8 src/Form/ItemForm.php \Drupal\business_rules\Form\ItemForm::targetEntityTypeCallback()
Show the list of bundles according the selected Entity Type.
Parameters
array $form: The form array.
\Drupal\Core\Form\FormStateInterface $form_state: The form state object.
Return value
\Drupal\Core\Ajax\AjaxResponse The AjaxResponse.
File
- src/
Form/ ItemForm.php, line 540
Class
- ItemForm
- Base class for Business rules item.
Namespace
Drupal\business_rules\FormCode
public function targetEntityTypeCallback(array &$form, FormStateInterface $form_state) {
$selected_entity_type = $form_state
->getValue('target_entity_type');
$target_bundle =& $form['settings']['context']['target_bundle'];
$target_bundle['#options'] = $this->util
->getBundles($selected_entity_type);
$target_bundle['#default_value'] = '';
$target_bundle['#ajax'] = [
'callback' => [
$this,
'targetBundleCallback',
],
];
$field =& $form['settings']['field'];
$field['#options'] = [
'' => t('-Select-'),
];
$field['#default_value'] = '';
$response = new AjaxResponse();
$response
->addCommand(new ReplaceCommand('#target_bundle-wrapper', $target_bundle));
$response
->addCommand(new ReplaceCommand('#field_selector-wrapper', $field));
$form_state
->setRebuild();
return $response;
}