ZoomPlugin: Clear selection in shared-cursor dashboards during zoom (#76719)

This commit is contained in:
Leon Sorokin
2023-10-17 16:26:31 -05:00
committed by GitHub
parent 16d0aff267
commit 41e3b3bea2
@@ -51,31 +51,31 @@ export const ZoomPlugin = ({ onZoom, config, withZoomY = false }: ZoomPluginProp
} }
config.addHook('setSelect', (u) => { config.addHook('setSelect', (u) => {
if (!maybeZoomAction(u.cursor!.event)) { if (maybeZoomAction(u.cursor!.event)) {
return; if (withZoomY && yDrag) {
} if (u.select.height >= MIN_ZOOM_DIST) {
for (let key in u.scales!) {
if (key !== 'x') {
const maxY = u.posToVal(u.select.top, key);
const minY = u.posToVal(u.select.top + u.select.height, key);
if (withZoomY && yDrag) { u.setScale(key, { min: minY, max: maxY });
if (u.select.height >= MIN_ZOOM_DIST) { }
for (let key in u.scales!) {
if (key !== 'x') {
const maxY = u.posToVal(u.select.top, key);
const minY = u.posToVal(u.select.top + u.select.height, key);
u.setScale(key, { min: minY, max: maxY });
} }
yZoomed = true;
} }
yZoomed = true; yDrag = false;
} } else {
if (u.select.width >= MIN_ZOOM_DIST) {
const minX = u.posToVal(u.select.left, 'x');
const maxX = u.posToVal(u.select.left + u.select.width, 'x');
yDrag = false; onZoom({ from: minX, to: maxX });
} else {
if (u.select.width >= MIN_ZOOM_DIST) {
const minX = u.posToVal(u.select.left, 'x');
const maxX = u.posToVal(u.select.left + u.select.width, 'x');
onZoom({ from: minX, to: maxX }); yZoomed = false;
}
} }
} }