From 96dc1923e3fac0eb175b3abe776d9f16ba838bce Mon Sep 17 00:00:00 2001
From: Alex Pott <alex.a.pott@googlemail.com>
Date: Mon, 25 Jan 2016 18:03:16 +0000
Subject: [PATCH] Issue #2650994 by drunken monkey: Javascript states not
 working for boolean fields

---
 .../Field/Plugin/Field/FieldFormatter/BooleanFormatter.php   | 5 +++--
 .../Field/Plugin/Field/FieldFormatter/TimestampFormatter.php | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/BooleanFormatter.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/BooleanFormatter.php
index 28229051cb8f..74c7523f1727 100644
--- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/BooleanFormatter.php
+++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/BooleanFormatter.php
@@ -83,6 +83,7 @@ public function settingsForm(array $form, FormStateInterface $form_state) {
       }
     }
 
+    $field_name = $this->fieldDefinition->getName();
     $form['format'] = [
       '#type' => 'select',
       '#title' => $this->t('Output format'),
@@ -95,7 +96,7 @@ public function settingsForm(array $form, FormStateInterface $form_state) {
       '#default_value' => $this->getSetting('format_custom_true'),
       '#states' => [
         'visible' => [
-          'select[name="fields[field_boolean][settings_edit_form][settings][format]"]' => ['value' => 'custom'],
+          'select[name="fields[' . $field_name . '][settings_edit_form][settings][format]"]' => ['value' => 'custom'],
         ],
       ],
     ];
@@ -105,7 +106,7 @@ public function settingsForm(array $form, FormStateInterface $form_state) {
       '#default_value' => $this->getSetting('format_custom_false'),
       '#states' => [
         'visible' => [
-          'select[name="fields[field_boolean][settings_edit_form][settings][format]"]' => ['value' => 'custom'],
+          'select[name="fields[' . $field_name . '][settings_edit_form][settings][format]"]' => ['value' => 'custom'],
         ],
       ],
     ];
diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampFormatter.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampFormatter.php
index c117a09ebd68..8518074e361b 100644
--- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampFormatter.php
+++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldFormatter/TimestampFormatter.php
@@ -131,7 +131,7 @@ public function settingsForm(array $form, FormStateInterface $form_state) {
     );
 
     $elements['custom_date_format']['#states']['visible'][] = array(
-      ':input[name="options[settings][date_format]"]' => array('value' => 'custom'),
+      ':input[name="name="fields[' . $this->fieldDefinition->getName() . '][settings_edit_form][settings][date_format]"]' => array('value' => 'custom'),
     );
 
     $elements['timezone'] = array(
-- 
GitLab