From 168c1aa8a53b403d72eea2242fe54079465e8772 Mon Sep 17 00:00:00 2001 From: lubber-de Date: Tue, 19 Apr 2022 10:24:00 +0200 Subject: [PATCH 1/2] feat(slider): customizable event selectors --- src/definitions/modules/slider.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/definitions/modules/slider.js b/src/definitions/modules/slider.js index ffe4e3bfbf..516a22328a 100644 --- a/src/definitions/modules/slider.js +++ b/src/definitions/modules/slider.js @@ -60,6 +60,7 @@ $.fn.slider = function(parameters) { className = settings.className, metadata = settings.metadata, namespace = settings.namespace, + selector = settings.selector, error = settings.error, keys = settings.keys, interpretLabel = settings.interpretLabel, @@ -240,7 +241,7 @@ $.fn.slider = function(parameters) { }, mouseEvents: function() { module.verbose('Binding mouse and touch events'); - $module.find('.track, .thumb, .inner').on('mousedown' + eventNamespace, function(event) { + $module.find(selector.mouseTarget).on('mousedown' + eventNamespace, function(event) { event.stopImmediatePropagation(); event.preventDefault(); module.event.down(event); @@ -255,7 +256,7 @@ $.fn.slider = function(parameters) { // All touch events are invoked on the element where the touch *started*. Thus, we can bind them all // on the thumb(s) and don't need to worry about interference with other components, i.e. no dynamic binding // and unbinding required. - $module.find('.thumb') + $module.find(selector.touchTarget) .on('touchstart' + eventNamespace, module.event.touchDown) .on('touchmove' + eventNamespace, module.event.move) .on('touchend' + eventNamespace, module.event.up) @@ -274,11 +275,11 @@ $.fn.slider = function(parameters) { unbind: { events: function() { - $module.find('.track, .thumb, .inner').off('mousedown' + eventNamespace); + $module.find(selector.mouseTarget).off('mousedown' + eventNamespace); $module.off('mousedown' + eventNamespace); $module.off('mouseenter' + eventNamespace); $module.off('mouseleave' + eventNamespace); - $module.find('.thumb') + $module.find(selector.touchTarget) .off('touchstart' + eventNamespace) .off('touchmove' + eventNamespace) .off('touchend' + eventNamespace) @@ -1320,7 +1321,8 @@ $.fn.slider.settings = { pageMultiplier : 2, selector: { - + mouseTarget: '.track, .thumb, .inner', + touchTarget: '.thumb' }, className : { From 700a881c6f68b7ec58c7b95f78c97d9f7307914b Mon Sep 17 00:00:00 2001 From: lubber-de Date: Tue, 6 Dec 2022 17:16:23 +0100 Subject: [PATCH 2/2] fix(slider): linting fixes --- src/definitions/modules/slider.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/definitions/modules/slider.js b/src/definitions/modules/slider.js index ccbaeea8de..f9c199fe1f 100644 --- a/src/definitions/modules/slider.js +++ b/src/definitions/modules/slider.js @@ -1302,8 +1302,8 @@ pageMultiplier: 2, selector: { - mouseTarget: '.track, .thumb, .inner', - touchTarget: '.thumb' + mouseTarget: '.track, .thumb, .inner', + touchTarget: '.thumb', }, className: {