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	  
  ];

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc