@node-projects/web-component-designer 0.2.2 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/elements/controls/NumericStyleInput.js +17 -20
  2. package/dist/elements/controls/NumericStyleInput.js.map +1 -1
  3. package/dist/elements/controls/NumericStyleInputValueHelpers.d.ts +4 -0
  4. package/dist/elements/controls/NumericStyleInputValueHelpers.js +22 -0
  5. package/dist/elements/controls/NumericStyleInputValueHelpers.js.map +1 -1
  6. package/dist/elements/helper/ElementHelper.d.ts +1 -0
  7. package/dist/elements/helper/ElementHelper.js +11 -0
  8. package/dist/elements/helper/ElementHelper.js.map +1 -1
  9. package/dist/elements/helper/LayoutHelper.js +2 -3
  10. package/dist/elements/helper/LayoutHelper.js.map +1 -1
  11. package/dist/elements/helper/getBoxQuads.d.ts +4 -3
  12. package/dist/elements/helper/getBoxQuads.js +99 -18
  13. package/dist/elements/helper/getBoxQuads.js.map +1 -1
  14. package/dist/elements/item/DesignItem.d.ts +1 -1
  15. package/dist/elements/services/placementService/AbsolutePlacementService.js +14 -2
  16. package/dist/elements/services/placementService/AbsolutePlacementService.js.map +1 -1
  17. package/dist/elements/services/placementService/DefaultPlacementService.js +14 -2
  18. package/dist/elements/services/placementService/DefaultPlacementService.js.map +1 -1
  19. package/dist/elements/services/propertiesService/propertyEditors/CssNumericPropertyEditorConfig.d.ts +1 -1
  20. package/dist/elements/services/propertiesService/propertyEditors/CssNumericPropertyEditorConfig.js +25 -4
  21. package/dist/elements/services/propertiesService/propertyEditors/CssNumericPropertyEditorConfig.js.map +1 -1
  22. package/dist/elements/widgets/designerView/DomConverter.d.ts +1 -1
  23. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtension.js +3 -6
  24. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtension.js.map +1 -1
  25. package/dist/elements/widgets/designerView/extensions/svg/geometry/GeometryWriteHelper.d.ts +4 -0
  26. package/dist/elements/widgets/designerView/extensions/svg/geometry/GeometryWriteHelper.js +24 -0
  27. package/dist/elements/widgets/designerView/extensions/svg/geometry/GeometryWriteHelper.js.map +1 -0
  28. package/dist/elements/widgets/designerView/extensions/svg/geometry/IGeometry.d.ts +13 -4
  29. package/dist/elements/widgets/designerView/extensions/svg/geometry/SvgRectGeometryReader.d.ts +2 -5
  30. package/dist/elements/widgets/designerView/extensions/svg/geometry/SvgRectGeometryReader.js +40 -9
  31. package/dist/elements/widgets/designerView/extensions/svg/geometry/SvgRectGeometryReader.js.map +1 -1
  32. package/dist/elements/widgets/designerView/extensions/transforms/TransformOriginExtension.d.ts +1 -0
  33. package/dist/elements/widgets/designerView/extensions/transforms/TransformOriginExtension.js +9 -7
  34. package/dist/elements/widgets/designerView/extensions/transforms/TransformOriginExtension.js.map +1 -1
  35. package/dist/elements/widgets/designerView/tools/PointerTool.d.ts +5 -0
  36. package/dist/elements/widgets/designerView/tools/PointerTool.js +71 -5
  37. package/dist/elements/widgets/designerView/tools/PointerTool.js.map +1 -1
  38. package/dist/index-min.js +7 -7
  39. package/dist/index-min.js.map +4 -4
  40. package/package.json +1 -1
@@ -38,6 +38,16 @@ export interface IGeometrySegment {
38
38
  sweep: boolean;
39
39
  };
40
40
  }
