function availability_calendars_add_js_inc in Availability Calendars 7.2
See also
availability_calendars_add_js()
1 call to availability_calendars_add_js_inc()
- availability_calendars_add_js in ./
availability_calendars.module - Adds required js files, script, and settings.
File
- ./
availability_calendars.inc, line 129 - General helper methods for Availability Calendars, like database access and settings.
Code
function availability_calendars_add_js_inc($node, $js_settings, $mode) {
static $api_added = FALSE;
static $viewport_count = 0;
if (!$api_added) {
// Add the base client side API if not already done so
drupal_add_js(drupal_get_path('module', 'availability_calendars') . '/availability_calendars.js', array(
'type' => 'file',
));
$api_added = TRUE;
}
if (stripos($mode, 'edit') !== FALSE) {
drupal_add_js(drupal_get_path('module', 'availability_calendars') . '/availability_calendars.edit.js', array(
'type' => 'file',
));
drupal_add_js(array(
'availabilityCalendars' => array(
'edit' => array(
'nid' => $node->nid,
'settings' => availability_calendars_get_js_settings($node, 'all'),
),
),
), array(
'type' => 'setting',
));
}
if (stripos($mode, 'viewport') !== FALSE) {
drupal_add_js(drupal_get_path('module', 'availability_calendars') . '/availability_calendars.view.js', array(
'type' => 'file',
));
drupal_add_js(array(
'availabilityCalendars' => array(
"viewport{$viewport_count}" => array(
'nid' => $node->nid,
'settings' => availability_calendars_get_js_settings($node, 'available'),
'viewport' => $js_settings,
),
),
), array(
'type' => 'setting',
));
drupal_add_js("Drupal.behaviors.availabilityCalendarsViewport{$viewport_count} = {\n attach: function(context, settings) {\n Drupal.availabilityCalendars.viewport{$viewport_count} = new Drupal.availabilityCalendars.Viewport(\n Drupal.availabilityCalendars.get(settings.availabilityCalendars.viewport{$viewport_count}.nid,\n settings.availabilityCalendars.viewport{$viewport_count}.settings),\n settings.availabilityCalendars.viewport{$viewport_count}.viewport.settings,\n settings.availabilityCalendars.viewport{$viewport_count}.viewport.backwardSelector,\n settings.availabilityCalendars.viewport{$viewport_count}.viewport.forwardSelector\n );\n }\n };", array(
'type' => 'inline',
'scope' => 'footer',
));
$viewport_count++;
}
}