diff --git a/src/Filter/Type/DateFilterType.php b/src/Filter/Type/DateFilterType.php
index 1f9f319..5600eb4 100644
--- a/src/Filter/Type/DateFilterType.php
+++ b/src/Filter/Type/DateFilterType.php
@@ -5,17 +5,36 @@
namespace araise\TableBundle\Filter\Type;
use Doctrine\ORM\QueryBuilder;
+use Symfony\Component\HttpFoundation\RequestStack;
+use Symfony\UX\StimulusBundle\Helper\StimulusHelper;
class DateFilterType extends DatetimeFilterType
{
+ protected $locale;
+
+ public function __construct(
+ ?string $column = null,
+ array $joins = [],
+ protected ?RequestStack $requestStack = null
+ ) {
+ parent::__construct($column, $joins);
+ $this->locale = $requestStack->getMainRequest()?->getLocale() ?? 'en';
+ }
+
public function getValueField(?string $value = null, ?string $operator = null): string
{
$date = \DateTime::createFromFormat(static::getQueryDataFormat(), (string) $value) ?: new \DateTime();
$value = $date->format(static::getDateFormat());
-
+ $stimulusAttrs = (new StimulusHelper(null))->createStimulusAttributes();
+ $stimulusAttrs
+ ->addController('araise/core-bundle/datetime', [
+ 'lang' => $this->locale,
+ ])
+ ;
return sprintf(
- '',
- $operator !== static::CRITERIA_IS_EMPTY ? $value : ''
+ '',
+ $operator !== static::CRITERIA_IS_EMPTY ? $value : '',
+ $stimulusAttrs
);
}
diff --git a/src/Filter/Type/DatetimeFilterType.php b/src/Filter/Type/DatetimeFilterType.php
index c1f6c31..bb5872e 100644
--- a/src/Filter/Type/DatetimeFilterType.php
+++ b/src/Filter/Type/DatetimeFilterType.php
@@ -5,6 +5,8 @@
namespace araise\TableBundle\Filter\Type;
use Doctrine\ORM\QueryBuilder;
+use Symfony\Component\HttpFoundation\RequestStack;
+use Symfony\UX\StimulusBundle\Helper\StimulusHelper;
class DatetimeFilterType extends FilterType
{
@@ -20,6 +22,14 @@ class DatetimeFilterType extends FilterType
public const CRITERIA_IS_EMPTY = 'is_empty';
+ public function __construct(
+ ?string $column = null,
+ array $joins = [],
+ protected ?RequestStack $requestStack = null
+ ) {
+ parent::__construct($column, $joins);
+ }
+
public function getOperators(): array
{
return [
@@ -38,10 +48,17 @@ public function getValueField(?string $value = null, ?string $operator = null):
{
$date = \DateTime::createFromFormat(static::getQueryDataFormat(), (string) $value) ?: new \DateTime();
$value = $date->format(static::getDateFormat());
-
+ $locale = $this->requestStack->getMainRequest()?->getLocale();
+ $stimulusAttrs = (new StimulusHelper(null))->createStimulusAttributes();
+ $stimulusAttrs
+ ->addController('araise/core-bundle/datetime', [
+ 'lang' => $locale ?? 'en',
+ ])
+ ;
return sprintf(
- '',
- $operator !== static::CRITERIA_IS_EMPTY ? $value : ''
+ '',
+ $operator !== static::CRITERIA_IS_EMPTY ? $value : '',
+ $stimulusAttrs
);
}