diff --git a/js/src/dom/eventHandler.js b/js/src/dom/eventHandler.js index 25248fb92f..95bafe4ed8 100644 --- a/js/src/dom/eventHandler.js +++ b/js/src/dom/eventHandler.js @@ -281,7 +281,7 @@ const EventHandler = (() => { // merge custom informations in our event if (typeof args !== 'undefined') { - evt = Util.extend(evt, args) + evt = Object.assign(evt, args) } if (defaultPrevented) { diff --git a/js/src/dom/polyfill.js b/js/src/dom/polyfill.js index 159884df89..c0c1139f03 100644 --- a/js/src/dom/polyfill.js +++ b/js/src/dom/polyfill.js @@ -155,6 +155,33 @@ const Polyfill = (() => { } } + if (typeof Object.assign !== 'function') { + Object.defineProperty(Object, 'assign', { + value: (target, ...args) => { + if (target === null || typeof target === 'undefined') { + throw new TypeError('Cannot convert undefined or null to object') + } + + const to = Object(target) + + for (let index = 1; index < args.length; index++) { + const nextSource = args[index] + + if (nextSource !== null || !nextSource) { + for (const nextKey in nextSource) { + if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) { + to[nextKey] = nextSource[nextKey] + } + } + } + } + return to + }, + writable: true, + configurable: true + }) + } + return { defaultPreventedPreservedOnDispatch, focusIn: typeof window.onfocusin === 'undefined', diff --git a/js/src/util.js b/js/src/util.js index 0b7f492fee..7a97411bbf 100644 --- a/js/src/util.js +++ b/js/src/util.js @@ -114,28 +114,6 @@ const Util = { } }, - extend(obj1, ...others) { - const obj2 = others.shift() - for (const secondProp in obj2) { - if (Object.prototype.hasOwnProperty.call(obj2, secondProp)) { - const secondVal = obj2[secondProp] - // Is this value an object? If so, iterate over its properties, copying them over - if (secondVal && Object.prototype.toString.call(secondVal) === '[object Object]') { - obj1[secondProp] = obj1[secondProp] || {} - Util.extend(obj1[secondProp], secondVal) - } else { - obj1[secondProp] = secondVal - } - } - } - - if (others.length) { - this.extend(obj1, ...others) - } - - return obj1 - }, - makeArray(nodeList) { if (typeof nodeList === 'undefined' || nodeList === null) { return []