views_row_insert.module in Views Row Insert 8
Same filename and directory in other branches
Contains views_row_insert.module.
File
views_row_insert.moduleView source
<?php
/**
* @file
* Contains views_row_insert.module.
*/
use Drupal\Core\Routing\RouteMatchInterface;
// Store Views Rows Insert preprocess theme functions in a separate .inc file.
\Drupal::moduleHandler()
->loadInclude('views_row_insert', 'inc', 'views_row_insert.theme');
/**
* Implements hook_help().
*
* @inheritdoc
*/
function views_row_insert_help($route_name, RouteMatchInterface $route_match) {
switch ($route_name) {
// Main module help for the views_row_insert module.
case 'help.page.views_row_insert':
$output = '';
$output .= '<h3>' . t('About') . '</h3>';
$output .= '<p>' . t('Views style plugin to insert custom rows with html data or blocks content into view results.') . '</p>';
return $output;
default:
}
}
/**
* Implements hook_theme().
*
* @inheritdoc
*/
function views_row_insert_theme($existing, $type, $theme, $path) {
return [
'views_row_insert' => [
'file' => 'views_row_insert.theme.inc',
],
];
}
/**
* Provides list of available system blocks for the form options.
*
* @return array
* Returns array.
*/
function _views_row_insert_get_blocks() {
$options = [];
$definitions = _views_row_insert_get_blocks_definitions();
foreach ($definitions as $id => $block) {
if (is_string($block['admin_label'])) {
$label = $block['admin_label'];
}
else {
$label = $block['admin_label']
->render();
}
$options[$id] = $label;
}
return $options;
}
/**
* Provides list of available system blocks definitions.
*
* @return array
* Returns array.
*/
function _views_row_insert_get_blocks_definitions() {
$blockManager = \Drupal::service('plugin.manager.block');
$contextRepository = \Drupal::service('context.repository');
$definitions = $blockManager
->getDefinitionsForContexts($contextRepository
->getAvailableContexts());
return $blockManager
->getSortedDefinitions($definitions);
}
/**
* Processing Radios Element using #after_build property.
*
* @param array $element
* Contains option elements.
* @param object $form_state
* Form object.
*
* @return array
* Returns array.
*/
function _views_row_insert_process_radios(array $element, $form_state) {
$options = array_keys($element['#options']);
foreach ($options as $values) {
$element[$values]['#attributes']['class'][] = $values;
}
return $element;
}
/**
* Helper function. Provides last key of the array .
*
* @param array $new_rows
* Array of rows.
*
* @return string
* Returns key.
*/
function _views_row_insert_last_key(array $new_rows) {
$keys = array_keys($new_rows);
return end($keys);
}
Functions
Name | Description |
---|---|
views_row_insert_help | Implements hook_help(). |
views_row_insert_theme | Implements hook_theme(). |
_views_row_insert_get_blocks | Provides list of available system blocks for the form options. |
_views_row_insert_get_blocks_definitions | Provides list of available system blocks definitions. |
_views_row_insert_last_key | Helper function. Provides last key of the array . |
_views_row_insert_process_radios | Processing Radios Element using #after_build property. |