devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
61 lines (48 loc) • 1.35 kB
JavaScript
var extend = require("../../core/utils/extend").extend,
BaseStrategy = require("./base"),
Observer = require("./observer");
var eventMap = {
"dxpointerdown": "mousedown",
"dxpointermove": "mousemove",
"dxpointerup": "mouseup",
"dxpointercancel": "",
"dxpointerover": "mouseover",
"dxpointerout": "mouseout",
"dxpointerenter": "mouseenter",
"dxpointerleave": "mouseleave"
};
var normalizeMouseEvent = function normalizeMouseEvent(e) {
e.pointerId = 1;
return {
pointers: observer.pointers(),
pointerId: 1
};
};
var observer;
var activated = false;
var activateStrategy = function activateStrategy() {
if (activated) {
return;
}
observer = new Observer(eventMap, function () {
return true;
});
activated = true;
};
var MouseStrategy = BaseStrategy.inherit({
ctor: function ctor() {
this.callBase.apply(this, arguments);
activateStrategy();
},
_fireEvent: function _fireEvent(args) {
return this.callBase(extend(normalizeMouseEvent(args.originalEvent), args));
}
});
MouseStrategy.map = eventMap;
MouseStrategy.normalize = normalizeMouseEvent;
MouseStrategy.activate = activateStrategy;
MouseStrategy.resetObserver = function () {
observer.reset();
};
module.exports = MouseStrategy;
;