class TablesViews in Views Custom Table 8
Same name and namespace in other branches
- 9.0.x src/Controller/TablesViews.php \Drupal\view_custom_table\Controller\TablesViews
Defines TablesViews class.
Hierarchy
- class \Drupal\Core\Controller\ControllerBase implements ContainerInjectionInterface uses LoggerChannelTrait, MessengerTrait, LinkGeneratorTrait, RedirectDestinationTrait, UrlGeneratorTrait, StringTranslationTrait
- class \Drupal\view_custom_table\Controller\TablesViews
Expanded class hierarchy of TablesViews
File
- src/
Controller/ TablesViews.php, line 13
Namespace
Drupal\view_custom_table\ControllerView source
class TablesViews extends ControllerBase {
/**
* Entity Manager for calss.
*
* @var \Drupal\Core\Entity\EntityTypeManager
*/
protected $entityManager;
/**
* TablesViews class constructor.
*
* @param \Drupal\Core\Entity\EntityTypeManager $entityManager
* EntityTypeManager.
*/
public function __construct(EntityTypeManager $entityManager) {
$this->entityManager = $entityManager;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container) {
return new static($container
->get('entity_type.manager'));
}
/**
* Display views created by custom tables.
*
* @param null $table_name
* Table name.
*
* @return array
* Return markup array of views custom table created by logedin user.
* Return markup array of views custom table created by current user.
*
* @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
* @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException
*/
public function content($table_name = NULL) {
$properties = [
'base_table' => $table_name,
];
$views = $this->entityManager
->getStorage('view')
->loadByProperties($properties);
if (!empty($views)) {
foreach ($views as $machine_name => $view) {
$parameter = [
'view' => $machine_name,
];
$options = [
'query' => [
'destination' => 'admin/structure/views/custom_table/views/' . $table_name,
],
];
$edit_url = Url::fromRoute('entity.view.edit_form', $parameter, $options);
$duplicate_url = Url::fromRoute('entity.view.duplicate_form', $parameter, $options);
$enable_url = Url::fromRoute('entity.view.enable', $parameter, $options);
$disable_url = Url::fromRoute('entity.view.disable', $parameter, $options);
$delete_url = Url::fromRoute('entity.view.delete_form', $parameter, $options);
if (!$view
->status()) {
$links = [
[
'#type' => 'dropbutton',
'#links' => [
[
'title' => $this
->t('Enable'),
'url' => $enable_url,
],
[
'title' => $this
->t('Edit'),
'url' => $edit_url,
],
[
'title' => $this
->t('Duplicate'),
'url' => $duplicate_url,
],
[
'title' => $this
->t('Delete'),
'url' => $delete_url,
],
],
],
];
}
else {
$links = [
[
'#type' => 'dropbutton',
'#links' => [
[
'title' => $this
->t('Edit'),
'url' => $edit_url,
],
[
'title' => $this
->t('Duplicate'),
'url' => $duplicate_url,
],
[
'title' => $this
->t('Disable'),
'url' => $disable_url,
],
[
'title' => $this
->t('Delete'),
'url' => $delete_url,
],
],
],
];
}
$rows[] = [
'name' => $view
->label(),
'machine_name' => $machine_name,
'description' => $view
->get('description'),
'operations' => render($links),
];
}
$headers = [
$this
->t('View Name'),
$this
->t('Machine Name'),
$this
->t('Description'),
$this
->t('Operations'),
];
return [
'#theme' => 'table',
'#header' => $headers,
'#rows' => isset($rows) ? $rows : [],
];
}
else {
return [
'#type' => 'markup',
'#markup' => $this
->t('No entry found for views custom tables'),
];
}
return [
'#type' => 'markup',
'#markup' => $this
->t('Module not installed properly, please reinstall module again.'),
];
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ControllerBase:: |
protected | property | The configuration factory. | |
ControllerBase:: |
protected | property | The current user service. | 1 |
ControllerBase:: |
protected | property | The entity form builder. | |
ControllerBase:: |
protected | property | The entity type manager. | |
ControllerBase:: |
protected | property | The form builder. | 2 |
ControllerBase:: |
protected | property | The key-value storage. | 1 |
ControllerBase:: |
protected | property | The language manager. | 1 |
ControllerBase:: |
protected | property | The module handler. | 2 |
ControllerBase:: |
protected | property | The state service. | |
ControllerBase:: |
protected | function | Returns the requested cache bin. | |
ControllerBase:: |
protected | function | Retrieves a configuration object. | |
ControllerBase:: |
private | function | Returns the service container. | |
ControllerBase:: |
protected | function | Returns the current user. | 1 |
ControllerBase:: |
protected | function | Retrieves the entity form builder. | |
ControllerBase:: |
protected | function | Retrieves the entity manager service. | |
ControllerBase:: |
protected | function | Retrieves the entity type manager. | |
ControllerBase:: |
protected | function | Returns the form builder service. | 2 |
ControllerBase:: |
protected | function | Returns a key/value storage collection. | 1 |
ControllerBase:: |
protected | function | Returns the language manager service. | 1 |
ControllerBase:: |
protected | function | Returns the module handler. | 2 |
ControllerBase:: |
protected | function |
Returns a redirect response object for the specified route. Overrides UrlGeneratorTrait:: |
|
ControllerBase:: |
protected | function | Returns the state storage service. | |
LinkGeneratorTrait:: |
protected | property | The link generator. | 1 |
LinkGeneratorTrait:: |
protected | function | Returns the link generator. | |
LinkGeneratorTrait:: |
protected | function | Renders a link to a route given a route name and its parameters. | |
LinkGeneratorTrait:: |
public | function | Sets the link generator service. | |
LoggerChannelTrait:: |
protected | property | The logger channel factory service. | |
LoggerChannelTrait:: |
protected | function | Gets the logger for a specific channel. | |
LoggerChannelTrait:: |
public | function | Injects the logger channel factory. | |
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
RedirectDestinationTrait:: |
protected | property | The redirect destination service. | 1 |
RedirectDestinationTrait:: |
protected | function | Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url. | |
RedirectDestinationTrait:: |
protected | function | Returns the redirect destination service. | |
RedirectDestinationTrait:: |
public | function | Sets the redirect destination service. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
TablesViews:: |
protected | property |
Entity Manager for calss. Overrides ControllerBase:: |
|
TablesViews:: |
public | function | Display views created by custom tables. | |
TablesViews:: |
public static | function |
Instantiates a new instance of this class. Overrides ControllerBase:: |
|
TablesViews:: |
public | function | TablesViews class constructor. | |
UrlGeneratorTrait:: |
protected | property | The url generator. | |
UrlGeneratorTrait:: |
protected | function | Returns the URL generator service. | |
UrlGeneratorTrait:: |
public | function | Sets the URL generator service. | |
UrlGeneratorTrait:: |
protected | function | Generates a URL or path for a specific route based on the given parameters. |