function swagger_ui_formatter_library_info_build in Swagger UI Field Formatter 8.3
Same name and namespace in other branches
- 8.2 swagger_ui_formatter.module \swagger_ui_formatter_library_info_build()
Implements hook_library_info_build().
File
- ./
swagger_ui_formatter.module, line 30
Code
function swagger_ui_formatter_library_info_build() : array {
$libraries = [];
/** @var \Drupal\swagger_ui_formatter\Service\SwaggerUiLibraryDiscoveryInterface $swagger_ui_library_discovery */
$swagger_ui_library_discovery = \Drupal::service('swagger_ui_formatter.swagger_ui_library_discovery');
try {
$library_dir = $swagger_ui_library_discovery
->libraryDirectory();
$library_version = $swagger_ui_library_discovery
->libraryVersion();
} catch (SwaggerUiLibraryDiscoveryExceptionInterface $exception) {
\Drupal::logger('swagger_ui_formatter')
->error('Unable to register Swagger UI library: ' . $exception
->getMessage());
return $libraries;
}
// Add a leading slash to the library directory path to indicate in
// $libraries[] that it's relative to DRUPAL_ROOT. Otherwise, it's considered
// as a relative path from the current module.
$library_dir = '/' . $library_dir;
// Library definition for the required Swagger UI files.
$libraries['swagger_ui_formatter.swagger_ui'] = [
'version' => $library_version,
'css' => [
'theme' => [
$library_dir . '/dist/swagger-ui.css' => [
'minified' => TRUE,
],
],
],
'js' => [
$library_dir . '/dist/swagger-ui-bundle.js' => [
'minified' => TRUE,
],
$library_dir . '/dist/swagger-ui-standalone-preset.js' => [
'minified' => TRUE,
],
],
];
// Library definition for the Swagger UI integration files.
$libraries['swagger_ui_formatter.swagger_ui_integration'] = [
'version' => '1.0',
'js' => [
'js/swagger-ui-formatter.js' => [],
],
'dependencies' => [
'core/drupal',
'core/jquery',
'core/drupalSettings',
'swagger_ui_formatter/swagger_ui_formatter.swagger_ui',
],
];
return $libraries;
}