wonder.js
Version:
63 lines (56 loc) • 3 kB
JavaScript
;
var Caml_array = require("bs-platform/lib/js/caml_array.js");
var BindDomEventMainService$Wonderjs = require("./BindDomEventMainService.js");
function _addToEventArr(eventName, eventData, eventArrMap) {
return BindDomEventMainService$Wonderjs.addToEventArr(eventName, eventData, (function (param) {
return param[/* priority */0];
}), eventArrMap);
}
function _removeFromEventArrMapByHandleFunc(eventName, targetHandleFunc, eventArrMap) {
return BindDomEventMainService$Wonderjs.removeFromEventArrMapByHandleFunc(eventName, /* tuple */[
(function (param) {
return param[/* handleFunc */1];
}),
targetHandleFunc
], eventArrMap);
}
function bind(eventName, priority, handleFunc, state) {
var eventRecord = state[/* eventRecord */43];
var newrecord = Caml_array.caml_array_dup(state);
newrecord[/* eventRecord */43] = /* record */[
/* domEventStreamSubscription */eventRecord[/* domEventStreamSubscription */0],
/* mouseDomEventDataArrMap */_addToEventArr(eventName, /* record */[
/* priority */priority,
/* handleFunc */handleFunc
], eventRecord[/* mouseDomEventDataArrMap */1]),
/* keyboardDomEventDataArrMap */eventRecord[/* keyboardDomEventDataArrMap */2],
/* touchDomEventDataArrMap */eventRecord[/* touchDomEventDataArrMap */3],
/* customGlobalEventArrMap */eventRecord[/* customGlobalEventArrMap */4],
/* customGameObjectEventArrMap */eventRecord[/* customGameObjectEventArrMap */5],
/* mouseEventData */eventRecord[/* mouseEventData */6],
/* keyboardEventData */eventRecord[/* keyboardEventData */7],
/* touchEventData */eventRecord[/* touchEventData */8]
];
return newrecord;
}
function unbindByHandleFunc(eventName, handleFunc, state) {
var eventRecord = state[/* eventRecord */43];
var newrecord = Caml_array.caml_array_dup(state);
newrecord[/* eventRecord */43] = /* record */[
/* domEventStreamSubscription */eventRecord[/* domEventStreamSubscription */0],
/* mouseDomEventDataArrMap */_removeFromEventArrMapByHandleFunc(eventName, handleFunc, eventRecord[/* mouseDomEventDataArrMap */1]),
/* keyboardDomEventDataArrMap */eventRecord[/* keyboardDomEventDataArrMap */2],
/* touchDomEventDataArrMap */eventRecord[/* touchDomEventDataArrMap */3],
/* customGlobalEventArrMap */eventRecord[/* customGlobalEventArrMap */4],
/* customGameObjectEventArrMap */eventRecord[/* customGameObjectEventArrMap */5],
/* mouseEventData */eventRecord[/* mouseEventData */6],
/* keyboardEventData */eventRecord[/* keyboardEventData */7],
/* touchEventData */eventRecord[/* touchEventData */8]
];
return newrecord;
}
exports._addToEventArr = _addToEventArr;
exports._removeFromEventArrMapByHandleFunc = _removeFromEventArrMapByHandleFunc;
exports.bind = bind;
exports.unbindByHandleFunc = unbindByHandleFunc;
/* BindDomEventMainService-Wonderjs Not a pure module */