jquery_wrt.module in jQuery webks Responsive Table 7
jquery_wrt module.
File
jquery_wrt.moduleView source
<?php
/**
* @file
* jquery_wrt module.
*/
/**
* Initialization of jquery_wrt (on each page).
*/
function jquery_wrt_page_build(&$page) {
$module_path = drupal_get_path('module', 'jquery_wrt');
$js_settings = _jquery_wrt_get_settings();
// Only use if not excluded!
$path = drupal_strtolower(drupal_get_path_alias($_GET['q']));
if (!drupal_match_path($path, $js_settings['jquery_wrt_path_match_exclude'])) {
if (($library = libraries_load('jquery.webks-responsive-table')) && !empty($library['loaded'])) {
// Add Settings
drupal_add_js(array(
'jquery_wrt' => $js_settings,
), 'setting');
// Module JS for init as set in config.
drupal_add_js($module_path . '/jquery_wrt.js', array(
'scope' => 'footer',
));
// Module CSS as default
drupal_add_css($module_path . '/jquery_wrt.css');
}
}
}
/**
* Implements hook_requirements().
*/
function jquery_wrt_requirements($phase) {
// Create an array to hold jQuery webks: Responsive Tables requirements
$requirements = array();
// Check requirements during the runtime phase
if ($phase == 'runtime') {
// Check if the jQuery webks: Responsive Tables jQuery plugin library is installed
if (($library = libraries_detect('jquery.webks-responsive-table')) && !empty($library['installed'])) {
$requirements['jquery.webks-responsive-table'] = array(
'title' => t('jQuery webks: Responsive Tables jQuery plugin'),
'value' => t('Installed'),
'severity' => REQUIREMENT_OK,
);
}
else {
$requirements['jquery.webks-responsive-table'] = array(
'title' => t('jQuery webks: Responsive Tables jQuery plugin'),
'value' => t('Not installed'),
'description' => $library['error message'],
'severity' => REQUIREMENT_ERROR,
);
}
// Check if the site is running >= jQuery 1.7
if (($library = drupal_get_library('system', 'jquery')) && version_compare($library['version'], '1.7', '>=')) {
$requirements['jquery_wrt_jquery'] = array(
'title' => t('jQuery webks: Responsive Tables jQuery version'),
'value' => t('jQuery @version', array(
'@version' => $library['version'],
)),
'severity' => REQUIREMENT_OK,
);
}
else {
$destination = drupal_get_destination();
$requirements['jquery_wrt_jquery'] = array(
'title' => t('jQuery webks: Responsive Tables jQuery version'),
'value' => t('jQuery @version', array(
'@version' => $library['version'],
)),
'description' => t('jQuery webks: Responsive Tables requires jQuery 1.7 or greater. Configure <a href="@jquery_update">jQuery Update</a>.', array(
'@jquery_update' => url('admin/config/development/jquery_update', array(
'query' => $destination,
)),
)),
'severity' => REQUIREMENT_ERROR,
);
}
}
return $requirements;
}
/**
* Implements hook_library().
*/
function jquery_wrt_libraries_info() {
$libraries = array();
$libraries['jquery.webks-responsive-table'] = array(
'name' => 'jquery.webks-responsive-table',
'vendor url' => 'https://github.com/JPustkuchen/jquery.webks-responsive-table',
'download url' => 'https://github.com/JPustkuchen/jquery.webks-responsive-table/archive/master.zip',
'version' => '1.0',
'files' => array(
'js' => array(
'jquery.webks-responsive-table.js' => array(
'scope' => 'footer',
),
),
'css' => array(
'jquery.webks-responsive-table.css',
),
),
);
return $libraries;
}
/**
* Implements hook_help().
*/
function jquery_wrt_help($path, $arg) {
switch ($path) {
// Main module help for the block module
case 'admin/help#jquery_wrt':
case 'admin/config/user-interface/jquery_wrt':
return '<p>' . t('Adds "jQuery Plugin webks: Responsive Tables" (Project: !project, GitHub: !github) to table views in Drupal. Query "webks Responsive Table" Plugin transforms less mobile compliant default HTML Tables into a flexible responsive (list) format. Furthermore it provides some nice configuration options to optimize it for your custom needs.', array(
'!github' => l(t('https://github.com/JPustkuchen/jquery.webks-responsive-table'), 'https://github.com/JPustkuchen/jquery.webks-responsive-table'),
'!project' => l(t('https://github.com/JPustkuchen/jquery.webks-responsive-table'), 'https://github.com/JPustkuchen/jquery.webks-responsive-table'),
));
}
}
/**
* Implements hook_load_menu().
*/
function jquery_wrt_menu() {
$items['admin/config/user-interface/jquery_wrt'] = array(
'title' => 'jQuery webks: Responsive Tables',
'description' => 'Configure jQuery Plugin webks: Responsive Tables settings.',
'access arguments' => array(
'administer site configuration',
),
'page callback' => 'drupal_get_form',
'page arguments' => array(
'jquery_wrt_settings_form',
),
'file' => 'jquery_wrt.admin.inc',
);
return $items;
}
/**
* Specifies the commerce_powl AJAX Settings.
*
* @return array Array of configuration variables to be made available in
* JavaScript.
*/
function _jquery_wrt_get_settings() {
$module_path = drupal_get_path('module', 'jquery_wrt');
return array(
'module_path' => $module_path,
'jquery_wrt_preserve_classes' => variable_get('jquery_wrt_preserve_classes', TRUE) ? TRUE : FALSE,
'jquery_wrt_dynamic' => variable_get('jquery_wrt_dynamic', TRUE) ? TRUE : FALSE,
'jquery_wrt_showswitch' => variable_get('jquery_wrt_showswitch', TRUE) ? TRUE : FALSE,
'jquery_wrt_breakpoint' => check_plain(variable_get('jquery_wrt_breakpoint', 960)),
'jquery_wrt_subselector' => check_plain(variable_get('jquery_wrt_subselector', ':not(.sticky-header):not(.field-multiple-table):not(:has(tr.draggable)):not(.files)')),
'jquery_wrt_header_selector' => check_plain(variable_get('jquery_wrt_header_selector', 'thead td, thead th')),
'jquery_wrt_row_selector' => check_plain(variable_get('jquery_wrt_row_selector', 'tbody tr')),
'jquery_wrt_responsive_row_element' => filter_xss(variable_get('jquery_wrt_responsive_row_element', '<dl></dl>')),
'jquery_wrt_row_responsive_column_title_element' => filter_xss(variable_get('jquery_wrt_row_responsive_column_title_element', '<dt></dt>')),
'jquery_wrt_row_responsive_column_value_element' => filter_xss(variable_get('jquery_wrt_row_responsive_column_value_element', '<dd></dd>')),
'jquery_wrt_update_on_resize' => variable_get('jquery_wrt_update_on_resize', TRUE) ? TRUE : FALSE,
'jquery_wrt_path_match_exclude' => variable_get('jquery_wrt_path_match_exclude', ''),
);
}
Functions
Name![]() |
Description |
---|---|
jquery_wrt_help | Implements hook_help(). |
jquery_wrt_libraries_info | Implements hook_library(). |
jquery_wrt_menu | Implements hook_load_menu(). |
jquery_wrt_page_build | Initialization of jquery_wrt (on each page). |
jquery_wrt_requirements | Implements hook_requirements(). |
_jquery_wrt_get_settings | Specifies the commerce_powl AJAX Settings. |