diff --git a/components/organisms/heroslider/heroslider.js b/components/organisms/heroslider/heroslider.js index 2fa3038b4a3136af4b8f50410335599d7ffd6cd8..d9b3dc1887af8c10b95a3ea9cdb238dff05f5d50 100644 --- a/components/organisms/heroslider/heroslider.js +++ b/components/organisms/heroslider/heroslider.js @@ -1,17 +1,37 @@ -!function(Drupal, once) { +/** + * @file + * JavaScript behaviors for Varbase Hero Slider. + */ + +(function (Drupal, once, bootstrap) { + + 'use strict'; + + /** + * Varbase Hero Slider Pause administration. + * + * @type {Drupal~behavior} + */ Drupal.behaviors.varbaseHeroSliderPause = { - attach: function(context) { + attach: function (context) { once("pause-heroslider", ".carousel-control-pause", context).forEach((element => { element.addEventListener("click", (e => { bootstrap.Carousel.getInstance(document.querySelector(element.dataset.bsTarget)).pause(); })); })); } - }, Drupal.behaviors.varbaseHeroSliderDrimage = { - attach: function(context) { + }; + + /** + * Varbase Hero Slider integration with drimage. + * + * @type {Drupal~behavior} + */ + Drupal.behaviors.varbaseHeroSliderDrimage = { + attach: function (context) { document.querySelector(".carousel.varbase-heroslider", context).addEventListener("slid.bs.carousel", (event => { Drupal.drimage.init(document.querySelector(".carousel.varbase-heroslider", context)); })); } }; -}(Drupal, once); \ No newline at end of file +})(Drupal, once, bootstrap); \ No newline at end of file diff --git a/varbase_components.libraries.yml b/varbase_components.libraries.yml index 367b68299a5aa837f6f1c2606d9e48634d723fec..2e9c580285ef38630f7fc7a7e556d85b33847c79 100644 --- a/varbase_components.libraries.yml +++ b/varbase_components.libraries.yml @@ -6,8 +6,11 @@ popper-script: # Bootstrap Base component script. bs-base-component-script: dependencies: + - core/drupalSettings - core/drupal - core/drupal.ajax + - core/jquery + - core/once - varbase_components/popper-script js: js/bootstrap/util/index.js: {}