trinion_base-1.0.x-dev/src/Controller/ViewDocumentController.php

src/Controller/ViewDocumentController.php
<?php

namespace Drupal\trinion_base\Controller;

use Drupal\Core\Ajax\AjaxResponse;
use Drupal\Core\Ajax\HtmlCommand;
use Drupal\Core\Ajax\InvokeCommand;
use Drupal\Core\Controller\ControllerBase;
use Drupal\node\Entity\Node;

/**
 * Returns responses view document route.
 */
class ViewDocumentController extends ControllerBase {

  /**
   * Builds the response.
   */
  public function build($node) {
    $entity_type = 'node';
    $view_mode = 'full';
    $view_builder = \Drupal::entityTypeManager()->getViewBuilder($entity_type);
    $build = $view_builder->view($node, $view_mode);

    $resposne = new AjaxResponse();
    $resposne->addCommand(new HtmlCommand('#document-content', $build));
    $resposne->addCommand(new InvokeCommand('.document-list .views-row', 'removeClass', ['active']));
    $resposne->addCommand(new InvokeCommand('.document-list .views-row[data-nid="' . $node->id() . '"]', 'addClass', ['active']));

    return $resposne;
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc