diff --git a/core/modules/views_ui/src/Controller/ViewsUIController.php b/core/modules/views_ui/src/Controller/ViewsUIController.php index f03328a..342f21a 100644 --- a/core/modules/views_ui/src/Controller/ViewsUIController.php +++ b/core/modules/views_ui/src/Controller/ViewsUIController.php @@ -9,6 +9,7 @@ use Drupal\Component\Utility\SafeMarkup; use Drupal\Core\Controller\ControllerBase; +use Drupal\Core\Render\RendererInterface; use Drupal\Core\Url; use Drupal\views\ViewExecutable; use Drupal\views\ViewEntityInterface; @@ -34,13 +35,23 @@ class ViewsUIController extends ControllerBase { protected $viewsData; /** + * The rendering service. + * + * @var \Drupal\Core\Render\RendererInterface + */ + protected $renderer; + + /** * Constructs a new \Drupal\views_ui\Controller\ViewsUIController object. * * @param \Drupal\views\ViewsData views_data * The Views data cache object. + * @param \Drupal\Core\Render\RendererInterface $renderer + * The rendering service. */ - public function __construct(ViewsData $views_data) { + public function __construct(ViewsData $views_data, RendererInterface $renderer) { $this->viewsData = $views_data; + $this->renderer = $renderer; } /** @@ -48,7 +59,8 @@ public function __construct(ViewsData $views_data) { */ public static function create(ContainerInterface $container) { return new static( - $container->get('views.views_data') + $container->get('views.views_data'), + $container->get('renderer') ); } @@ -157,7 +169,7 @@ public function ajaxOperation(ViewEntityInterface $view, $op, Request $request) if ($request->request->get('js')) { $list = $this->entityManager()->getListBuilder('view')->render(); $response = new AjaxResponse(); - $response->addCommand(new ReplaceCommand('#views-entity-list', drupal_render($list))); + $response->addCommand(new ReplaceCommand('#views-entity-list', $this->renderer->render($list))); return $response; } diff --git a/core/modules/views_ui/src/Form/BreakLockForm.php b/core/modules/views_ui/src/Form/BreakLockForm.php index 82f1f6f..b6e6b18 100644 --- a/core/modules/views_ui/src/Form/BreakLockForm.php +++ b/core/modules/views_ui/src/Form/BreakLockForm.php @@ -10,6 +10,7 @@ use Drupal\Core\Entity\EntityConfirmFormBase; use Drupal\Core\Entity\EntityManagerInterface; use Drupal\Core\Form\FormStateInterface; +use Drupal\Core\Render\RendererInterface; use Drupal\user\SharedTempStoreFactory; use Symfony\Component\DependencyInjection\ContainerInterface; @@ -33,16 +34,26 @@ class BreakLockForm extends EntityConfirmFormBase { protected $tempStore; /** + * The rendering service. + * + * @var \Drupal\Core\Render\RendererInterface + */ + protected $renderer; + + /** * Constructs a \Drupal\views_ui\Form\BreakLockForm object. * * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager * The Entity manager. * @param \Drupal\user\SharedTempStoreFactory $temp_store_factory * The factory for the temp store object. + * @param \Drupal\Core\Render\RendererInterface $renderer + * The rendering service. */ - public function __construct(EntityManagerInterface $entity_manager, SharedTempStoreFactory $temp_store_factory) { + public function __construct(EntityManagerInterface $entity_manager, SharedTempStoreFactory $temp_store_factory, RendererInterface $renderer) { $this->entityManager = $entity_manager; $this->tempStore = $temp_store_factory->get('views'); + $this->renderer = $renderer; } /** @@ -51,7 +62,8 @@ public function __construct(EntityManagerInterface $entity_manager, SharedTempSt public static function create(ContainerInterface $container) { return new static( $container->get('entity.manager'), - $container->get('user.shared_tempstore') + $container->get('user.shared_tempstore'), + $container->get('renderer') ); } @@ -79,7 +91,7 @@ public function getDescription() { '#theme' => 'username', '#account' => $account, ); - return $this->t('By breaking this lock, any unsaved changes made by !user will be lost.', array('!user' => drupal_render($username))); + return $this->t('By breaking this lock, any unsaved changes made by !user will be lost.', array('!user' => $this->renderer->render($username))); } /** diff --git a/core/modules/views_ui/src/Tests/CustomBooleanTest.php b/core/modules/views_ui/src/Tests/CustomBooleanTest.php index f9a990b..f30e193 100644 --- a/core/modules/views_ui/src/Tests/CustomBooleanTest.php +++ b/core/modules/views_ui/src/Tests/CustomBooleanTest.php @@ -86,6 +86,8 @@ public function testCustomOption() { ), ); + $renderer = \Drupal::service('renderer'); + // Run the same tests on each type. foreach ($custom_values as $type => $values) { $options = array( @@ -100,7 +102,7 @@ public function testCustomOption() { $view = Views::getView('test_view'); $output = $view->preview(); - $output = drupal_render($output); + $output = $renderer->render($output); $replacements = array('%type' => $type); $this->{$values['test']}(strpos($output, $values['true']), format_string('Expected custom boolean TRUE value in output for %type.', $replacements)); diff --git a/core/modules/views_ui/src/ViewEditForm.php b/core/modules/views_ui/src/ViewEditForm.php index 2fc7fc4..8e03993 100644 --- a/core/modules/views_ui/src/ViewEditForm.php +++ b/core/modules/views_ui/src/ViewEditForm.php @@ -19,6 +19,7 @@ use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Render\Element; use Drupal\Core\Render\ElementInfoManagerInterface; +use Drupal\Core\Render\RendererInterface; use Drupal\Core\Url; use Drupal\user\SharedTempStoreFactory; use Drupal\views\Views; @@ -60,6 +61,13 @@ class ViewEditForm extends ViewFormBase { protected $elementInfo; /** + * The rendering service. + * + * @var \Drupal\Core\Render\RendererInterface + */ + protected $renderer; + + /** * Constructs a new ViewEditForm object. * * @param \Drupal\user\SharedTempStoreFactory $temp_store_factory @@ -70,12 +78,15 @@ class ViewEditForm extends ViewFormBase { * The date Formatter service. * @param \Drupal\Core\Render\ElementInfoManagerInterface $element_info * The element info manager. + * @param \Drupal\Core\Render\RendererInterface $renderer + * The rendering service. */ - public function __construct(SharedTempStoreFactory $temp_store_factory, RequestStack $requestStack, DateFormatter $date_formatter, ElementInfoManagerInterface $element_info) { + public function __construct(SharedTempStoreFactory $temp_store_factory, RequestStack $requestStack, DateFormatter $date_formatter, ElementInfoManagerInterface $element_info, RendererInterface $renderer) { $this->tempStore = $temp_store_factory->get('views'); $this->requestStack = $requestStack; $this->dateFormatter = $date_formatter; $this->elementInfo = $element_info; + $this->renderer = $renderer; } /** @@ -86,7 +97,8 @@ public static function create(ContainerInterface $container) { $container->get('user.shared_tempstore'), $container->get('request_stack'), $container->get('date.formatter'), - $container->get('element_info') + $container->get('element_info'), + $container->get('renderer') ); } @@ -146,7 +158,7 @@ public function form(array $form, FormStateInterface $form_state) { '#account' => user_load($view->lock->owner), ); $lock_message_substitutions = array( - '!user' => drupal_render($username), + '!user' => $this->renderer->render($username), '!age' => $this->dateFormatter->formatInterval(REQUEST_TIME - $view->lock->updated), '@url' => $view->url('break-lock-form'), ); @@ -679,12 +691,12 @@ public function rebuildCurrentTab(ViewUI $view, AjaxResponse $response, $display // Regenerate the main display area. $build = $this->getDisplayTab($view); static::addMicroweights($build); - $response->addCommand(new HtmlCommand('#views-tab-' . $display_id, drupal_render($build))); + $response->addCommand(new HtmlCommand('#views-tab-' . $display_id, $this->renderer->render($build))); // Regenerate the top area so changes to display names and order will appear. $build = $this->renderDisplayTop($view); static::addMicroweights($build); - $response->addCommand(new ReplaceCommand('#views-display-top', drupal_render($build))); + $response->addCommand(new ReplaceCommand('#views-display-top', $this->renderer->render($build))); } /** @@ -1157,7 +1169,7 @@ public function getFormBucket(ViewUI $view, $type, $display) { * Recursively adds microweights to a render array, similar to what * \Drupal::formBuilder()->doBuildForm() does for forms. * - * @todo Submit a core patch to fix drupal_render() to do this, so that all + * @todo Submit a core patch to fix renderer service to do this, so that all * render arrays automatically preserve array insertion order, as forms do. */ public static function addMicroweights(&$build) { diff --git a/core/modules/views_ui/views_ui.theme.inc b/core/modules/views_ui/views_ui.theme.inc index f2f2b67..e41e364 100644 --- a/core/modules/views_ui/views_ui.theme.inc +++ b/core/modules/views_ui/views_ui.theme.inc @@ -97,27 +97,28 @@ function template_preprocess_views_ui_view_info(&$variables) { */ function theme_views_ui_build_group_filter_form($variables) { $form = $variables['form']; - $more = drupal_render($form['more']); + $renderer = \Drupal::service('renderer'); + $more = $renderer->render($form['more']); - $output = drupal_render($form['form_description']); - $output .= drupal_render($form['expose_button']); - $output .= drupal_render($form['group_button']); + $output = $renderer->render($form['form_description']); + $output .= $renderer->render($form['expose_button']); + $output .= $renderer->render($form['group_button']); if (isset($form['required'])) { - $output .= drupal_render($form['required']); + $output .= $renderer->render($form['required']); } - $output .= drupal_render($form['operator']); - $output .= drupal_render($form['value']); + $output .= $renderer->render($form['operator']); + $output .= $renderer->render($form['value']); $output .= '