Skip to content

Commit

Permalink
fix(extension): fix event package->meta3d-event extension: "wheel eve…
Browse files Browse the repository at this point in the history
…nt not work" bug

solution
fix InitEventDoService: use "wheel" instead of "mousewheel" event;
use mouseDomEvent.deltaY;
  • Loading branch information
yyc-git committed Dec 19, 2023
1 parent 04525ca commit fb84fb6
Show file tree
Hide file tree
Showing 9 changed files with 33 additions and 13 deletions.
4 changes: 2 additions & 2 deletions packages/event/extensions/meta3d-event/dist/static/js/main.js

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
}

Expand Down Expand Up @@ -186,6 +195,7 @@ export {
getLocation ,
getLocationInView ,
getButton ,
_getFromDeltaY ,
_getFromWheelDelta ,
getWheel ,
_isPointerLocked ,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -301,7 +301,7 @@ function fromDomEvent(state, eventExtensionProtocolName) {
RE_EXN_ID: "Match_failure",
_1: [
"InitEventDoService.res",
443,
444,
4
],
Error: new Error()
Expand Down
2 changes: 1 addition & 1 deletion packages/event/extensions/meta3d-event/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "meta3d-event",
"version": "0.21.4",
"version": "0.21.5",
"publisher": "0xf63e1991A343814EdE505D7cfC368615EAe75307",
"displayName": "event",
"protocol": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 =>
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -172,7 +179,7 @@ let setIsDrag = ({eventData} as state, isDrag) => {
...eventData,
mouseEventData: {
...eventData.mouseEventData,
isDrag: isDrag,
isDrag,
},
},
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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),
_,
),
Expand Down
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ type mouseDomEvent = {
"webkitMovementX": Js.Nullable.t<int>,
"webkitMovementY": Js.Nullable.t<int>,
"wheelDelta": Js.Nullable.t<int>,
"deltaY": Js.Nullable.t<int>,
"pageX": int,
"pageY": int,
"preventDefault": (. unit) => unit,
Expand Down

0 comments on commit fb84fb6

Please sign in to comment.