41
+ export type GeometryWriteTarget = 'attribute' | 'style';
42
+ export interface IGeometryWrite {
43
+ attribute: string;
44
+ value: string;
45
+ target?: GeometryWriteTarget;
46
+ }
47
+ export interface IGeometrySerializationHint {
48
+ target: GeometryWriteTarget;
49
+ unit?: string;
50
+ }
41
51
  /**
42
52
  * Abstraction over any editable geometry (SVG shapes, CSS shapes, etc.)
43
53
  */
@@ -46,6 +56,8 @@ export interface IGeometry {
46
56
  segments: IGeometrySegment[];
47
57
  /** Whether this geometry represents a closed shape */
48
58
  closed: boolean;
59
+ /** Optional write-back hints for readers that preserve style-vs-attribute storage */
60
+ serializationHints?: Record<string, IGeometrySerializationHint>;
49
61
  }
50
62
  /**
51
63
  * Reads element attributes/properties into an IGeometry
@@ -54,8 +66,5 @@ export interface IGeometryReader {
54
66
  /** Read the element's current geometry */
55
67
  read(element: Element): IGeometry;
56
68
  /** Write the geometry back to the element as attribute string */
57
- serialize(geometry: IGeometry): {
58
- attribute: string;
59
- value: string;
60
- }[];
69
+ serialize(geometry: IGeometry): IGeometryWrite[];
61
70
  }
@@ -1,8 +1,5 @@
1
- import { IGeometry, IGeometryReader } from './IGeometry.js';
1
+ import { IGeometry, IGeometryReader, IGeometryWrite } from './IGeometry.js';
2
2
  export declare class SvgRectGeometryReader implements IGeometryReader {
3
3
  read(element: Element): IGeometry;
4
- serialize(geometry: IGeometry): {
5
- attribute: string;
6
- value: string;
7
- }[];
4
+ serialize(geometry: IGeometry): IGeometryWrite[];
8
5
  }
@@ -1,11 +1,41 @@
1
1
  import { SegmentType } from './IGeometry.js';
