/**
* @file
* The Superfish Drupal Behavior to apply the Superfish jQuery plugin to lists.
*/
(function ($, Drupal, drupalSettings) {
'use strict';
/**
* jQuery Superfish plugin.
*
* @type {Drupal~behavior}
*
* @prop {Drupal~behaviorAttach} attach
* Attaches the behavior to an applicable
element.
*/
Drupal.behaviors.superfish = {
attach: function (context, drupalSettings) {
// Take a look at each menu to apply Superfish to.
$.each(drupalSettings.superfish || {}, function (index, options) {
var $menu = $('ul#' + options.id, context);
// Check if we are to apply the Supersubs plug-in to it.
if (options.plugins || false) {
if (options.plugins.supersubs || false) {
$menu.supersubs(options.plugins.supersubs);
}
}
// Apply Superfish to the menu.
$menu.superfish(options.sf);
// Check if we are to apply any other plug-in to it.
if (options.plugins || false) {
if (options.plugins.touchscreen || false) {
$menu.sftouchscreen(options.plugins.touchscreen);
}
if (options.plugins.smallscreen || false) {
$menu.sfsmallscreen(options.plugins.smallscreen);
}
if (options.plugins.supposition || false) {
$menu.supposition();
}
}
});
}
};
})(jQuery, Drupal, drupalSettings);