| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- /**
- * DevExtreme (events/core/emitter.js)
- * Version: 19.1.16
- * 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";
- var $ = require("../../core/renderer");
- var noop = require("../../core/utils/common").noop;
- var Class = require("../../core/class");
- var Callbacks = require("../../core/utils/callbacks");
- var extend = require("../../core/utils/extend").extend;
- var eventUtils = require("../utils");
- var Emitter = Class.inherit({
- ctor: function(element) {
- this._$element = $(element);
- this._cancelCallback = Callbacks();
- this._acceptCallback = Callbacks()
- },
- getElement: function() {
- return this._$element
- },
- validate: function(e) {
- return !eventUtils.isDxMouseWheelEvent(e)
- },
- validatePointers: function(e) {
- return 1 === eventUtils.hasTouches(e)
- },
- allowInterruptionByMouseWheel: function() {
- return true
- },
- configure: function(data) {
- extend(this, data)
- },
- addCancelCallback: function(callback) {
- this._cancelCallback.add(callback)
- },
- removeCancelCallback: function() {
- this._cancelCallback.empty()
- },
- _cancel: function(e) {
- this._cancelCallback.fire(this, e)
- },
- addAcceptCallback: function(callback) {
- this._acceptCallback.add(callback)
- },
- removeAcceptCallback: function() {
- this._acceptCallback.empty()
- },
- _accept: function(e) {
- this._acceptCallback.fire(this, e)
- },
- _requestAccept: function(e) {
- this._acceptRequestEvent = e
- },
- _forgetAccept: function() {
- this._accept(this._acceptRequestEvent);
- this._acceptRequestEvent = null
- },
- start: noop,
- move: noop,
- end: noop,
- cancel: noop,
- reset: function() {
- if (this._acceptRequestEvent) {
- this._accept(this._acceptRequestEvent)
- }
- },
- _fireEvent: function(eventName, e, params) {
- var eventData = extend({
- type: eventName,
- originalEvent: e,
- target: this._getEmitterTarget(e),
- delegateTarget: this.getElement().get(0)
- }, params);
- e = eventUtils.fireEvent(eventData);
- if (e.cancel) {
- this._cancel(e)
- }
- return e
- },
- _getEmitterTarget: function(e) {
- return (this.delegateSelector ? $(e.target).closest(this.delegateSelector) : this.getElement()).get(0)
- },
- dispose: noop
- });
- module.exports = Emitter;
|