From 2e0705e12d900d11291a738e9b8364b7aec3d0b6 Mon Sep 17 00:00:00 2001 From: Rajab Natshah <rajabn@gmail.com> Date: Thu, 29 Feb 2024 15:06:10 +0300 Subject: [PATCH] Issue #3421069: Add default Drupal dependencies for Varbase Components - Bootstrap Base component script to be able to pass drupal settings, once, and jquery to custom behaviors --- components/organisms/heroslider/heroslider.js | 30 +++++++++++++++---- varbase_components.libraries.yml | 3 ++ 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/components/organisms/heroslider/heroslider.js b/components/organisms/heroslider/heroslider.js index 2fa3038..d9b3dc1 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 367b682..2e9c580 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: {} -- GitLab