|
11 | 11 | use EasyCorp\Bundle\EasyAdminBundle\Contracts\Filter\FilterConfiguratorInterface; |
12 | 12 | use EasyCorp\Bundle\EasyAdminBundle\Contracts\Menu\MenuItemMatcherInterface; |
13 | 13 | use EasyCorp\Bundle\EasyAdminBundle\Contracts\Orm\EntityPaginatorInterface; |
14 | | -use EasyCorp\Bundle\EasyAdminBundle\Contracts\Provider\AdminContextProviderInterface; |
15 | 14 | use EasyCorp\Bundle\EasyAdminBundle\Contracts\Translation\EntityTranslationIdGeneratorInterface; |
| 15 | +use EasyCorp\Bundle\EasyAdminBundle\DataCollector\EasyAdminDataCollector; |
16 | 16 | use EasyCorp\Bundle\EasyAdminBundle\DependencyInjection\EasyAdminExtension; |
17 | 17 | use EasyCorp\Bundle\EasyAdminBundle\EventListener\AdminRouterSubscriber; |
18 | 18 | use EasyCorp\Bundle\EasyAdminBundle\EventListener\CrudResponseListener; |
|
72 | 72 | use EasyCorp\Bundle\EasyAdminBundle\Form\Type\CrudFormType; |
73 | 73 | use EasyCorp\Bundle\EasyAdminBundle\Form\Type\FileUploadType; |
74 | 74 | use EasyCorp\Bundle\EasyAdminBundle\Form\Type\FiltersFormType; |
75 | | -use EasyCorp\Bundle\EasyAdminBundle\Inspector\DataCollector; |
76 | 75 | use EasyCorp\Bundle\EasyAdminBundle\Intl\IntlFormatter; |
77 | 76 | use EasyCorp\Bundle\EasyAdminBundle\Maker\ClassMaker; |
78 | 77 | use EasyCorp\Bundle\EasyAdminBundle\Menu\MenuItemMatcher; |
|
81 | 80 | use EasyCorp\Bundle\EasyAdminBundle\Orm\EntityUpdater; |
82 | 81 | use EasyCorp\Bundle\EasyAdminBundle\Provider\AdminContextProvider; |
83 | 82 | use EasyCorp\Bundle\EasyAdminBundle\Provider\FieldProvider; |
| 83 | +use EasyCorp\Bundle\EasyAdminBundle\Registry\AdminControllerRegistry; |
84 | 84 | use EasyCorp\Bundle\EasyAdminBundle\Router\AdminRouteGenerator; |
85 | 85 | use EasyCorp\Bundle\EasyAdminBundle\Router\AdminRouteLoader; |
86 | 86 | use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator; |
87 | | -use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGeneratorInterface; |
88 | 87 | use EasyCorp\Bundle\EasyAdminBundle\Security\AuthorizationChecker; |
89 | 88 | use EasyCorp\Bundle\EasyAdminBundle\Security\SecurityVoter; |
90 | 89 | use EasyCorp\Bundle\EasyAdminBundle\Translation\EntityTranslationIdGenerator; |
91 | 90 | use EasyCorp\Bundle\EasyAdminBundle\Twig\Component\Alert; |
92 | 91 | use EasyCorp\Bundle\EasyAdminBundle\Twig\Component\Flag; |
93 | 92 | use EasyCorp\Bundle\EasyAdminBundle\Twig\Component\Icon; |
94 | 93 | use EasyCorp\Bundle\EasyAdminBundle\Twig\EasyAdminTwigExtension; |
95 | | -use Psr\Cache\CacheItemPoolInterface; |
96 | 94 | use Symfony\Component\DependencyInjection\ContainerInterface; |
97 | 95 | use Symfony\Component\DependencyInjection\Reference; |
98 | 96 | use Symfony\Component\DependencyInjection\ServiceLocator; |
99 | 97 | use Symfony\Component\HttpKernel\Event\ViewEvent; |
100 | 98 | use Symfony\Component\HttpKernel\KernelInterface; |
101 | | -use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface; |
102 | | -use Symfony\Component\Security\Http\Logout\LogoutUrlGenerator; |
103 | 99 |
|
104 | 100 | return static function (ContainerConfigurator $container) { |
105 | 101 | $services = $container->services() |
|
123 | 119 | ->arg(0, service(KernelInterface::class)) |
124 | 120 | ->arg(1, param('kernel.project_dir')) |
125 | 121 |
|
126 | | - ->set(DataCollector::class) |
| 122 | + ->set(EasyAdminDataCollector::class) |
127 | 123 | ->arg(0, service(AdminContextProvider::class)) |
128 | 124 | ->tag('data_collector', ['id' => 'easyadmin', 'template' => '@EasyAdmin/inspector/data_collector.html.twig']) |
129 | 125 |
|
|
187 | 183 | ->set(AdminContextFactory::class) |
188 | 184 | ->arg(0, new Reference('security.token_storage', ContainerInterface::NULL_ON_INVALID_REFERENCE)) |
189 | 185 | ->arg(1, new Reference(MenuFactory::class)) |
190 | | - ->arg(2, new Reference(EntityFactory::class)) |
191 | | - ->arg(3, service(AdminRouteGenerator::class)) |
192 | | - ->arg(4, service(ActionFactory::class)) |
193 | | - ->arg(5, service(EntityTranslationIdGeneratorInterface::class)) |
194 | | - ->arg(6, service('cache.easyadmin')) |
| 186 | + ->arg(2, new Reference(AdminControllerRegistry::class)) |
| 187 | + ->arg(3, new Reference(EntityFactory::class)) |
| 188 | + ->arg(4, service(AdminRouteGenerator::class)) |
| 189 | + ->arg(5, service(ActionFactory::class)) |
| 190 | + ->arg(6, service(EntityTranslationIdGeneratorInterface::class)) |
| 191 | + ->arg(7, service('cache.easyadmin')) |
195 | 192 |
|
196 | 193 | ->set(AdminUrlGenerator::class) |
197 | 194 | // I don't know if we truly need the share() method to get a new instance of the |
|
200 | 197 | ->share(false) |
201 | 198 | ->arg(0, service(AdminContextProvider::class)) |
202 | 199 | ->arg(1, service('router')) |
203 | | - ->arg(2, service(AdminRouteGenerator::class)) |
204 | | - ->arg(3, service('cache.easyadmin')) |
| 200 | + ->arg(2, service(AdminControllerRegistry::class)) |
| 201 | + ->arg(3, service(AdminRouteGenerator::class)) |
| 202 | + ->arg(4, service('cache.easyadmin')) |
205 | 203 |
|
206 | 204 | ->set('service_locator_'.AdminUrlGenerator::class, ServiceLocator::class) |
207 | 205 | ->args([[AdminUrlGenerator::class => service(AdminUrlGenerator::class)]]) |
|
211 | 209 | ->parent('cache.system') |
212 | 210 | ->tag('cache.pool') |
213 | 211 |
|
| 212 | + ->set(AdminControllerRegistry::class) |
| 213 | + ->arg(0, '%kernel.build_dir%') |
| 214 | + ->arg(1, abstract_arg('CRUD controller FQCN to Entity FQCN map')) |
| 215 | + ->arg(2, abstract_arg('Dashboard controller FQCNs')) |
| 216 | + |
214 | 217 | ->set(AdminRouteGenerator::class) |
215 | 218 | ->arg(0, tagged_iterator(EasyAdminExtension::TAG_DASHBOARD_CONTROLLER)) |
216 | 219 | ->arg(1, tagged_iterator(EasyAdminExtension::TAG_CRUD_CONTROLLER)) |
|
229 | 232 | ->arg(3, service(AdminUrlGenerator::class)) |
230 | 233 | ->arg(4, service(MenuItemMatcherInterface::class)) |
231 | 234 | ->arg(5, service('cache.easyadmin')) |
| 235 | + ->arg(6, service(EntityTranslationIdGeneratorInterface::class)) |
232 | 236 |
|
233 | 237 | ->set(MenuItemMatcher::class) |
234 | 238 | ->arg(0, service(AdminUrlGenerator::class)) |
|
357 | 361 | ->arg(1, new Reference(AuthorizationChecker::class)) |
358 | 362 | ->arg(2, new Reference('security.csrf.token_manager', ContainerInterface::NULL_ON_INVALID_REFERENCE)) |
359 | 363 |
|
360 | | - ->set(CollectionConfigurator::class) |
361 | | - |
362 | 364 | ->set(CommonPostConfigurator::class) |
363 | 365 | ->arg(0, service(AdminContextProvider::class)) |
364 | 366 | ->arg(1, '%kernel.charset%') |
|
0 commit comments