feat(php-grids): Use interfaces for grid names

This commit is contained in:
Loïc Frémont 2026-06-29 16:14:39 +02:00
parent 6218060046
commit 6735b86037
71 changed files with 110 additions and 42 deletions

View file

@ -26,7 +26,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\StringFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_admin_user')]
#[AsGrid(name: self::NAME)]
final class AdminUserGrid implements AdminUserGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface AdminUserGridInterface
{
public const NAME = 'sylius_admin_admin_user';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -29,7 +29,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
use Sylius\Component\Promotion\Model\CatalogPromotionStates;
#[AsGrid(name: 'sylius_admin_catalog_promotion')]
#[AsGrid(name: self::NAME)]
final class CatalogPromotionGrid implements CatalogPromotionGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface CatalogPromotionGridInterface
{
public const NAME = 'sylius_admin_catalog_promotion';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -25,7 +25,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\StringFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_channel')]
#[AsGrid(name: self::NAME)]
final class ChannelGrid implements ChannelGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface ChannelGridInterface
{
public const NAME = 'sylius_admin_channel';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -19,7 +19,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\DateFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_channel_pricing_log_entry')]
#[AsGrid(name: self::NAME)]
final class ChannelPricingLogEntryGrid implements ChannelPricingLogEntryGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface ChannelPricingLogEntryGridInterface
{
public const NAME = 'sylius_admin_channel_pricing_log_entry';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -22,7 +22,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\Filter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_country')]
#[AsGrid(name: self::NAME)]
final class CountryGrid implements CountryGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface CountryGridInterface
{
public const NAME = 'sylius_admin_country';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -21,7 +21,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\StringFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_currency')]
#[AsGrid(name: self::NAME)]
final class CurrencyGrid implements CurrencyGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface CurrencyGridInterface
{
public const NAME = 'sylius_admin_currency';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -26,7 +26,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\StringFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_customer')]
#[AsGrid(name: self::NAME)]
final class CustomerGrid implements CustomerGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface CustomerGridInterface
{
public const NAME = 'sylius_admin_customer';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -24,7 +24,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\StringFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_customer_group')]
#[AsGrid(name: self::NAME)]
final class CustomerGroupGrid implements CustomerGroupGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface CustomerGroupGridInterface
{
public const NAME = 'sylius_admin_customer_group';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -18,7 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\Filter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_customer_order')]
#[AsGrid(name: self::NAME)]
final class CustomerOrderGrid implements CustomerOrderGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface CustomerOrderGridInterface
{
public const NAME = 'sylius_admin_customer_order';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -24,7 +24,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\EntityFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_exchange_rate')]
#[AsGrid(name: self::NAME)]
final class ExchangeRateGrid implements ExchangeRateGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface ExchangeRateGridInterface
{
public const NAME = 'sylius_admin_exchange_rate';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -21,7 +21,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\Filter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_inventory')]
#[AsGrid(name: self::NAME)]
final class InventoryGrid implements InventoryGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface InventoryGridInterface
{
public const NAME = 'sylius_admin_inventory';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -22,7 +22,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\Filter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_locale')]
#[AsGrid(name: self::NAME)]
final class LocaleGrid implements LocaleGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface LocaleGridInterface
{
public const NAME = 'sylius_admin_locale';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -23,7 +23,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\StringFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_order')]
#[AsGrid(name: self::NAME)]
final class OrderGrid implements OrderGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface OrderGridInterface
{
public const NAME = 'sylius_admin_order';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -20,7 +20,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\Filter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_payment')]
#[AsGrid(name: self::NAME)]
final class PaymentGrid implements PaymentGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface PaymentGridInterface
{
public const NAME = 'sylius_admin_payment';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -25,7 +25,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\StringFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_payment_method')]
#[AsGrid(name: self::NAME)]
final class PaymentMethodGrid implements PaymentMethodGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface PaymentMethodGridInterface
{
public const NAME = 'sylius_admin_payment_method';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -23,7 +23,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
use Sylius\Component\Payment\Model\PaymentRequestInterface;
#[AsGrid(name: 'sylius_admin_payment_request')]
#[AsGrid(name: self::NAME)]
final class PaymentRequestGrid implements PaymentRequestGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface PaymentRequestGridInterface
{
public const NAME = 'sylius_admin_payment_request';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -24,7 +24,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\Filter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_product_association_type')]
#[AsGrid(name: self::NAME)]
final class ProductAssociationTypeGrid implements ProductAssociationTypeGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface ProductAssociationTypeGridInterface
{
public const NAME = 'sylius_admin_product_association_type';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -35,7 +35,7 @@ use Sylius\Component\Attribute\AttributeType\TextareaAttributeType;
use Sylius\Component\Attribute\AttributeType\TextAttributeType;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_product_attribute')]
#[AsGrid(name: self::NAME)]
final class ProductAttributeGrid implements ProductAttributeGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface ProductAttributeGridInterface
{
public const NAME = 'sylius_admin_product_attribute';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -28,7 +28,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\StringFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_product')]
#[AsGrid(name: self::NAME)]
final class ProductGrid implements ProductGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface ProductGridInterface
{
public const NAME = 'sylius_admin_product';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -24,7 +24,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\StringFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_product_option')]
#[AsGrid(name: self::NAME)]
final class ProductOptionGrid implements ProductOptionGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface ProductOptionGridInterface
{
public const NAME = 'sylius_admin_product_option';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -25,7 +25,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\SelectFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_product_review')]
#[AsGrid(name: self::NAME)]
final class ProductReviewGrid implements ProductReviewGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface ProductReviewGridInterface
{
public const NAME = 'sylius_admin_product_review';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -26,7 +26,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\StringFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_product_taxon')]
#[AsGrid(name: self::NAME)]
final class ProductTaxonGrid implements ProductTaxonGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface ProductTaxonGridInterface
{
public const NAME = 'sylius_admin_product_taxon';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -27,7 +27,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\Filter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_product_variant')]
#[AsGrid(name: self::NAME)]
final class ProductVariantGrid implements ProductVariantGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface ProductVariantGridInterface
{
public const NAME = 'sylius_admin_product_variant';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -23,7 +23,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\StringFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_product_variant_with_catalog_promotion')]
#[AsGrid(name: self::NAME)]
final class ProductVariantWithCatalogPromotionGrid implements ProductVariantWithCatalogPromotionGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface ProductVariantWithCatalogPromotionGridInterface
{
public const NAME = 'sylius_admin_product_variant_with_catalog_promotion';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -27,7 +27,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\Filter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_promotion_coupon')]
#[AsGrid(name: self::NAME)]
final class PromotionCouponGrid implements PromotionCouponGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface PromotionCouponGridInterface
{
public const NAME = 'sylius_admin_promotion_coupon';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -28,7 +28,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\StringFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_promotion')]
#[AsGrid(name: self::NAME)]
final class PromotionGrid implements PromotionGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface PromotionGridInterface
{
public const NAME = 'sylius_admin_promotion';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -22,7 +22,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\SelectFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_shipment')]
#[AsGrid(name: self::NAME)]
final class ShipmentGrid implements ShipmentGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface ShipmentGridInterface
{
public const NAME = 'sylius_admin_shipment';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -24,7 +24,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\Filter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_shipping_category')]
#[AsGrid(name: self::NAME)]
final class ShippingCategoryGrid implements ShippingCategoryGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface ShippingCategoryGridInterface
{
public const NAME = 'sylius_admin_shipping_category';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -28,7 +28,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\StringFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_shipping_method')]
#[AsGrid(name: self::NAME)]
final class ShippingMethodGrid implements ShippingMethodGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface ShippingMethodGridInterface
{
public const NAME = 'sylius_admin_shipping_method';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -24,7 +24,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\StringFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_tax_category')]
#[AsGrid(name: self::NAME)]
final class TaxCategoryGrid implements TaxCategoryGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface TaxCategoryGridInterface
{
public const NAME = 'sylius_admin_tax_category';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -27,7 +27,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\StringFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_tax_rate')]
#[AsGrid(name: self::NAME)]
final class TaxRateGrid implements TaxRateGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface TaxRateGridInterface
{
public const NAME = 'sylius_admin_tax_rate';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -8,7 +8,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\StringFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_taxon')]
#[AsGrid(name: self::NAME)]
final class TaxonGrid implements TaxonGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface TaxonGridInterface
{
public const NAME = 'sylius_admin_taxon';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -24,7 +24,7 @@ use Sylius\Bundle\GridBundle\Builder\Filter\StringFilter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_zone')]
#[AsGrid(name: self::NAME)]
final class ZoneGrid implements ZoneGridInterface
{
public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface ZoneGridInterface
{
public const NAME = 'sylius_admin_zone';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -18,11 +18,10 @@ use Sylius\Bundle\GridBundle\Builder\ActionGroup\ItemActionGroup;
use Sylius\Bundle\GridBundle\Builder\Field\DateTimeField;
use Sylius\Bundle\GridBundle\Builder\Field\TwigField;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Bundle\GridBundle\Grid\AbstractGrid;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_shop_account_order')]
final class OrderGrid extends AbstractGrid implements OrderGridInterface
#[AsGrid(name: self::NAME)]
final class OrderGrid implements OrderGridInterface
{
public function __construct(
private readonly string $orderClass,

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface OrderGridInterface
{
public const NAME = 'sylius_shop_account_order';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -18,11 +18,10 @@ use Sylius\Bundle\GridBundle\Builder\Field\Field;
use Sylius\Bundle\GridBundle\Builder\Field\StringField;
use Sylius\Bundle\GridBundle\Builder\Filter\Filter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Bundle\GridBundle\Grid\AbstractGrid;
use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_shop_product')]
final class ProductGrid extends AbstractGrid implements ProductGridInterface
#[AsGrid(name: self::NAME)]
final class ProductGrid implements ProductGridInterface
{
public function __construct(
private readonly string $productClass,
@ -36,7 +35,7 @@ final class ProductGrid extends AbstractGrid implements ProductGridInterface
'channel' => "expr:service('sylius.context.channel').getChannel()",
'taxon' => "expr:notFoundOnNull(service('sylius.repository.taxon').findOneBySlug(\$slug, service('sylius.context.locale').getLocaleCode()))",
'locale' => "expr:service('sylius.context.locale').getLocaleCode()",
'sorting' => "expr:service('request_stack').getCurrentRequest().get('sorting', [])",
'sorting' => "expr:service('request_stack').getCurrentRequest().query.all('sorting')",
'includeAllDescendants' => "expr:parameter('sylius_shop.product_grid.include_all_descendants')",
])
->setDriverOption('class', $this->productClass)

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */
interface ProductGridInterface
{
public const NAME = 'sylius_shop_product';
public function __invoke(GridBuilderInterface $gridBuilder): void;
}

View file

@ -20,7 +20,7 @@ return static function (ContainerConfigurator $container) {
->args([
'%sylius.model.order.class%',
])
->tag('sylius.grid')
->tag('sylius.invokable_grid')
;
$services->alias(\Sylius\Bundle\ShopBundle\Grid\Account\OrderGridInterface::class, "sylius_shop.grid.account.order");
@ -29,7 +29,7 @@ return static function (ContainerConfigurator $container) {
->args([
'%sylius.model.product.class%',
])
->tag('sylius.grid')
->tag('sylius.invokable_grid')
;
$services->alias(\Sylius\Bundle\ShopBundle\Grid\ProductGridInterface::class,"sylius_shop.grid.product");