Skip to content

Commit 7580282

Browse files
committed
drag drop for custom palette start pos
1 parent 3190781 commit 7580282

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

packages/web-component-designer/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"description": "A WYSIWYG designer webcomponent for html components",
33
"name": "@node-projects/web-component-designer",
4-
"version": "0.1.262",
4+
"version": "0.1.264",
55
"type": "module",
66
"main": "./dist/index.js",
77
"author": "jochen.kuehner@gmx.de",

packages/web-component-designer/src/elements/services/dragDropService/DragDropService.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,12 @@ export class DragDropService implements IDragDropService {
6060
const containerPos = designerCanvas.getNormalizedElementCoordinates(newContainer.element);
6161
const evCoord = designerCanvas.getNormalizedEventCoordinates(event);
6262
const pos = { x: evCoord.x - containerPos.x, y: evCoord.y - containerPos.y };
63-
containerService.place(event, designerCanvas, newContainer, { x: 0, y: 0 }, { x: 0, y: 0 }, pos, [di]);
64-
containerService.finishPlace(event, designerCanvas, newContainer, { x: 0, y: 0 }, { x: 0, y: 0 }, pos, [di]);
63+
64+
let offset = { x: 0, y: 0 };
65+
if (elementDefinition.mouseOffset)
66+
offset = elementDefinition.mouseOffset;
67+
containerService.place(event, designerCanvas, newContainer, offset, { x: 0, y: 0 }, pos, [di]);
68+
containerService.finishPlace(event, designerCanvas, newContainer, offset, { x: 0, y: 0 }, pos, [di]);
6569
requestAnimationFrame(() => {
6670
designerCanvas.instanceServiceContainer.selectionService.setSelectedElements([di], event);
6771
grp.commit();

packages/web-component-designer/src/elements/services/elementsService/IElementDefinition.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { IPoint } from '../../../interfaces/IPoint.js';
12
import { IBinding } from '../../item/IBinding.js';
23

34
export interface IElementDefinition {
@@ -27,4 +28,9 @@ export interface IElementDefinition {
2728
*/
2829
tool?: string;
2930
defaultBinding?: IBinding;
31+
32+
/**
33+
* Offset of mouse pointer when dragged
34+
*/
35+
mouseOffset?: IPoint
3036
}

0 commit comments

Comments
 (0)