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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_admin_user')] #[AsGrid(name: self::NAME)]
final class AdminUserGrid implements AdminUserGridInterface final class AdminUserGrid implements AdminUserGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface AdminUserGridInterface interface AdminUserGridInterface
{ {
public const NAME = 'sylius_admin_admin_user';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Grid\Attribute\AsGrid;
use Sylius\Component\Promotion\Model\CatalogPromotionStates; use Sylius\Component\Promotion\Model\CatalogPromotionStates;
#[AsGrid(name: 'sylius_admin_catalog_promotion')] #[AsGrid(name: self::NAME)]
final class CatalogPromotionGrid implements CatalogPromotionGridInterface final class CatalogPromotionGrid implements CatalogPromotionGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface CatalogPromotionGridInterface interface CatalogPromotionGridInterface
{ {
public const NAME = 'sylius_admin_catalog_promotion';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_channel')] #[AsGrid(name: self::NAME)]
final class ChannelGrid implements ChannelGridInterface final class ChannelGrid implements ChannelGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface ChannelGridInterface interface ChannelGridInterface
{ {
public const NAME = 'sylius_admin_channel';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_channel_pricing_log_entry')] #[AsGrid(name: self::NAME)]
final class ChannelPricingLogEntryGrid implements ChannelPricingLogEntryGridInterface final class ChannelPricingLogEntryGrid implements ChannelPricingLogEntryGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface ChannelPricingLogEntryGridInterface interface ChannelPricingLogEntryGridInterface
{ {
public const NAME = 'sylius_admin_channel_pricing_log_entry';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_country')] #[AsGrid(name: self::NAME)]
final class CountryGrid implements CountryGridInterface final class CountryGrid implements CountryGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface CountryGridInterface interface CountryGridInterface
{ {
public const NAME = 'sylius_admin_country';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_currency')] #[AsGrid(name: self::NAME)]
final class CurrencyGrid implements CurrencyGridInterface final class CurrencyGrid implements CurrencyGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface CurrencyGridInterface interface CurrencyGridInterface
{ {
public const NAME = 'sylius_admin_currency';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_customer')] #[AsGrid(name: self::NAME)]
final class CustomerGrid implements CustomerGridInterface final class CustomerGrid implements CustomerGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface CustomerGridInterface interface CustomerGridInterface
{ {
public const NAME = 'sylius_admin_customer';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_customer_group')] #[AsGrid(name: self::NAME)]
final class CustomerGroupGrid implements CustomerGroupGridInterface final class CustomerGroupGrid implements CustomerGroupGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface CustomerGroupGridInterface interface CustomerGroupGridInterface
{ {
public const NAME = 'sylius_admin_customer_group';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_customer_order')] #[AsGrid(name: self::NAME)]
final class CustomerOrderGrid implements CustomerOrderGridInterface final class CustomerOrderGrid implements CustomerOrderGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface CustomerOrderGridInterface interface CustomerOrderGridInterface
{ {
public const NAME = 'sylius_admin_customer_order';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_exchange_rate')] #[AsGrid(name: self::NAME)]
final class ExchangeRateGrid implements ExchangeRateGridInterface final class ExchangeRateGrid implements ExchangeRateGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface ExchangeRateGridInterface interface ExchangeRateGridInterface
{ {
public const NAME = 'sylius_admin_exchange_rate';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_inventory')] #[AsGrid(name: self::NAME)]
final class InventoryGrid implements InventoryGridInterface final class InventoryGrid implements InventoryGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface InventoryGridInterface interface InventoryGridInterface
{ {
public const NAME = 'sylius_admin_inventory';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_locale')] #[AsGrid(name: self::NAME)]
final class LocaleGrid implements LocaleGridInterface final class LocaleGrid implements LocaleGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface LocaleGridInterface interface LocaleGridInterface
{ {
public const NAME = 'sylius_admin_locale';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_order')] #[AsGrid(name: self::NAME)]
final class OrderGrid implements OrderGridInterface final class OrderGrid implements OrderGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface OrderGridInterface interface OrderGridInterface
{ {
public const NAME = 'sylius_admin_order';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_payment')] #[AsGrid(name: self::NAME)]
final class PaymentGrid implements PaymentGridInterface final class PaymentGrid implements PaymentGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface PaymentGridInterface interface PaymentGridInterface
{ {
public const NAME = 'sylius_admin_payment';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_payment_method')] #[AsGrid(name: self::NAME)]
final class PaymentMethodGrid implements PaymentMethodGridInterface final class PaymentMethodGrid implements PaymentMethodGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface PaymentMethodGridInterface interface PaymentMethodGridInterface
{ {
public const NAME = 'sylius_admin_payment_method';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Grid\Attribute\AsGrid;
use Sylius\Component\Payment\Model\PaymentRequestInterface; use Sylius\Component\Payment\Model\PaymentRequestInterface;
#[AsGrid(name: 'sylius_admin_payment_request')] #[AsGrid(name: self::NAME)]
final class PaymentRequestGrid implements PaymentRequestGridInterface final class PaymentRequestGrid implements PaymentRequestGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface PaymentRequestGridInterface interface PaymentRequestGridInterface
{ {
public const NAME = 'sylius_admin_payment_request';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_product_association_type')] #[AsGrid(name: self::NAME)]
final class ProductAssociationTypeGrid implements ProductAssociationTypeGridInterface final class ProductAssociationTypeGrid implements ProductAssociationTypeGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface ProductAssociationTypeGridInterface interface ProductAssociationTypeGridInterface
{ {
public const NAME = 'sylius_admin_product_association_type';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Attribute\AttributeType\TextAttributeType;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_product_attribute')] #[AsGrid(name: self::NAME)]
final class ProductAttributeGrid implements ProductAttributeGridInterface final class ProductAttributeGrid implements ProductAttributeGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface ProductAttributeGridInterface interface ProductAttributeGridInterface
{ {
public const NAME = 'sylius_admin_product_attribute';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_product')] #[AsGrid(name: self::NAME)]
final class ProductGrid implements ProductGridInterface final class ProductGrid implements ProductGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface ProductGridInterface interface ProductGridInterface
{ {
public const NAME = 'sylius_admin_product';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_product_option')] #[AsGrid(name: self::NAME)]
final class ProductOptionGrid implements ProductOptionGridInterface final class ProductOptionGrid implements ProductOptionGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface ProductOptionGridInterface interface ProductOptionGridInterface
{ {
public const NAME = 'sylius_admin_product_option';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_product_review')] #[AsGrid(name: self::NAME)]
final class ProductReviewGrid implements ProductReviewGridInterface final class ProductReviewGrid implements ProductReviewGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface ProductReviewGridInterface interface ProductReviewGridInterface
{ {
public const NAME = 'sylius_admin_product_review';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_product_taxon')] #[AsGrid(name: self::NAME)]
final class ProductTaxonGrid implements ProductTaxonGridInterface final class ProductTaxonGrid implements ProductTaxonGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface ProductTaxonGridInterface interface ProductTaxonGridInterface
{ {
public const NAME = 'sylius_admin_product_taxon';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_product_variant')] #[AsGrid(name: self::NAME)]
final class ProductVariantGrid implements ProductVariantGridInterface final class ProductVariantGrid implements ProductVariantGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface ProductVariantGridInterface interface ProductVariantGridInterface
{ {
public const NAME = 'sylius_admin_product_variant';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_product_variant_with_catalog_promotion')] #[AsGrid(name: self::NAME)]
final class ProductVariantWithCatalogPromotionGrid implements ProductVariantWithCatalogPromotionGridInterface final class ProductVariantWithCatalogPromotionGrid implements ProductVariantWithCatalogPromotionGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface ProductVariantWithCatalogPromotionGridInterface interface ProductVariantWithCatalogPromotionGridInterface
{ {
public const NAME = 'sylius_admin_product_variant_with_catalog_promotion';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_promotion_coupon')] #[AsGrid(name: self::NAME)]
final class PromotionCouponGrid implements PromotionCouponGridInterface final class PromotionCouponGrid implements PromotionCouponGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface PromotionCouponGridInterface interface PromotionCouponGridInterface
{ {
public const NAME = 'sylius_admin_promotion_coupon';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_promotion')] #[AsGrid(name: self::NAME)]
final class PromotionGrid implements PromotionGridInterface final class PromotionGrid implements PromotionGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface PromotionGridInterface interface PromotionGridInterface
{ {
public const NAME = 'sylius_admin_promotion';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_shipment')] #[AsGrid(name: self::NAME)]
final class ShipmentGrid implements ShipmentGridInterface final class ShipmentGrid implements ShipmentGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface ShipmentGridInterface interface ShipmentGridInterface
{ {
public const NAME = 'sylius_admin_shipment';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_shipping_category')] #[AsGrid(name: self::NAME)]
final class ShippingCategoryGrid implements ShippingCategoryGridInterface final class ShippingCategoryGrid implements ShippingCategoryGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface ShippingCategoryGridInterface interface ShippingCategoryGridInterface
{ {
public const NAME = 'sylius_admin_shipping_category';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_shipping_method')] #[AsGrid(name: self::NAME)]
final class ShippingMethodGrid implements ShippingMethodGridInterface final class ShippingMethodGrid implements ShippingMethodGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface ShippingMethodGridInterface interface ShippingMethodGridInterface
{ {
public const NAME = 'sylius_admin_shipping_method';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_tax_category')] #[AsGrid(name: self::NAME)]
final class TaxCategoryGrid implements TaxCategoryGridInterface final class TaxCategoryGrid implements TaxCategoryGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface TaxCategoryGridInterface interface TaxCategoryGridInterface
{ {
public const NAME = 'sylius_admin_tax_category';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_tax_rate')] #[AsGrid(name: self::NAME)]
final class TaxRateGrid implements TaxRateGridInterface final class TaxRateGrid implements TaxRateGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface TaxRateGridInterface interface TaxRateGridInterface
{ {
public const NAME = 'sylius_admin_tax_rate';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_taxon')] #[AsGrid(name: self::NAME)]
final class TaxonGrid implements TaxonGridInterface final class TaxonGrid implements TaxonGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface TaxonGridInterface interface TaxonGridInterface
{ {
public const NAME = 'sylius_admin_taxon';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_admin_zone')] #[AsGrid(name: self::NAME)]
final class ZoneGrid implements ZoneGridInterface final class ZoneGrid implements ZoneGridInterface
{ {
public function __construct( public function __construct(

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface ZoneGridInterface interface ZoneGridInterface
{ {
public const NAME = 'sylius_admin_zone';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\DateTimeField;
use Sylius\Bundle\GridBundle\Builder\Field\TwigField; use Sylius\Bundle\GridBundle\Builder\Field\TwigField;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface; use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Bundle\GridBundle\Grid\AbstractGrid;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_shop_account_order')] #[AsGrid(name: self::NAME)]
final class OrderGrid extends AbstractGrid implements OrderGridInterface final class OrderGrid implements OrderGridInterface
{ {
public function __construct( public function __construct(
private readonly string $orderClass, private readonly string $orderClass,

View file

@ -18,5 +18,7 @@ use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
/** @experimental */ /** @experimental */
interface OrderGridInterface interface OrderGridInterface
{ {
public const NAME = 'sylius_shop_account_order';
public function __invoke(GridBuilderInterface $gridBuilder): void; 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\Field\StringField;
use Sylius\Bundle\GridBundle\Builder\Filter\Filter; use Sylius\Bundle\GridBundle\Builder\Filter\Filter;
use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface; use Sylius\Bundle\GridBundle\Builder\GridBuilderInterface;
use Sylius\Bundle\GridBundle\Grid\AbstractGrid;
use Sylius\Component\Grid\Attribute\AsGrid; use Sylius\Component\Grid\Attribute\AsGrid;
#[AsGrid(name: 'sylius_shop_product')] #[AsGrid(name: self::NAME)]
final class ProductGrid extends AbstractGrid implements ProductGridInterface final class ProductGrid implements ProductGridInterface
{ {
public function __construct( public function __construct(
private readonly string $productClass, private readonly string $productClass,
@ -36,7 +35,7 @@ final class ProductGrid extends AbstractGrid implements ProductGridInterface
'channel' => "expr:service('sylius.context.channel').getChannel()", 'channel' => "expr:service('sylius.context.channel').getChannel()",
'taxon' => "expr:notFoundOnNull(service('sylius.repository.taxon').findOneBySlug(\$slug, service('sylius.context.locale').getLocaleCode()))", 'taxon' => "expr:notFoundOnNull(service('sylius.repository.taxon').findOneBySlug(\$slug, service('sylius.context.locale').getLocaleCode()))",
'locale' => "expr: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')", 'includeAllDescendants' => "expr:parameter('sylius_shop.product_grid.include_all_descendants')",
]) ])
->setDriverOption('class', $this->productClass) ->setDriverOption('class', $this->productClass)

View file

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

View file

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