function _selectmenu_add_libs in jQuery UI selectmenu 7
Same name and namespace in other branches
- 7.2 selectmenu.module \_selectmenu_add_libs()
Put necessary JS related settings into Drupal.settings. Force load required jQuery plugins.
1 call to _selectmenu_add_libs()
- selectmenu_init in ./
selectmenu.module - Implements hook_init().
File
- ./
selectmenu.module, line 60
Code
function _selectmenu_add_libs() {
// Building a Drupal.settings entry.
$settings = array(
'selectmenu_css_whitelist' => implode(', ', _selectmenu_prepare_ids(variable_get('selectmenu_css_whitelist', ''))),
'form_id_exceptions' => _selectmenu_prepare_ids(variable_get('selectmenu_form_id_exceptions', '')),
'ignore_system_settings_forms' => variable_get('selectmenu_ignore_system_settings_forms', TRUE),
'ignore_overlay_forms' => variable_get('selectmenu_ignore_overlay_forms', TRUE),
'ignore_node_add_forms' => variable_get('selectmenu_ignore_node_add_forms', TRUE),
'disable_for_admin_theme' => variable_get('selectmenu_disable_for_admin_theme', FALSE),
);
// Process and add script options accordingly.
$selectmenu_script_options = array_filter(variable_get('selectmenu_script_options', array()), 'trim');
if (!empty($selectmenu_script_options)) {
$settings['options'] = $selectmenu_script_options;
}
// Check to see if we are using the admin theme and if selectmenu should be disabled according to preference.
global $theme;
if ($theme == variable_get('admin_theme') && variable_get('selectmenu_disable_for_admin_theme', FALSE)) {
// Making sure the admin_theme isn't the sidewide default theme either.
if ($theme != variable_get('theme_default', '')) {
return;
}
}
$libs_loc = _selectmenu_find_libs();
if ($libs_loc) {
drupal_add_library('system', 'ui.core');
drupal_add_library('system', 'ui.widget');
drupal_add_library('system', 'ui.position');
drupal_add_js($libs_loc . '/jquery.ui.selectmenu.js');
drupal_add_css($libs_loc . '/jquery.ui.selectmenu.css');
drupal_add_js(array(
'selectmenu' => $settings,
), 'setting');
drupal_add_js(drupal_get_path('module', 'selectmenu') . '/js/selectmenu.js');
}
}