UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

1,122 lines (1,120 loc) • 7.16 MB
/*! * DevExtreme (dx.web.debug.js) * Version: 18.2.18 * Build date: Tue Oct 18 2022 * * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "use strict"; ! function(modules) { var installedModules = {}; function __webpack_require__(moduleId) { if (installedModules[moduleId]) { return installedModules[moduleId].exports } var module = installedModules[moduleId] = { i: moduleId, l: false, exports: {} }; modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); module.l = true; return module.exports } __webpack_require__.m = modules; __webpack_require__.c = installedModules; __webpack_require__.d = function(exports, name, getter) { if (!__webpack_require__.o(exports, name)) { Object.defineProperty(exports, name, { configurable: false, enumerable: true, get: getter }) } }; __webpack_require__.n = function(module) { var getter = module && module.__esModule ? function() { return module.default } : function() { return module }; __webpack_require__.d(getter, "a", getter); return getter }; __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property) }; __webpack_require__.p = ""; return __webpack_require__(__webpack_require__.s = 827) }([ /*!***************************************************!*\ !*** ./artifacts/transpiled/core/utils/extend.js ***! \***************************************************/ /*! dynamic exports provided */ /*! all exports used */ function(module, exports, __webpack_require__) { var isPlainObject = __webpack_require__( /*! ./type */ 1).isPlainObject; var extendFromObject = function(target, source, overrideExistingValues) { target = target || {}; for (var prop in source) { if (source.hasOwnProperty(prop)) { var value = source[prop]; if (!(prop in target) || overrideExistingValues) { target[prop] = value } } } return target }; var extend = function extend(target) { target = target || {}; var i = 1, deep = false; if ("boolean" === typeof target) { deep = target; target = arguments[1] || {}; i++ } for (; i < arguments.length; i++) { var source = arguments[i]; if (null == source) { continue } for (var key in source) { var clone, targetValue = target[key], sourceValue = source[key], sourceValueIsArray = false; if ("__proto__" === key || target === sourceValue) { continue } if (deep && sourceValue && (isPlainObject(sourceValue) || (sourceValueIsArray = Array.isArray(sourceValue)))) { if (sourceValueIsArray) { clone = targetValue && Array.isArray(targetValue) ? targetValue : [] } else { clone = targetValue && isPlainObject(targetValue) ? targetValue : {} } target[key] = extend(deep, clone, sourceValue) } else { if (void 0 !== sourceValue) { target[key] = sourceValue } } } } return target }; exports.extend = extend; exports.extendFromObject = extendFromObject }, /*!*************************************************!*\ !*** ./artifacts/transpiled/core/utils/type.js ***! \*************************************************/ /*! dynamic exports provided */ /*! all exports used */ function(module, exports, __webpack_require__) { var _typeof = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }; var types = { "[object Array]": "array", "[object Date]": "date", "[object Object]": "object", "[object String]": "string", "[object Null]": "null" }; var type = function(object) { var typeOfObject = Object.prototype.toString.call(object); return "object" === ("undefined" === typeof object ? "undefined" : _typeof(object)) ? types[typeOfObject] || "object" : "undefined" === typeof object ? "undefined" : _typeof(object) }; var isBoolean = function(object) { return "boolean" === typeof object }; var isExponential = function(value) { return isNumeric(value) && value.toString().indexOf("e") !== -1 }; var isDate = function(object) { return "date" === type(object) }; var isDefined = function(object) { return null !== object && void 0 !== object }; var isFunction = function(object) { return "function" === typeof object }; var isString = function(object) { return "string" === typeof object }; var isNumeric = function(object) { return "number" === typeof object && isFinite(object) || !isNaN(object - parseFloat(object)) }; var isObject = function(object) { return "object" === type(object) }; var isEmptyObject = function(object) { var property; for (property in object) { return false } return true }; var isPlainObject = function(object) { if (!object || "[object Object]" !== Object.prototype.toString.call(object)) { return false } var proto = Object.getPrototypeOf(object), ctor = Object.hasOwnProperty.call(proto, "constructor") && proto.constructor; return "function" === typeof ctor && Object.toString.call(ctor) === Object.toString.call(Object) }; var isPrimitive = function(value) { return ["object", "array", "function"].indexOf(type(value)) === -1 }; var isWindow = function(object) { return null != object && object === object.window }; var isRenderer = function(object) { return !!(object.jquery || object.dxRenderer) }; var isPromise = function(object) { return object && isFunction(object.then) }; var isDeferred = function(object) { return object && isFunction(object.done) && isFunction(object.fail) }; exports.isBoolean = isBoolean; exports.isExponential = isExponential; exports.isDate = isDate; exports.isDefined = isDefined; exports.isFunction = isFunction; exports.isString = isString; exports.isNumeric = isNumeric; exports.isObject = isObject; exports.isEmptyObject = isEmptyObject; exports.isPlainObject = isPlainObject; exports.isPrimitive = isPrimitive; exports.isWindow = isWindow; exports.isRenderer = isRenderer; exports.isPromise = isPromise; exports.isDeferred = isDeferred; exports.type = type }, /*!***********************************************!*\ !*** ./artifacts/transpiled/core/renderer.js ***! \***********************************************/ /*! dynamic exports provided */ /*! all exports used */ function(module, exports, __webpack_require__) { var rendererBase = __webpack_require__( /*! ./renderer_base */ 235); module.exports = rendererBase.get() }, /*!*****************************************************!*\ !*** ./artifacts/transpiled/core/utils/iterator.js ***! \*****************************************************/ /*! dynamic exports provided */ /*! all exports used */ function(module, exports, __webpack_require__) { var map = function(values, callback) { if (Array.isArray(values)) { return values.map(callback) } var result = []; for (var key in values) { result.push(callback(values[key], key)) } return result }; var each = function(values, callback) { if (!values) { return } if ("length" in values) { for (var i = 0; i < values.length; i++) { if (false === callback.call(values[i], i, values[i])) { break } } } else { for (var key in values) { if (false === callback.call(values[key], key, values[key])) { break } } } return values }; var reverseEach = function(array, callback) { if (!array || !("length" in array) || 0 === array.length) { return } for (var i = array.length - 1; i >= 0; i--) { if (false === callback.call(array[i], i, array[i])) { break } } }; exports.map = map; exports.each = each; exports.reverseEach = reverseEach }, /*!***************************************************!*\ !*** ./artifacts/transpiled/core/utils/common.js ***! \***************************************************/ /*! dynamic exports provided */ /*! all exports used */ function(module, exports, __webpack_require__) { var _typeof = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }; var _config = __webpack_require__( /*! ../config */ 25); var _config2 = _interopRequireDefault(_config); var _guid = __webpack_require__( /*! ../guid */ 42); var _guid2 = _interopRequireDefault(_guid); var _deferred = __webpack_require__( /*! ../utils/deferred */ 6); var _iterator = __webpack_require__( /*! ./iterator */ 3); var _data = __webpack_require__( /*! ./data */ 22); var _type = __webpack_require__( /*! ./type */ 1); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj } } var ensureDefined = function(value, defaultValue) { return (0, _type.isDefined)(value) ? value : defaultValue }; var executeAsync = function(action, context) { var deferred = new _deferred.Deferred; var normalizedContext = context || this; var timerId = void 0; var task = { promise: deferred.promise(), abort: function() { clearTimeout(timerId); deferred.rejectWith(normalizedContext) } }; var callback = function() { var result = action.call(normalizedContext); if (result && result.done && (0, _type.isFunction)(result.done)) { result.done(function() { deferred.resolveWith(normalizedContext) }) } else { deferred.resolveWith(normalizedContext) } }; timerId = (arguments[2] || setTimeout)(callback, "number" === typeof context ? context : 0); return task }; var delayedFuncs = []; var delayedNames = []; var delayedDeferreds = []; var executingName = void 0; var deferExecute = function(name, func, deferred) { if (executingName && executingName !== name) { delayedFuncs.push(func); delayedNames.push(name); deferred = deferred || new _deferred.Deferred; delayedDeferreds.push(deferred); return deferred } else { var oldExecutingName = executingName; var currentDelayedCount = delayedDeferreds.length; executingName = name; var result = func(); if (!result) { if (delayedDeferreds.length > currentDelayedCount) { result = _deferred.when.apply(this, delayedDeferreds.slice(currentDelayedCount)) } else { if (deferred) { deferred.resolve() } } } executingName = oldExecutingName; if (deferred && result && result.done) { result.done(deferred.resolve).fail(deferred.reject) } if (!executingName && delayedFuncs.length) { ("render" === delayedNames.shift() ? deferRender : deferUpdate)(delayedFuncs.shift(), delayedDeferreds.shift()) } return result || (0, _deferred.when)() } }; var deferRender = function(func, deferred) { return deferExecute("render", func, deferred) }; var deferUpdate = function(func, deferred) { return deferExecute("update", func, deferred) }; var deferRenderer = function(func) { return function() { var that = this; return deferExecute("render", function() { return func.call(that) }) } }; var deferUpdater = function(func) { return function() { var that = this; return deferExecute("update", function() { return func.call(that) }) } }; var findBestMatches = function(targetFilter, items, mapFn) { var bestMatches = []; var maxMatchCount = 0; (0, _iterator.each)(items, function(index, itemSrc) { var matchCount = 0; var item = mapFn ? mapFn(itemSrc) : itemSrc; (0, _iterator.each)(targetFilter, function(paramName, targetValue) { var value = item[paramName]; if (void 0 === value) { return } if (match(value, targetValue)) { matchCount++; return } matchCount = -1; return false }); if (matchCount < maxMatchCount) { return } if (matchCount > maxMatchCount) { bestMatches.length = 0; maxMatchCount = matchCount } bestMatches.push(itemSrc) }); return bestMatches }; var match = function(value, targetValue) { if (Array.isArray(value) && Array.isArray(targetValue)) { var mismatch = false; (0, _iterator.each)(value, function(index, valueItem) { if (valueItem !== targetValue[index]) { mismatch = true; return false } }); if (mismatch) { return false } return true } if (value === targetValue) { return true } return false }; var splitPair = function(raw) { switch ("undefined" === typeof raw ? "undefined" : _typeof(raw)) { case "string": return raw.split(/\s+/, 2); case "object": return [raw.x || raw.h, raw.y || raw.v]; case "number": return [raw]; default: return raw } }; var normalizeKey = function(id) { var key = (0, _type.isString)(id) ? id : id.toString(); var arr = key.match(/[^a-zA-Z0-9_]/g); arr && (0, _iterator.each)(arr, function(_, sign) { key = key.replace(sign, "__" + sign.charCodeAt() + "__") }); return key }; var denormalizeKey = function(key) { var arr = key.match(/__\d+__/g); arr && arr.forEach(function(char) { var charCode = parseInt(char.replace("__", "")); key = key.replace(char, String.fromCharCode(charCode)) }); return key }; var isArraysEqualByValue = function(array1, array2, deep) { if (array1.length !== array2.length) { return false } for (var i = 0; i < array1.length; i++) { if (!equalByValue(array1[i], array2[i], deep + 1)) { return false } } return true }; var isObjectsEqualByValue = function(object1, object2, deep) { for (var propertyName in object1) { if (object1.hasOwnProperty(propertyName) && !equalByValue(object1[propertyName], object2[propertyName], deep + 1)) { return false } } for (var _propertyName in object2) { if (!(_propertyName in object1)) { return false } } return true }; var pairToObject = function(raw, preventRound) { var pair = splitPair(raw); var h = preventRound ? parseFloat(pair && pair[0]) : parseInt(pair && pair[0], 10); var v = preventRound ? parseFloat(pair && pair[1]) : parseInt(pair && pair[1], 10); if (!isFinite(h)) { h = 0 } if (!isFinite(v)) { v = h } return { h: h, v: v } }; var maxEqualityDeep = 3; var equalByValue = function(object1, object2, deep) { deep = deep || 0; object1 = (0, _data.toComparable)(object1, true); object2 = (0, _data.toComparable)(object2, true); if (object1 === object2 || deep >= maxEqualityDeep) { return true } if ((0, _type.isObject)(object1) && (0, _type.isObject)(object2)) { return isObjectsEqualByValue(object1, object2, deep) } else { if (Array.isArray(object1) && Array.isArray(object2)) { return isArraysEqualByValue(object1, object2, deep) } } return false }; var getKeyHash = function(key) { if (key instanceof _guid2.default) { return key.toString() } else { if ((0, _type.isObject)(key) || Array.isArray(key)) { try { var keyHash = JSON.stringify(key); return "{}" === keyHash ? key : keyHash } catch (e) { return key } } } return key }; var escapeRegExp = function(string) { return string.replace(/[[\]{}\-()*+?.\\^$|\s]/g, "\\$&") }; var applyServerDecimalSeparator = function(value) { var separator = (0, _config2.default)().serverDecimalSeparator; if ((0, _type.isDefined)(value)) { value = value.toString().replace(".", separator) } return value }; var noop = function() {}; var asyncNoop = function() { return (new _deferred.Deferred).resolve().promise() }; var grep = function(elements, checkFunction, invert) { var result = []; var check = void 0; var expectedCheck = !invert; for (var i = 0; i < elements.length; i++) { check = !!checkFunction(elements[i], i); if (check === expectedCheck) { result.push(elements[i]) } } return result }; exports.ensureDefined = ensureDefined; exports.executeAsync = executeAsync; exports.deferRender = deferRender; exports.deferRenderer = deferRenderer; exports.deferUpdate = deferUpdate; exports.deferUpdater = deferUpdater; exports.pairToObject = pairToObject; exports.splitPair = splitPair; exports.findBestMatches = findBestMatches; exports.normalizeKey = normalizeKey; exports.denormalizeKey = denormalizeKey; exports.equalByValue = equalByValue; exports.getKeyHash = getKeyHash; exports.escapeRegExp = escapeRegExp; exports.applyServerDecimalSeparator = applyServerDecimalSeparator; exports.noop = noop; exports.asyncNoop = asyncNoop; exports.grep = grep }, /*!***********************************************************!*\ !*** ./artifacts/transpiled/events/core/events_engine.js ***! \***********************************************************/ /*! dynamic exports provided */ /*! all exports used */ function(module, exports, __webpack_require__) { var _typeof = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function(obj) { return typeof obj } : function(obj) { return obj && "function" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj }; var registerEventCallbacks = __webpack_require__( /*! ./event_registrator_callbacks */ 120); var extend = __webpack_require__( /*! ../../core/utils/extend */ 0).extend; var domAdapter = __webpack_require__( /*! ../../core/dom_adapter */ 13); var windowUtils = __webpack_require__( /*! ../../core/utils/window */ 7); var window = windowUtils.getWindow(); var injector = __webpack_require__( /*! ../../core/utils/dependency_injector */ 56); var typeUtils = __webpack_require__( /*! ../../core/utils/type */ 1); var Callbacks = __webpack_require__( /*! ../../core/utils/callbacks */ 20); var isWindow = typeUtils.isWindow; var isFunction = typeUtils.isFunction; var isString = typeUtils.isString; var errors = __webpack_require__( /*! ../../core/errors */ 18); var WeakMap = __webpack_require__( /*! ../../core/polyfills/weak_map */ 181); var hookTouchProps = __webpack_require__( /*! ../../events/core/hook_touch_props */ 236); var callOnce = __webpack_require__( /*! ../../core/utils/call_once */ 62); var EMPTY_EVENT_NAME = "dxEmptyEventType"; var NATIVE_EVENTS_TO_SUBSCRIBE = { mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }; var NATIVE_EVENTS_TO_TRIGGER = { focusin: "focus", focusout: "blur" }; var NO_BUBBLE_EVENTS = ["blur", "focusout", "focus", "focusin", "load"]; var forcePassiveFalseEventNames = ["touchmove", "wheel", "mousewheel"]; var matchesSafe = function(target, selector) { return !isWindow(target) && "#document" !== target.nodeName && domAdapter.elementMatches(target, selector) }; var elementDataMap = new WeakMap; var guid = 0; var skipEvent; var special = function() { var specialData = {}; registerEventCallbacks.add(function(eventName, eventObject) { specialData[eventName] = eventObject }); return { getField: function(eventName, field) { return specialData[eventName] && specialData[eventName][field] }, callMethod: function(eventName, methodName, context, args) { return specialData[eventName] && specialData[eventName][methodName] && specialData[eventName][methodName].apply(context, args) } } }(); var applyForEach = function applyForEach(args, method) { var element = args[0]; if (!element) { return } if (domAdapter.isNode(element) || isWindow(element)) { method.apply(eventsEngine, args) } else { if (!isString(element) && "length" in element) { var itemArgs = Array.prototype.slice.call(args, 0); Array.prototype.forEach.call(element, function(itemElement) { itemArgs[0] = itemElement; applyForEach(itemArgs, method) }) } else { throw errors.Error("E0025") } } }; var getHandler = function(method) { return function() { applyForEach(arguments, method) } }; var detectPassiveEventHandlersSupport = function() { var isSupported = false; try { var options = Object.defineProperty({}, "passive", { get: function() { isSupported = true; return true } }); window.addEventListener("test", null, options) } catch (e) {} return isSupported }; var passiveEventHandlersSupported = callOnce(detectPassiveEventHandlersSupport); var getHandlersController = function(element, eventName) { var elementData = elementDataMap.get(element); eventName = eventName || ""; var eventNameParts = eventName.split("."); var namespaces = eventNameParts.slice(1); var eventNameIsDefined = !!eventNameParts[0]; eventName = eventNameParts[0] || EMPTY_EVENT_NAME; if (!elementData) { elementData = {}; elementDataMap.set(element, elementData) } if (!elementData[eventName]) { elementData[eventName] = { handleObjects: [], nativeHandler: null } } var eventData = elementData[eventName]; return { addHandler: function(handler, selector, data) { var callHandler = function(e, extraParameters) { var secondaryTargetIsInside, result, handlerArgs = [e], target = e.currentTarget, relatedTarget = e.relatedTarget; if (eventName in NATIVE_EVENTS_TO_SUBSCRIBE) { secondaryTargetIsInside = relatedTarget && target && (relatedTarget === target || target.contains(relatedTarget)) } if (void 0 !== extraParameters) { handlerArgs.push(extraParameters) } special.callMethod(eventName, "handle", element, [e, data]); if (!secondaryTargetIsInside) { result = handler.apply(target, handlerArgs) } if (false === result) { e.preventDefault(); e.stopPropagation() } }; var wrappedHandler = function(e, extraParameters) { if (skipEvent && e.type === skipEvent) { return } e.data = data; e.delegateTarget = element; if (selector) { var currentTarget = e.target; while (currentTarget && currentTarget !== element) { if (matchesSafe(currentTarget, selector)) { e.currentTarget = currentTarget; callHandler(e, extraParameters) } currentTarget = currentTarget.parentNode } } else { callHandler(e, extraParameters) } }; var handleObject = { handler: handler, wrappedHandler: wrappedHandler, selector: selector, type: eventName, data: data, namespace: namespaces.join("."), namespaces: namespaces, guid: ++guid }; eventData.handleObjects.push(handleObject); var firstHandlerForTheType = 1 === eventData.handleObjects.length; var shouldAddNativeListener = firstHandlerForTheType && eventNameIsDefined; var nativeListenerOptions; if (shouldAddNativeListener) { shouldAddNativeListener = !special.callMethod(eventName, "setup", element, [data, namespaces, handler]) } if (shouldAddNativeListener) { eventData.nativeHandler = getNativeHandler(eventName); if (passiveEventHandlersSupported() && forcePassiveFalseEventNames.indexOf(eventName) > -1) { nativeListenerOptions = { passive: false } } eventData.removeListener = domAdapter.listen(element, NATIVE_EVENTS_TO_SUBSCRIBE[eventName] || eventName, eventData.nativeHandler, nativeListenerOptions) } special.callMethod(eventName, "add", element, [handleObject]) }, removeHandler: function(handler, selector) { var removeByEventName = function(eventName) { var eventData = elementData[eventName]; if (!eventData.handleObjects.length) { delete elementData[eventName]; return } var removedHandler; eventData.handleObjects = eventData.handleObjects.filter(function(handleObject) { var skip = namespaces.length && !isSubset(handleObject.namespaces, namespaces) || handler && handleObject.handler !== handler || selector && handleObject.selector !== selector; if (!skip) { removedHandler = handleObject.handler; special.callMethod(eventName, "remove", element, [handleObject]) } return skip }); var lastHandlerForTheType = !eventData.handleObjects.length; var shouldRemoveNativeListener = lastHandlerForTheType && eventName !== EMPTY_EVENT_NAME; if (shouldRemoveNativeListener) { special.callMethod(eventName, "teardown", element, [namespaces, removedHandler]); if (eventData.nativeHandler) { eventData.removeListener() } delete elementData[eventName] } }; if (eventNameIsDefined) { removeByEventName(eventName) } else { for (var name in elementData) { removeByEventName(name) } } var elementDataIsEmpty = 0 === Object.keys(elementData).length; if (elementDataIsEmpty) { elementDataMap.delete(element) } }, callHandlers: function(event, extraParameters) { var forceStop = false; var handleCallback = function(handleObject) { if (forceStop) { return } if (!namespaces.length || isSubset(handleObject.namespaces, namespaces)) { handleObject.wrappedHandler(event, extraParameters); forceStop = event.isImmediatePropagationStopped() } }; eventData.handleObjects.forEach(handleCallback); if (namespaces.length && elementData[EMPTY_EVENT_NAME]) { elementData[EMPTY_EVENT_NAME].handleObjects.forEach(handleCallback) } } } }; var getNativeHandler = function(subscribeName) { return function(event, extraParameters) { var handlersController = getHandlersController(this, subscribeName); event = eventsEngine.Event(event); handlersController.callHandlers(event, extraParameters) } }; var isSubset = function(original, checked) { for (var i = 0; i < checked.length; i++) { if (original.indexOf(checked[i]) < 0) { return false } } return true }; var normalizeOnArguments = function(callback) { return function(element, eventName, selector, data, handler) { if (!handler) { handler = data; data = void 0 } if ("string" !== typeof selector) { data = selector; selector = void 0 } if (!handler && "string" === typeof eventName) { handler = data || selector; selector = void 0; data = void 0 } callback(element, eventName, selector, data, handler) } }; var normalizeOffArguments = function(callback) { return function(element, eventName, selector, handler) { if ("function" === typeof selector) { handler = selector; selector = void 0 } callback(element, eventName, selector, handler) } }; var normalizeTriggerArguments = function(callback) { return function(element, src, extraParameters) { if ("string" === typeof src) { src = { type: src } } if (!src.target) { src.target = element } src.currentTarget = element; if (!src.delegateTarget) { src.delegateTarget = element } if (!src.type && src.originalEvent) { src.type = src.originalEvent.type } callback(element, src instanceof eventsEngine.Event ? src : eventsEngine.Event(src), extraParameters) } }; var normalizeEventArguments = function(callback) { return function(src, config) { if (!(this instanceof eventsEngine.Event)) { return new eventsEngine.Event(src, config) } if (!src) { src = {} } if ("string" === typeof src) { src = { type: src } } if (!config) { config = {} } callback.call(this, src, config) } }; var iterate = function(callback) { var iterateEventNames = function(element, eventName) { if (eventName && eventName.indexOf(" ") > -1) { var args = Array.prototype.slice.call(arguments, 0); eventName.split(" ").forEach(function(eventName) { args[1] = eventName; callback.apply(this, args) }) } else { callback.apply(this, arguments) } }; return function(element, eventName) { if ("object" === ("undefined" === typeof eventName ? "undefined" : _typeof(eventName))) { var args = Array.prototype.slice.call(arguments, 0); for (var name in eventName) { args[1] = name; args[args.length - 1] = eventName[name]; iterateEventNames.apply(this, args) } } else { iterateEventNames.apply(this, arguments) } } }; var callNativeMethod = function(eventName, element) { var nativeMethodName = NATIVE_EVENTS_TO_TRIGGER[eventName] || eventName; var isLinkClickEvent = function(eventName, element) { return "click" === eventName && "a" === element.localName }; if (isLinkClickEvent(eventName, element)) { return } if (isFunction(element[nativeMethodName])) { skipEvent = eventName; element[nativeMethodName](); skipEvent = void 0 } }; var calculateWhich = function(event) { var setForMouseEvent = function(event) { var mouseEventRegex = /^(?:mouse|pointer|contextmenu|drag|drop)|click/; return !event.which && void 0 !== event.button && mouseEventRegex.test(event.type) }; var setForKeyEvent = function(event) { return null == event.which && 0 === event.type.indexOf("key") }; if (setForKeyEvent(event)) { return null != event.charCode ? event.charCode : event.keyCode } if (setForMouseEvent(event)) { var whichByButton = { 1: 1, 2: 3, 3: 1, 4: 2 }; return whichByButton[event.button] } return event.which }; var eventsEngine = injector({ on: getHandler(normalizeOnArguments(iterate(function(element, eventName, selector, data, handler) { var handlersController = getHandlersController(element, eventName); handlersController.addHandler(handler, selector, data) }))), one: getHandler(normalizeOnArguments(function(element, eventName, selector, data, handler) { var oneTimeHandler = function oneTimeHandler() { eventsEngine.off(element, eventName, selector, oneTimeHandler); handler.apply(this, arguments) }; eventsEngine.on(element, eventName, selector, data, oneTimeHandler) })), off: getHandler(normalizeOffArguments(iterate(function(element, eventName, selector, handler) { var handlersController = getHandlersController(element, eventName); handlersController.removeHandler(handler, selector) }))), trigger: getHandler(normalizeTriggerArguments(function(element, event, extraParameters) { var eventName = event.type; var handlersController = getHandlersController(element, event.type); special.callMethod(eventName, "trigger", element, [event, extraParameters]); handlersController.callHandlers(event, extraParameters); var noBubble = special.getField(eventName, "noBubble") || event.isPropagationStopped() || NO_BUBBLE_EVENTS.indexOf(eventName) !== -1; if (!noBubble) { var parents = []; var getParents = function getParents(element) { var parent = element.parentNode; if (parent) { parents.push(parent); getParents(parent) } }; getParents(element); parents.push(window); var i = 0; while (parents[i] && !event.isPropagationStopped()) { var parentDataByEvent = getHandlersController(parents[i], event.type); parentDataByEvent.callHandlers(extend(event, { currentTarget: parents[i] }), extraParameters); i++ } } if (element.nodeType || isWindow(element)) { special.callMethod(eventName, "_default", element, [event, extraParameters]); callNativeMethod(eventName, element) } })), triggerHandler: getHandler(normalizeTriggerArguments(function(element, event, extraParameters) { var handlersController = getHandlersController(element, event.type); handlersController.callHandlers(event, extraParameters) })) }); var initEvent = function(EventClass) { if (EventClass) { eventsEngine.Event = EventClass; eventsEngine.Event.prototype = EventClass.prototype } }; initEvent(normalizeEventArguments(function(src, config) { var that = this; var propagationStopped = false; var immediatePropagationStopped = false; var defaultPrevented = false; extend(that, src); if (src instanceof eventsEngine.Event || windowUtils.hasWindow() && src instanceof window.Event) { that.originalEvent = src; that.currentTarget = void 0 } if (!(src instanceof eventsEngine.Event)) { extend(that, { isPropagationStopped: function() { return !!(propagationStopped || that.originalEvent && that.originalEvent.propagationStopped) }, stopPropagation: function() { propagationStopped = true; that.originalEvent && that.originalEvent.stopPropagation() }, isImmediatePropagationStopped: function() { return immediatePropagationStopped }, stopImmediatePropagation: function() { this.stopPropagation(); immediatePropagationStopped = true; that.originalEvent && that.originalEvent.stopImmediatePropagation() }, isDefaultPrevented: function() { return !!(defaultPrevented || that.originalEvent && that.originalEvent.defaultPrevented) }, preventDefault: function() { defaultPrevented = true; that.originalEvent && that.originalEvent.preventDefault() } }) } addProperty("which", calculateWhich, that); if (0 === src.type.indexOf("touch")) { delete config.pageX; delete config.pageY } extend(that, config); that.guid = ++guid })); var addProperty = function(propName, hook, eventInstance) { Object.defineProperty(eventInstance || eventsEngine.Event.prototype, propName, { enumerable: true, configurable: true, get: function() { return this.originalEvent && hook(this.originalEvent) }, set: function(value) { Object.defineProperty(this, propName, { enumerable: true, configurable: true, writable: true, value: value }) } }) }; hookTouchProps(addProperty); var beforeSetStrategy = Callbacks(); var afterSetStrategy = Callbacks(); eventsEngine.set = function(engine) { beforeSetStrategy.fire(); eventsEngine.inject(engine); initEvent(engine.Event); afterSetStrategy.fire() }; eventsEngine.subscribeGlobal = function() { applyForEach(arguments, normalizeOnArguments(function() { var args = arguments; eventsEngine.on.apply(this, args); beforeSetStrategy.add(function() { var offArgs = Array.prototype.slice.call(args, 0); offArgs.splice(3, 1); eventsEngine.off.apply(this, offArgs) }); afterSetStrategy.add(function() { eventsEngine.on.apply(this, args) }) })) }; eventsEngine.forcePassiveFalseEventNames = forcePassiveFalseEventNames; eventsEngine.passiveEventHandlersSupported = passiveEventHandlersSupported; eventsEngine.elementDataMap = elementDataMap; eventsEngine.detectPassiveEventHandlersSupport = detectPassiveEventHandlersSupport; module.exports = eventsEngine }, /*!*****************************************************!*\ !*** ./artifacts/transpiled/core/utils/deferred.js ***! \*****************************************************/ /*! dynamic exports provided */ /*! all exports used */ function(module, exports, __webpack_require__) { var typeUtils = __webpack_require__( /*! ../utils/type */ 1); var isPromise = typeUtils.isPromise; var isDeferred = typeUtils.isDeferred; var extend = __webpack_require__( /*! ../utils/extend */ 0).extend; var Callbacks = __webpack_require__( /*! ../utils/callbacks */ 20); var deferredConfig = [{ method: "resolve", handler: "done", state: "resolved" }, { method: "reject", handler: "fail", state: "rejected" }, { method: "notify", handler: "progress" }]; var _Deferred = function() { var that = this; this._state = "pending"; this._promise = {}; deferredConfig.forEach(function(config) { var methodName = config.method; this[methodName + "Callbacks"] = new Callbacks; this[methodN