diff --git a/core/lib/Drupal/Core/Config/TypedConfigManager.php b/core/lib/Drupal/Core/Config/TypedConfigManager.php index d775cc2d30ea6be8460a8d37b9e02769d3bfca5c..fb1c19808eb6d7aa4786ab72aa31b0ca114e78ec 100644 --- a/core/lib/Drupal/Core/Config/TypedConfigManager.php +++ b/core/lib/Drupal/Core/Config/TypedConfigManager.php @@ -130,7 +130,9 @@ public function getDefinition($base_plugin_id, $exception_on_invalid = TRUE) { // Check whether this type is an extension of another one and compile it. if (isset($definition['type'])) { $merge = $this->getDefinition($definition['type'], $exception_on_invalid); - $definition = NestedArray::mergeDeep($merge, $definition); + // Preserve integer keys on merge, so sequence item types can override + // parent settings as opposed to adding unused second, third, etc. items. + $definition = NestedArray::mergeDeepArray(array($merge, $definition), TRUE); // Unset type so we try the merge only once per type. unset($definition['type']); $this->definitions[$type] = $definition; diff --git a/core/modules/taxonomy/config/schema/taxonomy.views.schema.yml b/core/modules/taxonomy/config/schema/taxonomy.views.schema.yml index 3b46f3da77ec2f5a072c00b5bb4bfc4b30be0ee8..d64639ec739baed83d343bef0151d5dd014b5f41 100644 --- a/core/modules/taxonomy/config/schema/taxonomy.views.schema.yml +++ b/core/modules/taxonomy/config/schema/taxonomy.views.schema.yml @@ -148,29 +148,17 @@ views.filter.taxonomy_index_tid: error_message: type: boolean label: 'Display error message' - -views.filter.taxonomy_index_tid_depth: - type: views.filter.in_operator - label: 'Taxonomy term ID with depth' - mapping: - operator: - type: string - label: 'Operator' value: type: sequence label: 'Values' sequence: - - type: string + - type: integer label: 'Value' - vid: - type: string - label: 'Vocabulary' - type: - type: string - label: 'Selection type' - hierarchy: - type: boolean - label: 'Show hierarchy in dropdown' + +views.filter.taxonomy_index_tid_depth: + type: views.filter.taxonomy_index_tid + label: 'Taxonomy term ID with depth' + mapping: depth: type: integer label: 'Depth' diff --git a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_filter_taxonomy_index_tid.yml b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_filter_taxonomy_index_tid.yml index 430f6f983f54bff5921893564c721731569ee1b5..c8b3192fb55cfa587ebbe9382a230fe5ee45c5bd 100644 --- a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_filter_taxonomy_index_tid.yml +++ b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_filter_taxonomy_index_tid.yml @@ -136,7 +136,7 @@ display: admin_label: '' operator: or value: - - '2' + - 2 group: 1 exposed: false expose: diff --git a/core/modules/views/config/schema/views.filter.schema.yml b/core/modules/views/config/schema/views.filter.schema.yml index 3a97c25b301b983192b248dbddfde43e746b3e04..969d212f371c16ab35e98db978818b58173d828b 100644 --- a/core/modules/views/config/schema/views.filter.schema.yml +++ b/core/modules/views/config/schema/views.filter.schema.yml @@ -101,18 +101,9 @@ views.filter.many_to_one: type: views.filter.in_operator label: 'Many to one' mapping: - operator: - type: string - label: 'Operator' reduce_duplicates: type: boolean label: 'Reduce duplicate' - value: - type: sequence - label: 'Values' - sequence: - - type: string - label: 'Value' views.filter.standard: type: views_filter @@ -140,7 +131,3 @@ views.filter_value.combine: views.filter.language: type: views.filter.in_operator label: 'Language' - -views.filter_value.language: - type: string - label: 'Language'