devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
1,091 lines (1,074 loc) • 12.6 MB
JavaScript
/*!
* DevExtreme (dx.all.debug.js)
* Version: 21.1.4
* Build date: Mon Jun 21 2021
*
* Copyright (c) 2012 - 2021 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 = 1099)
}([
/*!******************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/core/utils/extend.js ***!
\******************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.extend = exports.extendFromObject = void 0;
var _type = __webpack_require__( /*! ./type */ 1);
exports.extendFromObject = function(target, source, overrideExistingValues) {
target = target || {};
for (var prop in source) {
if (Object.prototype.hasOwnProperty.call(source, prop)) {
var value = source[prop];
if (!(prop in target) || overrideExistingValues) {
target[prop] = value
}
}
}
return target
};
exports.extend = function extend(target) {
target = target || {};
var i = 1;
var 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 targetValue = target[key];
var sourceValue = source[key];
var sourceValueIsArray = false;
var clone = void 0;
if ("__proto__" === key || "constructor" === key || target === sourceValue) {
continue
}
if (deep && sourceValue && ((0, _type.isPlainObject)(sourceValue) || (sourceValueIsArray = Array.isArray(sourceValue)))) {
if (sourceValueIsArray) {
clone = targetValue && Array.isArray(targetValue) ? targetValue : []
} else {
clone = targetValue && (0, _type.isPlainObject)(targetValue) ? targetValue : {}
}
target[key] = extend(deep, clone, sourceValue)
} else if (void 0 !== sourceValue) {
target[key] = sourceValue
}
}
}
return target
}
},
/*!****************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/core/utils/type.js ***!
\****************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.isEvent = exports.type = exports.isDeferred = exports.isPromise = exports.isRenderer = exports.isWindow = exports.isPrimitive = exports.isPlainObject = exports.isEmptyObject = exports.isObject = exports.isNumeric = exports.isString = exports.isFunction = exports.isDefined = exports.isDate = exports.isExponential = exports.isBoolean = void 0;
function _typeof(obj) {
if ("function" === typeof Symbol && "symbol" === typeof Symbol.iterator) {
_typeof = function(obj) {
return typeof obj
}
} else {
_typeof = function(obj) {
return obj && "function" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj
}
}
return _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" === _typeof(object) ? types[typeOfObject] || "object" : _typeof(object)
};
exports.type = type;
exports.isBoolean = function(object) {
return "boolean" === typeof object
};
exports.isExponential = function(value) {
return isNumeric(value) && -1 !== value.toString().indexOf("e")
};
exports.isDate = function(object) {
return "date" === type(object)
};
exports.isDefined = function(object) {
return null !== object && void 0 !== object
};
var isFunction = function(object) {
return "function" === typeof object
};
exports.isFunction = isFunction;
exports.isString = function(object) {
return "string" === typeof object
};
var isNumeric = function(object) {
return "number" === typeof object && isFinite(object) || !isNaN(object - parseFloat(object))
};
exports.isNumeric = isNumeric;
exports.isObject = function(object) {
return "object" === type(object)
};
exports.isEmptyObject = function(object) {
var property;
for (property in object) {
return false
}
return true
};
exports.isPlainObject = function(object) {
if (!object || "[object Object]" !== Object.prototype.toString.call(object)) {
return false
}
var proto = Object.getPrototypeOf(object);
var ctor = Object.hasOwnProperty.call(proto, "constructor") && proto.constructor;
return "function" === typeof ctor && Object.toString.call(ctor) === Object.toString.call(Object)
};
exports.isPrimitive = function(value) {
return -1 === ["object", "array", "function"].indexOf(type(value))
};
exports.isWindow = function(object) {
return null != object && object === object.window
};
exports.isRenderer = function(object) {
return !!(object.jquery || object.dxRenderer)
};
exports.isPromise = function(object) {
return object && isFunction(object.then)
};
exports.isDeferred = function(object) {
return object && isFunction(object.done) && isFunction(object.fail)
};
exports.isEvent = function(object) {
return !!(object && object.preventDefault)
}
},
/*!**************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/core/renderer.js ***!
\**************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _renderer_base = (obj = __webpack_require__( /*! ./renderer_base */ 241), obj && obj.__esModule ? obj : {
default: obj
});
var obj;
var _default = _renderer_base.default.get();
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!********************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/core/utils/iterator.js ***!
\********************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.reverseEach = exports.each = exports.map = void 0;
exports.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
};
exports.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
};
exports.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
}
}
}
},
/*!******************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/core/utils/common.js ***!
\******************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.equalByValue = exports.grep = exports.asyncNoop = exports.noop = exports.applyServerDecimalSeparator = exports.escapeRegExp = exports.getKeyHash = exports.pairToObject = exports.denormalizeKey = exports.normalizeKey = exports.splitPair = exports.findBestMatches = exports.deferUpdater = exports.deferRenderer = exports.deferUpdate = exports.deferRender = exports.executeAsync = exports.ensureDefined = void 0;
var _config = _interopRequireDefault(__webpack_require__( /*! ../config */ 32));
var _guid = _interopRequireDefault(__webpack_require__( /*! ../guid */ 36));
var _deferred = __webpack_require__( /*! ../utils/deferred */ 6);
var _data = __webpack_require__( /*! ./data */ 23);
var _iterator = __webpack_require__( /*! ./iterator */ 3);
var _type = __webpack_require__( /*! ./type */ 1);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
exports.ensureDefined = function(value, defaultValue) {
return (0, _type.isDefined)(value) ? value : defaultValue
};
exports.executeAsync = function(action, context) {
var deferred = new _deferred.Deferred;
var normalizedContext = context || this;
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)
}
};
var timerId = (arguments[2] || setTimeout)(callback, "number" === typeof context ? context : 0);
return task
};
var delayedFuncs = [];
var delayedNames = [];
var delayedDeferreds = [];
var executingName;
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)
};
exports.deferRender = deferRender;
var deferUpdate = function(func, deferred) {
return deferExecute("update", func, deferred)
};
exports.deferUpdate = deferUpdate;
exports.deferRenderer = function(func) {
return function() {
var that = this;
return deferExecute("render", (function() {
return func.call(that)
}))
}
};
exports.deferUpdater = function(func) {
return function() {
var that = this;
return deferExecute("update", (function() {
return func.call(that)
}))
}
};
exports.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) {
var _raw$x, _raw$y;
switch ((0, _type.type)(raw)) {
case "string":
return raw.split(/\s+/, 2);
case "object":
return [null !== (_raw$x = raw.x) && void 0 !== _raw$x ? _raw$x : raw.h, null !== (_raw$y = raw.y) && void 0 !== _raw$y ? _raw$y : raw.v];
case "number":
return [raw];
case "array":
return raw;
default:
return null
}
};
exports.splitPair = splitPair;
exports.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
};
exports.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
};
exports.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
}
};
exports.getKeyHash = function(key) {
if (key instanceof _guid.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
};
exports.escapeRegExp = function(string) {
return string.replace(/[[\]{}\-()*+?.\\^$|\s]/g, "\\$&")
};
exports.applyServerDecimalSeparator = function(value) {
var separator = (0, _config.default)().serverDecimalSeparator;
if ((0, _type.isDefined)(value)) {
value = value.toString().replace(".", separator)
}
return value
};
exports.noop = function() {};
exports.asyncNoop = function() {
return (new _deferred.Deferred).resolve().promise()
};
exports.grep = function(elements, checkFunction, invert) {
var result = [];
var check;
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
};
var arraysEqualByValue = function(array1, array2, depth) {
if (array1.length !== array2.length) {
return false
}
for (var i = 0; i < array1.length; i++) {
if (!equalByValue(array1[i], array2[i], depth + 1)) {
return false
}
}
return true
};
var objectsEqualByValue = function(object1, object2, depth, strict) {
for (var propertyName in object1) {
if (Object.prototype.hasOwnProperty.call(object1, propertyName) && !equalByValue(object1[propertyName], object2[propertyName], depth + 1, strict)) {
return false
}
}
for (var _propertyName in object2) {
if (!(_propertyName in object1)) {
return false
}
}
return true
};
var equalByValue = function(object1, object2) {
var depth = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0;
var strict = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : true;
object1 = (0, _data.toComparable)(object1, true);
object2 = (0, _data.toComparable)(object2, true);
var comparisonResult = strict ? object1 === object2 : object1 == object2;
if (comparisonResult || depth >= 3) {
return true
}
if ((0, _type.isObject)(object1) && (0, _type.isObject)(object2)) {
return objectsEqualByValue(object1, object2, depth, strict)
} else if (Array.isArray(object1) && Array.isArray(object2)) {
return arraysEqualByValue(object1, object2, depth)
}
return false
};
exports.equalByValue = equalByValue
},
/*!**************************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/events/core/events_engine.js ***!
\**************************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.default = void 0;
var _event_registrator_callbacks = _interopRequireDefault(__webpack_require__( /*! ./event_registrator_callbacks */ 137));
var _extend = __webpack_require__( /*! ../../core/utils/extend */ 0);
var _dom_adapter = _interopRequireDefault(__webpack_require__( /*! ../../core/dom_adapter */ 11));
var _window = __webpack_require__( /*! ../../core/utils/window */ 7);
var _dependency_injector = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/dependency_injector */ 59));
var _type = __webpack_require__( /*! ../../core/utils/type */ 1);
var _callbacks = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/callbacks */ 30));
var _errors = _interopRequireDefault(__webpack_require__( /*! ../../core/errors */ 28));
var _weak_map = _interopRequireDefault(__webpack_require__( /*! ../../core/polyfills/weak_map */ 200));
var _hook_touch_props = _interopRequireDefault(__webpack_require__( /*! ../../events/core/hook_touch_props */ 242));
var _call_once = _interopRequireDefault(__webpack_require__( /*! ../../core/utils/call_once */ 87));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
}
}
function _typeof(obj) {
if ("function" === typeof Symbol && "symbol" === typeof Symbol.iterator) {
_typeof = function(obj) {
return typeof obj
}
} else {
_typeof = function(obj) {
return obj && "function" === typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj
}
}
return _typeof(obj)
}
var window = (0, _window.getWindow)();
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", "focus", "load"];
var forcePassiveFalseEventNames = ["touchmove", "wheel", "mousewheel", "touchstart"];
function matchesSafe(target, selector) {
return !(0, _type.isWindow)(target) && "#document" !== target.nodeName && _dom_adapter.default.elementMatches(target, selector)
}
var elementDataMap = new _weak_map.default;
var guid = 0;
var skipEvent;
var special = function() {
var specialData = {};
_event_registrator_callbacks.default.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 eventsEngine = (0, _dependency_injector.default)({
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) {
eventsEngine.on(element, eventName, selector, data, (function oneTimeHandler() {
eventsEngine.off(element, eventName, selector, oneTimeHandler);
handler.apply(this, arguments)
}))
}))),
off: getHandler((callback = iterate((function(element, eventName, selector, handler) {
var handlersController = getHandlersController(element, eventName);
handlersController.removeHandler(handler, selector)
})), function(element, eventName, selector, handler) {
if ("function" === typeof selector) {
handler = selector;
selector = void 0
}
callback(element, eventName, selector, handler)
})),
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() || -1 !== NO_BUBBLE_EVENTS.indexOf(eventName);
if (!noBubble) {
var parents = [];
! function getParents(element) {
var parent = element.parentNode;
if (parent) {
parents.push(parent);
getParents(parent)
}
}(element);
parents.push(window);
var i = 0;
while (parents[i] && !event.isPropagationStopped()) {
var parentDataByEvent = getHandlersController(parents[i], event.type);
parentDataByEvent.callHandlers((0, _extend.extend)(event, {
currentTarget: parents[i]
}), extraParameters);
i++
}
}
if (element.nodeType || (0, _type.isWindow)(element)) {
special.callMethod(eventName, "_default", element, [event, extraParameters]);
! function(eventName, element) {
var nativeMethodName = NATIVE_EVENTS_TO_TRIGGER[eventName] || eventName;
if (function(eventName, element) {
return "click" === eventName && "a" === element.localName
}(eventName, element)) {
return
}
if ((0, _type.isFunction)(element[nativeMethodName])) {
skipEvent = eventName;
element[nativeMethodName]();
skipEvent = void 0
}
}(eventName, element)
}
}))),
triggerHandler: getHandler(normalizeTriggerArguments((function(element, event, extraParameters) {
var handlersController = getHandlersController(element, event.type);
handlersController.callHandlers(event, extraParameters)
})))
});
var callback;
function applyForEach(args, method) {
var element = args[0];
if (!element) {
return
}
if (_dom_adapter.default.isNode(element) || (0, _type.isWindow)(element)) {
method.apply(eventsEngine, args)
} else if (!(0, _type.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.default.Error("E0025")
}
}
function getHandler(method) {
return function() {
applyForEach(arguments, method)
}
}
var passiveEventHandlersSupported = (0, _call_once.default)((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
}));
function getHandlersController(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] || "dxEmptyEventType";
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 handlerArgs = [e];
var target = e.currentTarget;
var relatedTarget = e.relatedTarget;
var secondaryTargetIsInside;
var result;
if (eventName in NATIVE_EVENTS_TO_SUBSCRIBE) {
secondaryTargetIsInside = relatedTarget && target && (relatedTarget === target || function contains(container, element) {
if ((0, _type.isWindow)(container)) {
return contains(container.document, element)
}
return container.contains ? container.contains(element) : !!(element.compareDocumentPosition(container) & element.DOCUMENT_POSITION_CONTAINS)
}(target, 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 handleObject = {
handler: handler,
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 {
e.currentTarget = e.delegateTarget || e.target;
callHandler(e, extraParameters)
}
},
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 = (subscribeName = eventName, function(event, extraParameters) {
var handlersController = getHandlersController(this, subscribeName);
event = eventsEngine.Event(event);
handlersController.callHandlers(event, extraParameters)
});
if (passiveEventHandlersSupported() && forcePassiveFalseEventNames.indexOf(eventName) > -1) {
nativeListenerOptions = {
passive: false
}
}
eventData.removeListener = _dom_adapter.default.listen(element, NATIVE_EVENTS_TO_SUBSCRIBE[eventName] || eventName, eventData.nativeHandler, nativeListenerOptions)
}
var subscribeName;
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 && "dxEmptyEventType" !== eventName;
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.dxEmptyEventType) {
elementData.dxEmptyEventType.handleObjects.forEach(handleCallback)
}
}
}
}
function isSubset(original, checked) {
for (var i = 0; i < checked.length; i++) {
if (original.indexOf(checked[i]) < 0) {
return false
}
}
return true
}
function normalizeOnArguments(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)
}
}
function normalizeTriggerArguments(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)
}
}
function iterate(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" === _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)
}
}
}
function calculateWhich(event) {
if (function(event) {
return null == event.which && 0 === event.type.indexOf("key")
}(event)) {
return null != event.charCode ? event.charCode : event.keyCode
}
if (function(event) {
return !event.which && void 0 !== event.button && /^(?:mouse|pointer|contextmenu|drag|drop)|click/.test(event.type)
}(event)) {
return {
1: 1,
2: 3,
3: 1,
4: 2
} [event.button]
}
return event.which
}
function initEvent(EventClass) {
if (EventClass) {
eventsEngine.Event = EventClass;
eventsEngine.Event.prototype = EventClass.prototype
}
}
initEvent(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)
}
}((function(src, config) {
var that = this;
var propagationStopped = false;
var immediatePropagationStopped = false;
var defaultPrevented = false;
(0, _extend.extend)(that, src);
if (src instanceof eventsEngine.Event || (0, _window.hasWindow)() && src instanceof window.Event) {
that.originalEvent = src;
that.currentTarget = void 0
}
if (!(src instanceof eventsEngine.Event)) {
(0, _extend.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
}(0, _extend.extend)(that, config);
that.guid = ++guid
})));
function addProperty(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
})
}
})
}(0, _hook_touch_props.default)(addProperty);
var beforeSetStrategy = (0, _callbacks.default)();
var afterSetStrategy = (0, _callbacks.default)();
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;
var _default = eventsEngine;
exports.default = _default;
module.exports = exports.default;
module.exports.default = exports.default
},
/*!********************************************************************!*\
!*** ./artifacts/transpiled-renovation-npm/core/utils/deferred.js ***!
\********************************************************************/
/*! dynamic exports provided */
/*! all exports used */
function(module, exports, __webpack_require__) {
exports.fromPromise = fromPromise;
exports.setStrategy = function(value) {