@wernfried/daterangepicker 5.4.10 → 5.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -39,6 +39,7 @@ class DateRangePicker {
39
39
  this.isInvalidTime = null;
40
40
  this.isCustomDate = null;
41
41
  this.onOutsideClick = "apply";
42
+ this.stopPropagation = true;
42
43
  this.opens = this.element?.classList.contains("pull-right") ? "left" : "right";
43
44
  this.drops = this.element?.classList.contains("dropup") ? "up" : "down";
44
45
  this.buttonClasses = "btn btn-sm";
@@ -220,7 +221,8 @@ class DateRangePicker {
220
221
  "autoApply",
221
222
  "autoUpdateInput",
222
223
  "showLabel",
223
- "showOnClick"
224
+ "showOnClick",
225
+ "stopPropagation"
224
226
  ]) {
225
227
  if (typeof options[key2] === "boolean")
226
228
  this[key2] = options[key2];
@@ -2319,11 +2321,15 @@ class DateRangePicker {
2319
2321
  * @private
2320
2322
  */
2321
2323
  addListener(element, eventName, selector, delegate) {
2324
+ const stopPropagation = this.stopPropagation;
2322
2325
  this.container.querySelectorAll(element).forEach((el) => {
2323
2326
  el.addEventListener(eventName, function(event) {
2324
2327
  const target = event.target.closest(selector);
2325
- if (target && el.contains(target))
2328
+ if (target && el.contains(target)) {
2329
+ if (stopPropagation)
2330
+ event.stopPropagation();
2326
2331
  delegate.call(target, event);
2332
+ }
2327
2333
  });
2328
2334
  });
2329
2335
  }
@@ -2398,9 +2404,8 @@ function daterangepicker(element, options, callback) {
2398
2404
  for (const el of Array.from(element)) {
2399
2405
  if (el._daterangepicker && typeof el._daterangepicker.remove === "function")
2400
2406
  el._daterangepicker.remove();
2401
- const picker = new DateRangePicker(el, options || {}, callback);
2402
- el._daterangepicker = picker;
2403
- ret.push(picker);
2407
+ el._daterangepicker = new DateRangePicker(el, options || {}, callback);
2408
+ ret.push(el._daterangepicker);
2404
2409
  }
2405
2410
  return ret;
2406
2411
  } else if (typeof element === "string") {
@@ -2409,9 +2414,8 @@ function daterangepicker(element, options, callback) {
2409
2414
  for (const el of Array.from(document.querySelectorAll(element))) {
2410
2415
  if (el._daterangepicker && typeof el._daterangepicker.remove === "function")
2411
2416
  el._daterangepicker.remove();
2412
- const picker = new DateRangePicker(el, options || {}, callback);
2413
- el._daterangepicker = picker;
2414
- ret.push(picker);
2417
+ el._daterangepicker = new DateRangePicker(el, options || {}, callback);
2418
+ ret.push(el._daterangepicker);
2415
2419
  }
2416
2420
  return ret;
2417
2421
  } else if (document.querySelectorAll(element).length === 1) {