plugin-8.x-2.8/src/PluginOperationsProvider/DefaultArrayPluginOperationsProvider.php

src/PluginOperationsProvider/DefaultArrayPluginOperationsProvider.php
<?php

namespace Drupal\plugin\PluginOperationsProvider;

use Drupal\Component\Serialization\Json;
use Drupal\Core\StringTranslation\StringTranslationTrait;
use Drupal\Core\Url;
use Drupal\plugin\PluginOperationsProviderInterface;
use Drupal\plugin\PluginType\PluginTypeInterface;

/**
 * Default operation provider for array definition plugin types.
 */
class DefaultArrayPluginOperationsProvider implements PluginOperationsProviderInterface, PluginTypeAwarePluginOperationsProviderInterface {

  use StringTranslationTrait;

  /**
   * The plugin type.
   *
   * @var \Drupal\plugin\PluginType\PluginTypeInterface
   */
  protected $pluginType;

  /**
   * {@inheritdoc}
   */
  public function getOperations($plugin_id) {
    return [
      'view' => [
        'title' => $this->t('View'),
        'url' => Url::fromRoute('plugin.plugin.detail', [
          'plugin_type' => $this->pluginType->getId(),
          'plugin_id' => $plugin_id,
        ]),
        'attributes' => [
          'class' => ['use-ajax'],
          'data-dialog-type' => 'modal',
          'data-dialog-options' => Json::encode([
            'width' => 700,
            'minHeight' => 500,
          ]),
        ],
      ],
    ];
  }

  /**
   * {@inheritdoc}
   */
  public function setPluginType(PluginTypeInterface $plugin_type) {
    $this->pluginType = $plugin_type;
  }

}

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

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