@operato/utils
Advanced tools
Comparing version 8.0.0-alpha.33 to 8.0.0-alpha.37
@@ -6,2 +6,12 @@ # Change Log | ||
## [8.0.0-alpha.37](https://github.com/hatiolab/operato/compare/v8.0.0-alpha.36...v8.0.0-alpha.37) (2024-10-20) | ||
### :bug: Bug Fix | ||
* pointer-event & pointer-event for ox-image-marker ([c503d0a](https://github.com/hatiolab/operato/commit/c503d0a235ddadd97fdcd84ae98a303a7ffe7a6f)) | ||
* update dev-dependencies version ([d6fe342](https://github.com/hatiolab/operato/commit/d6fe342de738c6bad3528550a862b5a1d2573161)) | ||
## [8.0.0-alpha.33](https://github.com/hatiolab/operato/compare/v8.0.0-alpha.32...v8.0.0-alpha.33) (2024-10-14) | ||
@@ -8,0 +18,0 @@ |
@@ -14,2 +14,5 @@ interface CustomElement extends HTMLElement { | ||
deltaY: number; | ||
clientX: number; | ||
clientY: number; | ||
end: boolean; | ||
}>; | ||
@@ -41,3 +44,3 @@ export type GestureEventDoubleTap = CustomEvent<{ | ||
y: number; | ||
}): void; | ||
}, end: boolean): void; | ||
handleTap(point: { | ||
@@ -44,0 +47,0 @@ x: number; |
@@ -13,5 +13,2 @@ export function gesture(Base) { | ||
this.__pointers.set(e.pointerId, point); | ||
if (this.__pointers.size === 1) { | ||
this.__dragStart = point; | ||
} | ||
this.addGlobalListeners(); | ||
@@ -27,3 +24,3 @@ }; | ||
else if (this.__pointers.size === 1) { | ||
this.handleDrag(point); | ||
this.handleDrag(point, false); | ||
} | ||
@@ -34,2 +31,5 @@ }; | ||
this.__pointers.delete(e.pointerId); | ||
if (this.__dragStart) { | ||
this.handleDrag(point, true); | ||
} | ||
if (this.__pointers.size === 0) { | ||
@@ -71,3 +71,3 @@ this.removeGlobalListeners(); | ||
} | ||
handleDrag(point) { | ||
handleDrag(point, end) { | ||
if (this.__dragStart) { | ||
@@ -77,6 +77,19 @@ const deltaX = point.x - this.__dragStart.x; | ||
this.dispatchEvent(new CustomEvent('drag', { | ||
detail: { deltaX, deltaY } | ||
detail: { deltaX, deltaY, clientX: point.x, clientY: point.y, end } | ||
})); | ||
this.__dragStart = point; | ||
if (end) { | ||
this.__dragStart = null; | ||
} | ||
else { | ||
this.__dragStart = point; | ||
} | ||
} | ||
else if (!end && this.__pointers.size === 1) { | ||
/* dragging을 시작하려면, pointer 개수가 1개인 것을 (지연)확인해야한다. */ | ||
setTimeout(() => { | ||
if (this.__pointers.size === 1 && !this.__dragStart) { | ||
this.__dragStart = point; | ||
} | ||
}, 30); | ||
} | ||
} | ||
@@ -83,0 +96,0 @@ handleTap(point) { |
@@ -5,3 +5,3 @@ { | ||
"author": "heartyoh", | ||
"version": "8.0.0-alpha.33", | ||
"version": "8.0.0-alpha.37", | ||
"main": "dist/src/index.js", | ||
@@ -24,2 +24,3 @@ "module": "dist/src/index.js", | ||
"./gesture-mixin.js": "./dist/src/mixins/gesture-mixin.js", | ||
"./gesture-helper.js": "./dist/src/gesture-helper.js", | ||
"./is-unvalued.js": "./dist/src/is-unvalued.js" | ||
@@ -65,2 +66,5 @@ }, | ||
], | ||
"gesture-helper.js": [ | ||
"dist/src/gesture-helper.d.ts" | ||
], | ||
"is-unvalued.js": [ | ||
@@ -95,13 +99,13 @@ "dist/src/is-unvalued.d.ts" | ||
"devDependencies": { | ||
"@custom-elements-manifest/analyzer": "^0.9.2", | ||
"@custom-elements-manifest/analyzer": "^0.10.0", | ||
"@hatiolab/prettier-config": "^1.0.0", | ||
"@open-wc/eslint-config": "^12.0.3", | ||
"@open-wc/testing": "^3.1.6", | ||
"@typescript-eslint/eslint-plugin": "^7.0.1", | ||
"@typescript-eslint/parser": "^7.0.1", | ||
"@web/dev-server": "^0.3.0", | ||
"@open-wc/testing": "^4.0.0", | ||
"@typescript-eslint/eslint-plugin": "^8.0.0", | ||
"@typescript-eslint/parser": "^8.0.0", | ||
"@web/dev-server": "^0.4.0", | ||
"@web/dev-server-storybook": "^2.0.1", | ||
"@web/test-runner": "^0.18.0", | ||
"concurrently": "^8.0.1", | ||
"eslint": "^8.39.0", | ||
"@web/test-runner": "^0.19.0", | ||
"concurrently": "^9.0.0", | ||
"eslint": "^9.0.0", | ||
"eslint-config-prettier": "^9.1.0", | ||
@@ -130,3 +134,3 @@ "husky": "^9.0.11", | ||
}, | ||
"gitHead": "f5fb8cd2bf7aed9781b75e9fa2e3cf53181641c9" | ||
"gitHead": "508ea9c2cd0ed626825045dae9a068b0fa8932be" | ||
} |
@@ -9,3 +9,9 @@ interface CustomElement extends HTMLElement { | ||
export type GestureEventPinch = CustomEvent<{ scale: number; centerX: number; centerY: number }> | ||
export type GestureEventDrag = CustomEvent<{ deltaX: number; deltaY: number }> | ||
export type GestureEventDrag = CustomEvent<{ | ||
deltaX: number | ||
deltaY: number | ||
clientX: number | ||
clientY: number | ||
end: boolean | ||
}> | ||
export type GestureEventDoubleTap = CustomEvent<{ x: number; y: number }> | ||
@@ -40,6 +46,2 @@ | ||
if (this.__pointers.size === 1) { | ||
this.__dragStart = point | ||
} | ||
this.addGlobalListeners() | ||
@@ -56,3 +58,3 @@ } | ||
} else if (this.__pointers.size === 1) { | ||
this.handleDrag(point) | ||
this.handleDrag(point, false) | ||
} | ||
@@ -65,2 +67,6 @@ } | ||
if (this.__dragStart) { | ||
this.handleDrag(point, true) | ||
} | ||
if (this.__pointers.size === 0) { | ||
@@ -95,3 +101,3 @@ this.removeGlobalListeners() | ||
handleDrag(point: { x: number; y: number }) { | ||
handleDrag(point: { x: number; y: number }, end: boolean) { | ||
if (this.__dragStart) { | ||
@@ -103,7 +109,18 @@ const deltaX = point.x - this.__dragStart.x | ||
new CustomEvent('drag', { | ||
detail: { deltaX, deltaY } | ||
detail: { deltaX, deltaY, clientX: point.x, clientY: point.y, end } | ||
}) | ||
) | ||
this.__dragStart = point | ||
if (end) { | ||
this.__dragStart = null | ||
} else { | ||
this.__dragStart = point | ||
} | ||
} else if (!end && this.__pointers.size === 1) { | ||
/* dragging을 시작하려면, pointer 개수가 1개인 것을 (지연)확인해야한다. */ | ||
setTimeout(() => { | ||
if (this.__pointers.size === 1 && !this.__dragStart) { | ||
this.__dragStart = point | ||
} | ||
}, 30) | ||
} | ||
@@ -110,0 +127,0 @@ } |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
375695
144
4359