diff --git a/doc/CHANGES.md b/doc/CHANGES.md index 248fcdbe5..c07a9206e 100644 --- a/doc/CHANGES.md +++ b/doc/CHANGES.md @@ -5,6 +5,7 @@ Change log **Table of Contents** *generated with [DocToc](http://doctoc.herokuapp.com/)* +- [9.0.0-dev (TBD)](#900-dev-tbd) - [9.0.0 (2023-08-23)](#900-2023-08-23) - [8.4.0 (2023-07-20)](#840-2023-07-20) - [8.3.0 (2023-06-13)](#830-2023-06-13) @@ -93,6 +94,10 @@ Change log +## 9.0.0-dev (TBD) +* tweak to `fitToContent` [#2412](from https://github.com/gridstack/gridstack.js/pull/2412#issuecomment-1690219018) +* fix [#2413](https://github.com/gridstack/gridstack.js/issues/2413) support touchscreen+mouse devices. Thank you [@Ruslan207](https://github.com/Ruslan207) + ## 9.0.0 (2023-08-23) - feat [#404](https://github.com/gridstack/gridstack.js/issues/404) added `GridStackOptions.fitToContent` and `GridStackWidget.fitToContent` to make gridItems size themselves to their content (no scroll bar), calling `GridStack.resizeToContent(el)` whenever the grid or item is resized. - also added new `'resizecontent'` event, and `resizeToContentCB` and `resizeToContentParent` vars. diff --git a/src/dd-touch.ts b/src/dd-touch.ts index 231f12bd3..82a816bd9 100644 --- a/src/dd-touch.ts +++ b/src/dd-touch.ts @@ -175,9 +175,8 @@ export function touchend(e: TouchEvent): void { */ export function pointerdown(e: PointerEvent): void { // console.log("pointer down") - if (e.pointerType !== 'mouse') { - (e.target as HTMLElement).releasePointerCapture(e.pointerId) // <- Important! - } + if (e.pointerType === 'mouse') return; + (e.target as HTMLElement).releasePointerCapture(e.pointerId) // <- Important! } export function pointerenter(e: PointerEvent): void { @@ -187,9 +186,8 @@ export function pointerenter(e: PointerEvent): void { return; } // console.log('pointerenter'); - if (e.pointerType !== 'mouse') { - simulatePointerMouseEvent(e, 'mouseenter'); - } + if (e.pointerType === 'mouse') return; + simulatePointerMouseEvent(e, 'mouseenter'); } export function pointerleave(e: PointerEvent): void { @@ -199,12 +197,11 @@ export function pointerleave(e: PointerEvent): void { // console.log('pointerleave ignored'); return; } - if (e.pointerType !== 'mouse') { - DDTouch.pointerLeaveTimeout = window.setTimeout(() => { - delete DDTouch.pointerLeaveTimeout; - // console.log('pointerleave delayed'); - simulatePointerMouseEvent(e, 'mouseleave'); - }, 10); - } + if (e.pointerType === 'mouse') return; + DDTouch.pointerLeaveTimeout = window.setTimeout(() => { + delete DDTouch.pointerLeaveTimeout; + // console.log('pointerleave delayed'); + simulatePointerMouseEvent(e, 'mouseleave'); + }, 10); }