diff -u b/pagerer.module b/pagerer.module --- b/pagerer.module +++ b/pagerer.module @@ -105,7 +105,7 @@ // Preprocess through the multipane pager plugin. $pager ->setRouteName($variables['pager']['#route_name']) - ->setRouteParameters(isset($variables['pager']['#route_parameters']) ? $variables['pager']['#route_parameters'] : []); + ->setRouteParameters($variables['pager']['#route_parameters'] ?? []); \Drupal::service('pagerer.style.manager') ->createInstance('multipane', $variables['pager']['#config']) ->setPager($pager) @@ -175,7 +175,7 @@ // Let the style plugin do its own preprocessing. $pager ->setRouteName($variables['pager']['#route_name']) - ->setRouteParameters(isset($variables['pager']['#route_parameters']) ? $variables['pager']['#route_parameters'] : []); + ->setRouteParameters($variables['pager']['#route_parameters'] ?? []); \Drupal::service('pagerer.style.manager') ->createInstance($variables['pager']['#style'], $variables['pager']['#config']) ->setPager($pager) diff -u b/src/Plugin/pagerer/PagererStyleBase.php b/src/Plugin/pagerer/PagererStyleBase.php --- b/src/Plugin/pagerer/PagererStyleBase.php +++ b/src/Plugin/pagerer/PagererStyleBase.php @@ -6,8 +6,8 @@ use Drupal\Component\Utility\NestedArray; use Drupal\Component\Utility\Random; use Drupal\Component\Utility\UrlHelper; -use Drupal\Core\Config\TypedConfigManager; use Drupal\Core\Config\ConfigFactoryInterface; +use Drupal\Core\Config\TypedConfigManager; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Pager\PagerManagerInterface; use Drupal\Core\Plugin\ContainerFactoryPluginInterface; only in patch2: unchanged: --- a/pagerer_example/src/Controller/PagererExampleController.php +++ b/pagerer_example/src/Controller/PagererExampleController.php @@ -3,12 +3,64 @@ namespace Drupal\pagerer_example\Controller; use Drupal\Core\Controller\ControllerBase; +use Drupal\Core\Database\Connection; +use Drupal\Core\Extension\ModuleExtensionList; +use Symfony\Component\DependencyInjection\ContainerInterface; /** * Controller class for Pagerer example. */ class PagererExampleController extends ControllerBase { + /** + * Active database connection. + * + * @var \Drupal\Core\Database\Connection + */ + protected $database; + + /** + * The module extension list. + * + * @var \Drupal\Core\Extension\ModuleExtensionList + */ + protected $moduleExtensionList; + + /** + * The module extension list. + * + * @var \Drupal\pagerer\Plugin\PagererStyleManager + */ + protected $styleManager; + + /** + * Constructs a MessageController object. + * + * @param \Drupal\Core\Database\Connection $database + * A database connection. + * @param \Drupal\Core\Extension\ModuleExtensionList $extension_list_module + * The module extension list. + * @param \Drupal\pagerer\Plugin\PagererStyleManager $style_manager + * The plugin manager for Pagerer style plugins. + */ + public function __construct(Connection $database, ModuleExtensionList $extension_list_module, PagererStyleManager $style_manager) { + $this->database = $database; + $this->moduleExtensionList = $extension_list_module; + $this->styleManager = $style_manager; + + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container): self { + return new static( + $container->get('database'), + $container->get('extension.list.module'), + $container->get('pagerer.style.manager') + ); + } + /** * Get pagerer example page title. * @@ -17,7 +69,7 @@ class PagererExampleController extends ControllerBase { */ public function examplePageTitle(): string { // Set the page title to show current Pagerer version. - $module_info = \Drupal::service('extension.list.module')->getExtensionInfo('pagerer'); + $module_info = $this->moduleExtensionList->getExtensionInfo('pagerer'); return $this->t("Pagerer @version - example page", ['@version' => $module_info['version'] ?? 'dev']); } @@ -35,7 +87,7 @@ class PagererExampleController extends ControllerBase { ['data' => 'type'], ['data' => 'timestamp'], ]; - $query_0 = \Drupal::database()->select('watchdog', 'd')->extend('Drupal\Core\Database\Query\PagerSelectExtender')->element(0); + $query_0 = $this->database->select('watchdog', 'd')->extend('Drupal\Core\Database\Query\PagerSelectExtender')->element(0); $result_0 = $query_0 ->fields('d', ['wid', 'type', 'timestamp']) ->limit(5) @@ -51,7 +103,7 @@ class PagererExampleController extends ControllerBase { ['data' => 'collection'], ['data' => 'name'], ]; - $query_1 = \Drupal::database()->select('key_value', 'd')->extend('Drupal\Core\Database\Query\PagerSelectExtender')->element(1); + $query_1 = $this->database->select('key_value', 'd')->extend('Drupal\Core\Database\Query\PagerSelectExtender')->element(1); $result_1 = $query_1 ->fields('d', ['collection', 'name']) ->limit(10) @@ -68,7 +120,7 @@ class PagererExampleController extends ControllerBase { ['data' => 'name'], ['data' => 'path'], ]; - $query_2 = \Drupal::database()->select('router', 'd')->extend('Drupal\Core\Database\Query\PagerSelectExtender')->element(2); + $query_2 = $this->database->select('router', 'd')->extend('Drupal\Core\Database\Query\PagerSelectExtender')->element(2); $result_2 = $query_2 ->fields('d', ['name', 'path']) ->limit(5) @@ -80,7 +132,7 @@ class PagererExampleController extends ControllerBase { } // Get the available pagerer style plugins. - $plugin_definitions = \Drupal::service('pagerer.style.manager')->getDefinitions(); + $plugin_definitions = $this->styleManager->getDefinitions(); // Put the 'standard' plugin on top. if (isset($plugin_definitions['standard'])) { $standard = $plugin_definitions['standard']; only in patch2: unchanged: --- a/src/Entity/PagererPreset.php +++ b/src/Entity/PagererPreset.php @@ -81,7 +81,7 @@ class PagererPreset extends ConfigEntityBase { if (is_array($errors)) { foreach ($errors as $key => $error) { if ($error === 'missing schema') { - list(, $element) = explode(':', $key); + [, $element] = explode(':', $key); $this->unsetPaneData($pane, "config.$element"); } } only in patch2: unchanged: --- a/src/Form/PagererConfigForm.php +++ b/src/Form/PagererConfigForm.php @@ -6,8 +6,8 @@ use Drupal\Core\Config\ConfigFactoryInterface; use Drupal\Core\Entity\EntityListBuilderInterface; use Drupal\Core\Form\ConfigFormBase; use Drupal\Core\Form\FormStateInterface; -use Drupal\Core\Render\ElementInfoManagerInterface; use Drupal\Core\Pager\PagerManagerInterface; +use Drupal\Core\Render\ElementInfoManagerInterface; use Symfony\Component\DependencyInjection\ContainerInterface; /** only in patch2: unchanged: --- a/src/PagererManager.php +++ b/src/PagererManager.php @@ -3,9 +3,9 @@ namespace Drupal\pagerer; use Drupal\Core\Config\ConfigFactoryInterface; -use Drupal\Core\Url; use Drupal\Core\Pager\PagerManager; use Drupal\Core\Pager\PagerParametersInterface; +use Drupal\Core\Url; /** * Provides a manager for Pagerer, as an extension of core's PagerManager. only in patch2: unchanged: --- a/src/PagererPresetListBuilder.php +++ b/src/PagererPresetListBuilder.php @@ -3,8 +3,8 @@ namespace Drupal\pagerer; use Drupal\Core\Config\Entity\ConfigEntityListBuilder; -use Drupal\Core\Entity\EntityInterface; use Drupal\Core\Entity\EntityHandlerInterface; +use Drupal\Core\Entity\EntityInterface; /** * Provides a listing of Pagerer presets. only in patch2: unchanged: --- a/src/Plugin/pagerer/Multipane.php +++ b/src/Plugin/pagerer/Multipane.php @@ -5,8 +5,8 @@ namespace Drupal\pagerer\Plugin\pagerer; use Drupal\Component\Utility\NestedArray; use Drupal\Core\Cache\CacheableMetadata; use Drupal\Core\Plugin\PluginBase; -use Drupal\pagerer\Pagerer; use Drupal\pagerer\Entity\PagererPreset; +use Drupal\pagerer\Pagerer; use Drupal\pagerer\Plugin\PagererStyleInterface; /** @@ -70,9 +70,9 @@ class Multipane extends PluginBase implements PagererStyleInterface { // Check if pager is needed; if not, return immediately. // It is the lowest required number of pages in any of the panes. $page_restriction = min( - isset($this->configuration['panes']['left']['config']['display_restriction']) ? $this->configuration['panes']['left']['config']['display_restriction'] : 2, - isset($this->configuration['panes']['center']['config']['display_restriction']) ? $this->configuration['panes']['center']['config']['display_restriction'] : 2, - isset($this->configuration['panes']['right']['config']['display_restriction']) ? $this->configuration['panes']['right']['config']['display_restriction'] : 2 + $this->configuration['panes']['left']['config']['display_restriction'] ?? 2, + $this->configuration['panes']['center']['config']['display_restriction'] ?? 2, + $this->configuration['panes']['right']['config']['display_restriction'] ?? 2 ); if ($this->pager->getTotalPages() < $page_restriction) { return; @@ -86,7 +86,7 @@ class Multipane extends PluginBase implements PagererStyleInterface { '#theme' => 'pagerer_base', '#style' => $this->configuration['panes'][$pane]['style'], '#route_name' => $variables['pager']['#route_name'], - '#route_parameters' => isset($variables['pager']['#route_parameters']) ? $variables['pager']['#route_parameters'] : [], + '#route_parameters' => $variables['pager']['#route_parameters'] ?? [], '#element' => $variables['pager']['#element'], '#parameters' => $variables['pager']['#parameters'], '#config' => $this->configuration['panes'][$pane]['config'],