From 07d52e416b286b5afebaa9e5eb9ebd12c0f3e326 Mon Sep 17 00:00:00 2001 From: Fritz Lekschas Date: Fri, 13 Dec 2024 14:58:54 -0800 Subject: [PATCH] fix: expose `lassoLongPressIndicatorParentElement` --- CHANGELOG.md | 4 ++++ README.md | 1 + src/index.js | 23 ++++++++++++++++++++++- src/types.d.ts | 1 + 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a1e09d..a52d379 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.11.4 + +- Fix: allow setting the lasso long press indicator parent element + ## 1.11.3 - Fix: catch another edge case where `zoomToOrigin` was unsetting the camera fixed state diff --git a/README.md b/README.md index 15e9a63..9d19ee3 100644 --- a/README.md +++ b/README.md @@ -798,6 +798,7 @@ can be read and written via [`scatterplot.get()`](#scatterplot.get) and [`scatte | lassoInitiator | boolean | `false` | | `true` | `false` | | lassoInitiatorElement | object | the lasso dom element | | `false` | `false` | | lassoInitiatorParentElement | object | `document.body` | | `true` | `false` | +| lassoLongPressIndicatorParentElement | object | `document.body` | | `true` | `false` | | lassoOnLongPress | boolean | `false` | | `true` | `false` | | lassoLongPressTime | int | `750` | | `true` | `false` | | lassoLongPressAfterEffectTime | int | `500` | | `true` | `false` | diff --git a/src/index.js b/src/index.js index f9689d4..6788cff 100644 --- a/src/index.js +++ b/src/index.js @@ -247,6 +247,7 @@ const createScatterplot = ( lassoClearEvent = DEFAULT_LASSO_CLEAR_EVENT, lassoInitiator = DEFAULT_LASSO_INITIATOR, lassoInitiatorParentElement = document.body, + lassoLongPressIndicatorParentElement = document.body, lassoOnLongPress = DEFAULT_LASSO_ON_LONG_PRESS, lassoLongPressTime = DEFAULT_LASSO_LONG_PRESS_TIME, lassoLongPressAfterEffectTime = DEFAULT_LASSO_LONG_PRESS_AFTER_EFFECT_TIME, @@ -909,6 +910,7 @@ const createScatterplot = ( onEnd: lassoEnd, enableInitiator: lassoInitiator, initiatorParentElement: lassoInitiatorParentElement, + longPressIndicatorParentElement: lassoLongPressIndicatorParentElement, pointNorm: ([x, y]) => getScatterGlPos(getNdcX(x), getNdcY(y)), }); @@ -2994,7 +2996,15 @@ const createScatterplot = ( lassoInitiatorParentElement = newLassoInitiatorParentElement; lassoManager.set({ - startInitiatorParentElement: lassoInitiatorParentElement, + initiatorParentElement: lassoInitiatorParentElement, + }); + }; + + const setLassoLongPressIndicatorParentElement = (newParentElement) => { + lassoLongPressIndicatorParentElement = newParentElement; + + lassoManager.set({ + longPressIndicatorParentElement: lassoLongPressIndicatorParentElement, }); }; @@ -3362,6 +3372,11 @@ const createScatterplot = ( if (property === 'lassoInitiatorParentElement') { return lassoInitiatorParentElement; } + + if (property === 'lassoLongPressIndicatorParentElement') { + return lassoLongPressIndicatorParentElement; + } + if (property === 'keyMap') { return { ...keyMap }; } @@ -3757,6 +3772,12 @@ const createScatterplot = ( setLassoInitiatorParentElement(properties.lassoInitiatorParentElement); } + if (properties.lassoLongPressIndicatorParentElement !== undefined) { + setLassoLongPressIndicatorParentElement( + properties.lassoLongPressIndicatorParentElement, + ); + } + if (properties.lassoOnLongPress !== undefined) { setLassoOnLongPress(properties.lassoOnLongPress); } diff --git a/src/types.d.ts b/src/types.d.ts index 81807a0..415b99d 100644 --- a/src/types.d.ts +++ b/src/types.d.ts @@ -205,6 +205,7 @@ export type Properties = { syncEvents: boolean; version: string; lassoInitiatorElement: HTMLElement; + lassoLongPressIndicatorParentElement: HTMLElement; camera: Camera2D; performanceMode: boolean; opacityByDensityDebounceTime: number;