From eec11801b0f754648e10ed7e675db0f69dd89576 Mon Sep 17 00:00:00 2001 From: Brabli <67018167+Brabli@users.noreply.github.com> Date: Wed, 31 May 2023 11:38:32 +0100 Subject: [PATCH] Fix config tree issues --- src/DependencyInjection/Configuration.php | 46 +++++++++-------------- 1 file changed, 18 insertions(+), 28 deletions(-) diff --git a/src/DependencyInjection/Configuration.php b/src/DependencyInjection/Configuration.php index b6ccc3d..cf3d7b6 100644 --- a/src/DependencyInjection/Configuration.php +++ b/src/DependencyInjection/Configuration.php @@ -13,18 +13,6 @@ class Configuration implements ConfigurationInterface public function getConfigTreeBuilder(): TreeBuilder { $treeBuilder = new TreeBuilder('pcm_icon'); - - $treeBuilder->getRootNode() - ->children() - ->arrayNode('directories') - ->scalarPrototype()->end() - ->end() - ->arrayNode('colours') // Akshewally it is defined - ->variablePrototype()->end() - ->end() - ->end() - ; - $this->addValidationRules($treeBuilder->getRootNode()); return $treeBuilder; @@ -46,23 +34,25 @@ class Configuration implements ConfigurationInterface ->end() ->end() ->end() + ->arrayNode('colours') + ->validate() + ->ifEmpty() + ->thenInvalid('Colours cannot be empty!') + ->end() + + ->arrayPrototype() + ->normalizeKeys(false) + ->children() + ->scalarNode('fill')->isRequired()->end() + ->scalarNode('stroke')->isRequired()->end() + ->scalarNode('fill-hover')->isRequired()->end() + ->scalarNode('stroke-hover')->isRequired()->end() + ->scalarNode('fill-group-hover')->isRequired()->end() + ->scalarNode('stroke-group-hover')->isRequired()->end() + ->end() + ->end() + ->end() ->end() ; - // $rootNode - // ->children() - // ->arrayNode('directories') - // ->scalarPrototype() - // ->validate() - // ->ifTrue(function ($value) { - // // Add validation logic for directories here - // return false; - // }) - - // ->thenInvalid('Invalid directory') - // ->end() - // ->end() - // ->end() - // ->end() - // ; } }