UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

108 lines (81 loc) 2.65 kB
"use strict"; var $ = require("../../core/renderer"), noop = require("../../core/utils/common").noop, Class = require("../../core/class"), Callbacks = require("../../core/utils/callbacks"), extend = require("../../core/utils/extend").extend, eventUtils = require("../utils"); var Emitter = Class.inherit({ ctor: function ctor(element) { this._$element = $(element); this._cancelCallback = Callbacks(); this._acceptCallback = Callbacks(); }, getElement: function getElement() { return this._$element; }, validate: function validate(e) { return e.type !== "dxmousewheel"; }, validatePointers: function validatePointers(e) { return eventUtils.hasTouches(e) === 1; }, allowInterruptionByMouseWheel: function allowInterruptionByMouseWheel() { return true; }, configure: function configure(data) { extend(this, data); }, addCancelCallback: function addCancelCallback(callback) { this._cancelCallback.add(callback); }, removeCancelCallback: function removeCancelCallback() { this._cancelCallback.empty(); }, _cancel: function _cancel(e) { this._cancelCallback.fire(this, e); }, addAcceptCallback: function addAcceptCallback(callback) { this._acceptCallback.add(callback); }, removeAcceptCallback: function removeAcceptCallback() { this._acceptCallback.empty(); }, _accept: function _accept(e) { this._acceptCallback.fire(this, e); }, _requestAccept: function _requestAccept(e) { this._acceptRequestEvent = e; }, _forgetAccept: function _forgetAccept() { this._accept(this._acceptRequestEvent); this._acceptRequestEvent = null; }, start: noop, move: noop, end: noop, cancel: noop, reset: function reset() { if (this._acceptRequestEvent) { this._accept(this._acceptRequestEvent); } }, _fireEvent: function _fireEvent(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 _getEmitterTarget(e) { return (this.delegateSelector ? $(e.target).closest(this.delegateSelector) : this.getElement()).get(0); }, dispose: noop }); module.exports = Emitter;