Skip to content

Commit

Permalink
Merge pull request #374 from loic425/feature/use-grids-as-service
Browse files Browse the repository at this point in the history
Use grids as service
  • Loading branch information
loic425 committed Dec 16, 2021
2 parents 1cef6e6 + 2f19fae commit 1f49401
Show file tree
Hide file tree
Showing 8 changed files with 155 additions and 95 deletions.
3 changes: 2 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
"App\\EventSubscriber\\": "src/Monofony/Pack/CorePack/.recipe/src/EventSubscriber/",
"App\\Fixture\\": "src/Monofony/Pack/CorePack/.recipe/src/Fixture/",
"App\\Form\\": "src/Monofony/Pack/CorePack/.recipe/src/Form/",
"App\\Grid\\": "src/Monofony/Pack/AdminPack/.recipe/src/Grid/",
"App\\Identifier\\": "src/Monofony/Pack/ApiPack/.recipe/src/Identifier/",
"App\\Installer\\": "src/Monofony/Pack/CorePack/.recipe/src/Installer/",
"App\\Installer\\Checker\\": "src/Monofony/Pack/CorePack/.recipe/src/Installer/Checker/",
Expand Down Expand Up @@ -77,7 +78,7 @@
"sensiolabs/security-checker": "^6.0",
"sonata-project/block-bundle": "^4.2",
"sylius/fixtures-bundle": "^1.7",
"sylius/grid-bundle": "^1.9",
"sylius/grid-bundle": "dev-master",
"sylius/mailer-bundle": "^1.6",
"sylius/resource-bundle": "^1.8",
"symfony/asset": "^5.3",
Expand Down
1 change: 0 additions & 1 deletion config/packages/monofony_admin.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
imports:
- { resource: '../../src/Monofony/Pack/AdminPack/.recipe/config/packages/monofony_admin.yaml' }
- { resource: '../../src/Monofony/Pack/AdminPack/.recipe/config/sylius/grids/**/*.yaml' }

This file was deleted.

This file was deleted.

81 changes: 81 additions & 0 deletions src/Monofony/Pack/AdminPack/.recipe/src/Grid/AdminUserGrid.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
<?php

declare(strict_types=1);

namespace App\Grid;

use App\Entity\User\AdminUser;
use Sylius\Bundle\GridBundle\Builder\Action\CreateAction;
use Sylius\Bundle\GridBundle\Builder\Action\DeleteAction;
use Sylius\Bundle\GridBundle\Builder\Action\UpdateAction;
use Sylius\Bundle\GridBundle\Builder\ActionGroup\BulkActionGroup;
use Sylius\Bundle\GridBundle\Builder\ActionGroup\ItemActionGroup;
use Sylius\Bundle\GridBundle\Builder\ActionGroup\MainActionGroup;
use Sylius\Bundle\GridBundle\Builder\Field\StringField;
use Sylius\Bundle\GridBundle\Builder\Field\TwigField;
use Sylius\Bundle\GridBundle\Builder\Filter\StringFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Bundle\GridBundle\Grid\AbstractGrid;
use Sylius\Bundle\GridBundle\Grid\ResourceAwareGridInterface;

final class AdminUserGrid extends AbstractGrid implements ResourceAwareGridInterface
{
public static function getName(): string
{
return 'sylius_backend_admin_user';
}

public function buildGrid(GridBuilderInterface $gridBuilder): void
{
$gridBuilder
->orderBy('email', 'desc')
->addField(
StringField::create('firstName')
->setLabel('sylius.ui.first_name')
->setSortable(true)
)
->addField(
StringField::create('lastName')
->setLabel('sylius.ui.last_name')
->setSortable(true)
)
->addField(
StringField::create('username')
->setLabel('sylius.ui.username')
->setSortable(true)
)
->addField(
StringField::create('email')
->setLabel('sylius.ui.email')
->setSortable(true)
)
->addField(
TwigField::create('enabled', '@SyliusUi/Grid/Field/enabled.html.twig')
->setLabel('sylius.ui.enabled')
->setSortable(true)
)
->addFilter(StringFilter::create('search', ['email', 'username', 'firstName', 'lastName']))
->addActionGroup(
MainActionGroup::create(
CreateAction::create(),
)
)
->addActionGroup(
ItemActionGroup::create(
UpdateAction::create(),
DeleteAction::create(),
)
)
->addActionGroup(
BulkActionGroup::create(
DeleteAction::create()
)
)
;
}

public function getResourceClass(): string
{
return AdminUser::class;
}
}
70 changes: 70 additions & 0 deletions src/Monofony/Pack/AdminPack/.recipe/src/Grid/CustomerGrid.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
<?php

declare(strict_types=1);

namespace App\Grid;

use App\Entity\Customer\Customer;
use Sylius\Bundle\GridBundle\Builder\Action\CreateAction;
use Sylius\Bundle\GridBundle\Builder\Action\ShowAction;
use Sylius\Bundle\GridBundle\Builder\Action\UpdateAction;
use Sylius\Bundle\GridBundle\Builder\ActionGroup\ItemActionGroup;
use Sylius\Bundle\GridBundle\Builder\ActionGroup\MainActionGroup;
use Sylius\Bundle\GridBundle\Builder\Field\DateTimeField;
use Sylius\Bundle\GridBundle\Builder\Field\StringField;
use Sylius\Bundle\GridBundle\Builder\Filter\StringFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Bundle\GridBundle\Grid\AbstractGrid;
use Sylius\Bundle\GridBundle\Grid\ResourceAwareGridInterface;

final class CustomerGrid extends AbstractGrid implements ResourceAwareGridInterface
{
public static function getName(): string
{
return 'sylius_backend_customer';
}

public function buildGrid(GridBuilderInterface $gridBuilder): void
{
$gridBuilder
->orderBy('createdAt', 'desc')
->addField(
StringField::create('firstName')
->setLabel('sylius.ui.first_name')
->setSortable(true)
)
->addField(
StringField::create('lastName')
->setLabel('sylius.ui.last_name')
->setSortable(true)
)
->addField(
StringField::create('email')
->setLabel('sylius.ui.email')
->setSortable(true)
)
->addField(
DateTimeField::create('createdAt')
->setLabel('sylius.ui.registration_date')
->setSortable(true)
)
->addFilter(StringFilter::create('search', ['email', 'firstName', 'lastName']))
->addActionGroup(
MainActionGroup::create(
CreateAction::create(),
)
)
->addActionGroup(
ItemActionGroup::create(
ShowAction::create(),
UpdateAction::create(),
)
)
;
}

public function getResourceClass(): string
{
return Customer::class;
}
}
2 changes: 1 addition & 1 deletion src/Monofony/Pack/AdminPack/composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"monofony/ui-bundle": "^1.10",
"phpstan/phpstan": "^0.12",
"sonata-project/block-bundle": "^4.2",
"sylius/grid-bundle": "^1.9",
"sylius/grid-bundle": "dev-master",
"symfony/asset": "^5.3",
"symfony/routing": "^5.3",
"symfony/templating": "^5.3",
Expand Down
1 change: 1 addition & 0 deletions src/Monofony/Pack/AdminPack/phpstan.neon
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ parameters:
- 'vendor/**.php'
- '**/spec/**.php'
- .recipe/src/Dashboard/Statistics/CustomerStatistic.php
- .recipe/src/Grid/**.php

0 comments on commit 1f49401

Please sign in to comment.