diff --git a/packages/event/extensions/meta3d-event/dist/static/js/main.js b/packages/event/extensions/meta3d-event/dist/static/js/main.js index a2fd5e049..748f1e00b 100644 --- a/packages/event/extensions/meta3d-event/dist/static/js/main.js +++ b/packages/event/extensions/meta3d-event/dist/static/js/main.js @@ -2358,7 +2358,7 @@ eval("\n\nvar Caml_option = __webpack_require__(/*! rescript/lib/js/caml_option. /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; -eval("\n\nvar ArraySt$Meta3dCommonlib = __webpack_require__(/*! meta3d-commonlib/lib/js/src/structure/ArraySt.bs.js */ \"../../../../defaults/meta3d-commonlib/lib/js/src/structure/ArraySt.bs.js\");\nvar MouseEventDoService$Meta3dEvent = __webpack_require__(/*! ../MouseEventDoService.bs.js */ \"./lib/js/src/event_manager/service/event/MouseEventDoService.bs.js\");\nvar MutableSparseMap$Meta3dCommonlib = __webpack_require__(/*! meta3d-commonlib/lib/js/src/structure/sparse_map/MutableSparseMap.bs.js */ \"../../../../defaults/meta3d-commonlib/lib/js/src/structure/sparse_map/MutableSparseMap.bs.js\");\nvar HandlePointDomEventDoService$Meta3dEvent = __webpack_require__(/*! ./HandlePointDomEventDoService.bs.js */ \"./lib/js/src/event_manager/service/event/handle/HandlePointDomEventDoService.bs.js\");\n\nfunction getLocation(mouseDomEvent, state) {\n return [\n mouseDomEvent.pageX,\n mouseDomEvent.pageY\n ];\n}\n\nfunction getLocationInView(mouseDomEvent, state) {\n return HandlePointDomEventDoService$Meta3dEvent.getLocationInView(mouseDomEvent, getLocation, state);\n}\n\nfunction getButton(mouseDomEvent, state) {\n var match = mouseDomEvent.which;\n switch (match) {\n case 0 :\n return /* NoButton */0;\n case 1 :\n return /* Left */1;\n case 2 :\n return /* Center */3;\n case 3 :\n return /* Right */2;\n default:\n throw {\n RE_EXN_ID: \"Match_failure\",\n _1: [\n \"HandleMouseEventDoService.res\",\n 47,\n 2\n ],\n Error: new Error()\n };\n }\n}\n\nfunction _getFromWheelDelta(mouseDomEvent) {\n var wheelData = mouseDomEvent.wheelDelta;\n if (!(wheelData == null)) {\n return wheelData / 120 | 0;\n } else {\n return 0;\n }\n}\n\nfunction getWheel(mouseDomEvent) {\n var detail = mouseDomEvent.detail;\n if (!(detail == null) && detail !== 0) {\n return Math.imul(-1, detail);\n } else {\n return _getFromWheelDelta(mouseDomEvent);\n }\n}\n\nvar _isPointerLocked = (function() {\n return !!(\n document.pointerLockElement\n || document.mozPointerLockElement\n || document.webkitPointerLockElement\n );\n });\n\nfunction _getMovementDeltaWhenPointerLocked(mouseDomEvent) {\n var movementX = mouseDomEvent.movementX;\n var tmp;\n if (movementX == null) {\n var webkitMovementX = mouseDomEvent.webkitMovementX;\n if (webkitMovementX == null) {\n var mozMovementX = mouseDomEvent.mozMovementX;\n tmp = (mozMovementX == null) ? 0 : mozMovementX;\n } else {\n tmp = webkitMovementX;\n }\n } else {\n tmp = movementX;\n }\n var movementY = mouseDomEvent.movementY;\n var tmp$1;\n if (movementY == null) {\n var webkitMovementY = mouseDomEvent.webkitMovementY;\n if (webkitMovementY == null) {\n var mozMovementY = mouseDomEvent.mozMovementY;\n tmp$1 = (mozMovementY == null) ? 0 : mozMovementY;\n } else {\n tmp$1 = webkitMovementY;\n }\n } else {\n tmp$1 = movementY;\n }\n return [\n tmp,\n tmp$1\n ];\n}\n\nfunction getMovementDelta(mouseDomEvent, state) {\n if (_isPointerLocked()) {\n return _getMovementDeltaWhenPointerLocked(mouseDomEvent);\n } else {\n return HandlePointDomEventDoService$Meta3dEvent.getMovementDelta(getLocation(mouseDomEvent, state), MouseEventDoService$Meta3dEvent.getLastXY(state.eventData), state);\n }\n}\n\nfunction convertMouseDomEventToMouseEvent(eventName, mouseDomEvent, state) {\n return {\n name: eventName,\n location: getLocation(mouseDomEvent, state),\n locationInView: HandlePointDomEventDoService$Meta3dEvent.getLocationInView(mouseDomEvent, getLocation, state),\n button: getButton(mouseDomEvent, state),\n wheel: getWheel(mouseDomEvent),\n movementDelta: getMovementDelta(mouseDomEvent, state),\n event: mouseDomEvent\n };\n}\n\nfunction execEventHandle(state, mouseEvent) {\n var arr = MutableSparseMap$Meta3dCommonlib.get(state.eventData.mouseDomEventDataArrMap, mouseEvent.name);\n if (arr !== undefined) {\n return ArraySt$Meta3dCommonlib.reduceOneParam(arr, (function (state, param) {\n return param.handleFunc(mouseEvent, state);\n }), state);\n } else {\n return state;\n }\n}\n\nfunction setLastXY(state, lastX, lastY) {\n return {\n eventData: MouseEventDoService$Meta3dEvent.setLastXY(lastX, lastY, state.eventData),\n canvas: state.canvas,\n body: state.body,\n browser: state.browser\n };\n}\n\nfunction setLastXYByLocation(state, mouseEvent) {\n var $$location = mouseEvent.location;\n return setLastXY(state, $$location[0], $$location[1]);\n}\n\nfunction getIsDrag(state) {\n return state.eventData.mouseEventData.isDrag;\n}\n\nfunction setIsDrag(state, isDrag) {\n var eventData = state.eventData;\n var init = eventData.mouseEventData;\n return {\n eventData: {\n domEventStreamSubscription: eventData.domEventStreamSubscription,\n mouseDomEventDataArrMap: eventData.mouseDomEventDataArrMap,\n keyboardDomEventDataArrMap: eventData.keyboardDomEventDataArrMap,\n touchDomEventDataArrMap: eventData.touchDomEventDataArrMap,\n customGlobalEventArrMap: eventData.customGlobalEventArrMap,\n customGlobalEventArrMap2: eventData.customGlobalEventArrMap2,\n customGlobalEventArrMap3: eventData.customGlobalEventArrMap3,\n mouseEventData: {\n lastX: init.lastX,\n lastY: init.lastY,\n isDrag: isDrag\n },\n keyboardEventData: eventData.keyboardEventData,\n touchEventData: eventData.touchEventData\n },\n canvas: state.canvas,\n body: state.body,\n browser: state.browser\n };\n}\n\nfunction setLastXYWhenMouseMove(state, mouseEvent) {\n if (getIsDrag(state)) {\n return state;\n } else {\n return setLastXYByLocation(state, mouseEvent);\n }\n}\n\nexports.getLocation = getLocation;\nexports.getLocationInView = getLocationInView;\nexports.getButton = getButton;\nexports._getFromWheelDelta = _getFromWheelDelta;\nexports.getWheel = getWheel;\nexports._isPointerLocked = _isPointerLocked;\nexports._getMovementDeltaWhenPointerLocked = _getMovementDeltaWhenPointerLocked;\nexports.getMovementDelta = getMovementDelta;\nexports.convertMouseDomEventToMouseEvent = convertMouseDomEventToMouseEvent;\nexports.execEventHandle = execEventHandle;\nexports.setLastXY = setLastXY;\nexports.setLastXYByLocation = setLastXYByLocation;\nexports.getIsDrag = getIsDrag;\nexports.setIsDrag = setIsDrag;\nexports.setLastXYWhenMouseMove = setLastXYWhenMouseMove;\n/* No side effect */\n\n\n//# sourceURL=webpack://Extension/./lib/js/src/event_manager/service/event/handle/HandleMouseEventDoService.bs.js?"); +eval("\n\nvar ArraySt$Meta3dCommonlib = __webpack_require__(/*! meta3d-commonlib/lib/js/src/structure/ArraySt.bs.js */ \"../../../../defaults/meta3d-commonlib/lib/js/src/structure/ArraySt.bs.js\");\nvar MouseEventDoService$Meta3dEvent = __webpack_require__(/*! ../MouseEventDoService.bs.js */ \"./lib/js/src/event_manager/service/event/MouseEventDoService.bs.js\");\nvar MutableSparseMap$Meta3dCommonlib = __webpack_require__(/*! meta3d-commonlib/lib/js/src/structure/sparse_map/MutableSparseMap.bs.js */ \"../../../../defaults/meta3d-commonlib/lib/js/src/structure/sparse_map/MutableSparseMap.bs.js\");\nvar HandlePointDomEventDoService$Meta3dEvent = __webpack_require__(/*! ./HandlePointDomEventDoService.bs.js */ \"./lib/js/src/event_manager/service/event/handle/HandlePointDomEventDoService.bs.js\");\n\nfunction getLocation(mouseDomEvent, state) {\n return [\n mouseDomEvent.pageX,\n mouseDomEvent.pageY\n ];\n}\n\nfunction getLocationInView(mouseDomEvent, state) {\n return HandlePointDomEventDoService$Meta3dEvent.getLocationInView(mouseDomEvent, getLocation, state);\n}\n\nfunction getButton(mouseDomEvent, state) {\n var match = mouseDomEvent.which;\n switch (match) {\n case 0 :\n return /* NoButton */0;\n case 1 :\n return /* Left */1;\n case 2 :\n return /* Center */3;\n case 3 :\n return /* Right */2;\n default:\n throw {\n RE_EXN_ID: \"Match_failure\",\n _1: [\n \"HandleMouseEventDoService.res\",\n 47,\n 2\n ],\n Error: new Error()\n };\n }\n}\n\nfunction _getFromDeltaY(mouseDomEvent) {\n var data = mouseDomEvent.deltaY;\n if (!(data == null)) {\n return data / -100 | 0;\n } else {\n return 0;\n }\n}\n\nfunction _getFromWheelDelta(mouseDomEvent) {\n var wheelData = mouseDomEvent.wheelDelta;\n if (wheelData == null) {\n return _getFromDeltaY(mouseDomEvent);\n } else {\n return wheelData / 120 | 0;\n }\n}\n\nfunction getWheel(mouseDomEvent) {\n var detail = mouseDomEvent.detail;\n if (!(detail == null) && detail !== 0) {\n return Math.imul(-1, detail);\n } else {\n return _getFromWheelDelta(mouseDomEvent);\n }\n}\n\nvar _isPointerLocked = (function() {\n return !!(\n document.pointerLockElement\n || document.mozPointerLockElement\n || document.webkitPointerLockElement\n );\n });\n\nfunction _getMovementDeltaWhenPointerLocked(mouseDomEvent) {\n var movementX = mouseDomEvent.movementX;\n var tmp;\n if (movementX == null) {\n var webkitMovementX = mouseDomEvent.webkitMovementX;\n if (webkitMovementX == null) {\n var mozMovementX = mouseDomEvent.mozMovementX;\n tmp = (mozMovementX == null) ? 0 : mozMovementX;\n } else {\n tmp = webkitMovementX;\n }\n } else {\n tmp = movementX;\n }\n var movementY = mouseDomEvent.movementY;\n var tmp$1;\n if (movementY == null) {\n var webkitMovementY = mouseDomEvent.webkitMovementY;\n if (webkitMovementY == null) {\n var mozMovementY = mouseDomEvent.mozMovementY;\n tmp$1 = (mozMovementY == null) ? 0 : mozMovementY;\n } else {\n tmp$1 = webkitMovementY;\n }\n } else {\n tmp$1 = movementY;\n }\n return [\n tmp,\n tmp$1\n ];\n}\n\nfunction getMovementDelta(mouseDomEvent, state) {\n if (_isPointerLocked()) {\n return _getMovementDeltaWhenPointerLocked(mouseDomEvent);\n } else {\n return HandlePointDomEventDoService$Meta3dEvent.getMovementDelta(getLocation(mouseDomEvent, state), MouseEventDoService$Meta3dEvent.getLastXY(state.eventData), state);\n }\n}\n\nfunction convertMouseDomEventToMouseEvent(eventName, mouseDomEvent, state) {\n return {\n name: eventName,\n location: getLocation(mouseDomEvent, state),\n locationInView: HandlePointDomEventDoService$Meta3dEvent.getLocationInView(mouseDomEvent, getLocation, state),\n button: getButton(mouseDomEvent, state),\n wheel: getWheel(mouseDomEvent),\n movementDelta: getMovementDelta(mouseDomEvent, state),\n event: mouseDomEvent\n };\n}\n\nfunction execEventHandle(state, mouseEvent) {\n var arr = MutableSparseMap$Meta3dCommonlib.get(state.eventData.mouseDomEventDataArrMap, mouseEvent.name);\n if (arr !== undefined) {\n return ArraySt$Meta3dCommonlib.reduceOneParam(arr, (function (state, param) {\n return param.handleFunc(mouseEvent, state);\n }), state);\n } else {\n return state;\n }\n}\n\nfunction setLastXY(state, lastX, lastY) {\n return {\n eventData: MouseEventDoService$Meta3dEvent.setLastXY(lastX, lastY, state.eventData),\n canvas: state.canvas,\n body: state.body,\n browser: state.browser\n };\n}\n\nfunction setLastXYByLocation(state, mouseEvent) {\n var $$location = mouseEvent.location;\n return setLastXY(state, $$location[0], $$location[1]);\n}\n\nfunction getIsDrag(state) {\n return state.eventData.mouseEventData.isDrag;\n}\n\nfunction setIsDrag(state, isDrag) {\n var eventData = state.eventData;\n var init = eventData.mouseEventData;\n return {\n eventData: {\n domEventStreamSubscription: eventData.domEventStreamSubscription,\n mouseDomEventDataArrMap: eventData.mouseDomEventDataArrMap,\n keyboardDomEventDataArrMap: eventData.keyboardDomEventDataArrMap,\n touchDomEventDataArrMap: eventData.touchDomEventDataArrMap,\n customGlobalEventArrMap: eventData.customGlobalEventArrMap,\n customGlobalEventArrMap2: eventData.customGlobalEventArrMap2,\n customGlobalEventArrMap3: eventData.customGlobalEventArrMap3,\n mouseEventData: {\n lastX: init.lastX,\n lastY: init.lastY,\n isDrag: isDrag\n },\n keyboardEventData: eventData.keyboardEventData,\n touchEventData: eventData.touchEventData\n },\n canvas: state.canvas,\n body: state.body,\n browser: state.browser\n };\n}\n\nfunction setLastXYWhenMouseMove(state, mouseEvent) {\n if (getIsDrag(state)) {\n return state;\n } else {\n return setLastXYByLocation(state, mouseEvent);\n }\n}\n\nexports.getLocation = getLocation;\nexports.getLocationInView = getLocationInView;\nexports.getButton = getButton;\nexports._getFromDeltaY = _getFromDeltaY;\nexports._getFromWheelDelta = _getFromWheelDelta;\nexports.getWheel = getWheel;\nexports._isPointerLocked = _isPointerLocked;\nexports._getMovementDeltaWhenPointerLocked = _getMovementDeltaWhenPointerLocked;\nexports.getMovementDelta = getMovementDelta;\nexports.convertMouseDomEventToMouseEvent = convertMouseDomEventToMouseEvent;\nexports.execEventHandle = execEventHandle;\nexports.setLastXY = setLastXY;\nexports.setLastXYByLocation = setLastXYByLocation;\nexports.getIsDrag = getIsDrag;\nexports.setIsDrag = setIsDrag;\nexports.setLastXYWhenMouseMove = setLastXYWhenMouseMove;\n/* No side effect */\n\n\n//# sourceURL=webpack://Extension/./lib/js/src/event_manager/service/event/handle/HandleMouseEventDoService.bs.js?"); /***/ }), @@ -2391,7 +2391,7 @@ eval("\n\nvar ArraySt$Meta3dCommonlib = __webpack_require__(/*! meta3d-commonlib /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; -eval("\n\nvar Most = __webpack_require__(/*! most */ \"../../../../node_modules/most/src/index.js\");\nvar Curry = __webpack_require__(/*! rescript/lib/js/curry.js */ \"../../../../node_modules/rescript/lib/js/curry.js\");\nvar Caml_option = __webpack_require__(/*! rescript/lib/js/caml_option.js */ \"../../../../node_modules/rescript/lib/js/caml_option.js\");\nvar Log$Meta3dCommonlib = __webpack_require__(/*! meta3d-commonlib/lib/js/src/log/Log.bs.js */ \"../../../../defaults/meta3d-commonlib/lib/js/src/log/Log.bs.js\");\nvar Most$Meta3dBsMostDefault = __webpack_require__(/*! meta3d-bs-most-default/lib/js/src/most.bs.js */ \"../../../../defaults/meta3d-bs-most-default/lib/js/src/most.bs.js\");\nvar BodyDoService$Meta3dEvent = __webpack_require__(/*! ../dom/BodyDoService.bs.js */ \"./lib/js/src/event_manager/service/dom/BodyDoService.bs.js\");\nvar BrowserDoService$Meta3dEvent = __webpack_require__(/*! ../browser/BrowserDoService.bs.js */ \"./lib/js/src/event_manager/service/browser/BrowserDoService.bs.js\");\nvar ContainerManager$Meta3dEvent = __webpack_require__(/*! ../../data/ContainerManager.bs.js */ \"./lib/js/src/event_manager/data/ContainerManager.bs.js\");\nvar NameEventDoService$Meta3dEvent = __webpack_require__(/*! ../event/NameEventDoService.bs.js */ \"./lib/js/src/event_manager/service/event/NameEventDoService.bs.js\");\nvar ManageEventDoService$Meta3dEvent = __webpack_require__(/*! ../event/ManageEventDoService.bs.js */ \"./lib/js/src/event_manager/service/event/ManageEventDoService.bs.js\");\nvar HandleDomEventDoService$Meta3dEvent = __webpack_require__(/*! ../event/handle/HandleDomEventDoService.bs.js */ \"./lib/js/src/event_manager/service/event/handle/HandleDomEventDoService.bs.js\");\nvar HandleMouseEventDoService$Meta3dEvent = __webpack_require__(/*! ../event/handle/HandleMouseEventDoService.bs.js */ \"./lib/js/src/event_manager/service/event/handle/HandleMouseEventDoService.bs.js\");\nvar HandleTouchEventDoService$Meta3dEvent = __webpack_require__(/*! ../event/handle/HandleTouchEventDoService.bs.js */ \"./lib/js/src/event_manager/service/event/handle/HandleTouchEventDoService.bs.js\");\nvar CreateCustomEventDoService$Meta3dEvent = __webpack_require__(/*! ../event/event/CreateCustomEventDoService.bs.js */ \"./lib/js/src/event_manager/service/event/event/CreateCustomEventDoService.bs.js\");\nvar HandleKeyboardEventDoService$Meta3dEvent = __webpack_require__(/*! ../event/handle/HandleKeyboardEventDoService.bs.js */ \"./lib/js/src/event_manager/service/event/handle/HandleKeyboardEventDoService.bs.js\");\nvar HandlePointDomEventDoService$Meta3dEvent = __webpack_require__(/*! ../event/handle/HandlePointDomEventDoService.bs.js */ \"./lib/js/src/event_manager/service/event/handle/HandlePointDomEventDoService.bs.js\");\n\nvar _getBody = BodyDoService$Meta3dEvent.getBodyExn;\n\nfunction setBody(body, state) {\n return {\n eventData: state.eventData,\n canvas: state.canvas,\n body: Caml_option.some(body),\n browser: state.browser\n };\n}\n\nfunction _fromPointDomEvent(eventName, state) {\n return Most.fromEvent(eventName, BodyDoService$Meta3dEvent.getBodyExn(state), false);\n}\n\nfunction _fromMobilePointDomEvent(eventName, state) {\n return Most.fromEvent(eventName, BodyDoService$Meta3dEvent.getBodyExn(state), {\n passive: false\n });\n}\n\nfunction _fromTouchMoveDomEventAndPreventnDefault(state) {\n var __x = _fromMobilePointDomEvent(\"touchmove\", state);\n return Most.tap(HandlePointDomEventDoService$Meta3dEvent.preventDefault, __x);\n}\n\nfunction _fromKeyboardDomEvent(eventName, state) {\n return Most.fromEvent(eventName, BodyDoService$Meta3dEvent.getBodyExn(state), false);\n}\n\nfunction _convertMouseEventToPointEvent(eventName, param) {\n return {\n name: eventName,\n location: param.location,\n locationInView: param.locationInView,\n button: param.button,\n wheel: param.wheel,\n movementDelta: param.movementDelta,\n event: param.event\n };\n}\n\nfunction _bindDomEventToTriggerPointEvent(param, param$1, state) {\n var convertDomEventToPointEventFunc = param$1[1];\n var pointEventName = param[2];\n var customEventName = param[1];\n return Curry._4(param$1[0], param[0], (function (mouseEvent, state) {\n return ManageEventDoService$Meta3dEvent.triggerCustomGlobalEvent(CreateCustomEventDoService$Meta3dEvent.create(customEventName, Caml_option.some(Curry._2(convertDomEventToPointEventFunc, pointEventName, mouseEvent))), state)[0];\n }), state, undefined);\n}\n\nfunction _bindMouseEventToTriggerPointEvent(state, mouseEventName, customEventName, pointEventName) {\n return _bindDomEventToTriggerPointEvent([\n mouseEventName,\n customEventName,\n pointEventName\n ], [\n (function (param) {\n var func = function (param$1, param$2, param$3, param$4) {\n return ManageEventDoService$Meta3dEvent.onMouseEvent(param, param$1, param$2, param$3, param$4);\n };\n return function (param) {\n var func$1 = Curry._1(func, param);\n return function (param) {\n return Curry._2(func$1, param, 0);\n };\n };\n }),\n _convertMouseEventToPointEvent\n ], state);\n}\n\nfunction _convertTouchEventToPointEvent(eventName, param) {\n return {\n name: eventName,\n location: param.location,\n locationInView: param.locationInView,\n button: undefined,\n wheel: undefined,\n movementDelta: param.movementDelta,\n event: param.event\n };\n}\n\nfunction _bindTouchEventToTriggerPointEvent(state, touchEventName, customEventName, pointEventName) {\n return _bindDomEventToTriggerPointEvent([\n touchEventName,\n customEventName,\n pointEventName\n ], [\n (function (param) {\n var func = function (param$1, param$2, param$3, param$4) {\n return ManageEventDoService$Meta3dEvent.onTouchEvent(param, param$1, param$2, param$3, param$4);\n };\n return function (param) {\n var func$1 = Curry._1(func, param);\n return function (param) {\n return Curry._2(func$1, param, 0);\n };\n };\n }),\n _convertTouchEventToPointEvent\n ], state);\n}\n\nfunction bindDomEventToTriggerPointEvent(stateForEventHandler, browser) {\n if (browser < 2) {\n return _bindMouseEventToTriggerPointEvent(_bindMouseEventToTriggerPointEvent(_bindMouseEventToTriggerPointEvent(_bindMouseEventToTriggerPointEvent(_bindMouseEventToTriggerPointEvent(_bindMouseEventToTriggerPointEvent(_bindMouseEventToTriggerPointEvent(_bindMouseEventToTriggerPointEvent(stateForEventHandler, /* Click */1, NameEventDoService$Meta3dEvent.getPointTapEventName(undefined), /* PointTap */0), /* MouseUp */3, NameEventDoService$Meta3dEvent.getPointUpEventName(undefined), /* PointUp */2), /* MouseDown */2, NameEventDoService$Meta3dEvent.getPointDownEventName(undefined), /* PointDown */1), /* MouseWheel */5, NameEventDoService$Meta3dEvent.getPointScaleEventName(undefined), /* PointScale */4), /* MouseMove */4, NameEventDoService$Meta3dEvent.getPointMoveEventName(undefined), /* PointMove */3), /* MouseDragStart */6, NameEventDoService$Meta3dEvent.getPointDragStartEventName(undefined), /* PointDragStart */5), /* MouseDragOver */7, NameEventDoService$Meta3dEvent.getPointDragOverEventName(undefined), /* PointDragOver */6), /* MouseDragDrop */8, NameEventDoService$Meta3dEvent.getPointDragDropEventName(undefined), /* PointDragDrop */7);\n }\n if (browser >= 4) {\n throw {\n RE_EXN_ID: \"Match_failure\",\n _1: [\n \"InitEventDoService.res\",\n 99,\n 2\n ],\n Error: new Error()\n };\n }\n return _bindTouchEventToTriggerPointEvent(_bindTouchEventToTriggerPointEvent(_bindTouchEventToTriggerPointEvent(_bindTouchEventToTriggerPointEvent(_bindTouchEventToTriggerPointEvent(_bindTouchEventToTriggerPointEvent(_bindTouchEventToTriggerPointEvent(stateForEventHandler, /* TouchTap */12, NameEventDoService$Meta3dEvent.getPointTapEventName(undefined), /* PointTap */0), /* TouchEnd */13, NameEventDoService$Meta3dEvent.getPointUpEventName(undefined), /* PointUp */2), /* TouchStart */15, NameEventDoService$Meta3dEvent.getPointDownEventName(undefined), /* PointDown */1), /* TouchMove */14, NameEventDoService$Meta3dEvent.getPointMoveEventName(undefined), /* PointMove */3), /* TouchDragStart */16, NameEventDoService$Meta3dEvent.getPointDragStartEventName(undefined), /* PointDragStart */5), /* TouchDragOver */17, NameEventDoService$Meta3dEvent.getPointDragOverEventName(undefined), /* PointDragOver */6), /* TouchDragDrop */18, NameEventDoService$Meta3dEvent.getPointDragDropEventName(undefined), /* PointDragDrop */7);\n}\n\nfunction _preventContextMenuEvent($$event) {\n HandleDomEventDoService$Meta3dEvent.preventDefault($$event);\n}\n\nfunction _execMouseEventHandle(eventName, $$event, eventExtensionProtocolName) {\n var state = ContainerManager$Meta3dEvent.getState(eventExtensionProtocolName);\n ContainerManager$Meta3dEvent.setState(HandleMouseEventDoService$Meta3dEvent.execEventHandle(state, HandleMouseEventDoService$Meta3dEvent.convertMouseDomEventToMouseEvent(eventName, $$event, state)), eventExtensionProtocolName);\n}\n\nfunction _execMouseChangePositionEventHandle(mouseEventName, eventExtensionProtocolName, $$event, setPositionFunc) {\n var state = ContainerManager$Meta3dEvent.getState(eventExtensionProtocolName);\n var mouseEvent = HandleMouseEventDoService$Meta3dEvent.convertMouseDomEventToMouseEvent(mouseEventName, $$event, state);\n ContainerManager$Meta3dEvent.setState(Curry._2(setPositionFunc, HandleMouseEventDoService$Meta3dEvent.execEventHandle(state, mouseEvent), mouseEvent), eventExtensionProtocolName);\n}\n\nfunction _execMouseMoveEventHandle(mouseEventName, $$event, eventExtensionProtocolName) {\n _execMouseChangePositionEventHandle(mouseEventName, eventExtensionProtocolName, $$event, HandleMouseEventDoService$Meta3dEvent.setLastXYWhenMouseMove);\n}\n\nfunction _execMouseDragingEventHandle(mouseEventName, $$event, eventExtensionProtocolName) {\n _execMouseChangePositionEventHandle(mouseEventName, eventExtensionProtocolName, $$event, HandleMouseEventDoService$Meta3dEvent.setLastXYByLocation);\n}\n\nfunction _execMouseDragStartEventHandle($$event, eventExtensionProtocolName) {\n var state = ContainerManager$Meta3dEvent.getState(eventExtensionProtocolName);\n ContainerManager$Meta3dEvent.setState(HandleMouseEventDoService$Meta3dEvent.setLastXY(HandleMouseEventDoService$Meta3dEvent.setIsDrag(HandleMouseEventDoService$Meta3dEvent.execEventHandle(state, HandleMouseEventDoService$Meta3dEvent.convertMouseDomEventToMouseEvent(/* MouseDragStart */6, $$event, state)), true), undefined, undefined), eventExtensionProtocolName);\n}\n\nfunction _execMouseDragDropEventHandle($$event, eventExtensionProtocolName) {\n var state = ContainerManager$Meta3dEvent.getState(eventExtensionProtocolName);\n ContainerManager$Meta3dEvent.setState(HandleMouseEventDoService$Meta3dEvent.setIsDrag(HandleMouseEventDoService$Meta3dEvent.execEventHandle(state, HandleMouseEventDoService$Meta3dEvent.convertMouseDomEventToMouseEvent(/* MouseDragDrop */8, $$event, state)), false), eventExtensionProtocolName);\n}\n\nfunction _execTouchEventHandle(touchEventName, $$event, eventExtensionProtocolName) {\n ContainerManager$Meta3dEvent.setState(HandleTouchEventDoService$Meta3dEvent.execEventHandle(ContainerManager$Meta3dEvent.getState(eventExtensionProtocolName), touchEventName, $$event), eventExtensionProtocolName);\n}\n\nfunction _execTouchChangePositionEventHandle(touchEventName, eventExtensionProtocolName, $$event, setPositonFunc) {\n ContainerManager$Meta3dEvent.setState(Curry._3(setPositonFunc, HandleTouchEventDoService$Meta3dEvent.execEventHandle(ContainerManager$Meta3dEvent.getState(eventExtensionProtocolName), touchEventName, $$event), touchEventName, $$event), eventExtensionProtocolName);\n}\n\nfunction _execTouchMoveEventHandle(touchEventName, $$event, eventExtensionProtocolName) {\n _execTouchChangePositionEventHandle(touchEventName, eventExtensionProtocolName, $$event, HandleTouchEventDoService$Meta3dEvent.setLastXYWhenTouchMove);\n}\n\nfunction _execTouchDragingEventHandle(touchEventName, $$event, eventExtensionProtocolName) {\n _execTouchChangePositionEventHandle(touchEventName, eventExtensionProtocolName, $$event, HandleTouchEventDoService$Meta3dEvent.setLastXYByLocation);\n}\n\nfunction _execTouchDragStartEventHandle($$event, eventExtensionProtocolName) {\n ContainerManager$Meta3dEvent.setState(HandleTouchEventDoService$Meta3dEvent.setLastXY(HandleTouchEventDoService$Meta3dEvent.setIsDrag(HandleTouchEventDoService$Meta3dEvent.execEventHandle(ContainerManager$Meta3dEvent.getState(eventExtensionProtocolName), /* TouchDragStart */16, $$event), true), undefined, undefined), eventExtensionProtocolName);\n}\n\nfunction _execTouchDragDropEventHandle($$event, eventExtensionProtocolName) {\n ContainerManager$Meta3dEvent.setState(HandleTouchEventDoService$Meta3dEvent.setIsDrag(HandleTouchEventDoService$Meta3dEvent.execEventHandle(ContainerManager$Meta3dEvent.getState(eventExtensionProtocolName), /* TouchDragDrop */18, $$event), false), eventExtensionProtocolName);\n}\n\nfunction _execKeyboardEventHandle(keyboardEventName, $$event, eventExtensionProtocolName) {\n ContainerManager$Meta3dEvent.setState(HandleKeyboardEventDoService$Meta3dEvent.execEventHandle(ContainerManager$Meta3dEvent.getState(eventExtensionProtocolName), keyboardEventName, $$event), eventExtensionProtocolName);\n}\n\nfunction _fromPCDomEventArr(state, eventExtensionProtocolName) {\n var __x = Most.fromEvent(\"contextmenu\", BodyDoService$Meta3dEvent.getBodyExn(state), false);\n var __x$1 = _fromPointDomEvent(\"click\", state);\n var __x$2 = _fromPointDomEvent(\"mousedown\", state);\n var __x$3 = _fromPointDomEvent(\"mouseup\", state);\n var __x$4 = _fromPointDomEvent(\"mousemove\", state);\n var __x$5 = _fromPointDomEvent(\"mousewheel\", state);\n var __x$6 = _fromPointDomEvent(\"mousedown\", state);\n var __x$7 = Most.tap((function ($$event) {\n _execMouseDragStartEventHandle($$event, eventExtensionProtocolName);\n }), __x$6);\n var __x$8 = Most.flatMap((function ($$event) {\n var __x = Most.skip(2, _fromPointDomEvent(\"mousemove\", state));\n var __x$1 = _fromPointDomEvent(\"mouseup\", state);\n return Most.until(Most.tap((function ($$event) {\n _execMouseDragDropEventHandle($$event, eventExtensionProtocolName);\n }), __x$1), __x);\n }), __x$7);\n var __x$9 = _fromKeyboardDomEvent(\"keyup\", state);\n var __x$10 = _fromKeyboardDomEvent(\"keydown\", state);\n var __x$11 = _fromKeyboardDomEvent(\"keypress\", state);\n return [\n Most.tap((function ($$event) {\n HandleDomEventDoService$Meta3dEvent.preventDefault($$event);\n }), __x),\n Most.tap((function ($$event) {\n _execMouseEventHandle(/* Click */1, $$event, eventExtensionProtocolName);\n }), __x$1),\n Most.tap((function ($$event) {\n _execMouseEventHandle(/* MouseDown */2, $$event, eventExtensionProtocolName);\n }), __x$2),\n Most.tap((function ($$event) {\n _execMouseEventHandle(/* MouseUp */3, $$event, eventExtensionProtocolName);\n }), __x$3),\n Most.tap((function ($$event) {\n _execMouseMoveEventHandle(/* MouseMove */4, $$event, eventExtensionProtocolName);\n }), __x$4),\n Most.tap((function ($$event) {\n _execMouseEventHandle(/* MouseWheel */5, $$event, eventExtensionProtocolName);\n }), __x$5),\n Most.tap((function ($$event) {\n _execMouseDragingEventHandle(/* MouseDragOver */7, $$event, eventExtensionProtocolName);\n }), __x$8),\n Most.tap((function ($$event) {\n _execKeyboardEventHandle(/* KeyUp */9, $$event, eventExtensionProtocolName);\n }), __x$9),\n Most.tap((function ($$event) {\n _execKeyboardEventHandle(/* KeyDown */10, $$event, eventExtensionProtocolName);\n }), __x$10),\n Most.tap((function ($$event) {\n _execKeyboardEventHandle(/* KeyPress */11, $$event, eventExtensionProtocolName);\n }), __x$11)\n ];\n}\n\nfunction _fromMobileDomEventArr(state, eventExtensionProtocolName) {\n var __x = _fromMobilePointDomEvent(\"touchend\", state);\n var __x$1 = Most.since(_fromMobilePointDomEvent(\"touchstart\", state), __x);\n var __x$2 = _fromMobilePointDomEvent(\"touchend\", state);\n var __x$3 = _fromMobilePointDomEvent(\"touchstart\", state);\n var __x$4 = _fromTouchMoveDomEventAndPreventnDefault(state);\n var __x$5 = _fromMobilePointDomEvent(\"touchstart\", state);\n var __x$6 = Most.tap((function ($$event) {\n _execTouchDragStartEventHandle($$event, eventExtensionProtocolName);\n }), __x$5);\n var __x$7 = Most.flatMap((function ($$event) {\n var __x = _fromTouchMoveDomEventAndPreventnDefault(state);\n var __x$1 = _fromMobilePointDomEvent(\"touchend\", state);\n return Most.until(Most.tap((function ($$event) {\n _execTouchDragDropEventHandle($$event, eventExtensionProtocolName);\n }), __x$1), __x);\n }), __x$6);\n return [\n Most.tap((function ($$event) {\n _execTouchEventHandle(/* TouchTap */12, $$event, eventExtensionProtocolName);\n }), __x$1),\n Most.tap((function ($$event) {\n _execTouchEventHandle(/* TouchEnd */13, $$event, eventExtensionProtocolName);\n }), __x$2),\n Most.tap((function ($$event) {\n _execTouchEventHandle(/* TouchStart */15, $$event, eventExtensionProtocolName);\n }), __x$3),\n Most.tap((function ($$event) {\n _execTouchMoveEventHandle(/* TouchMove */14, $$event, eventExtensionProtocolName);\n }), __x$4),\n Most.tap((function ($$event) {\n _execTouchDragingEventHandle(/* TouchDragOver */17, $$event, eventExtensionProtocolName);\n }), __x$7)\n ];\n}\n\nfunction fromDomEvent(state, eventExtensionProtocolName) {\n var match = BrowserDoService$Meta3dEvent.getBrowser(state);\n var tmp;\n if (match >= 2) {\n if (match >= 4) {\n throw {\n RE_EXN_ID: \"Match_failure\",\n _1: [\n \"InitEventDoService.res\",\n 443,\n 4\n ],\n Error: new Error()\n };\n }\n tmp = _fromMobileDomEventArr(state, eventExtensionProtocolName);\n } else {\n tmp = _fromPCDomEventArr(state, eventExtensionProtocolName);\n }\n return Most.mergeArray(tmp);\n}\n\nvar handleDomEventStreamError = Log$Meta3dCommonlib.logForDebug;\n\nfunction initEvent(state, eventExtensionProtocolName) {\n var __x = fromDomEvent(state, eventExtensionProtocolName);\n var domEventStreamSubscription = Most$Meta3dBsMostDefault.subscribe({\n next: (function (param) {\n \n }),\n error: Log$Meta3dCommonlib.logForDebug,\n complete: (function (param) {\n \n })\n }, __x);\n var state$1 = ManageEventDoService$Meta3dEvent.setDomEventStreamSubscription(state, domEventStreamSubscription);\n ContainerManager$Meta3dEvent.setState(bindDomEventToTriggerPointEvent(ContainerManager$Meta3dEvent.getState(eventExtensionProtocolName), BrowserDoService$Meta3dEvent.getBrowser(state$1)), eventExtensionProtocolName);\n return state$1;\n}\n\nexports._getBody = _getBody;\nexports.setBody = setBody;\nexports._fromPointDomEvent = _fromPointDomEvent;\nexports._fromMobilePointDomEvent = _fromMobilePointDomEvent;\nexports._fromTouchMoveDomEventAndPreventnDefault = _fromTouchMoveDomEventAndPreventnDefault;\nexports._fromKeyboardDomEvent = _fromKeyboardDomEvent;\nexports._convertMouseEventToPointEvent = _convertMouseEventToPointEvent;\nexports._bindDomEventToTriggerPointEvent = _bindDomEventToTriggerPointEvent;\nexports._bindMouseEventToTriggerPointEvent = _bindMouseEventToTriggerPointEvent;\nexports._convertTouchEventToPointEvent = _convertTouchEventToPointEvent;\nexports._bindTouchEventToTriggerPointEvent = _bindTouchEventToTriggerPointEvent;\nexports.bindDomEventToTriggerPointEvent = bindDomEventToTriggerPointEvent;\nexports._preventContextMenuEvent = _preventContextMenuEvent;\nexports._execMouseEventHandle = _execMouseEventHandle;\nexports._execMouseChangePositionEventHandle = _execMouseChangePositionEventHandle;\nexports._execMouseMoveEventHandle = _execMouseMoveEventHandle;\nexports._execMouseDragingEventHandle = _execMouseDragingEventHandle;\nexports._execMouseDragStartEventHandle = _execMouseDragStartEventHandle;\nexports._execMouseDragDropEventHandle = _execMouseDragDropEventHandle;\nexports._execTouchEventHandle = _execTouchEventHandle;\nexports._execTouchChangePositionEventHandle = _execTouchChangePositionEventHandle;\nexports._execTouchMoveEventHandle = _execTouchMoveEventHandle;\nexports._execTouchDragingEventHandle = _execTouchDragingEventHandle;\nexports._execTouchDragStartEventHandle = _execTouchDragStartEventHandle;\nexports._execTouchDragDropEventHandle = _execTouchDragDropEventHandle;\nexports._execKeyboardEventHandle = _execKeyboardEventHandle;\nexports._fromPCDomEventArr = _fromPCDomEventArr;\nexports._fromMobileDomEventArr = _fromMobileDomEventArr;\nexports.fromDomEvent = fromDomEvent;\nexports.handleDomEventStreamError = handleDomEventStreamError;\nexports.initEvent = initEvent;\n/* most Not a pure module */\n\n\n//# sourceURL=webpack://Extension/./lib/js/src/event_manager/service/init_event/InitEventDoService.bs.js?"); +eval("\n\nvar Most = __webpack_require__(/*! most */ \"../../../../node_modules/most/src/index.js\");\nvar Curry = __webpack_require__(/*! rescript/lib/js/curry.js */ \"../../../../node_modules/rescript/lib/js/curry.js\");\nvar Caml_option = __webpack_require__(/*! rescript/lib/js/caml_option.js */ \"../../../../node_modules/rescript/lib/js/caml_option.js\");\nvar Log$Meta3dCommonlib = __webpack_require__(/*! meta3d-commonlib/lib/js/src/log/Log.bs.js */ \"../../../../defaults/meta3d-commonlib/lib/js/src/log/Log.bs.js\");\nvar Most$Meta3dBsMostDefault = __webpack_require__(/*! meta3d-bs-most-default/lib/js/src/most.bs.js */ \"../../../../defaults/meta3d-bs-most-default/lib/js/src/most.bs.js\");\nvar BodyDoService$Meta3dEvent = __webpack_require__(/*! ../dom/BodyDoService.bs.js */ \"./lib/js/src/event_manager/service/dom/BodyDoService.bs.js\");\nvar BrowserDoService$Meta3dEvent = __webpack_require__(/*! ../browser/BrowserDoService.bs.js */ \"./lib/js/src/event_manager/service/browser/BrowserDoService.bs.js\");\nvar ContainerManager$Meta3dEvent = __webpack_require__(/*! ../../data/ContainerManager.bs.js */ \"./lib/js/src/event_manager/data/ContainerManager.bs.js\");\nvar NameEventDoService$Meta3dEvent = __webpack_require__(/*! ../event/NameEventDoService.bs.js */ \"./lib/js/src/event_manager/service/event/NameEventDoService.bs.js\");\nvar ManageEventDoService$Meta3dEvent = __webpack_require__(/*! ../event/ManageEventDoService.bs.js */ \"./lib/js/src/event_manager/service/event/ManageEventDoService.bs.js\");\nvar HandleDomEventDoService$Meta3dEvent = __webpack_require__(/*! ../event/handle/HandleDomEventDoService.bs.js */ \"./lib/js/src/event_manager/service/event/handle/HandleDomEventDoService.bs.js\");\nvar HandleMouseEventDoService$Meta3dEvent = __webpack_require__(/*! ../event/handle/HandleMouseEventDoService.bs.js */ \"./lib/js/src/event_manager/service/event/handle/HandleMouseEventDoService.bs.js\");\nvar HandleTouchEventDoService$Meta3dEvent = __webpack_require__(/*! ../event/handle/HandleTouchEventDoService.bs.js */ \"./lib/js/src/event_manager/service/event/handle/HandleTouchEventDoService.bs.js\");\nvar CreateCustomEventDoService$Meta3dEvent = __webpack_require__(/*! ../event/event/CreateCustomEventDoService.bs.js */ \"./lib/js/src/event_manager/service/event/event/CreateCustomEventDoService.bs.js\");\nvar HandleKeyboardEventDoService$Meta3dEvent = __webpack_require__(/*! ../event/handle/HandleKeyboardEventDoService.bs.js */ \"./lib/js/src/event_manager/service/event/handle/HandleKeyboardEventDoService.bs.js\");\nvar HandlePointDomEventDoService$Meta3dEvent = __webpack_require__(/*! ../event/handle/HandlePointDomEventDoService.bs.js */ \"./lib/js/src/event_manager/service/event/handle/HandlePointDomEventDoService.bs.js\");\n\nvar _getBody = BodyDoService$Meta3dEvent.getBodyExn;\n\nfunction setBody(body, state) {\n return {\n eventData: state.eventData,\n canvas: state.canvas,\n body: Caml_option.some(body),\n browser: state.browser\n };\n}\n\nfunction _fromPointDomEvent(eventName, state) {\n return Most.fromEvent(eventName, BodyDoService$Meta3dEvent.getBodyExn(state), false);\n}\n\nfunction _fromMobilePointDomEvent(eventName, state) {\n return Most.fromEvent(eventName, BodyDoService$Meta3dEvent.getBodyExn(state), {\n passive: false\n });\n}\n\nfunction _fromTouchMoveDomEventAndPreventnDefault(state) {\n var __x = _fromMobilePointDomEvent(\"touchmove\", state);\n return Most.tap(HandlePointDomEventDoService$Meta3dEvent.preventDefault, __x);\n}\n\nfunction _fromKeyboardDomEvent(eventName, state) {\n return Most.fromEvent(eventName, BodyDoService$Meta3dEvent.getBodyExn(state), false);\n}\n\nfunction _convertMouseEventToPointEvent(eventName, param) {\n return {\n name: eventName,\n location: param.location,\n locationInView: param.locationInView,\n button: param.button,\n wheel: param.wheel,\n movementDelta: param.movementDelta,\n event: param.event\n };\n}\n\nfunction _bindDomEventToTriggerPointEvent(param, param$1, state) {\n var convertDomEventToPointEventFunc = param$1[1];\n var pointEventName = param[2];\n var customEventName = param[1];\n return Curry._4(param$1[0], param[0], (function (mouseEvent, state) {\n return ManageEventDoService$Meta3dEvent.triggerCustomGlobalEvent(CreateCustomEventDoService$Meta3dEvent.create(customEventName, Caml_option.some(Curry._2(convertDomEventToPointEventFunc, pointEventName, mouseEvent))), state)[0];\n }), state, undefined);\n}\n\nfunction _bindMouseEventToTriggerPointEvent(state, mouseEventName, customEventName, pointEventName) {\n return _bindDomEventToTriggerPointEvent([\n mouseEventName,\n customEventName,\n pointEventName\n ], [\n (function (param) {\n var func = function (param$1, param$2, param$3, param$4) {\n return ManageEventDoService$Meta3dEvent.onMouseEvent(param, param$1, param$2, param$3, param$4);\n };\n return function (param) {\n var func$1 = Curry._1(func, param);\n return function (param) {\n return Curry._2(func$1, param, 0);\n };\n };\n }),\n _convertMouseEventToPointEvent\n ], state);\n}\n\nfunction _convertTouchEventToPointEvent(eventName, param) {\n return {\n name: eventName,\n location: param.location,\n locationInView: param.locationInView,\n button: undefined,\n wheel: undefined,\n movementDelta: param.movementDelta,\n event: param.event\n };\n}\n\nfunction _bindTouchEventToTriggerPointEvent(state, touchEventName, customEventName, pointEventName) {\n return _bindDomEventToTriggerPointEvent([\n touchEventName,\n customEventName,\n pointEventName\n ], [\n (function (param) {\n var func = function (param$1, param$2, param$3, param$4) {\n return ManageEventDoService$Meta3dEvent.onTouchEvent(param, param$1, param$2, param$3, param$4);\n };\n return function (param) {\n var func$1 = Curry._1(func, param);\n return function (param) {\n return Curry._2(func$1, param, 0);\n };\n };\n }),\n _convertTouchEventToPointEvent\n ], state);\n}\n\nfunction bindDomEventToTriggerPointEvent(stateForEventHandler, browser) {\n if (browser < 2) {\n return _bindMouseEventToTriggerPointEvent(_bindMouseEventToTriggerPointEvent(_bindMouseEventToTriggerPointEvent(_bindMouseEventToTriggerPointEvent(_bindMouseEventToTriggerPointEvent(_bindMouseEventToTriggerPointEvent(_bindMouseEventToTriggerPointEvent(_bindMouseEventToTriggerPointEvent(stateForEventHandler, /* Click */1, NameEventDoService$Meta3dEvent.getPointTapEventName(undefined), /* PointTap */0), /* MouseUp */3, NameEventDoService$Meta3dEvent.getPointUpEventName(undefined), /* PointUp */2), /* MouseDown */2, NameEventDoService$Meta3dEvent.getPointDownEventName(undefined), /* PointDown */1), /* MouseWheel */5, NameEventDoService$Meta3dEvent.getPointScaleEventName(undefined), /* PointScale */4), /* MouseMove */4, NameEventDoService$Meta3dEvent.getPointMoveEventName(undefined), /* PointMove */3), /* MouseDragStart */6, NameEventDoService$Meta3dEvent.getPointDragStartEventName(undefined), /* PointDragStart */5), /* MouseDragOver */7, NameEventDoService$Meta3dEvent.getPointDragOverEventName(undefined), /* PointDragOver */6), /* MouseDragDrop */8, NameEventDoService$Meta3dEvent.getPointDragDropEventName(undefined), /* PointDragDrop */7);\n }\n if (browser >= 4) {\n throw {\n RE_EXN_ID: \"Match_failure\",\n _1: [\n \"InitEventDoService.res\",\n 99,\n 2\n ],\n Error: new Error()\n };\n }\n return _bindTouchEventToTriggerPointEvent(_bindTouchEventToTriggerPointEvent(_bindTouchEventToTriggerPointEvent(_bindTouchEventToTriggerPointEvent(_bindTouchEventToTriggerPointEvent(_bindTouchEventToTriggerPointEvent(_bindTouchEventToTriggerPointEvent(stateForEventHandler, /* TouchTap */12, NameEventDoService$Meta3dEvent.getPointTapEventName(undefined), /* PointTap */0), /* TouchEnd */13, NameEventDoService$Meta3dEvent.getPointUpEventName(undefined), /* PointUp */2), /* TouchStart */15, NameEventDoService$Meta3dEvent.getPointDownEventName(undefined), /* PointDown */1), /* TouchMove */14, NameEventDoService$Meta3dEvent.getPointMoveEventName(undefined), /* PointMove */3), /* TouchDragStart */16, NameEventDoService$Meta3dEvent.getPointDragStartEventName(undefined), /* PointDragStart */5), /* TouchDragOver */17, NameEventDoService$Meta3dEvent.getPointDragOverEventName(undefined), /* PointDragOver */6), /* TouchDragDrop */18, NameEventDoService$Meta3dEvent.getPointDragDropEventName(undefined), /* PointDragDrop */7);\n}\n\nfunction _preventContextMenuEvent($$event) {\n HandleDomEventDoService$Meta3dEvent.preventDefault($$event);\n}\n\nfunction _execMouseEventHandle(eventName, $$event, eventExtensionProtocolName) {\n var state = ContainerManager$Meta3dEvent.getState(eventExtensionProtocolName);\n ContainerManager$Meta3dEvent.setState(HandleMouseEventDoService$Meta3dEvent.execEventHandle(state, HandleMouseEventDoService$Meta3dEvent.convertMouseDomEventToMouseEvent(eventName, $$event, state)), eventExtensionProtocolName);\n}\n\nfunction _execMouseChangePositionEventHandle(mouseEventName, eventExtensionProtocolName, $$event, setPositionFunc) {\n var state = ContainerManager$Meta3dEvent.getState(eventExtensionProtocolName);\n var mouseEvent = HandleMouseEventDoService$Meta3dEvent.convertMouseDomEventToMouseEvent(mouseEventName, $$event, state);\n ContainerManager$Meta3dEvent.setState(Curry._2(setPositionFunc, HandleMouseEventDoService$Meta3dEvent.execEventHandle(state, mouseEvent), mouseEvent), eventExtensionProtocolName);\n}\n\nfunction _execMouseMoveEventHandle(mouseEventName, $$event, eventExtensionProtocolName) {\n _execMouseChangePositionEventHandle(mouseEventName, eventExtensionProtocolName, $$event, HandleMouseEventDoService$Meta3dEvent.setLastXYWhenMouseMove);\n}\n\nfunction _execMouseDragingEventHandle(mouseEventName, $$event, eventExtensionProtocolName) {\n _execMouseChangePositionEventHandle(mouseEventName, eventExtensionProtocolName, $$event, HandleMouseEventDoService$Meta3dEvent.setLastXYByLocation);\n}\n\nfunction _execMouseDragStartEventHandle($$event, eventExtensionProtocolName) {\n var state = ContainerManager$Meta3dEvent.getState(eventExtensionProtocolName);\n ContainerManager$Meta3dEvent.setState(HandleMouseEventDoService$Meta3dEvent.setLastXY(HandleMouseEventDoService$Meta3dEvent.setIsDrag(HandleMouseEventDoService$Meta3dEvent.execEventHandle(state, HandleMouseEventDoService$Meta3dEvent.convertMouseDomEventToMouseEvent(/* MouseDragStart */6, $$event, state)), true), undefined, undefined), eventExtensionProtocolName);\n}\n\nfunction _execMouseDragDropEventHandle($$event, eventExtensionProtocolName) {\n var state = ContainerManager$Meta3dEvent.getState(eventExtensionProtocolName);\n ContainerManager$Meta3dEvent.setState(HandleMouseEventDoService$Meta3dEvent.setIsDrag(HandleMouseEventDoService$Meta3dEvent.execEventHandle(state, HandleMouseEventDoService$Meta3dEvent.convertMouseDomEventToMouseEvent(/* MouseDragDrop */8, $$event, state)), false), eventExtensionProtocolName);\n}\n\nfunction _execTouchEventHandle(touchEventName, $$event, eventExtensionProtocolName) {\n ContainerManager$Meta3dEvent.setState(HandleTouchEventDoService$Meta3dEvent.execEventHandle(ContainerManager$Meta3dEvent.getState(eventExtensionProtocolName), touchEventName, $$event), eventExtensionProtocolName);\n}\n\nfunction _execTouchChangePositionEventHandle(touchEventName, eventExtensionProtocolName, $$event, setPositonFunc) {\n ContainerManager$Meta3dEvent.setState(Curry._3(setPositonFunc, HandleTouchEventDoService$Meta3dEvent.execEventHandle(ContainerManager$Meta3dEvent.getState(eventExtensionProtocolName), touchEventName, $$event), touchEventName, $$event), eventExtensionProtocolName);\n}\n\nfunction _execTouchMoveEventHandle(touchEventName, $$event, eventExtensionProtocolName) {\n _execTouchChangePositionEventHandle(touchEventName, eventExtensionProtocolName, $$event, HandleTouchEventDoService$Meta3dEvent.setLastXYWhenTouchMove);\n}\n\nfunction _execTouchDragingEventHandle(touchEventName, $$event, eventExtensionProtocolName) {\n _execTouchChangePositionEventHandle(touchEventName, eventExtensionProtocolName, $$event, HandleTouchEventDoService$Meta3dEvent.setLastXYByLocation);\n}\n\nfunction _execTouchDragStartEventHandle($$event, eventExtensionProtocolName) {\n ContainerManager$Meta3dEvent.setState(HandleTouchEventDoService$Meta3dEvent.setLastXY(HandleTouchEventDoService$Meta3dEvent.setIsDrag(HandleTouchEventDoService$Meta3dEvent.execEventHandle(ContainerManager$Meta3dEvent.getState(eventExtensionProtocolName), /* TouchDragStart */16, $$event), true), undefined, undefined), eventExtensionProtocolName);\n}\n\nfunction _execTouchDragDropEventHandle($$event, eventExtensionProtocolName) {\n ContainerManager$Meta3dEvent.setState(HandleTouchEventDoService$Meta3dEvent.setIsDrag(HandleTouchEventDoService$Meta3dEvent.execEventHandle(ContainerManager$Meta3dEvent.getState(eventExtensionProtocolName), /* TouchDragDrop */18, $$event), false), eventExtensionProtocolName);\n}\n\nfunction _execKeyboardEventHandle(keyboardEventName, $$event, eventExtensionProtocolName) {\n ContainerManager$Meta3dEvent.setState(HandleKeyboardEventDoService$Meta3dEvent.execEventHandle(ContainerManager$Meta3dEvent.getState(eventExtensionProtocolName), keyboardEventName, $$event), eventExtensionProtocolName);\n}\n\nfunction _fromPCDomEventArr(state, eventExtensionProtocolName) {\n var __x = Most.fromEvent(\"contextmenu\", BodyDoService$Meta3dEvent.getBodyExn(state), false);\n var __x$1 = _fromPointDomEvent(\"click\", state);\n var __x$2 = _fromPointDomEvent(\"mousedown\", state);\n var __x$3 = _fromPointDomEvent(\"mouseup\", state);\n var __x$4 = _fromPointDomEvent(\"mousemove\", state);\n var __x$5 = _fromPointDomEvent(\"wheel\", state);\n var __x$6 = _fromPointDomEvent(\"mousedown\", state);\n var __x$7 = Most.tap((function ($$event) {\n _execMouseDragStartEventHandle($$event, eventExtensionProtocolName);\n }), __x$6);\n var __x$8 = Most.flatMap((function ($$event) {\n var __x = Most.skip(2, _fromPointDomEvent(\"mousemove\", state));\n var __x$1 = _fromPointDomEvent(\"mouseup\", state);\n return Most.until(Most.tap((function ($$event) {\n _execMouseDragDropEventHandle($$event, eventExtensionProtocolName);\n }), __x$1), __x);\n }), __x$7);\n var __x$9 = _fromKeyboardDomEvent(\"keyup\", state);\n var __x$10 = _fromKeyboardDomEvent(\"keydown\", state);\n var __x$11 = _fromKeyboardDomEvent(\"keypress\", state);\n return [\n Most.tap((function ($$event) {\n HandleDomEventDoService$Meta3dEvent.preventDefault($$event);\n }), __x),\n Most.tap((function ($$event) {\n _execMouseEventHandle(/* Click */1, $$event, eventExtensionProtocolName);\n }), __x$1),\n Most.tap((function ($$event) {\n _execMouseEventHandle(/* MouseDown */2, $$event, eventExtensionProtocolName);\n }), __x$2),\n Most.tap((function ($$event) {\n _execMouseEventHandle(/* MouseUp */3, $$event, eventExtensionProtocolName);\n }), __x$3),\n Most.tap((function ($$event) {\n _execMouseMoveEventHandle(/* MouseMove */4, $$event, eventExtensionProtocolName);\n }), __x$4),\n Most.tap((function ($$event) {\n _execMouseEventHandle(/* MouseWheel */5, $$event, eventExtensionProtocolName);\n }), __x$5),\n Most.tap((function ($$event) {\n _execMouseDragingEventHandle(/* MouseDragOver */7, $$event, eventExtensionProtocolName);\n }), __x$8),\n Most.tap((function ($$event) {\n _execKeyboardEventHandle(/* KeyUp */9, $$event, eventExtensionProtocolName);\n }), __x$9),\n Most.tap((function ($$event) {\n _execKeyboardEventHandle(/* KeyDown */10, $$event, eventExtensionProtocolName);\n }), __x$10),\n Most.tap((function ($$event) {\n _execKeyboardEventHandle(/* KeyPress */11, $$event, eventExtensionProtocolName);\n }), __x$11)\n ];\n}\n\nfunction _fromMobileDomEventArr(state, eventExtensionProtocolName) {\n var __x = _fromMobilePointDomEvent(\"touchend\", state);\n var __x$1 = Most.since(_fromMobilePointDomEvent(\"touchstart\", state), __x);\n var __x$2 = _fromMobilePointDomEvent(\"touchend\", state);\n var __x$3 = _fromMobilePointDomEvent(\"touchstart\", state);\n var __x$4 = _fromTouchMoveDomEventAndPreventnDefault(state);\n var __x$5 = _fromMobilePointDomEvent(\"touchstart\", state);\n var __x$6 = Most.tap((function ($$event) {\n _execTouchDragStartEventHandle($$event, eventExtensionProtocolName);\n }), __x$5);\n var __x$7 = Most.flatMap((function ($$event) {\n var __x = _fromTouchMoveDomEventAndPreventnDefault(state);\n var __x$1 = _fromMobilePointDomEvent(\"touchend\", state);\n return Most.until(Most.tap((function ($$event) {\n _execTouchDragDropEventHandle($$event, eventExtensionProtocolName);\n }), __x$1), __x);\n }), __x$6);\n return [\n Most.tap((function ($$event) {\n _execTouchEventHandle(/* TouchTap */12, $$event, eventExtensionProtocolName);\n }), __x$1),\n Most.tap((function ($$event) {\n _execTouchEventHandle(/* TouchEnd */13, $$event, eventExtensionProtocolName);\n }), __x$2),\n Most.tap((function ($$event) {\n _execTouchEventHandle(/* TouchStart */15, $$event, eventExtensionProtocolName);\n }), __x$3),\n Most.tap((function ($$event) {\n _execTouchMoveEventHandle(/* TouchMove */14, $$event, eventExtensionProtocolName);\n }), __x$4),\n Most.tap((function ($$event) {\n _execTouchDragingEventHandle(/* TouchDragOver */17, $$event, eventExtensionProtocolName);\n }), __x$7)\n ];\n}\n\nfunction fromDomEvent(state, eventExtensionProtocolName) {\n var match = BrowserDoService$Meta3dEvent.getBrowser(state);\n var tmp;\n if (match >= 2) {\n if (match >= 4) {\n throw {\n RE_EXN_ID: \"Match_failure\",\n _1: [\n \"InitEventDoService.res\",\n 444,\n 4\n ],\n Error: new Error()\n };\n }\n tmp = _fromMobileDomEventArr(state, eventExtensionProtocolName);\n } else {\n tmp = _fromPCDomEventArr(state, eventExtensionProtocolName);\n }\n return Most.mergeArray(tmp);\n}\n\nvar handleDomEventStreamError = Log$Meta3dCommonlib.logForDebug;\n\nfunction initEvent(state, eventExtensionProtocolName) {\n var __x = fromDomEvent(state, eventExtensionProtocolName);\n var domEventStreamSubscription = Most$Meta3dBsMostDefault.subscribe({\n next: (function (param) {\n \n }),\n error: Log$Meta3dCommonlib.logForDebug,\n complete: (function (param) {\n \n })\n }, __x);\n var state$1 = ManageEventDoService$Meta3dEvent.setDomEventStreamSubscription(state, domEventStreamSubscription);\n ContainerManager$Meta3dEvent.setState(bindDomEventToTriggerPointEvent(ContainerManager$Meta3dEvent.getState(eventExtensionProtocolName), BrowserDoService$Meta3dEvent.getBrowser(state$1)), eventExtensionProtocolName);\n return state$1;\n}\n\nexports._getBody = _getBody;\nexports.setBody = setBody;\nexports._fromPointDomEvent = _fromPointDomEvent;\nexports._fromMobilePointDomEvent = _fromMobilePointDomEvent;\nexports._fromTouchMoveDomEventAndPreventnDefault = _fromTouchMoveDomEventAndPreventnDefault;\nexports._fromKeyboardDomEvent = _fromKeyboardDomEvent;\nexports._convertMouseEventToPointEvent = _convertMouseEventToPointEvent;\nexports._bindDomEventToTriggerPointEvent = _bindDomEventToTriggerPointEvent;\nexports._bindMouseEventToTriggerPointEvent = _bindMouseEventToTriggerPointEvent;\nexports._convertTouchEventToPointEvent = _convertTouchEventToPointEvent;\nexports._bindTouchEventToTriggerPointEvent = _bindTouchEventToTriggerPointEvent;\nexports.bindDomEventToTriggerPointEvent = bindDomEventToTriggerPointEvent;\nexports._preventContextMenuEvent = _preventContextMenuEvent;\nexports._execMouseEventHandle = _execMouseEventHandle;\nexports._execMouseChangePositionEventHandle = _execMouseChangePositionEventHandle;\nexports._execMouseMoveEventHandle = _execMouseMoveEventHandle;\nexports._execMouseDragingEventHandle = _execMouseDragingEventHandle;\nexports._execMouseDragStartEventHandle = _execMouseDragStartEventHandle;\nexports._execMouseDragDropEventHandle = _execMouseDragDropEventHandle;\nexports._execTouchEventHandle = _execTouchEventHandle;\nexports._execTouchChangePositionEventHandle = _execTouchChangePositionEventHandle;\nexports._execTouchMoveEventHandle = _execTouchMoveEventHandle;\nexports._execTouchDragingEventHandle = _execTouchDragingEventHandle;\nexports._execTouchDragStartEventHandle = _execTouchDragStartEventHandle;\nexports._execTouchDragDropEventHandle = _execTouchDragDropEventHandle;\nexports._execKeyboardEventHandle = _execKeyboardEventHandle;\nexports._fromPCDomEventArr = _fromPCDomEventArr;\nexports._fromMobileDomEventArr = _fromMobileDomEventArr;\nexports.fromDomEvent = fromDomEvent;\nexports.handleDomEventStreamError = handleDomEventStreamError;\nexports.initEvent = initEvent;\n/* most Not a pure module */\n\n\n//# sourceURL=webpack://Extension/./lib/js/src/event_manager/service/init_event/InitEventDoService.bs.js?"); /***/ }) diff --git a/packages/event/extensions/meta3d-event/lib/es6_global/src/event_manager/service/event/handle/HandleMouseEventDoService.bs.js b/packages/event/extensions/meta3d-event/lib/es6_global/src/event_manager/service/event/handle/HandleMouseEventDoService.bs.js index 45e5cb61e..061820a8e 100644 --- a/packages/event/extensions/meta3d-event/lib/es6_global/src/event_manager/service/event/handle/HandleMouseEventDoService.bs.js +++ b/packages/event/extensions/meta3d-event/lib/es6_global/src/event_manager/service/event/handle/HandleMouseEventDoService.bs.js @@ -40,12 +40,21 @@ function getButton(mouseDomEvent, state) { } } +function _getFromDeltaY(mouseDomEvent) { + var data = mouseDomEvent.deltaY; + if (!(data == null)) { + return data / -100 | 0; + } else { + return 0; + } +} + function _getFromWheelDelta(mouseDomEvent) { var wheelData = mouseDomEvent.wheelDelta; - if (!(wheelData == null)) { - return wheelData / 120 | 0; + if (wheelData == null) { + return _getFromDeltaY(mouseDomEvent); } else { - return 0; + return wheelData / 120 | 0; } } @@ -186,6 +195,7 @@ export { getLocation , getLocationInView , getButton , + _getFromDeltaY , _getFromWheelDelta , getWheel , _isPointerLocked , diff --git a/packages/event/extensions/meta3d-event/lib/es6_global/src/event_manager/service/init_event/InitEventDoService.bs.js b/packages/event/extensions/meta3d-event/lib/es6_global/src/event_manager/service/init_event/InitEventDoService.bs.js index 48dc82ded..1214e1f7e 100644 --- a/packages/event/extensions/meta3d-event/lib/es6_global/src/event_manager/service/init_event/InitEventDoService.bs.js +++ b/packages/event/extensions/meta3d-event/lib/es6_global/src/event_manager/service/init_event/InitEventDoService.bs.js @@ -207,7 +207,7 @@ function _fromPCDomEventArr(state, eventExtensionProtocolName) { var __x$2 = _fromPointDomEvent("mousedown", state); var __x$3 = _fromPointDomEvent("mouseup", state); var __x$4 = _fromPointDomEvent("mousemove", state); - var __x$5 = _fromPointDomEvent("mousewheel", state); + var __x$5 = _fromPointDomEvent("wheel", state); var __x$6 = _fromPointDomEvent("mousedown", state); var __x$7 = Most.tap((function ($$event) { _execMouseDragStartEventHandle($$event, eventExtensionProtocolName); @@ -301,7 +301,7 @@ function fromDomEvent(state, eventExtensionProtocolName) { RE_EXN_ID: "Match_failure", _1: [ "InitEventDoService.res", - 443, + 444, 4 ], Error: new Error() diff --git a/packages/event/extensions/meta3d-event/package.json b/packages/event/extensions/meta3d-event/package.json index 1f68735f8..16e8d80d4 100755 --- a/packages/event/extensions/meta3d-event/package.json +++ b/packages/event/extensions/meta3d-event/package.json @@ -1,6 +1,6 @@ { "name": "meta3d-event", - "version": "0.21.4", + "version": "0.21.5", "publisher": "0xf63e1991A343814EdE505D7cfC368615EAe75307", "displayName": "event", "protocol": { diff --git a/packages/event/extensions/meta3d-event/src/event_manager/service/event/handle/HandleMouseEventDoService.res b/packages/event/extensions/meta3d-event/src/event_manager/service/event/handle/HandleMouseEventDoService.res index d0aafa75d..ecf6daed9 100755 --- a/packages/event/extensions/meta3d-event/src/event_manager/service/event/handle/HandleMouseEventDoService.res +++ b/packages/event/extensions/meta3d-event/src/event_manager/service/event/handle/HandleMouseEventDoService.res @@ -62,10 +62,16 @@ let getButton = (mouseDomEvent, state) => { } } +let _getFromDeltaY = mouseDomEvent => + switch Js.toOption(mouseDomEvent["deltaY"]) { + | Some(data) => data / -100 + | None => 0 + } + let _getFromWheelDelta = mouseDomEvent => switch Js.toOption(mouseDomEvent["wheelDelta"]) { | Some(wheelData) => wheelData / 120 - | None => 0 + | None => _getFromDeltaY(mouseDomEvent) } let getWheel = mouseDomEvent => @@ -137,7 +143,8 @@ let execEventHandle = ({eventData} as state, mouseEvent: mouseEvent) => { switch mouseDomEventDataArrMap->Meta3dCommonlib.MutableSparseMap.get(name->domEventNameToInt) { | None => state - | Some(arr) => arr->Meta3dCommonlib.ArraySt.reduceOneParam((. state, {handleFunc}: mouseDomEventData) => + | Some(arr) => + arr->Meta3dCommonlib.ArraySt.reduceOneParam((. state, {handleFunc}: mouseDomEventData) => handleFunc(. /* convertMouseDomEventToMouseEvent( eventName, @@ -172,7 +179,7 @@ let setIsDrag = ({eventData} as state, isDrag) => { ...eventData, mouseEventData: { ...eventData.mouseEventData, - isDrag: isDrag, + isDrag, }, }, } diff --git a/packages/event/extensions/meta3d-event/src/event_manager/service/init_event/InitEventDoService.res b/packages/event/extensions/meta3d-event/src/event_manager/service/init_event/InitEventDoService.res index 30245229c..b7e2bb22e 100755 --- a/packages/event/extensions/meta3d-event/src/event_manager/service/init_event/InitEventDoService.res +++ b/packages/event/extensions/meta3d-event/src/event_manager/service/init_event/InitEventDoService.res @@ -361,7 +361,8 @@ let _fromPCDomEventArr = (state, eventExtensionProtocolName) => [ event => _execMouseMoveEventHandle(MouseMove, event, eventExtensionProtocolName), _, ), - _fromPointDomEvent("mousewheel", state)->Meta3dBsMostDefault.Most.tap( + // _fromPointDomEvent("mousewheel", state)->Meta3dBsMostDefault.Most.tap( + _fromPointDomEvent("wheel", state)->Meta3dBsMostDefault.Most.tap( event => _execMouseEventHandle(MouseWheel, event, eventExtensionProtocolName), _, ), diff --git a/packages/event/protocols/extension_protocols/meta3d-event-protocol/package.json b/packages/event/protocols/extension_protocols/meta3d-event-protocol/package.json index bb3ae2d0c..f9a71f45e 100755 --- a/packages/event/protocols/extension_protocols/meta3d-event-protocol/package.json +++ b/packages/event/protocols/extension_protocols/meta3d-event-protocol/package.json @@ -1,6 +1,6 @@ { "name": "meta3d-event-protocol", - "version": "0.21.4", + "version": "0.21.5", "publisher": "0xf63e1991A343814EdE505D7cfC368615EAe75307", "displayName": "event protocol", "repoLink": "https://github.com/Meta3D-Technology/Meta3D/tree/master/protocols/extension_protocols/meta3d-event-protocol", diff --git a/packages/event/protocols/extension_protocols/meta3d-event-protocol/src/service/EventType.gen.tsx b/packages/event/protocols/extension_protocols/meta3d-event-protocol/src/service/EventType.gen.tsx index 4791f8002..9eea29150 100644 --- a/packages/event/protocols/extension_protocols/meta3d-event-protocol/src/service/EventType.gen.tsx +++ b/packages/event/protocols/extension_protocols/meta3d-event-protocol/src/service/EventType.gen.tsx @@ -55,6 +55,7 @@ export type mouseDomEvent = { readonly webkitMovementX: (null | undefined | number); readonly webkitMovementY: (null | undefined | number); readonly wheelDelta: (null | undefined | number); + readonly deltaY: (null | undefined | number); readonly pageX: number; readonly pageY: number; readonly preventDefault: () => void diff --git a/packages/event/protocols/extension_protocols/meta3d-event-protocol/src/service/EventType.res b/packages/event/protocols/extension_protocols/meta3d-event-protocol/src/service/EventType.res index 797164eac..c62d3d484 100755 --- a/packages/event/protocols/extension_protocols/meta3d-event-protocol/src/service/EventType.res +++ b/packages/event/protocols/extension_protocols/meta3d-event-protocol/src/service/EventType.res @@ -53,6 +53,7 @@ type mouseDomEvent = { "webkitMovementX": Js.Nullable.t, "webkitMovementY": Js.Nullable.t, "wheelDelta": Js.Nullable.t, + "deltaY": Js.Nullable.t, "pageX": int, "pageY": int, "preventDefault": (. unit) => unit,