UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

38 lines (37 loc) 1.32 kB
/** * DevExtreme (esm/__internal/events/core/m_event_registrator.js) * Version: 24.2.6 * Build date: Mon Mar 17 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ import callbacks from "../../../common/core/events/core/event_registrator_callbacks"; import { each } from "../../../core/utils/iterator"; const registerEvent = function(name, eventObject) { const strategy = {}; if ("noBubble" in eventObject) { strategy.noBubble = eventObject.noBubble } if ("bindType" in eventObject) { strategy.bindType = eventObject.bindType } if ("delegateType" in eventObject) { strategy.delegateType = eventObject.delegateType } each(["setup", "teardown", "add", "remove", "trigger", "handle", "_default", "dispose"], ((_, methodName) => { if (!eventObject[methodName]) { return } strategy[methodName] = function() { const args = [].slice.call(arguments); args.unshift(this); return eventObject[methodName].apply(eventObject, args) } })); callbacks.fire(name, strategy) }; registerEvent.callbacks = callbacks; export default registerEvent;