diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php
index 4f57804..150f299 100644
--- a/DependencyInjection/Configuration.php
+++ b/DependencyInjection/Configuration.php
@@ -18,8 +18,8 @@ class Configuration implements ConfigurationInterface
*/
public function getConfigTreeBuilder()
{
- $treeBuilder = new TreeBuilder();
- $rootNode = $treeBuilder->root('kitpages_data_grid');
+ $treeBuilder = new TreeBuilder('kitpages_data_grid');
+ $rootNode = $treeBuilder->getRootNode();
$this->addGridConfiguration($rootNode);
$this->addPaginatorConfiguration($rootNode);
@@ -44,7 +44,7 @@ private function addGridConfiguration(ArrayNodeDefinition $node)
->end()
->scalarNode('default_twig')
->cannotBeEmpty()
- ->defaultValue('KitpagesDataGridBundle:Grid:grid.html.twig')
+ ->defaultValue('@KitpagesDataGrid/Grid/grid.html.twig')
->end()
->end()
->end()
@@ -62,7 +62,7 @@ private function addPaginatorConfiguration(ArrayNodeDefinition $node)
->children()
->scalarNode('default_twig')
->cannotBeEmpty()
- ->defaultValue('KitpagesDataGridBundle:Paginator:paginator.html.twig')
+ ->defaultValue('@KitpagesDataGrid/Paginator/paginator.html.twig')
->end()
->scalarNode('item_count_in_page')
->cannotBeEmpty()
diff --git a/Event/AbstractEvent.php b/Event/AbstractEvent.php
index 214efb3..0f532b2 100644
--- a/Event/AbstractEvent.php
+++ b/Event/AbstractEvent.php
@@ -1,7 +1,7 @@
isDefaultPrevented;
}
- public function stopPropagation()
+ public function stopPropagation(): void
{
$this->isPropagationStopped = true;
}
- public function isPropagationStopped()
+ public function isPropagationStopped(): bool
{
return $this->isPropagationStopped;
}
diff --git a/Event/AfterApplyFilter.php b/Event/AfterApplyFilter.php
new file mode 100644
index 0000000..420f020
--- /dev/null
+++ b/Event/AfterApplyFilter.php
@@ -0,0 +1,8 @@
+data = $event->data;
+ $this->isDefaultPrevented = $event->isDefaultPrevented;
+ $this->isPropagationStopped = $event->isPropagationStopped;
+ }
+ }
}
diff --git a/Event/OnApplyFilter.php b/Event/OnApplyFilter.php
new file mode 100644
index 0000000..09171ee
--- /dev/null
+++ b/Event/OnApplyFilter.php
@@ -0,0 +1,8 @@
+set('value', $value);
$event->set('row', $row);
$event->set('field', $field);
- $this->dispatcher->dispatch(KitpagesDataGridEvents::ON_DISPLAY_GRID_VALUE_CONVERSION, $event);
+ $this->dispatcher->dispatch(new OnDisplayGridValueConversion($event));
if (!$event->isDefaultPrevented()) {
$value = $event->get('value');
@@ -135,7 +138,7 @@ public function displayGridValue($row, Field $field)
$event->set('returnValue', $returnValue);
}
- $this->dispatcher->dispatch(KitpagesDataGridEvents::AFTER_DISPLAY_GRID_VALUE_CONVERSION, $event);
+ $this->dispatcher->dispatch(new AfterDisplayGridValueConversion($event));
$returnValue = $event->get('returnValue');
// auto escape ? (if null, return null, without autoescape...)
diff --git a/Grid/GridConfig.php b/Grid/GridConfig.php
index 225d8ec..334afb1 100644
--- a/Grid/GridConfig.php
+++ b/Grid/GridConfig.php
@@ -4,6 +4,7 @@
use Doctrine\ORM\QueryBuilder;
use Kitpages\DataGridBundle\Paginator\PaginatorConfig;
+use SebastianBergmann\CodeCoverage\Driver\Selector;
class GridConfig
{
diff --git a/Grid/GridManager.php b/Grid/GridManager.php
index c62c37c..488a78b 100644
--- a/Grid/GridManager.php
+++ b/Grid/GridManager.php
@@ -1,6 +1,14 @@
set("grid", $grid);
$event->set("gridQueryBuilder", $gridQueryBuilder);
$event->set("request", $request);
- $this->dispatcher->dispatch(KitpagesDataGridEvents::ON_GET_GRID_QUERY, $event);
+ $this->dispatcher->dispatch(new OnGetGridQuery($event));
if (!$event->isDefaultPrevented()) {
// execute request
@@ -131,7 +139,7 @@ public function getGrid(
$event->set("query", $query);
}
- $this->dispatcher->dispatch(KitpagesDataGridEvents::AFTER_GET_GRID_QUERY, $event);
+ $this->dispatcher->dispatch(new AfterGetGridQuery($event));
// hack : recover query from the event so the developper can build a new grid
// from the gridQueryBuilder in the listener and reinject it in the event.
@@ -156,7 +164,7 @@ protected function applyFilter(QueryBuilder $queryBuilder, Grid $grid, $filter)
$event->set("grid", $grid);
$event->set("gridQueryBuilder", $queryBuilder);
$event->set("filter", $filter);
- $this->dispatcher->dispatch(KitpagesDataGridEvents::ON_APPLY_FILTER, $event);
+ $this->dispatcher->dispatch(new OnApplyFilter($event));
if (!$event->isDefaultPrevented()) {
$fieldList = $grid->getGridConfig()->getFieldList();
@@ -173,7 +181,7 @@ protected function applyFilter(QueryBuilder $queryBuilder, Grid $grid, $filter)
}
$grid->setFilterValue($filter);
}
- $this->dispatcher->dispatch(KitpagesDataGridEvents::AFTER_APPLY_FILTER, $event);
+ $this->dispatcher->dispatch(new AfterApplyFilter($event));
}
protected function applySelector(QueryBuilder $queryBuilder, Grid $grid, $selectorField, $selectorValue)
@@ -186,7 +194,7 @@ protected function applySelector(QueryBuilder $queryBuilder, Grid $grid, $select
$event->set("gridQueryBuilder", $queryBuilder);
$event->set("selectorField", $selectorField);
$event->set("selectorValue", $selectorValue);
- $this->dispatcher->dispatch(KitpagesDataGridEvents::ON_APPLY_SELECTOR, $event);
+ $this->dispatcher->dispatch(new OnApplySelector($event));
if (!$event->isDefaultPrevented()) {
$queryBuilder->andWhere($selectorField." = :selectorValue");
@@ -195,7 +203,7 @@ protected function applySelector(QueryBuilder $queryBuilder, Grid $grid, $select
$grid->setSelectorField($selectorField);
$grid->setSelectorValue($selectorValue);
}
- $this->dispatcher->dispatch(KitpagesDataGridEvents::AFTER_APPLY_SELECTOR, $event);
+ $this->dispatcher->dispatch(new AfterApplySelector($event));
}
protected function applySort(QueryBuilder $gridQueryBuilder, Grid $grid, $sortField, $sortOrder)
@@ -208,7 +216,7 @@ protected function applySort(QueryBuilder $gridQueryBuilder, Grid $grid, $sortFi
$event->set("gridQueryBuilder", $gridQueryBuilder);
$event->set("sortField", $sortField);
$event->set("sortOrder", $sortOrder);
- $this->dispatcher->dispatch(KitpagesDataGridEvents::ON_APPLY_SORT, $event);
+ $this->dispatcher->dispatch(new OnApplySort($event));
if (!$event->isDefaultPrevented()) {
$sortFieldObject = null;
@@ -232,7 +240,7 @@ protected function applySort(QueryBuilder $gridQueryBuilder, Grid $grid, $sortFi
$grid->setSortOrder($sortOrder);
}
- $this->dispatcher->dispatch(KitpagesDataGridEvents::AFTER_APPLY_SORT, $event);
+ $this->dispatcher->dispatch(new AfterApplySort($event));
}
}
diff --git a/KitpagesDataGridEvents.php b/KitpagesDataGridEvents.php
index 3517fbe..da45c0b 100644
--- a/KitpagesDataGridEvents.php
+++ b/KitpagesDataGridEvents.php
@@ -1,23 +1,37 @@
set("paginator", $paginator);
$event->set("paginatorQueryBuilder", $countQueryBuilder);
$event->set("request", $request);
- $this->dispatcher->dispatch(KitpagesDataGridEvents::ON_GET_PAGINATOR_QUERY, $event);
+ $this->dispatcher->dispatch(new OnGetPaginatorQuery($event));
if (!$event->isDefaultPrevented()) {
$query = $countQueryBuilder->getQuery();
$event->set("query", $query);
}
- $this->dispatcher->dispatch(KitpagesDataGridEvents::AFTER_GET_PAGINATOR_QUERY, $event);
+ $this->dispatcher->dispatch(new AfterGetPaginatorQuery($event));
// hack : recover query from the event so the developper can build a new query
// from the paginatorQueryBuilder in the listener and reinject it in the event.
diff --git a/README.md b/README.md
index 237760c..0574563 100644
--- a/README.md
+++ b/README.md
@@ -98,9 +98,9 @@ These values are default values. You can skip the configuration if it is ok for
```yaml
kitpages_data_grid:
grid:
- default_twig: KitpagesDataGridBundle:Grid:grid.html.twig
+ default_twig: @KitpagesDataGrid/Grid/grid.html.twig
paginator:
- default_twig: KitpagesDataGridBundle:Paginator:paginator.html.twig
+ default_twig: @KitpagesDataGrid/Paginator/paginator.html.twig
item_count_in_page: 50
visible_page_count_in_paginator: 5
```
@@ -110,9 +110,9 @@ Note you can use the followin configuration in order to user Bootstrap 3 :
```yaml
kitpages_data_grid:
grid:
- default_twig: KitpagesDataGridBundle:Grid:bootstrap3-grid.html.twig
+ default_twig: @KitpagesDataGrid/Grid/bootstrap3-grid.html.twig
paginator:
- default_twig: KitpagesDataGridBundle:Paginator:bootstrap3-paginator.html.twig
+ default_twig: @KitpagesDataGrid/Paginator/bootstrap3-paginator.html.twig
```
diff --git a/Resources/config/services.xml b/Resources/config/services.xml
index 6933796..3d1173b 100644
--- a/Resources/config/services.xml
+++ b/Resources/config/services.xml
@@ -4,31 +4,23 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-
- Kitpages\DataGridBundle\Grid\GridManager
- Kitpages\DataGridBundle\Paginator\PaginatorManager
- Kitpages\DataGridBundle\Grid\ItemListNormalizer\LegacyNormalizer
- Kitpages\DataGridBundle\Grid\ItemListNormalizer\StandardNormalizer
- Kitpages\DataGridBundle\Twig\GlobalsTwigExtension
-
-
-
+
-
-
+
+
%kitpages_data_grid.grid.hydrator_class%
-
+
%kitpages_data_grid.paginator%
-
+
-
+
-
+
%kitpages_data_grid.grid%
%kitpages_data_grid.paginator%
diff --git a/Resources/doc/40-CookBook.md b/Resources/doc/40-CookBook.md
index caf49a0..dac6bae 100644
--- a/Resources/doc/40-CookBook.md
+++ b/Resources/doc/40-CookBook.md
@@ -6,7 +6,7 @@ The CookBook
You just have to use the twig embed bootstrap-grid.html.twig instead of grid.html.twig :
```twig
- {% embed 'KitpagesDataGridBundle:Grid:bootstrap-grid.html.twig' with {'grid': grid} %}
+ {% embed '@KitpagesDataGrid/Grid/bootstrap-grid.html.twig' with {'grid': grid} %}
{% endembed %}
```
diff --git a/Resources/views/Grid/bootstrap-grid.html.twig b/Resources/views/Grid/bootstrap-grid.html.twig
index 012d39f..68ef6e6 100644
--- a/Resources/views/Grid/bootstrap-grid.html.twig
+++ b/Resources/views/Grid/bootstrap-grid.html.twig
@@ -81,6 +81,6 @@
{% block kit_grid_javascript %}
- {% include "KitpagesDataGridBundle:Grid:javascript.html.twig" %}
+ {% include "@KitpagesDataGrid/Grid/javascript.html.twig" %}
{% endblock kit_grid_javascript %}
{% endblock kit_grid_main %}
diff --git a/Resources/views/Grid/bootstrap3-grid.html.twig b/Resources/views/Grid/bootstrap3-grid.html.twig
index 92ced1e..a125fbc 100644
--- a/Resources/views/Grid/bootstrap3-grid.html.twig
+++ b/Resources/views/Grid/bootstrap3-grid.html.twig
@@ -127,6 +127,6 @@
{% block kit_grid_after_paginator %}{% endblock %}
{% block kit_grid_javascript %}
- {% include "KitpagesDataGridBundle:Grid:javascript.html.twig" %}
+ {% include "@KitpagesDataGrid/Grid/javascript.html.twig" %}
{% endblock kit_grid_javascript %}
{% endblock kit_grid_main %}
diff --git a/Resources/views/Grid/grid.html.twig b/Resources/views/Grid/grid.html.twig
index b538342..4a17d94 100644
--- a/Resources/views/Grid/grid.html.twig
+++ b/Resources/views/Grid/grid.html.twig
@@ -81,6 +81,6 @@
{{ block(' kit_grid_after_paginator') }}
{% block kit_grid_javascript %}
- {% include "KitpagesDataGridBundle:Grid:javascript.html.twig" %}
+ {% include "@KitpagesDataGrid/Grid/javascript.html.twig" %}
{% endblock kit_grid_javascript %}
{% endblock kit_grid_main %}
diff --git a/Resources/views/Grid/javascript.html.twig b/Resources/views/Grid/javascript.html.twig
index edd444a..ac8d3fb 100644
--- a/Resources/views/Grid/javascript.html.twig
+++ b/Resources/views/Grid/javascript.html.twig
@@ -1,3 +1,3 @@
diff --git a/Tests/AppKernel.php b/Tests/AppKernel.php
index 7091294..e459fd6 100644
--- a/Tests/AppKernel.php
+++ b/Tests/AppKernel.php
@@ -24,6 +24,6 @@ public function registerContainerConfiguration(LoaderInterface $loader)
public function getCacheDir()
{
- return $this->rootDir.'/app/cache/'.$this->environment;
+ return $this->getProjectDir().'/app/cache/'.$this->environment;
}
}
diff --git a/Tests/Fonctionnal/ConfigTest.php b/Tests/Fonctionnal/ConfigTest.php
index 1c7ed15..5bd9cf5 100644
--- a/Tests/Fonctionnal/ConfigTest.php
+++ b/Tests/Fonctionnal/ConfigTest.php
@@ -11,7 +11,7 @@ public function testConfigParsing()
{
$client = self::createClient();
$gridParameters = $client->getContainer()->getParameter('kitpages_data_grid.grid');
- $this->assertEquals("KitpagesDataGridBundle:Grid:grid-standard.html.twig", $gridParameters["default_twig"]);
+ $this->assertEquals("@KitpagesDataGrid/Grid/grid-standard.html.twig", $gridParameters["default_twig"]);
$this->assertEquals('\Kitpages\DataGridBundle\Hydrators\DataGridHydrator', $gridParameters["hydrator_class"]);
}
diff --git a/Tests/Fonctionnal/TwigExtensionTest.php b/Tests/Fonctionnal/TwigExtensionTest.php
index c993ec7..0d4969d 100644
--- a/Tests/Fonctionnal/TwigExtensionTest.php
+++ b/Tests/Fonctionnal/TwigExtensionTest.php
@@ -18,7 +18,7 @@ public function testConfigParsing()
*/
$templating = $client->getContainer()->get('templating');
$this->assertEquals(
- "KitpagesDataGridBundle:Grid:grid-standard.html.twig",
+ "@KitpagesDataGrid/Grid/grid-standard.html.twig",
$templating->render("globals.html.twig")
);
}
diff --git a/Tests/Grid/GridConfigTest.php b/Tests/Grid/GridConfigTest.php
index 9251952..2d7931d 100644
--- a/Tests/Grid/GridConfigTest.php
+++ b/Tests/Grid/GridConfigTest.php
@@ -13,7 +13,7 @@ class GridConfigTest extends TestCase
*/
protected $gridConfig;
- protected function setUp()
+ protected function setUp(): void
{
$this->gridConfig = new GridConfig();
diff --git a/Tests/Grid/GridManagerTest.php b/Tests/Grid/GridManagerTest.php
index a6dae5c..c7a3b55 100644
--- a/Tests/Grid/GridManagerTest.php
+++ b/Tests/Grid/GridManagerTest.php
@@ -17,12 +17,12 @@
*/
class GridManagerTest extends BundleOrmTestCase
{
- protected function setUp()
+ protected function setUp(): void
{
parent::setUp();
}
- protected function tearDown()
+ protected function tearDown(): void
{
parent::tearDown();
}
diff --git a/Tests/Grid/GridTest.php b/Tests/Grid/GridTest.php
index d8d0e1e..4b3d94d 100644
--- a/Tests/Grid/GridTest.php
+++ b/Tests/Grid/GridTest.php
@@ -13,7 +13,7 @@ class GridTest extends TestCase
private $grid;
private $now;
private $row;
- public function setUp()
+ public function setUp(): void
{
$dispatcher = new EventDispatcher();
diff --git a/Tests/Paginator/PaginatorManagerTest.php b/Tests/Paginator/PaginatorManagerTest.php
index 204b8cb..fff0627 100644
--- a/Tests/Paginator/PaginatorManagerTest.php
+++ b/Tests/Paginator/PaginatorManagerTest.php
@@ -10,12 +10,12 @@
class PaginatorManagerTest extends BundleOrmTestCase
{
- protected function setUp()
+ protected function setUp(): void
{
parent::setUp();
}
- protected function tearDown()
+ protected function tearDown(): void
{
parent::tearDown();
}
diff --git a/Tests/app/config/config_test.yml b/Tests/app/config/config_test.yml
index bb5d791..a1a52a2 100644
--- a/Tests/app/config/config_test.yml
+++ b/Tests/app/config/config_test.yml
@@ -1,20 +1,20 @@
kitpages_data_grid:
grid:
- default_twig: KitpagesDataGridBundle:Grid:grid-standard.html.twig
+ default_twig: @KitpagesDataGrid/Grid/grid-standard.html.twig
framework:
trusted_hosts: ~
secret: "test"
translator: { fallback: "fr" }
test: ~
- templating:
- engines: ['twig']
+ #templating:
+ # engines: ['twig']
router:
- resource: "%kernel.root_dir%/config/routing.yml"
+ resource: "%kernel.project_dir%/config/routing.yml"
twig:
paths:
- "%kernel.root_dir%/app/Resources/views/": __main__
+ "%kernel.project_dir%/app/Resources/views/": __main__
doctrine:
dbal:
driver: 'pdo_sqlite'
@@ -25,5 +25,5 @@ doctrine:
mappings:
Kitpages\DataGridBundle\Tests\TestEntities\Node:
type: xml
- dir: "%kernel.root_dir%/app/Resources/config/doctrine"
+ dir: "%kernel.project_dir%/app/Resources/config/doctrine"
prefix: Kitpages\DataGridBundle\Tests\TestEntities
diff --git a/Twig/GlobalsTwigExtension.php b/Twig/GlobalsTwigExtension.php
index ee9ffa3..0e3afb4 100644
--- a/Twig/GlobalsTwigExtension.php
+++ b/Twig/GlobalsTwigExtension.php
@@ -1,10 +1,11 @@
gridParameterList = $gridParameterList;
$this->paginatorParameterList = $paginatorParameterList;
}
- public function getGlobals()
+ public function getGlobals(): array
{
- return array(
- "kitpages_data_grid" => array(
+ return [
+ "kitpages_data_grid" => [
'grid' => $this->gridParameterList,
- 'paginator' => $this->paginatorParameterList
- )
- );
+ 'paginator' => $this->paginatorParameterList,
+ ],
+ ];
}
+
/**
* Returns the name of the extension.
*
@@ -36,5 +37,4 @@ public function getName()
{
return "kitpages_data_grid_globals_extension";
}
-
-}
+}
diff --git a/composer.json b/composer.json
index 05a84b3..cd7761a 100644
--- a/composer.json
+++ b/composer.json
@@ -13,23 +13,21 @@
],
"require": {
"php": ">=7.1",
- "symfony/framework-bundle": "~3.3|~4.0",
- "symfony/dependency-injection": "~3.3|~4.0",
- "symfony/translation": "~3.3|~4.0",
- "symfony/templating": "~3.3|~4.0",
+ "symfony/framework-bundle": "~5.0",
+ "symfony/dependency-injection": "~5.0",
+ "symfony/translation": "~5.0",
+ "symfony/templating": "~5.0",
"doctrine/orm": "~2.5",
- "doctrine/doctrine-bundle": "~1.8|~2.0",
- "twig/twig": "~1.23|~2.0",
- "symfony/twig-bundle": "~3.3|~4.0"
+ "doctrine/doctrine-bundle": "~2.0",
+ "twig/twig": "~3.0",
+ "symfony/twig-bundle": "~5.0"
},
"require-dev": {
- "symfony/class-loader": "~3.3|~4.0",
- "symfony/yaml": "~3.3|~4.0",
- "symfony/finder": "~3.3|~4.0",
- "symfony/browser-kit": "~3.3|~4.0",
+ "symfony/yaml": "~5.0",
+ "symfony/finder": "~5.0",
+ "symfony/browser-kit": "~5.0",
- "phpunit/phpunit": "~6.1",
- "phpunit/dbunit": "~3.0"
+ "phpunit/phpunit": "~9.5"
},
"autoload": {
"psr-0": { "Kitpages\\DataGridBundle": "" }