function apigee_api_catalog_form_node_form_alter in Apigee API Catalog 8.2
Implements hook_form_FORM_ID_alter().
File
- ./
apigee_api_catalog.module, line 149 - Copyright 2019 Google Inc.
Code
function apigee_api_catalog_form_node_form_alter(&$form, FormStateInterface $form_state, $form_id) {
$node = $form_state
->getFormObject()
->getEntity();
if ($node
->bundle() != 'apidoc') {
return;
}
$form['field_apidoc_spec']['#states'] = [
'visible' => [
':input[name="field_apidoc_spec_file_source"]' => [
'value' => SpecFetcherInterface::SPEC_AS_FILE,
],
],
];
// @todo: #states does not work on managed files.
// @see: https://www.drupal.org/project/drupal/issues/2847425
$form['field_apidoc_spec']['widget'][0]['#states'] = [
'required' => [
':input[name="field_apidoc_spec_file_source"]' => [
'value' => SpecFetcherInterface::SPEC_AS_FILE,
],
],
];
$form['field_apidoc_file_link']['#states'] = [
'visible' => [
[
':input[name="field_apidoc_spec_file_source"]' => [
'value' => SpecFetcherInterface::SPEC_AS_URL,
],
],
],
];
$form['field_apidoc_file_link']['widget'][0]['uri']['#states'] = [
'required' => [
[
':input[name="field_apidoc_spec_file_source"]' => [
'value' => SpecFetcherInterface::SPEC_AS_URL,
],
],
],
];
$form['#validate'][] = '_apigee_api_catalog_form_node_form_validate';
}