<?php

namespace App\Menu;

use Knp\Menu\FactoryInterface;

class MenuBuilder1
{
    private $factory;

    public function __construct(FactoryInterface $factory)
    {
        $this->factory = $factory;
    }

    public function createMainMenu(array $options)
    {
        $menu = $this->factory->createItem('root');
        $menu->setChildrenAttribute('class', 'nav nav-pills nav-sidebar flex-column');
        $menu->setChildrenAttribute('data-widget', 'treeview');
        $menu->setChildrenAttribute('role', 'menu');
        $menu->setChildrenAttribute('data-accordion', 'false');

        $menu->addChild('M00', [
            'label' => 'Tableau de boad',
            'route' => 'app_dashboard'
            ])
            ->setAttribute('icon', 'fa-tachometer-alt')
            ->setChildrenAttribute('class', 'nav nav-treeview');

        $menu->addChild('M01', [
            'label' => 'Paramètres',
            'route' => 'homepage'
            ])
            ->setAttribute('icon', 'fa-th')
            ->setChildrenAttribute('class', 'nav nav-treeview');
            $menu['M01']->addChild('Gestion des Ministères', ['route' => 'app_ministries']);
            $menu['M01']->addChild('Gestion des Programmes', ['route' => 'app_programms']);
            $menu['M01']->addChild('Gestion des Directions', ['route' => 'app_directions']);
            $menu['M01']->addChild('Gestion des Communes', ['route' => 'app_communes']);
            $menu['M01']->addChild('Gestion des Postes', ['route' => 'app_postes']);
            $menu['M01']->addChild('Gestion Natures', ['route' => 'app_natures']);
            $menu['M01']->addChild("Gestion des ppréciations", ['route' => 'app_appreciations']);

         $menu->addChild('M02', [
            'label' => 'Chargements',
            'route' => 'homepage'
            ])
            ->setAttribute('icon', 'fa-copy')
            ->setChildrenAttribute('class', 'nav nav-treeview');
            $menu['M02']->addChild('Chargement du PTA', ['route' => 'app_upload']);
            $menu['M02']->addChild('Validation du PTA', ['route' => 'app_validate', 'routeParameters' => ['id' => 0]]);

        $menu->addChild('M03', [
            'label' => 'ODD',
            'route' => 'homepage'
            ])
            ->setAttribute('icon', 'fa-edit')
            ->setChildrenAttribute('class', 'nav nav-treeview');
            $menu['M03']->addChild('Gestion des ODD', ['route' => 'app_goals']);
            $menu['M03']->addChild('Gestion des Cibles', ['route' => 'app_targets']);
            $menu['M03']->addChild('Gestion des Indicateurs', ['route' => 'app_indicators']);

        $menu->addChild('M04', [
            'label' => 'PTA',
            'route' => 'homepage'
            ])
            ->setAttribute('icon', 'fa-table')
            ->setChildrenAttribute('class', 'nav nav-treeview');
            $menu['M04']->addChild('Gestion des Actions', ['route' => 'app_actions']);
            $menu['M04']->addChild('Gestion des Activités', ['route' => 'app_activities']);
            $menu['M04']->addChild('Notation du PTA', ['route' => 'app_notations', 'routeParameters' => ['id' => 0]]);

        $menu->addChild('M06', [
            'label' => 'Graphiques',
            'route' => 'homepage'
            ])
            ->setAttribute('icon', 'fa-chart-pie')
            ->setChildrenAttribute('class', 'nav nav-treeview');
            $menu['M06']->addChild('Sensibilité global ODD', ['route' => 'app_graph_global']);
            $menu['M06']->addChild('Sensibilité par ministère', ['route' => 'app_graph_ministry']);
            $menu['M06']->addChild('Sensibilité par ODD', ['route' => 'app_graph_goal']);
            $menu['M06']->addChild('Sensibilité par coût', ['route' => 'app_graph_cost']);

        $menu->addChild('M07', [
            'label' => 'Outputs',
            'route' => 'homepage'
            ])
            ->setAttribute('icon', 'fa-book')
            ->setChildrenAttribute('class', 'nav nav-treeview');
            $menu['M07']->addChild('Ministère / ODD', ['route' => 'app_output_goal']);
            $menu['M07']->addChild('Ministère / Cible', ['route' => 'app_output_target']);
            $menu['M07']->addChild('ODD / Ministère', ['route' => 'app_output_ministry']);
            $menu['M07']->addChild('ODD / Programme', ['route' => 'app_output_programm']);
            $menu['M07']->addChild('ODD / Direction', ['route' => 'app_output_direction']);
            $menu['M07']->addChild('Données des Activités', ['route' => 'app_output_activity_list']);
            //$menu['M07']->addChild('Détails des ODD', ['route' => 'app_output_goal_list']);
            //$menu['M07']->addChild("Coûts par Nature", ['route' => 'app_dashboard']);
            //$menu['M07']->addChild('Coûts par Cible', ['route' => 'app_dashboard']);
            //$menu['M07']->addChild('Coûts par ODD', ['route' => 'app_dashboard']);
            //$menu['M07']->addChild("Activités sans cible", ['route' => 'app_dashboard']);

        $menu->addChild('M08', [
            'label' => 'Administration',
            'route' => 'homepage'
            ])
            ->setAttribute('icon', 'fa-plus-square')
            ->setChildrenAttribute('class', 'nav nav-treeview');
            $menu['M08']->addChild('Gestion des utilisateurs', ['route' => 'app_users']);
            $menu['M08']->addChild("Paramètres de l'app", ['route' => 'app_settings']);

        return $menu;
    }
}
