fix(field): change FocusEvent to regular Event to support IE11

This commit is contained in:
Joren Broekema 2019-09-13 16:02:31 +02:00
parent a5c78611b3
commit fb25057964
2 changed files with 8 additions and 8 deletions

View file

@ -82,14 +82,14 @@ export const FocusMixin = dedupeMixin(
// focus
this.__redispatchFocus = ev => {
ev.stopPropagation();
this.dispatchEvent(new FocusEvent('focus'));
this.dispatchEvent(new Event('focus'));
};
this.inputElement.addEventListener('focus', this.__redispatchFocus);
// blur
this.__redispatchBlur = ev => {
ev.stopPropagation();
this.dispatchEvent(new FocusEvent('blur'));
this.dispatchEvent(new Event('blur'));
};
this.inputElement.addEventListener('blur', this.__redispatchBlur);
@ -97,7 +97,7 @@ export const FocusMixin = dedupeMixin(
this.__redispatchFocusin = ev => {
ev.stopPropagation();
this._onFocus(ev);
this.dispatchEvent(new FocusEvent('focusin', { bubbles: true, composed: true }));
this.dispatchEvent(new Event('focusin', { bubbles: true, composed: true }));
};
this.inputElement.addEventListener('focusin', this.__redispatchFocusin);
@ -105,7 +105,7 @@ export const FocusMixin = dedupeMixin(
this.__redispatchFocusout = ev => {
ev.stopPropagation();
this._onBlur();
this.dispatchEvent(new FocusEvent('focusout', { bubbles: true, composed: true }));
this.dispatchEvent(new Event('focusout', { bubbles: true, composed: true }));
};
this.inputElement.addEventListener('focusout', this.__redispatchFocusout);
}

View file

@ -77,7 +77,7 @@ describe('FocusMixin', () => {
`);
setTimeout(() => el.focus());
const focusEv = await oneEvent(el, 'focus');
expect(focusEv).to.be.instanceOf(FocusEvent);
expect(focusEv).to.be.instanceOf(Event);
expect(focusEv.target).to.equal(el);
expect(focusEv.bubbles).to.be.false;
expect(focusEv.composed).to.be.false;
@ -87,7 +87,7 @@ describe('FocusMixin', () => {
el.blur();
});
const blurEv = await oneEvent(el, 'blur');
expect(blurEv).to.be.instanceOf(FocusEvent);
expect(blurEv).to.be.instanceOf(Event);
expect(blurEv.target).to.equal(el);
expect(blurEv.bubbles).to.be.false;
expect(blurEv.composed).to.be.false;
@ -99,7 +99,7 @@ describe('FocusMixin', () => {
`);
setTimeout(() => el.focus());
const focusinEv = await oneEvent(el, 'focusin');
expect(focusinEv).to.be.instanceOf(FocusEvent);
expect(focusinEv).to.be.instanceOf(Event);
expect(focusinEv.target).to.equal(el);
expect(focusinEv.bubbles).to.be.true;
expect(focusinEv.composed).to.be.true;
@ -109,7 +109,7 @@ describe('FocusMixin', () => {
el.blur();
});
const focusoutEv = await oneEvent(el, 'focusout');
expect(focusoutEv).to.be.instanceOf(FocusEvent);
expect(focusoutEv).to.be.instanceOf(Event);
expect(focusoutEv.target).to.equal(el);
expect(focusoutEv.bubbles).to.be.true;
expect(focusoutEv.composed).to.be.true;