public function FlowForm::enableAllReferenced in CMS Content Sync 2.1.x
Same name and namespace in other branches
- 8 src/Form/FlowForm.php \Drupal\cms_content_sync\Form\FlowForm::enableAllReferenced()
- 2.0.x src/Form/FlowForm.php \Drupal\cms_content_sync\Form\FlowForm::enableAllReferenced()
Show all field settings not just the summary.
Parameters
array $form:
File
- src/
Form/ FlowForm.php, line 442
Class
- FlowForm
- Form handler for the Flow add and edit forms.
Namespace
Drupal\cms_content_sync\FormCode
public function enableAllReferenced($form, FormStateInterface $form_state) {
$trigger = $form_state
->getTriggeringElement();
$entity_type_name = $trigger['#entity_type'];
$bundle_name = $trigger['#bundle'];
$this->triggeringType = $entity_type_name;
$this->triggeringBundle = $bundle_name;
$this->triggeredAction = 'properties';
$this
->fixMissingFormStateFromAjax($form, $form_state);
$referenced_type = $trigger['#referenced_type'];
$referenced_bundles = $trigger['#referenced_bundles'];
if ('all' === $referenced_bundles) {
$entity_types = $this->bundleInfoService
->getAllBundleInfo();
foreach ($entity_types[$referenced_type] as $bundle => $set) {
if (empty($current_values['per_bundle_settings'][$referenced_type][$bundle]['settings']['handler']) || Flow::HANDLER_IGNORE == $current_values['per_bundle_settings'][$referenced_type][$bundle]['settings']['handler']) {
$form_state
->setValue([
$referenced_type,
$bundle,
'edit',
], '1');
$this->ajaxReplaceElements[] = [
$referenced_type,
$bundle,
];
}
}
}
else {
foreach ($referenced_bundles as $bundle) {
if (empty($current_values['per_bundle_settings'][$referenced_type][$bundle]['settings']['handler']) || Flow::HANDLER_IGNORE == $current_values['per_bundle_settings'][$referenced_type][$bundle]['settings']['handler']) {
$form_state
->setValue([
$referenced_type,
$bundle,
'edit',
], '1');
$this->ajaxReplaceElements[] = [
$referenced_type,
$bundle,
];
}
}
}
$form_state
->setRebuild();
}