@most/dom-event
Version:
Streamlined DOM Events for most.js
285 lines (230 loc) • 7.93 kB
JavaScript
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@most/scheduler')) :
typeof define === 'function' && define.amd ? define(['exports', '@most/scheduler'], factory) :
(factory((global.mostDomEvent = {}),global.mostScheduler));
}(this, (function (exports,scheduler) { 'use strict';
/** @license MIT License (c) copyright 2015-2016 original author or authors */
/** @author Brian Cavalier */
// domEvent :: (EventTarget t, Event e) => String -> t -> boolean=false -> Stream e
var domEvent = function (event, node, capture) {
if ( capture === void 0 ) capture = false;
return new DomEvent(event, node, capture);
};
var blur = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('blur', node, capture);
};
var focus = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('focus', node, capture);
};
var focusin = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('focusin', node, capture);
};
var focusout = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('focusout', node, capture);
};
var click = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('click', node, capture);
};
var dblclick = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('dblclick', node, capture);
};
var mousedown = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('mousedown', node, capture);
};
var mouseup = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('mouseup', node, capture);
};
var mousemove = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('mousemove', node, capture);
};
var mouseover = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('mouseover', node, capture);
};
var mouseenter = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('mouseenter', node, capture);
};
var mouseout = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('mouseout', node, capture);
};
var mouseleave = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('mouseleave', node, capture);
};
var change = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('change', node, capture);
};
var select = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('select', node, capture);
};
var submit = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('submit', node, capture);
};
var keydown = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('keydown', node, capture);
};
var keypress = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('keypress', node, capture);
};
var keyup = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('keyup', node, capture);
};
var input = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('input', node, capture);
};
var contextmenu = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('contextmenu', node, capture);
};
var resize = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('resize', node, capture);
};
var scroll = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('scroll', node, capture);
};
var error = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('error', node, capture);
};
var hashchange = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('hashchange', node, capture);
};
var popstate = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('popstate', node, capture);
};
var load = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('load', node, capture);
};
var unload = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('unload', node, capture);
};
var pointerdown = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('pointerdown', node, capture);
};
var pointerup = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('pointerup', node, capture);
};
var pointermove = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('pointermove', node, capture);
};
var pointerover = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('pointerover', node, capture);
};
var pointerenter = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('pointerenter', node, capture);
};
var pointerout = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('pointerout', node, capture);
};
var pointerleave = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('pointerleave', node, capture);
};
var touchstart = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('touchstart', node, capture);
};
var touchend = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('touchend', node, capture);
};
var touchmove = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('touchmove', node, capture);
};
var touchcancel = function (node, capture) {
if ( capture === void 0 ) capture = false;
return domEvent('touchcancel', node, capture);
};
var DomEvent = function DomEvent (event, node, capture) {
this.event = event;
this.node = node;
this.capture = capture;
};
DomEvent.prototype.run = function run (sink, scheduler$$1) {
var this$1 = this;
var send = function (e) { return tryEvent(scheduler.currentTime(scheduler$$1), e, sink); };
var dispose = function () { return this$1.node.removeEventListener(this$1.event, send, this$1.capture); };
this.node.addEventListener(this.event, send, this.capture);
return { dispose: dispose }
};
function tryEvent (t, x, sink) {
try {
sink.event(t, x);
} catch (e) {
sink.error(t, e);
}
}
exports.domEvent = domEvent;
exports.blur = blur;
exports.focus = focus;
exports.focusin = focusin;
exports.focusout = focusout;
exports.click = click;
exports.dblclick = dblclick;
exports.mousedown = mousedown;
exports.mouseup = mouseup;
exports.mousemove = mousemove;
exports.mouseover = mouseover;
exports.mouseenter = mouseenter;
exports.mouseout = mouseout;
exports.mouseleave = mouseleave;
exports.change = change;
exports.select = select;
exports.submit = submit;
exports.keydown = keydown;
exports.keypress = keypress;
exports.keyup = keyup;
exports.input = input;
exports.contextmenu = contextmenu;
exports.resize = resize;
exports.scroll = scroll;
exports.error = error;
exports.hashchange = hashchange;
exports.popstate = popstate;
exports.load = load;
exports.unload = unload;
exports.pointerdown = pointerdown;
exports.pointerup = pointerup;
exports.pointermove = pointermove;
exports.pointerover = pointerover;
exports.pointerenter = pointerenter;
exports.pointerout = pointerout;
exports.pointerleave = pointerleave;
exports.touchstart = touchstart;
exports.touchend = touchend;
exports.touchmove = touchmove;
exports.touchcancel = touchcancel;
Object.defineProperty(exports, '__esModule', { value: true });
})));
//# sourceMappingURL=index.js.map