ajaxin-8.x-1.x-dev/ajaxin.module
ajaxin.module
<?php
/**
* @file
* Provides a simple modern ajax loading animation.
*/
use Drupal\ajaxin\Ajaxin;
/**
* Provides a convenient shortcut for procedural hooks.
*
* @return \Drupal\ajaxin\Ajaxin
* The Ajaxin manager class instance.
*/
// @codingStandardsIgnoreStart
function ajaxin(): Ajaxin {
static $manager;
if (!isset($manager)) {
$manager = \Drupal::service('ajaxin');
}
return $manager;
}
// @codingStandardsIgnoreEnd
/**
* Implements hook_theme().
*/
function ajaxin_theme() {
return [
'ajaxin' => [
'render element' => 'element',
'file' => 'ajaxin.theme.inc',
],
];
}
/**
* Implements hook_library_info_build().
*/
function ajaxin_library_info_build() {
return ajaxin()->libraryInfoBuild();
}
/**
* Implements hook_library_info_alter().
*/
function ajaxin_library_info_alter(&$libraries, $module) {
ajaxin()->libraryInfoAlter($libraries, $module);
}
/**
* Implements hook_page_attachments().
*/
function ajaxin_page_attachments(array &$page) {
ajaxin()->pageAttachments($page);
}
/**
* Implements hook_blazy_settings_alter().
*/
function ajaxin_blazy_settings_alter(array &$build, $items) {
// @todo remove check post blazy:2.17, only needed for mismatched versions.
$key = 'settings';
if (!isset($build["#$key"]) && isset($build[$key])) {
$build["#$key"] = $build[$key];
}
// Disable original blazy loading animation to use Ajaxin.
$settings = &$build['#settings'];
$blazies = $settings['blazies'];
$blazies->set('use.loader', FALSE);
}
/**
* Implements hook_help().
*/
function ajaxin_help($route_name) {
if ($route_name == 'help.page.ajaxin') {
$output = file_get_contents(dirname(__FILE__) . '/README.md');
return blazy()->markdown($output);
}
return '';
}
