From 0e0a740e87ab6eacd7bef975f19a90827986cdbd Mon Sep 17 00:00:00 2001 From: Hyyan Abo Fakher Date: Thu, 1 Mar 2018 16:40:19 +0100 Subject: [PATCH] Add CustomEvent Pollyfill --- js/src/events.js | 1 + js/src/events/pollyfill.js | 15 +++++++++++++++ js/src/events/utilities.js | 2 +- 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 js/src/events/pollyfill.js diff --git a/js/src/events.js b/js/src/events.js index b4c03e70..b71b9cea 100644 --- a/js/src/events.js +++ b/js/src/events.js @@ -6,6 +6,7 @@ * file that was distributed with this source code. */ +export * from './events/pollyfill.js'; export * from './events/utilities.js'; export * from './events/selections.js'; export * from './events/editing.js'; diff --git a/js/src/events/pollyfill.js b/js/src/events/pollyfill.js new file mode 100644 index 00000000..35974bc7 --- /dev/null +++ b/js/src/events/pollyfill.js @@ -0,0 +1,15 @@ +/** https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent */ +(function () { + if (typeof window.CustomEvent === "function") return false; //If not IE + + function CustomEvent(event, params) { + params = params || { bubbles: false, cancelable: false, detail: undefined }; + var evt = document.createEvent('CustomEvent'); + evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); + return evt; + } + + CustomEvent.prototype = window.Event.prototype; + + window.CustomEvent = CustomEvent; +})(); diff --git a/js/src/events/utilities.js b/js/src/events/utilities.js index f4c21454..014cc2de 100644 --- a/js/src/events/utilities.js +++ b/js/src/events/utilities.js @@ -13,7 +13,7 @@ export function gw_postEvent(ev) { export function gw_sendEvent(payload) { const d = $doc.getElementById('eventTransporterDiv'); - const event = new Event('click'); + const event = new CustomEvent('click'); event.payload = payload; d.dispatchEvent(event); }