mirror of https://github.com/grafana/grafana.git
fix(canvas): jumpy elements behaviour on select and drag
This commit is contained in:
parent
6b9f800728
commit
a03c82e30e
|
@ -614,14 +614,14 @@ export class ElementState implements LayerElement {
|
|||
} else if (dirLR === -1) {
|
||||
placement.left! -= deltaX;
|
||||
placement.width = event.width;
|
||||
style.left = `${placement.left}px`;
|
||||
style.transform = `translate(${placement.left}px, ${placement.top}px)`;
|
||||
style.width = `${placement.width}px`;
|
||||
}
|
||||
|
||||
if (dirTB === -1) {
|
||||
placement.top! -= deltaY;
|
||||
placement.height = event.height;
|
||||
style.top = `${placement.top}px`;
|
||||
style.transform = `translate(${placement.left}px, ${placement.top}px)`;
|
||||
style.height = `${placement.height}px`;
|
||||
} else if (dirTB === 1) {
|
||||
placement.height = event.height;
|
||||
|
|
|
@ -7,7 +7,6 @@ import {
|
|||
CONNECTION_VERTEX_ID,
|
||||
CONNECTION_VERTEX_ADD_ID,
|
||||
} from 'app/plugins/panel/canvas/components/connections/Connections';
|
||||
import { VerticalConstraint, HorizontalConstraint } from 'app/plugins/panel/canvas/panelcfg.gen';
|
||||
import { getElementTransformAndDimensions } from 'app/plugins/panel/canvas/utils';
|
||||
|
||||
import { dimensionViewable, constraintViewable, settingsViewable } from './ables';
|
||||
|
@ -221,10 +220,8 @@ export const initMoveable = (destroySelecto = false, allowChanges = true, scene:
|
|||
e.events.forEach((event) => {
|
||||
const targetedElement = findElementByTarget(event.target, scene.root.elements);
|
||||
if (targetedElement) {
|
||||
if (targetedElement) {
|
||||
// targetedElement.setPlacementFromConstraint(undefined, undefined, scene.scale);
|
||||
targetedElement.setPlacementFromConstraint(undefined, undefined);
|
||||
}
|
||||
const { top, left } = getElementTransformAndDimensions(targetedElement.div!);
|
||||
targetedElement.setPlacementFromGlobalCoordinates(left, top);
|
||||
|
||||
// re-add the selected elements to the snappable guidelines
|
||||
if (scene.moveable && scene.moveable.elementGuidelines) {
|
||||
|
@ -266,13 +263,8 @@ export const initMoveable = (destroySelecto = false, allowChanges = true, scene:
|
|||
}
|
||||
}
|
||||
|
||||
targetedElement.tempConstraint = { ...targetedElement.options.constraint };
|
||||
targetedElement.options.constraint = {
|
||||
vertical: VerticalConstraint.Top,
|
||||
horizontal: HorizontalConstraint.Left,
|
||||
};
|
||||
// targetedElement.setPlacementFromConstraint(undefined, undefined, scene.scale);
|
||||
targetedElement.setPlacementFromConstraint(undefined, undefined);
|
||||
const { top, left } = getElementTransformAndDimensions(targetedElement.div!);
|
||||
targetedElement.setPlacementFromGlobalCoordinates(left, top);
|
||||
}
|
||||
})
|
||||
.on('resizeGroupStart', (e) => {
|
||||
|
@ -289,7 +281,6 @@ export const initMoveable = (destroySelecto = false, allowChanges = true, scene:
|
|||
.on('resize', (event) => {
|
||||
const targetedElement = findElementByTarget(event.target, scene.root.elements);
|
||||
if (targetedElement) {
|
||||
// targetedElement.applyResize(event, scene.scale);
|
||||
targetedElement.applyResize(event);
|
||||
|
||||
if (scene.connections.connectionsNeedUpdate(targetedElement) && scene.moveableActionCallback) {
|
||||
|
@ -321,13 +312,8 @@ export const initMoveable = (destroySelecto = false, allowChanges = true, scene:
|
|||
const targetedElement = findElementByTarget(event.target, scene.root.elements);
|
||||
|
||||
if (targetedElement) {
|
||||
if (targetedElement.tempConstraint) {
|
||||
targetedElement.options.constraint = targetedElement.tempConstraint;
|
||||
targetedElement.tempConstraint = undefined;
|
||||
}
|
||||
|
||||
// targetedElement.setPlacementFromConstraint(undefined, undefined, scene.scale);
|
||||
targetedElement.setPlacementFromConstraint(undefined, undefined);
|
||||
const { top, left } = getElementTransformAndDimensions(targetedElement.div!);
|
||||
targetedElement.setPlacementFromGlobalCoordinates(left, top);
|
||||
|
||||
// re-add the selected element to the snappable guidelines
|
||||
if (scene.moveable && scene.moveable.elementGuidelines) {
|
||||
|
|
Loading…
Reference in New Issue