Newer
Older
<?php
/**
* @file
* Helper module for Views tests.
*/
Daniel Wehner
committed
use Drupal\views\ViewExecutable;
Damian Lee
committed
Damian Lee
committed
function views_test_data_permission() {
'views_test_data test permission' => array(
'description' => t('views_test_data test permission'),
* Access callback for the generic handler test.
*
* @return bool
* Returns views_test_data.tests->handler_access_callback config. so the user
* has access to the handler.
*
* @see Drupal\views\Tests\Handler\HandlerTest
*/
function views_test_data_handler_test_access_callback() {
return \Drupal::config('views_test_data.tests')->get('handler_access_callback');
}
/**
* Access callback with an argument for the generic handler test.
*
* @param bool $argument
* A parameter to test that an argument got passed.
*
* @return bool
* Returns views_test_data.tests->handler_access_callback_argument, so the
* use has access to the handler.
*
* @see Drupal\views\Tests\Handler\HandlerTest
*/
function views_test_data_handler_test_access_callback_argument($argument = FALSE) {
// Check the argument to be sure that access arguments are passed into the
// callback.
if ($argument) {
return \Drupal::config('views_test_data.tests')->get('handler_access_callback_argument');
}
else {
return FALSE;
}
}
/**
* Implements hook_preprocess_HOOK() for views-view-table.tpl.php.
*/
function views_test_data_preprocess_views_view_table(&$variables) {
Angie Byron
committed
if ($variables['view']->storage->id() == 'test_view_render') {
$views_render_test = \Drupal::state()->get('views_render.test');
$views_render_test++;
\Drupal::state()->set('views_render.test', $views_render_test);
}
Mark Sonnabaum
committed
}
Daniel Wehner
committed
Tim Plunkett
committed
/**
Alex Pott
committed
* Prepares variables for the mapping row style test templates.
*
* Default template: views-view-mapping-test.html.twig.
*
* @param array $variables
* An associative array containing:
* - rows: A list of view rows.
* - options: Various view options, including the row style mapping.
* - view: The view object.
Tim Plunkett
committed
*/
function template_preprocess_views_view_mapping_test(&$variables) {
$variables['element'] = array();
foreach ($variables['rows'] as $delta => $row) {
$fields = array();
foreach ($variables['options']['mapping'] as $type => $field_names) {
if (!is_array($field_names)) {
$field_names = array($field_names);
}
foreach ($field_names as $field_name) {
Alex Pott
committed
if ($value = $variables['view']->style_plugin->getField($delta, $field_name)) {
Tim Plunkett
committed
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
$fields[$type . '-' . $field_name] = $type . ':' . $value;
}
}
}
// If there are no fields in this row, skip to the next one.
if (empty($fields)) {
continue;
}
// Build a container for the row.
$variables['element'][$delta] = array(
'#type' => 'container',
'#attributes' => array(
'class' => array(
'views-row-mapping-test',
),
),
);
// Add each field to the row.
foreach ($fields as $key => $render) {
$variables['element'][$delta][$key] = array(
'#children' => $render,
'#type' => 'container',
'#attributes' => array(
'class' => array(
$key,
),
),
);
}
}
}