Skip to content

Commit

Permalink
Fix events not bubbling
Browse files Browse the repository at this point in the history
Close #745
  • Loading branch information
jonthornton committed Feb 7, 2021
1 parent cec460e commit 0873fe4
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 29 deletions.
30 changes: 18 additions & 12 deletions jquery.timepicker.js
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,12 @@
hrs: "hrs"
};

var EVENT_DEFAULTS = {
bubbles: true,
cancelable: false,
detail: null
};

var Timepicker = /*#__PURE__*/function () {
function Timepicker(targetEl) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
Expand Down Expand Up @@ -272,7 +278,7 @@
}

this.list.hide();
var hideTimepickerEvent = new CustomEvent('hideTimepicker');
var hideTimepickerEvent = new CustomEvent('hideTimepicker', EVENT_DEFAULTS);
this.targetEl.dispatchEvent(hideTimepickerEvent);
}
}, {
Expand Down Expand Up @@ -324,14 +330,14 @@
}
}

var selectTimeEvent = new CustomEvent('selectTime');
var selectTimeEvent = new CustomEvent('selectTime', EVENT_DEFAULTS);

if (this.selectedValue != value) {
this.selectedValue = value;
var changeTimeEvent = new CustomEvent('changeTime');
var changeEvent = new CustomEvent('change', {
var changeTimeEvent = new CustomEvent('changeTime', EVENT_DEFAULTS);
var changeEvent = new CustomEvent('change', Object.assign(EVENT_DEFAULTS, {
detail: 'timepicker'
});
}));

if (source == "select") {
this.targetEl.dispatchEvent(selectTimeEvent);
Expand Down Expand Up @@ -753,7 +759,7 @@
var seconds = this.time2int(this.targetEl.value);

if (seconds === null) {
var timeFormatErrorEvent = new CustomEvent('timeFormatError');
var timeFormatErrorEvent = new CustomEvent('timeFormatError', EVENT_DEFAULTS);
this.targetEl.dispatchEvent(timeFormatErrorEvent);
return;
}
Expand Down Expand Up @@ -797,7 +803,7 @@
if (rangeError) {
this._setTimeValue(prettyTime);

var timeRangeErrorEvent = new CustomEvent('timeRangeError');
var timeRangeErrorEvent = new CustomEvent('timeRangeError', EVENT_DEFAULTS);
this.targetEl.dispatchEvent(timeRangeErrorEvent);
} else {
this._setTimeValue(prettyTime, origin);
Expand Down Expand Up @@ -964,11 +970,11 @@
if (typeof window.CustomEvent === "function") return false;

function CustomEvent(event, params) {
params = params || {
bubbles: false,
cancelable: false,
detail: null
};
if (!params) {
params = {};
}

params = Object.assign(EVENT_DEFAULTS, params);
var evt = document.createEvent('CustomEvent');
evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
return evt;
Expand Down
Loading

0 comments on commit 0873fe4

Please sign in to comment.