jqms-1.0.x-dev/jq_multiselect.module
jq_multiselect.module
<?php
/**
* @file
* Contains jq_multiselect.module.
*/
use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\Core\Config;
/**
* Implements hook_help().
*/
function jq_multiselect_help($route_name, RouteMatchInterface $route_match) {
switch ($route_name) {
// Main module help for the jq_multiselect module.
case 'help.page.jq_multiselect':
$output = '';
$output .= '<h3>' . t('About') . '</h3>';
$output .= '<p>' . t('Provide multiselect list based on <a href="https://github.com/nobleclem/jQuery-MultiSelect">JQ Multiselect</a>. Nice and easy to use list with checkboxes.') . '</p>';
return $output;
default:
}
}
/**
* Implements hook_library_info_alter().
*/
function jq_multiselect_library_info_alter(&$libraries, $extension) {
$libraries_path = 'libraries/jq-multiselect';
if (\Drupal::hasService('library.libraries_directory_file_finder')) {
$libraries_path = \Drupal::service('library.libraries_directory_file_finder')->find('jq-multiselect');
}
elseif (function_exists('libraries_get_path')) {
$libraries_path = libraries_get_path('jq-multiselect');
}
$module_path = drupal_get_path('module','jq_multiselect');
$libraries['libraries']['js'] = ['/' . $libraries_path . '/jquery.multiselect.js' => []];
$libraries['module']['js'] = ['/' . $module_path . '/js/jq_multiselect.drupal.js' => []];
$libraries['libraries']['css']['component'] = ['/' . $libraries_path . '/jquery.multiselect.css' => []];
$libraries['module']['css']['component'] = ['/' . $module_path . '/css/jq_module.css' => []];
}
/**
* Implements hook_page_attachments().
*/
function jq_multiselect_page_attachments(array &$attachments) {
$config = \Drupal::config('jq_multiselect.jqmsettingconfig');
$attachments['#attached']['library'][] = 'jq_multiselect/libraries';
$attachments['#attached']['library'][] = 'jq_multiselect/module';
$options = [
'select_all' => (bool) $config->get('select_all'),
'search' => (bool) $config->get('search'),
];
$attachments['#attached']['drupalSettings']['module'] = [
'jq'=>$config->get('select_attribute'),
'coloumns'=> (int) $config->get('coloumn'),
'placeholder'=> $config->get('placeholder'),
'options'=>$options
];
}