2
+ const rectGeometryProperties = ['x', 'y', 'width', 'height'];
3
+ function getRectSerializationHint(rect, property) {
4
+ const styleValue = rect.style.getPropertyValue(property).trim();
5
+ if (styleValue) {
6
+ return { target: 'style', unit: extractStyleUnit(styleValue) };
7
+ }
8
+ return { target: 'attribute' };
9
+ }
10
+ function extractStyleUnit(value) {
11
+ const match = value.trim().match(/^-?(?:\d+|\d*\.\d+)([a-z%]*)$/i);
12
+ if (match && match[1]) {
13
+ return match[1];
14
+ }
15
+ return 'px';
16
+ }
17
+ function serializeRectValue(property, value, hints) {
18
+ const hint = hints?.[property];
19
+ if (hint?.target === 'style') {
20
+ return {
21
+ attribute: property,
22
+ value: `${value}${hint.unit ?? 'px'}`,
23
+ target: 'style'
24
+ };
25
+ }
26
+ return {
27
+ attribute: property,
28
+ value: value.toString()
29
+ };
30
+ }
2
31
  export class SvgRectGeometryReader {
3
32
  read(element) {
4
33
  const rect = element;
5
- const x = rect.x.baseVal.value;
6
- const y = rect.y.baseVal.value;
7
- const w = rect.width.baseVal.value;
8
- const h = rect.height.baseVal.value;
34
+ const bbox = rect.getBBox();
35
+ const x = bbox.x;
36
+ const y = bbox.y;
37
+ const w = bbox.width;
38
+ const h = bbox.height;
9
39
  const segments = [
10
40
  { type: SegmentType.Move, relative: false, point: { x, y } },
11
41
  { type: SegmentType.Line, relative: false, point: { x: x + w, y } },
@@ -13,7 +43,8 @@ export class SvgRectGeometryReader {
13
43
  { type: SegmentType.Line, relative: false, point: { x, y: y + h } },
14
44
  { type: SegmentType.Close, relative: false, point: { x, y } },
15
45
  ];
16
- return { segments, closed: true };
46
+ const serializationHints = Object.fromEntries(rectGeometryProperties.map(property => [property, getRectSerializationHint(rect, property)]));
47
+ return { segments, closed: true, serializationHints };
17
48
  }
18
49
  serialize(geometry) {
19
50
  const pts = geometry.segments.filter(s => s.type !== SegmentType.Close);
@@ -26,10 +57,10 @@ export class SvgRectGeometryReader {
26
57
  const maxX = Math.max(...xs);
27
58
  const maxY = Math.max(...ys);
28
59
  return [
29
- { attribute: 'x', value: minX.toString() },
30
- { attribute: 'y', value: minY.toString() },
31
- { attribute: 'width', value: (maxX - minX).toString() },
32
- { attribute: 'height', value: (maxY - minY).toString() },
60
+ serializeRectValue('x', minX, geometry.serializationHints),
61
+ serializeRectValue('y', minY, geometry.serializationHints),
62
+ serializeRectValue('width', maxX - minX, geometry.serializationHints),
63
+ serializeRectValue('height', maxY - minY, geometry.serializationHints),
33
64
  ];
34
65
  }
35
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SvgRectGeometryReader.js","sourceRoot":"","sources":["../../../../../../../src/elements/widgets/designerView/extensions/svg/geometry/SvgRectGeometryReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SvgRectGeometryReader.js","sourceRoot":"","sources":["../../../../../../../src/elements/widgets/designerView/extensions/svg/geometry/SvgRectGeometryReader.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export declare class TransformOriginExtension extends AbstractExtension {
9
9
  private _oldValue;
10
10
  private _offsetInControl;
11
11
  constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
12
+ private _getTransformOriginCanvasPoint;
12
13
  refresh(cache: Record<string | symbol, any>, event?: Event): void;
13
14
  extend(cache: Record<string | symbol, any>, event?: Event): void;
14
15
  pointerEvent(event: PointerEvent): void;
@@ -1,7 +1,7 @@
1
1
  import { EventNames } from '../../../../../enums/EventNames.js';
2
2
  import { convertCssUnit, getCssUnit } from '../../../../helper/CssUnitConverter.js';
3
3
  import { getBoundingClientRectAlsoForDisplayContents } from '../../../../helper/ElementHelper.js';
4
- import { clearCache } from '../../../../helper/getBoxQuads.js';
4
+ import { clearCache, getResultingTransformationBetweenElementAndAllAncestors } from '../../../../helper/getBoxQuads.js';
5
5
  import { roundValue } from '../../../../helper/LayoutHelper.js';
6
6
  import { AbstractExtension } from '../AbstractExtension.js';
7
7
  export class TransformOriginExtension extends AbstractExtension {
@@ -13,10 +13,14 @@ export class TransformOriginExtension extends AbstractExtension {
13
13
  constructor(extensionManager, designerView, extendedItem) {
14
14
  super(extensionManager, designerView, extendedItem);
15
15
  }
16
- refresh(cache, event) {
16
+ _getTransformOriginCanvasPoint() {
17
17
  const computed = getComputedStyle(this.extendedItem.element);
18
18
  const to = computed.transformOrigin.split(' ');
19
- const toDOMPoint = this.designerCanvas.canvas.convertPointFromNode({ x: parseFloat(to[0]), y: parseFloat(to[1]) }, this.extendedItem.element);
19
+ const transform = getResultingTransformationBetweenElementAndAllAncestors(this.extendedItem.element, this.designerCanvas.canvas, this.designerCanvas.iframes);
20
+ return transform.transformPoint(new DOMPoint(parseFloat(to[0]), parseFloat(to[1])));
21
+ }
22
+ refresh(cache, event) {
23
+ const toDOMPoint = this._getTransformOriginCanvasPoint();
20
24
  if (this._valuesHaveChanges(toDOMPoint.x, toDOMPoint.y, this.designerCanvas.zoomFactor)) {
21
25
  this._removeAllOverlays();
22
26
  this._circle = this._drawCircle(toDOMPoint.x, toDOMPoint.y, 5 / this.designerCanvas.zoomFactor, 'svg-transform-origin');
@@ -31,9 +35,7 @@ export class TransformOriginExtension extends AbstractExtension {
31
35
  }
32
36
  }
33
37
  extend(cache, event) {
34
- const computed = getComputedStyle(this.extendedItem.element);
35
- const to = computed.transformOrigin.split(' ');
36
- const toDOMPoint = this.designerCanvas.canvas.convertPointFromNode({ x: parseFloat(to[0]), y: parseFloat(to[1]) }, this.extendedItem.element);
38
+ const toDOMPoint = this._getTransformOriginCanvasPoint();
37
39
  if (isNaN(toDOMPoint.x) || isNaN(toDOMPoint.y)) {
38
40
  this.remove();
39
41
  return;
@@ -53,7 +55,7 @@ export class TransformOriginExtension extends AbstractExtension {
53
55
  const toInPercentage = [];
54
56
  toInPercentage[0] = parseFloat(to[0]) / parseFloat(this.extendedItem.element.style.width);
55
57
  toInPercentage[1] = parseFloat(to[1]) / parseFloat(this.extendedItem.element.style.height);
56
- const toDOMPoint = this.designerCanvas.canvas.convertPointFromNode({ x: parseFloat(to[0]), y: parseFloat(to[1]) }, this.extendedItem.element);
58
+ const toDOMPoint = this._getTransformOriginCanvasPoint();
57
59
  const mp = this.designerCanvas.getNormalizedEventCoordinates(event);
58
60
  const evPoint = this.extendedItem.element.convertPointFromNode(mp, this.designerCanvas.canvas);
59
61
  const normalized = this.designerCanvas.getNormalizedEventCoordinates(event);
@@ -1 +1 @@
1
- {"version":3,"file":"TransformOriginExtension.js","sourceRoot":"","sources":["../../../../../../src/elements/widgets/designerView/extensions/transforms/TransformOriginExtension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransformOriginExtension.js","sourceRoot":"","sources":["../../../../../../src/elements/widgets/designerView/extensions/transforms/TransformOriginExtension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,2CAA2C,EAAE,MAAM,qCAAqC,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,uDAAuD,EAAE,MAAM,mCAAmC,CAAC;AACxH,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAGhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,MAAM,OAAO,wBAAyB,SAAQ,iBAAiB;IACrD,SAAS,CAAS;IAClB,OAAO,CAAmB;IAC1B,QAAQ,CAAmB;IAC3B,SAAS,CAAS;IAClB,gBAAgB,CAA4B;IAEpD,YAAY,gBAAmC,EAAE,YAA6B,EAAE,YAAyB;QACvG,KAAK,CAAC,gBAAgB,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IACtD,CAAC;IAEO,8BAA8B;QACpC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,uDAAuD,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC9J,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IAEQ,OAAO,CAAC,KAAmC,EAAE,KAAa;QACjE,MAAM,UAAU,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACzD,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;YACxF,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;YACxH,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;YACjF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;YACzH,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;YAClF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAEQ,MAAM,CAAC,KAAmC,EAAE,KAAa;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACzD,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO;QACT,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;YACzE,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;YACvB,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,YAAY,CAAC,KAAmB;QAC9B,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,cAAc,GAAG,EAAE,CAAC;QAC1B,cAAc,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAe,IAAI,CAAC,YAAY,CAAC,OAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzG,cAAc,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAe,IAAI,CAAC,YAAY,CAAC,OAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1G,MAAM,UAAU,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACzD,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC/F,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAC5E,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,UAAU,CAAC,WAAW;gBACf,KAAK,CAAC,MAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC3D,MAAM,IAAI,GAAG,2CAA2C,CAAe,KAAK,CAAC,MAAO,CAAC,CAAC;gBACtF,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5G,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;gBACtD,MAAM;YACR,KAAK,UAAU,CAAC,WAAW;gBACzB,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;oBACxC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC3C,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC3C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAO,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC1D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAO,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC1D,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAO,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC3D,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAO,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC7D,CAAC;gBACD,MAAM;YACR,KAAK,UAAU,CAAC,SAAS;gBACb,KAAK,CAAC,MAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC/D,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACrC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACrC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;oBAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtH,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;wBACnB,IAAI,CAAC;4BACH,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAC3C,IAAI,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,EAAe,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;4BAC3J,IAAI,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,EAAe,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;4BAC3J,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACxB,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,EAAe,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;4BAC1J,CAAC;4BACD,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,kBAAkB,EAAE,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC;wBACvF,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,kBAAkB,EAAE,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;wBAC3K,CAAC;oBACH,CAAC;;wBAEC,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,kBAAkB,EAAE,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;oBAC3K,UAAU,EAAE,CAAC,CAAC,2FAA2F;oBACzG,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtH,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBAC1F,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;wBACxD,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC7D,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;4BAC5C,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;4BAE7D,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjE,CAAC;oBACD,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;oBACxK,EAAE,CAAC,MAAM,EAAE,CAAC;oBACZ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACxB,CAAC;gBACD,MAAM;QACV,CAAC;IACH,CAAC;IAEQ,OAAO;QACd,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;CACF"}
@@ -11,6 +11,7 @@ export declare class PointerTool implements ITool {
11
11
  private _initialPoint;
12
12
  private _actionType?;
13
13
  private _actionStartedDesignItem?;
14
+ private _actionStartedClickDesignItem?;
14
15
  private _actionStartedDesignItems?;
15
16
  private _clonedItems?;
16
17
  private _copiedItemsInserted;
@@ -32,6 +33,10 @@ export declare class PointerTool implements ITool {
32
33
  private _resetTool;
33
34
  private _pointerActionTypeDrawSelection;
34
35
  private _pointerActionTypeDragOrSelect;
36
+ private _getDesignItemToStartDrag;
37
+ private _isPointInsideDesignItemQuad;
38
+ private _isPointInsideQuad;
39
+ private _isPointOnSegment;
35
40
  private checkSelectElement;
36
41
  static FindPossibleContainer(designItem: IDesignItem, designItems: IDesignItem[], event: IPoint): [newContainerElementDesignItem: IDesignItem, newContainerService: IPlacementService];
37
42
  keyboardEventHandler(designerCanvas: IDesignerCanvas, event: KeyboardEvent, currentElement: Element): void;
@@ -11,6 +11,7 @@ export class PointerTool {
11
11
  _initialPoint;
12
12
  _actionType;
13
13
  _actionStartedDesignItem;
14
+ _actionStartedClickDesignItem;
14
15
  _actionStartedDesignItems;
15
16
  _clonedItems;
16
17
  _copiedItemsInserted = false;
@@ -103,7 +104,6 @@ export class PointerTool {
103
104
  const currentDesignItem = DesignItem.GetOrCreateDesignItem(currentElement, currentElement, designerCanvas.serviceContainer, designerCanvas.instanceServiceContainer);
104
105
  if (this._actionType == null) {
105
106
  this._initialPoint = currentPoint;
106
- this._initialOffset = designerCanvas.getNormalizedOffsetInElement(event, currentElement);
107
107
  if (event.shiftKey) {
108
108
  event.preventDefault();
109
109
  this._actionType = PointerActionType.DrawSelection;
@@ -149,9 +149,11 @@ export class PointerTool {
149
149
  _resetTool() {
150
150
  this._actionType = null;
151
151
  this._actionStartedDesignItem = null;
152
+ this._actionStartedClickDesignItem = null;
152
153
  this._actionStartedDesignItems = null;
153
154
  this._movedSinceStartedAction = false;
154
155
  this._initialPoint = null;
156
+ this._initialOffset = null;
155
157
  }
156
158
  _pointerActionTypeDrawSelection(designerView, event, currentElement) {
157
159
  const drawSelectionTool = designerView.serviceContainer.designerTools.get(NamedTools.DrawSelection);
@@ -165,6 +167,7 @@ export class PointerTool {
165
167
  clearTimeout(this._holdTimeout);
166
168
  this._holdTimeout = null;
167
169
  }
170
+ let clickDesignItem = currentDesignItem;
168
171
  if (event.altKey) {
169
172
  if (event.type == EventNames.PointerDown) {
170
173
  const currentSelection = designerCanvas.instanceServiceContainer.selectionService.primarySelection;
@@ -179,11 +182,17 @@ export class PointerTool {
179
182
  currentDesignItem = DesignItem.GetOrCreateDesignItem(currentElement, currentElement, designerCanvas.serviceContainer, designerCanvas.instanceServiceContainer);
180
183
  }
181
184
  }
185
+ clickDesignItem = currentDesignItem;
186
+ }
187
+ else if (event.type == EventNames.PointerDown) {
188
+ currentDesignItem = this._getDesignItemToStartDrag(designerCanvas, currentDesignItem, currentPoint);
182
189
  }
183
190
  switch (event.type) {
184
191
  case EventNames.PointerDown:
185
192
  {
193
+ this._actionStartedClickDesignItem = clickDesignItem;
186
194
  this._actionStartedDesignItem = currentDesignItem;
195
+ this._initialOffset = designerCanvas.getNormalizedOffsetInElement(event, this._actionStartedDesignItem.element);
187
196
  this._moveItemsOffset = { x: 0, y: 0 };
188
197
  this._actionStartedDesignItems = [...designerCanvas.instanceServiceContainer.selectionService.selectedElements];
189
198
  if (designerCanvas.alignOnSnap)
@@ -196,11 +205,12 @@ export class PointerTool {
196
205
  return;
197
206
  }
198
207
  if (this._firstTimeInMove) {
199
- if (!currentDesignItem.instanceServiceContainer.selectionService.selectedElements.includes(currentDesignItem)) {
208
+ const dragDesignItem = this._actionStartedDesignItem ?? currentDesignItem;
209
+ if (!dragDesignItem.instanceServiceContainer.selectionService.selectedElements.includes(dragDesignItem)) {
200
210
  if (hasCommandKey(event))
201
- currentDesignItem.instanceServiceContainer.selectionService.setSelectedElements([...currentDesignItem.instanceServiceContainer.selectionService.selectedElements, currentDesignItem], event);
211
+ dragDesignItem.instanceServiceContainer.selectionService.setSelectedElements([...dragDesignItem.instanceServiceContainer.selectionService.selectedElements, dragDesignItem], event);
202
212
  else
203
- currentDesignItem.instanceServiceContainer.selectionService.setSelectedElements([currentDesignItem], event);
213
+ dragDesignItem.instanceServiceContainer.selectionService.setSelectedElements([dragDesignItem], event);
204
214
  this._actionStartedDesignItems = [...designerCanvas.instanceServiceContainer.selectionService.selectedElements];
205
215
  if (designerCanvas.alignOnSnap)
206
216
  designerCanvas.snapLines.calculateSnaplines(designerCanvas.instanceServiceContainer.selectionService.selectedElements);
@@ -328,7 +338,7 @@ export class PointerTool {
328
338
  this._started = false;
329
339
  if (!this._movedSinceStartedAction || this._actionType == PointerActionType.DragOrSelect) {
330
340
  if (this._previousEventName == EventNames.PointerDown && !hasCommandKey(event)) {
331
- designerCanvas.instanceServiceContainer.selectionService.setSelectedElements([this._actionStartedDesignItem], event);
341
+ designerCanvas.instanceServiceContainer.selectionService.setSelectedElements([this._actionStartedClickDesignItem ?? this._actionStartedDesignItem], event);
332
342
  }
333
343
  else {
334
344
  this.checkSelectElement(event, designerCanvas, currentDesignItem);
@@ -379,6 +389,62 @@ export class PointerTool {
379
389
  }
380
390
  }
381
391
  }
392
+ _getDesignItemToStartDrag(designerCanvas, currentDesignItem, currentPoint) {
393
+ const selectedElements = designerCanvas.instanceServiceContainer.selectionService.selectedElements;
394
+ if (!selectedElements?.length || currentDesignItem.isRootItem || selectedElements.includes(currentDesignItem)) {
395
+ return currentDesignItem;
396
+ }
397
+ for (const designItem of selectedElements) {
398
+ if (!designItem || designItem.isRootItem || designItem === currentDesignItem) {
399
+ continue;
400
+ }
401
+ if (this._isPointInsideDesignItemQuad(designerCanvas, designItem, currentPoint)) {
402
+ return designItem;
403
+ }
404
+ }
405
+ return currentDesignItem;
406
+ }
407
+ _isPointInsideDesignItemQuad(designerCanvas, designItem, point) {
408
+ const quad = designItem.element.getBoxQuads({ box: 'border', relativeTo: designerCanvas.canvas, iframes: designerCanvas.iframes })[0];
409
+ if (!quad) {
410
+ return false;
411
+ }
412
+ return this._isPointInsideQuad(point, quad);
413
+ }
414
+ _isPointInsideQuad(point, quad) {
415
+ const points = [quad.p1, quad.p2, quad.p3, quad.p4];
416
+ for (let i = 0; i < points.length; i++) {
417
+ const start = points[i];
418
+ const end = points[(i + 1) % points.length];
419
+ if (this._isPointOnSegment(point, start, end)) {
420
+ return true;
421
+ }
422
+ }
423
+ let inside = false;
424
+ for (let i = 0, j = points.length - 1; i < points.length; j = i++) {
425
+ const start = points[i];
426
+ const end = points[j];
427
+ const intersects = ((start.y > point.y) !== (end.y > point.y)) &&
428
+ (point.x < ((end.x - start.x) * (point.y - start.y)) / ((end.y - start.y) || Number.EPSILON) + start.x);
429
+ if (intersects) {
430
+ inside = !inside;
431
+ }
432
+ }
433
+ return inside;
434
+ }
435
+ _isPointOnSegment(point, start, end) {
436
+ const epsilon = 0.0001;
437
+ const crossProduct = (point.y - start.y) * (end.x - start.x) - (point.x - start.x) * (end.y - start.y);
438
+ if (Math.abs(crossProduct) > epsilon) {
439
+ return false;
440
+ }
441
+ const dotProduct = (point.x - start.x) * (end.x - start.x) + (point.y - start.y) * (end.y - start.y);
442
+ if (dotProduct < -epsilon) {
443
+ return false;
444
+ }
445
+ const squaredLength = (end.x - start.x) * (end.x - start.x) + (end.y - start.y) * (end.y - start.y);
446
+ return dotProduct <= squaredLength + epsilon;
447
+ }
382
448
  checkSelectElement(event, designerCanvas, currentDesignItem) {
383
449
  if (hasCommandKey(event)) {
384
450
  const index = designerCanvas.instanceServiceContainer.selectionService.selectedElements.indexOf(currentDesignItem);
@@ -1 +1 @@
1
- {"version":3,"file":"PointerTool.js","sourceRoot":"","sources":["../../../../../src/elements/widgets/designerView/tools/PointerTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PointerTool.js","sourceRoot":"","sources":["../../../../../src/elements/widgets/designerView/tools/PointerTool.ts"],"names":[],"mappings":"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"}