@node-projects/web-component-designer 0.0.89 → 0.0.92

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 (42) hide show
  1. package/README.md +2 -1
  2. package/dist/elements/helper/ArrangeHelper.d.ts +7 -0
  3. package/dist/elements/helper/ArrangeHelper.js +79 -0
  4. package/dist/elements/helper/KeyNameHelper.d.ts +0 -0
  5. package/dist/elements/helper/KeyNameHelper.js +1 -0
  6. package/dist/elements/helper/TransformHelper.d.ts +3 -0
  7. package/dist/elements/helper/TransformHelper.js +7 -0
  8. package/dist/elements/helper/contextMenu/IContextmenuItem.d.ts +1 -0
  9. package/dist/elements/services/DefaultServiceBootstrap.js +6 -0
  10. package/dist/elements/services/htmlWriterService/HtmlWriterService.js +3 -2
  11. package/dist/elements/services/modelCommandService/DefaultModelCommandService.js +17 -13
  12. package/dist/elements/widgets/codeView/code-view-monaco.js +3 -3
  13. package/dist/elements/widgets/designerView/IDesignerCanvas.d.ts +2 -0
  14. package/dist/elements/widgets/designerView/designerCanvas.d.ts +2 -2
  15. package/dist/elements/widgets/designerView/designerCanvas.js +15 -23
  16. package/dist/elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtension.js +0 -4
  17. package/dist/elements/widgets/designerView/extensions/ResizeExtension.d.ts +1 -1
  18. package/dist/elements/widgets/designerView/extensions/ResizeExtension.js +13 -10
  19. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu copy.d.ts +8 -0
  20. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu copy.js +15 -0
  21. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js +4 -5
  22. package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js +1 -1
  23. package/dist/elements/widgets/designerView/extensions/contextMenu/RectContextMenu.js +0 -1
  24. package/dist/elements/widgets/designerView/extensions/contextMenu/SeperatorContextMenu.d.ts +8 -0
  25. package/dist/elements/widgets/designerView/extensions/contextMenu/SeperatorContextMenu.js +10 -0
  26. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu copy.d.ts +8 -0
  27. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu copy.js +14 -0
  28. package/dist/elements/widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.d.ts +8 -0
  29. package/dist/elements/widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.js +27 -0
  30. package/dist/elements/widgets/designerView/tools/PointerTool.d.ts +1 -0
  31. package/dist/elements/widgets/designerView/tools/PointerTool.js +19 -0
  32. package/dist/elements/widgets/designerView/tools/TextTool.d.ts +0 -1
  33. package/dist/elements/widgets/designerView/tools/TextTool.js +15 -16
  34. package/dist/elements/widgets/paletteView/paletteTreeView.js +5 -2
  35. package/dist/elements/widgets/treeView/treeView.js +1 -3
  36. package/dist/elements/widgets/treeView/treeViewExtended.d.ts +1 -0
  37. package/dist/elements/widgets/treeView/treeViewExtended.js +13 -6
  38. package/dist/enums/Orientation.d.ts +8 -0
  39. package/dist/enums/Orientation.js +9 -0
  40. package/dist/index.d.ts +4 -0
  41. package/dist/index.js +4 -0
  42. package/package.json +4 -4
package/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # web-component-designer
2
2
 
3
- ## Caution - this is a preview Version, a RC is planed for January 2022
3
+ ## Caution - this is a preview Version, a RC1 is now planed for May 2022 - it's already usable but big Refactoring could still happen
4
+
4
5
 
5
6
  A HTML WebComponent for Designing Webcomponents and HTML Pages.
6
7
 
@@ -0,0 +1,7 @@
1
+ import { IDesignerCanvas } from "../..";
2
+ import { Orientation } from "../../enums/Orientation";
3
+ export declare abstract class ArrangeHelper {
4
+ static arrangeElements(orientation: Orientation, designerCanvas: IDesignerCanvas): void;
5
+ private static arrange;
6
+ private static formGroup;
7
+ }
@@ -0,0 +1,79 @@
1
+ import { Orientation } from "../../enums/Orientation";
2
+ export class ArrangeHelper {
3
+ static arrangeElements(orientation, designerCanvas) {
4
+ switch (orientation) {
5
+ case Orientation.TOP: {
6
+ const grp = this.formGroup(ArrangeDirection.TOP, designerCanvas);
7
+ const top = designerCanvas.instanceServiceContainer.selectionService.primarySelection.styles.get('top');
8
+ for (let elem of designerCanvas.instanceServiceContainer.selectionService.selectedElements) {
9
+ this.arrange(elem, 'top', top);
10
+ }
11
+ grp.commit();
12
+ break;
13
+ }
14
+ case Orientation.RIGHT: {
15
+ const grp = this.formGroup(ArrangeDirection.RIGHT, designerCanvas);
16
+ const arrElement = designerCanvas.getNormalizedElementCoordinates(designerCanvas.instanceServiceContainer.selectionService.primarySelection.element);
17
+ const right = Math.floor(arrElement.x + arrElement.width);
18
+ for (let elem of designerCanvas.instanceServiceContainer.selectionService.selectedElements) {
19
+ this.arrange(elem, 'left', (right - Math.floor(designerCanvas.getNormalizedElementCoordinates(elem.element).width)) + "px");
20
+ }
21
+ grp.commit();
22
+ break;
23
+ }
24
+ case Orientation.BOTTOM:
25
+ const grp = this.formGroup(ArrangeDirection.BOTTOM, designerCanvas);
26
+ const arrElement = designerCanvas.getNormalizedElementCoordinates(designerCanvas.instanceServiceContainer.selectionService.primarySelection.element);
27
+ const top = Math.floor(arrElement.y + arrElement.height);
28
+ for (let elem of designerCanvas.instanceServiceContainer.selectionService.selectedElements) {
29
+ this.arrange(elem, 'top', (top - Math.floor(designerCanvas.getNormalizedElementCoordinates(elem.element).height)) + "px");
30
+ }
31
+ grp.commit();
32
+ break;
33
+ case Orientation.LEFT: {
34
+ const grp = this.formGroup(ArrangeDirection.LEFT, designerCanvas);
35
+ const left = designerCanvas.instanceServiceContainer.selectionService.primarySelection.styles.get('left');
36
+ for (let elem of designerCanvas.instanceServiceContainer.selectionService.selectedElements) {
37
+ this.arrange(elem, 'left', left);
38
+ }
39
+ grp.commit();
40
+ break;
41
+ }
42
+ case Orientation.VERTICAL_CENTER: {
43
+ const grp = this.formGroup(ArrangeDirection.VERTICAL_CENTER, designerCanvas);
44
+ const arrElement = designerCanvas.getNormalizedElementCoordinates(designerCanvas.instanceServiceContainer.selectionService.primarySelection.element);
45
+ const ver_center = arrElement.y + arrElement.height / 2;
46
+ for (let elem of designerCanvas.instanceServiceContainer.selectionService.selectedElements) {
47
+ this.arrange(elem, 'top', (ver_center - Math.floor(designerCanvas.getNormalizedElementCoordinates(elem.element).height) / 2) + "px");
48
+ }
49
+ grp.commit();
50
+ break;
51
+ }
52
+ case Orientation.HORIZONTAL_CENTER: {
53
+ const grp = this.formGroup(ArrangeDirection.HORIZONTAL_CENTER, designerCanvas);
54
+ const arrElement = designerCanvas.getNormalizedElementCoordinates(designerCanvas.instanceServiceContainer.selectionService.primarySelection.element);
55
+ const hor_center = arrElement.x + (arrElement.width / 2);
56
+ for (let elem of designerCanvas.instanceServiceContainer.selectionService.selectedElements) {
57
+ this.arrange(elem, 'left', (hor_center - Math.floor(designerCanvas.getNormalizedElementCoordinates(elem.element).width) / 2) + "px");
58
+ }
59
+ grp.commit();
60
+ break;
61
+ }
62
+ }
63
+ }
64
+ static arrange(element, attribut, value) {
65
+ element.setStyle(attribut, value);
66
+ }
67
+ static formGroup(name, designerCanvas) {
68
+ return designerCanvas.instanceServiceContainer.selectionService.primarySelection.openGroup(name);
69
+ }
70
+ }
71
+ var ArrangeDirection;
72
+ (function (ArrangeDirection) {
73
+ ArrangeDirection["TOP"] = "arrangeTop";
74
+ ArrangeDirection["RIGHT"] = "arrangeRight";
75
+ ArrangeDirection["BOTTOM"] = "arrangeBottom";
76
+ ArrangeDirection["LEFT"] = "arrangeLeft";
77
+ ArrangeDirection["HORIZONTAL_CENTER"] = "arrangeHorizontalCenter";
78
+ ArrangeDirection["VERTICAL_CENTER"] = "arrangeVerticalCenter";
79
+ })(ArrangeDirection || (ArrangeDirection = {}));
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -1 +1,4 @@
1
+ import { IPoint } from "../../index.js";
1
2
  export declare function combineTransforms(helperElement: HTMLElement, element: HTMLElement, transform1: string, transform2: string): void;
3
+ export declare function getDomMatrix(element: HTMLElement): DOMMatrix;
4
+ export declare function convertCoordinates(point: IPoint, matrix: DOMMatrix): DOMPoint;
@@ -12,3 +12,10 @@ export function combineTransforms(helperElement, element, transform1, transform2
12
12
  const result = matrix2.multiply(matrix1);
13
13
  element.style.transform = result.toString();
14
14
  }
15
+ export function getDomMatrix(element) {
16
+ return new DOMMatrix(window.getComputedStyle(element).transform);
17
+ }
18
+ export function convertCoordinates(point, matrix) {
19
+ let domPoint = new DOMPoint(point.x, point.y);
20
+ return domPoint.matrixTransform(matrix.inverse());
21
+ }
@@ -3,4 +3,5 @@ export interface IContextMenuItem {
3
3
  readonly icon?: string;
4
4
  readonly action?: (e: HTMLElement, args?: Event) => void;
5
5
  readonly children?: IContextMenuItem[];
6
+ readonly shortCut?: string;
6
7
  }
@@ -53,6 +53,8 @@ import { DrawLineTool } from '../widgets/designerView/tools/DrawLineTool.js';
53
53
  import { HtmlWriterService } from './htmlWriterService/HtmlWriterService.js';
54
54
  import { RectContextMenu } from '../widgets/designerView/extensions/contextMenu/RectContextMenu.js';
55
55
  import { PathContextMenu } from '../widgets/designerView/extensions/contextMenu/PathContextMenu.js';
56
+ import { SeperatorContextMenu } from '../widgets/designerView/extensions/contextMenu/SeperatorContextMenu.js';
57
+ import { ZoomToElementContextMenu } from '../widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.js';
56
58
  export function createDefaultServiceContainer() {
57
59
  let serviceContainer = new ServiceContainer();
58
60
  serviceContainer.register("propertyService", new PolymerPropertiesService());
@@ -124,10 +126,14 @@ export function createDefaultServiceContainer() {
124
126
  serviceContainer.designViewConfigButtons.push(new ButtonSeperatorProvider(20), new GridExtensionDesignViewConfigButtons());
125
127
  serviceContainer.designerContextMenuExtensions = [
126
128
  new CopyPasteContextMenu(),
129
+ new SeperatorContextMenu(),
130
+ new ZoomToElementContextMenu(),
131
+ new SeperatorContextMenu(),
127
132
  new ZMoveContextMenu(),
128
133
  new MultipleItemsSelectedContextMenu(),
129
134
  new PathContextMenu(),
130
135
  new RectContextMenu(),
136
+ new SeperatorContextMenu(),
131
137
  new ItemsBelowContextMenu(),
132
138
  ];
133
139
  return serviceContainer;
@@ -68,11 +68,12 @@ export class HtmlWriterService extends AbstractHtmlWriterService {
68
68
  }
69
69
  else if (designItem.hasContent) {
70
70
  indentedTextWriter.write(DomConverter.normalizeContentValue(designItem.content));
71
+ //this._conditionalyWriteNewline(indentedTextWriter, designItem);
71
72
  }
72
73
  if (!DomConverter.IsSelfClosingElement(designItem.name))
73
74
  indentedTextWriter.write('</' + designItem.name + '>');
74
- if (!contentSingleTextNode)
75
- this._conditionalyWriteNewline(indentedTextWriter, designItem);
75
+ //if (!contentSingleTextNode)
76
+ this._conditionalyWriteNewline(indentedTextWriter, designItem);
76
77
  }
77
78
  if (designItemsAssignmentList) {
78
79
  designItemsAssignmentList.set(designItem, { start: start, length: indentedTextWriter.position - start - 1 });
@@ -1,4 +1,6 @@
1
1
  import { CommandType } from "../../../commandHandling/CommandType.js";
2
+ import { ArrangeHelper } from "../../helper/ArrangeHelper.js";
3
+ import { Orientation } from "../../../enums/Orientation.js";
2
4
  export class DefaultModelCommandService {
3
5
  canExecuteCommand(designerCanvas, command) {
4
6
  if (command.type == CommandType.moveBackward ||
@@ -33,21 +35,23 @@ export class DefaultModelCommandService {
33
35
  sel.parent.insertChild(sel, 0);
34
36
  else if (command.type == CommandType.moveToFront)
35
37
  sel.parent.insertChild(sel);
38
+ else if (command.type == CommandType.arrangeTop) {
39
+ ArrangeHelper.arrangeElements(Orientation.TOP, designerCanvas);
40
+ }
41
+ else if (command.type == CommandType.arrangeRight) {
42
+ ArrangeHelper.arrangeElements(Orientation.RIGHT, designerCanvas);
43
+ }
36
44
  else if (command.type == CommandType.arrangeLeft) {
37
- const grp = designerCanvas.instanceServiceContainer.selectionService.primarySelection.openGroup('arrangeLeft');
38
- const left = designerCanvas.instanceServiceContainer.selectionService.primarySelection.styles.get('left');
39
- for (let s of designerCanvas.instanceServiceContainer.selectionService.selectedElements) {
40
- s.setStyle('left', left);
41
- }
42
- grp.commit();
45
+ ArrangeHelper.arrangeElements(Orientation.LEFT, designerCanvas);
43
46
  }
44
- else if (command.type == CommandType.arrangeTop) {
45
- const grp = designerCanvas.instanceServiceContainer.selectionService.primarySelection.openGroup('arrangeTop');
46
- const top = designerCanvas.instanceServiceContainer.selectionService.primarySelection.styles.get('top');
47
- for (let s of designerCanvas.instanceServiceContainer.selectionService.selectedElements) {
48
- s.setStyle('top', top);
49
- }
50
- grp.commit();
47
+ else if (command.type == CommandType.arrangeBottom) {
48
+ ArrangeHelper.arrangeElements(Orientation.BOTTOM, designerCanvas);
49
+ }
50
+ else if (command.type == CommandType.arrangeCenter) {
51
+ ArrangeHelper.arrangeElements(Orientation.HORIZONTAL_CENTER, designerCanvas);
52
+ }
53
+ else if (command.type == CommandType.arrangeMiddle) {
54
+ ArrangeHelper.arrangeElements(Orientation.VERTICAL_CENTER, designerCanvas);
51
55
  }
52
56
  else if (command.type == CommandType.unifyHeight) {
53
57
  const grp = designerCanvas.instanceServiceContainer.selectionService.primarySelection.openGroup('unifyHeight');
@@ -104,10 +104,10 @@ export class CodeViewMonaco extends BaseCustomWebComponentLazyAppend {
104
104
  }
105
105
  setSelection(position) {
106
106
  let model = this._monacoEditor.getModel();
107
- let point2 = model.getPositionAt(position.start);
108
- let point1 = model.getPositionAt(position.start + position.length);
107
+ let point1 = model.getPositionAt(position.start);
108
+ let point2 = model.getPositionAt(position.start + position.length);
109
109
  this._monacoEditor.setSelection({ startLineNumber: point1.lineNumber, startColumn: point1.column, endLineNumber: point2.lineNumber, endColumn: point2.column });
110
- this._monacoEditor.revealLineInCenter(point2.lineNumber);
110
+ setTimeout(() => this._monacoEditor.revealLine(point1.lineNumber), 20);
111
111
  }
112
112
  }
113
113
  customElements.define('node-projects-code-view-monaco', CodeViewMonaco);
@@ -39,5 +39,7 @@ export interface IDesignerCanvas extends IPlacementView, IUiCommandHandler {
39
39
  elementFromPoint(x: number, y: number): Element;
40
40
  getItemsBelowMouse(event: MouseEvent): Element[];
41
41
  zoomTowardsPoint(point: IPoint, scalechange: number): void;
42
+ zoomPoint(canvasPoint: IPoint, newZoom: number): void;
42
43
  zoomOntoRectangle(startPoint: IPoint, endPoint: IPoint): void;
44
+ showDesignItemContextMenu(designItem: IDesignItem, event: MouseEvent): void;
43
45
  }
@@ -31,6 +31,7 @@ export declare class DesignerCanvas extends BaseCustomWebComponentLazyAppend imp
31
31
  private _zoomFactor;
32
32
  private _scaleFactor;
33
33
  private _canvasOffset;
34
+ private _currentContextMenu;
34
35
  private _lastPointerDownHandler;
35
36
  get zoomFactor(): number;
36
37
  set zoomFactor(value: number);
@@ -45,7 +46,6 @@ export declare class DesignerCanvas extends BaseCustomWebComponentLazyAppend imp
45
46
  private _canvasContainer;
46
47
  private _outercanvas2;
47
48
  private _lastHoverDesignItem;
48
- private _onContextMenuBound;
49
49
  private _pointerEventHandlerBound;
50
50
  private _firstConnect;
51
51
  private _onKeyDownBound;
@@ -81,7 +81,6 @@ export declare class DesignerCanvas extends BaseCustomWebComponentLazyAppend imp
81
81
  private _onDragLeave;
82
82
  private _onDragOver;
83
83
  private _onDrop;
84
- private _onContextMenu;
85
84
  showDesignItemContextMenu(designItem: IDesignItem, event: MouseEvent): ContextMenuHelper;
86
85
  private _onDblClick;
87
86
  private onKeyUp;
@@ -100,5 +99,6 @@ export declare class DesignerCanvas extends BaseCustomWebComponentLazyAppend imp
100
99
  removeOverlay(element: SVGGraphicsElement): void;
101
100
  getItemsBelowMouse(event: MouseEvent): Element[];
102
101
  zoomOntoRectangle(startPoint: IPoint, endPoint: IPoint): void;
102
+ zoomPoint(canvasPoint: IPoint, newZoom: number): void;
103
103
  zoomTowardsPoint(canvasPoint: IPoint, newZoom: number): void;
104
104
  }
@@ -39,6 +39,7 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
39
39
  _zoomFactor = 1; //if scale or zoom css property is used this needs to be the value
40
40
  _scaleFactor = 1; //if scale css property is used this need to be the scale value
41
41
  _canvasOffset = { x: 0, y: 0 };
42
+ _currentContextMenu;
42
43
  _lastPointerDownHandler;
43
44
  get zoomFactor() {
44
45
  return this._zoomFactor;
@@ -70,7 +71,6 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
70
71
  _canvasContainer;
71
72
  _outercanvas2;
72
73
  _lastHoverDesignItem;
73
- _onContextMenuBound;
74
74
  _pointerEventHandlerBound;
75
75
  _firstConnect;
76
76
  _onKeyDownBound;
@@ -166,9 +166,8 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
166
166
  this._onKeyDownBound = this.onKeyDown.bind(this);
167
167
  this._onKeyUpBound = this.onKeyUp.bind(this);
168
168
  this._onDblClickBound = this._onDblClick.bind(this);
169
- this._onContextMenuBound = this._onContextMenu.bind(this);
170
169
  this._pointerEventHandlerBound = this._pointerEventHandler.bind(this);
171
- this.clickOverlay.oncontextmenu = this._onContextMenuBound;
170
+ this.clickOverlay.oncontextmenu = (e) => e.preventDefault();
172
171
  }
173
172
  get designerWidth() {
174
173
  return this._canvasContainer.style.width;
@@ -395,6 +394,7 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
395
394
  this._canvasContainer.style.bottom = this._outercanvas2.offsetHeight >= this._canvasContainer.offsetHeight ? '0' : '';
396
395
  this._canvasContainer.style.right = this._outercanvas2.offsetWidth >= this._canvasContainer.offsetWidth ? '0' : '';
397
396
  this._updateTransform();
397
+ this._fillCalculationrects();
398
398
  this.onZoomFactorChanged.emit(this._zoomFactor);
399
399
  }
400
400
  _updateTransform() {
@@ -514,30 +514,16 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
514
514
  }
515
515
  }
516
516
  }
517
- _onContextMenu(event) {
518
- event.preventDefault();
519
- if (!event.shiftKey) {
520
- let items = this.getItemsBelowMouse(event);
521
- if (items.indexOf(this.instanceServiceContainer.selectionService.primarySelection.element) >= 0)
522
- this.showDesignItemContextMenu(this.instanceServiceContainer.selectionService.primarySelection, event);
523
- else {
524
- const designItem = DesignItem.GetOrCreateDesignItem(event.target, this.serviceContainer, this.instanceServiceContainer);
525
- if (!this.instanceServiceContainer.selectionService.isSelected(designItem)) {
526
- this.instanceServiceContainer.selectionService.setSelectedElements([designItem]);
527
- }
528
- this.showDesignItemContextMenu(designItem, event);
529
- }
530
- }
531
- }
532
517
  showDesignItemContextMenu(designItem, event) {
518
+ this._currentContextMenu?.close();
533
519
  const mnuItems = [];
534
520
  for (let cme of this.serviceContainer.designerContextMenuExtensions) {
535
521
  if (cme.shouldProvideContextmenu(event, this, designItem, 'designer')) {
536
522
  mnuItems.push(...cme.provideContextMenuItems(event, this, designItem));
537
523
  }
538
524
  }
539
- let ctxMnu = ContextMenuHelper.showContextMenu(null, event, null, mnuItems);
540
- return ctxMnu;
525
+ this._currentContextMenu = ContextMenuHelper.showContextMenu(null, event, null, mnuItems);
526
+ return this._currentContextMenu;
541
527
  }
542
528
  _onDblClick(event) {
543
529
  event.preventDefault();
@@ -692,8 +678,6 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
692
678
  }
693
679
  if (event.composedPath().indexOf(this.eatEvents) >= 0)
694
680
  return;
695
- if (event.buttons == 2)
696
- return;
697
681
  let currentElement;
698
682
  if (forceElement)
699
683
  currentElement = forceElement;
@@ -808,7 +792,15 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
808
792
  x: (rect.width / 2) + rect.x,
809
793
  y: (rect.height / 2) + rect.y
810
794
  };
811
- this.zoomTowardsPoint(rectCenter, zoomFactor);
795
+ this.zoomPoint(rectCenter, zoomFactor);
796
+ }
797
+ zoomPoint(canvasPoint, newZoom) {
798
+ this.zoomFactor = newZoom;
799
+ const newCanvasOffset = {
800
+ x: -(canvasPoint.x) + this.outerRect.width / this.zoomFactor / 2,
801
+ y: -(canvasPoint.y) + this.outerRect.height / this.zoomFactor / 2
802
+ };
803
+ this.canvasOffset = newCanvasOffset;
812
804
  }
813
805
  zoomTowardsPoint(canvasPoint, newZoom) {
814
806
  const scaleChange = newZoom / this.zoomFactor;
@@ -35,13 +35,9 @@ export class EditTextWithStyloExtension extends AbstractExtension {
35
35
  this.overlays.push(foreignObject);
36
36
  this._drawClickOverlayRects();
37
37
  this._rect1.addEventListener('pointerdown', (e) => this._clickOutside(e));
38
- this._rect1.addEventListener('pointerup', (e) => this._clickOutside(e));
39
38
  this._rect2.addEventListener('pointerdown', (e) => this._clickOutside(e));
40
- this._rect2.addEventListener('pointerup', (e) => this._clickOutside(e));
41
39
  this._rect3.addEventListener('pointerdown', (e) => this._clickOutside(e));
42
- this._rect3.addEventListener('pointerup', (e) => this._clickOutside(e));
43
40
  this._rect4.addEventListener('pointerdown', (e) => this._clickOutside(e));
44
- this._rect4.addEventListener('pointerup', (e) => this._clickOutside(e));
45
41
  requestAnimationFrame(() => {
46
42
  const stylo = foreignObject.querySelector('stylo-editor');
47
43
  //@ts-ignore
@@ -16,7 +16,7 @@ export declare class ResizeExtension extends AbstractExtension {
16
16
  private _circle6;
17
17
  private _circle7;
18
18
  private _circle8;
19
- constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem, resizeAllSelected: boolean);
19
+ constructor(extensionManager: IExtensionManager, designerCanvas: IDesignerCanvas, extendedItem: IDesignItem, resizeAllSelected: boolean);
20
20
  extend(): void;
21
21
  refresh(): void;
22
22
  _drawResizerOverlay(x: number, y: number, cursor: string, oldCircle?: SVGCircleElement): SVGCircleElement;
@@ -1,4 +1,5 @@
1
1
  import { EventNames } from "../../../../enums/EventNames";
2
+ import { convertCoordinates, getDomMatrix } from "../../../helper/TransformHelper.js";
2
3
  import { AbstractExtension } from './AbstractExtension';
3
4
  export class ResizeExtension extends AbstractExtension {
4
5
  resizeAllSelected;
@@ -14,8 +15,8 @@ export class ResizeExtension extends AbstractExtension {
14
15
  _circle6;
15
16
  _circle7;
16
17
  _circle8;
17
- constructor(extensionManager, designerView, extendedItem, resizeAllSelected) {
18
- super(extensionManager, designerView, extendedItem);
18
+ constructor(extensionManager, designerCanvas, extendedItem, resizeAllSelected) {
19
+ super(extensionManager, designerCanvas, extendedItem);
19
20
  this.resizeAllSelected = resizeAllSelected;
20
21
  }
21
22
  extend() {
@@ -88,39 +89,41 @@ export class ResizeExtension extends AbstractExtension {
88
89
  const diff = containerService.placePoint(event, this.designerCanvas, this.extendedItem.parent, this._initialPoint, { x: 0, y: 0 }, currentPoint, this.designerCanvas.instanceServiceContainer.selectionService.selectedElements);
89
90
  let trackX = diff.x - this._initialPoint.x - this._offsetPoint.x;
90
91
  let trackY = diff.y - this._initialPoint.y - this._offsetPoint.y;
92
+ let matrix = getDomMatrix(this.extendedItem.element);
93
+ let transformedTrack = convertCoordinates({ x: trackX, y: trackY }, matrix);
91
94
  let i = 0;
92
95
  switch (this._actionModeStarted) {
93
96
  case 'se-resize':
94
- this.extendedItem.element.style.width = this._initialSizes[i].width + trackX + 'px';
95
- this.extendedItem.element.style.height = this._initialSizes[i].height + trackY + 'px';
97
+ this.extendedItem.element.style.width = this._initialSizes[i].width + transformedTrack.x + 'px';
98
+ this.extendedItem.element.style.height = this._initialSizes[i].height + transformedTrack.y + 'px';
96
99
  if (this.resizeAllSelected) {
97
100
  for (const designItem of this.designerCanvas.instanceServiceContainer.selectionService.selectedElements) {
98
101
  i++;
99
102
  if (designItem !== this.extendedItem) {
100
- designItem.element.style.width = this._initialSizes[i].width + trackX + 'px';
101
- designItem.element.style.height = this._initialSizes[i].height + trackY + 'px';
103
+ designItem.element.style.width = this._initialSizes[i].width + transformedTrack.x + 'px';
104
+ designItem.element.style.height = this._initialSizes[i].height + transformedTrack.y + 'px';
102
105
  }
103
106
  }
104
107
  }
105
108
  break;
106
109
  case 's-resize':
107
- this.extendedItem.element.style.height = this._initialSizes[i].height + trackY + 'px';
110
+ this.extendedItem.element.style.height = this._initialSizes[i].height + transformedTrack.y + 'px';
108
111
  if (this.resizeAllSelected) {
109
112
  i++;
110
113
  for (const designItem of this.designerCanvas.instanceServiceContainer.selectionService.selectedElements) {
111
114
  if (designItem !== this.extendedItem) {
112
- designItem.element.style.height = this._initialSizes[i].height + trackY + 'px';
115
+ designItem.element.style.height = this._initialSizes[i].height + transformedTrack.y + 'px';
113
116
  }
114
117
  }
115
118
  }
116
119
  break;
117
120
  case 'e-resize':
118
- this.extendedItem.element.style.width = this._initialSizes[i].width + trackX + 'px';
121
+ this.extendedItem.element.style.width = this._initialSizes[i].width + transformedTrack.x + 'px';
119
122
  if (this.resizeAllSelected) {
120
123
  i++;
121
124
  for (const designItem of this.designerCanvas.instanceServiceContainer.selectionService.selectedElements) {
122
125
  if (designItem !== this.extendedItem) {
123
- designItem.element.style.width = this._initialSizes[i].width + trackX + 'px';
126
+ designItem.element.style.width = this._initialSizes[i].width + transformedTrack.x + 'px';
124
127
  }
125
128
  }
126
129
  }
@@ -0,0 +1,8 @@
1
+ import { IContextMenuItem } from "../../../../helper/contextMenu/IContextmenuItem";
2
+ import { IDesignItem } from "../../../../item/IDesignItem";
3
+ import { IDesignerCanvas } from "../../IDesignerCanvas";
4
+ import { ContextmenuInitiator, IContextMenuExtension } from "./IContextMenuExtension";
5
+ export declare class CopyPasteContextMenu implements IContextMenuExtension {
6
+ shouldProvideContextmenu(event: MouseEvent, designerView: IDesignerCanvas, designItem: IDesignItem, initiator: ContextmenuInitiator): boolean;
7
+ provideContextMenuItems(event: MouseEvent, designerView: IDesignerCanvas, designItem: IDesignItem): IContextMenuItem[];
8
+ }
@@ -0,0 +1,15 @@
1
+ import { CommandType } from "../../../../../commandHandling/CommandType";
2
+ export class CopyPasteContextMenu {
3
+ shouldProvideContextmenu(event, designerView, designItem, initiator) {
4
+ return true;
5
+ }
6
+ provideContextMenuItems(event, designerView, designItem) {
7
+ return [
8
+ { title: 'copy', action: () => { designerView.executeCommand({ type: CommandType.copy }); }, shortCut: 'Ctrl + C' },
9
+ { title: 'cut', action: () => { designerView.executeCommand({ type: CommandType.cut }); }, shortCut: 'Ctrl + X' },
10
+ { title: 'paste', action: () => { designerView.executeCommand({ type: CommandType.paste }); }, shortCut: 'Ctrl + V' },
11
+ { title: 'delete', action: () => { designerView.executeCommand({ type: CommandType.delete }); }, shortCut: 'Del' },
12
+ { title: '-' }
13
+ ];
14
+ }
15
+ }
@@ -5,11 +5,10 @@ export class CopyPasteContextMenu {
5
5
  }
6
6
  provideContextMenuItems(event, designerView, designItem) {
7
7
  return [
8
- { title: 'copy', action: () => { designerView.executeCommand({ type: CommandType.copy }); } },
9
- { title: 'cut', action: () => { designerView.executeCommand({ type: CommandType.cut }); } },
10
- { title: 'paste', action: () => { designerView.executeCommand({ type: CommandType.paste }); } },
11
- { title: 'delete', action: () => { designerView.executeCommand({ type: CommandType.delete }); } },
12
- { title: '-' }
8
+ { title: 'copy', action: () => { designerView.executeCommand({ type: CommandType.copy }); }, shortCut: 'Ctrl + C' },
9
+ { title: 'cut', action: () => { designerView.executeCommand({ type: CommandType.cut }); }, shortCut: 'Ctrl + X' },
10
+ { title: 'paste', action: () => { designerView.executeCommand({ type: CommandType.paste }); }, shortCut: 'Ctrl + V' },
11
+ { title: 'delete', action: () => { designerView.executeCommand({ type: CommandType.delete }); }, shortCut: 'Del' },
13
12
  ];
14
13
  }
15
14
  }
@@ -7,7 +7,7 @@ export class ItemsBelowContextMenu {
7
7
  const lstItems = designerCanvas.getItemsBelowMouse(event);
8
8
  if (lstItems.length > 0) {
9
9
  //TODO: create a submenu 'select items below...'
10
- return [{ title: '-' }, ...lstItems.map(x => ({ title: 'select: ' + x.localName + (x.id ? ' (' + x.id + ')' : ''), action: () => this._select(designerCanvas, x) }))];
10
+ return [...lstItems.map(x => ({ title: 'select: ' + x.localName + (x.id ? ' (' + x.id + ')' : ''), action: () => this._select(designerCanvas, x) }))];
11
11
  }
12
12
  return [];
13
13
  }
@@ -9,7 +9,6 @@ export class RectContextMenu {
9
9
  }
10
10
  provideContextMenuItems(event, designerCanvas, designItem) {
11
11
  return [
12
- { title: '-' },
13
12
  {
14
13
  title: 'convert to path', action: () => {
15
14
  let rect = designItem.element;
@@ -0,0 +1,8 @@
1
+ import { IContextMenuItem } from "../../../../helper/contextMenu/IContextmenuItem";
2
+ import { IDesignItem } from "../../../../item/IDesignItem";
3
+ import { IDesignerCanvas } from "../../IDesignerCanvas";
4
+ import { ContextmenuInitiator, IContextMenuExtension } from "./IContextMenuExtension";
5
+ export declare class SeperatorContextMenu implements IContextMenuExtension {
6
+ shouldProvideContextmenu(event: MouseEvent, designerView: IDesignerCanvas, designItem: IDesignItem, initiator: ContextmenuInitiator): boolean;
7
+ provideContextMenuItems(event: MouseEvent, designerView: IDesignerCanvas, designItem: IDesignItem): IContextMenuItem[];
8
+ }
@@ -0,0 +1,10 @@
1
+ export class SeperatorContextMenu {
2
+ shouldProvideContextmenu(event, designerView, designItem, initiator) {
3
+ return true;
4
+ }
5
+ provideContextMenuItems(event, designerView, designItem) {
6
+ return [
7
+ { title: '-' }
8
+ ];
9
+ }
10
+ }
@@ -0,0 +1,8 @@
1
+ import { IContextMenuItem } from "../../../../helper/contextMenu/IContextmenuItem";
2
+ import { IDesignItem } from "../../../../item/IDesignItem";
3
+ import { IDesignerCanvas } from "../../IDesignerCanvas";
4
+ import { ContextmenuInitiator, IContextMenuExtension } from "./IContextMenuExtension";
5
+ export declare class ZMoveContextMenu implements IContextMenuExtension {
6
+ shouldProvideContextmenu(event: MouseEvent, designerView: IDesignerCanvas, designItem: IDesignItem, initiator: ContextmenuInitiator): boolean;
7
+ provideContextMenuItems(event: MouseEvent, designerView: IDesignerCanvas, designItem: IDesignItem): IContextMenuItem[];
8
+ }
@@ -0,0 +1,14 @@
1
+ import { CommandType } from "../../../../../commandHandling/CommandType";
2
+ export class ZMoveContextMenu {
3
+ shouldProvideContextmenu(event, designerView, designItem, initiator) {
4
+ return true;
5
+ }
6
+ provideContextMenuItems(event, designerView, designItem) {
7
+ return [
8
+ { title: 'to front', action: () => { designerView.executeCommand({ type: CommandType.moveToFront }); } },
9
+ { title: 'move forward', action: () => { designerView.executeCommand({ type: CommandType.moveForward }); } },
10
+ { title: 'move backward', action: () => { designerView.executeCommand({ type: CommandType.moveBackward }); } },
11
+ { title: 'to back', action: () => { designerView.executeCommand({ type: CommandType.moveToBack }); } },
12
+ ];
13
+ }
14
+ }
@@ -0,0 +1,8 @@
1
+ import { IContextMenuItem } from "../../../../helper/contextMenu/IContextmenuItem";
2
+ import { IDesignItem } from "../../../../item/IDesignItem";
3
+ import { IDesignerCanvas } from "../../IDesignerCanvas";
4
+ import { ContextmenuInitiator, IContextMenuExtension } from "./IContextMenuExtension";
5
+ export declare class ZoomToElementContextMenu implements IContextMenuExtension {
6
+ shouldProvideContextmenu(event: MouseEvent, designerCanvas: IDesignerCanvas, designItem: IDesignItem, initiator: ContextmenuInitiator): boolean;
7
+ provideContextMenuItems(event: MouseEvent, designerCanvas: IDesignerCanvas, designItem: IDesignItem): IContextMenuItem[];
8
+ }
@@ -0,0 +1,27 @@
1
+ const offset = 10;
2
+ export class ZoomToElementContextMenu {
3
+ shouldProvideContextmenu(event, designerCanvas, designItem, initiator) {
4
+ return true;
5
+ }
6
+ provideContextMenuItems(event, designerCanvas, designItem) {
7
+ return [
8
+ {
9
+ title: 'zoom to', action: () => {
10
+ const coord = designerCanvas.getNormalizedElementCoordinates(designItem.element);
11
+ const startPoint = { x: coord.x - offset, y: coord.y - offset };
12
+ const endPoint = { x: coord.x + coord.width + offset, y: coord.y + coord.height + offset };
13
+ let rect = {
14
+ x: startPoint.x < endPoint.x ? startPoint.x : endPoint.x,
15
+ y: startPoint.y < endPoint.y ? startPoint.y : endPoint.y,
16
+ width: Math.abs(startPoint.x - endPoint.x),
17
+ height: Math.abs(startPoint.y - endPoint.y),
18
+ };
19
+ let zFactorWidth = designerCanvas.outerRect.width / rect.width;
20
+ let zFactorHeight = designerCanvas.outerRect.height / rect.height;
21
+ let zoomFactor = zFactorWidth >= zFactorHeight ? zFactorHeight : zFactorWidth;
22
+ designerCanvas.zoomPoint({ x: coord.x + coord.width / 2, y: coord.y + coord.height / 2 }, zoomFactor);
23
+ }
24
+ },
25
+ ];
26
+ }
27
+ }
@@ -16,6 +16,7 @@ export declare class PointerTool implements ITool {
16
16
  constructor();
17
17
  activated(serviceContainer: ServiceContainer): void;
18
18
  dispose(): void;
19
+ private _showContextMenu;
19
20
  pointerEventHandler(designerCanvas: IDesignerCanvas, event: PointerEvent, currentElement: Element): void;
20
21
  private _pointerActionTypeDrawSelection;
21
22
  private _resetPointerEventsForClickThrough;
@@ -22,7 +22,26 @@ export class PointerTool {
22
22
  }
23
23
  dispose() {
24
24
  }
25
+ _showContextMenu(event, designerCanvas) {
26
+ event.preventDefault();
27
+ if (!event.shiftKey) {
28
+ let items = designerCanvas.getItemsBelowMouse(event);
29
+ if (items.indexOf(designerCanvas.instanceServiceContainer.selectionService.primarySelection?.element) >= 0)
30
+ designerCanvas.showDesignItemContextMenu(designerCanvas.instanceServiceContainer.selectionService.primarySelection, event);
31
+ else {
32
+ const designItem = DesignItem.GetOrCreateDesignItem(event.target, designerCanvas.serviceContainer, designerCanvas.instanceServiceContainer);
33
+ if (!designerCanvas.instanceServiceContainer.selectionService.isSelected(designItem)) {
34
+ designerCanvas.instanceServiceContainer.selectionService.setSelectedElements([designItem]);
35
+ }
36
+ designerCanvas.showDesignItemContextMenu(designItem, event);
37
+ }
38
+ }
39
+ }
25
40
  pointerEventHandler(designerCanvas, event, currentElement) {
41
+ if (event.button == 2) {
42
+ this._showContextMenu(event, designerCanvas);
43
+ return;
44
+ }
26
45
  if (((event.ctrlKey || event.metaKey) && event.shiftKey) || event.buttons == 4) {
27
46
  const panTool = designerCanvas.serviceContainer.designerTools.get(NamedTools.Pan);
28
47
  if (panTool) {
@@ -6,7 +6,6 @@ export declare class TextTool implements ITool {
6
6
  activated(serviceContainer: ServiceContainer): void;
7
7
  dispose(): void;
8
8
  readonly cursor = "text";
9
- private _text;
10
9
  pointerEventHandler(designerCanvas: IDesignerCanvas, event: PointerEvent, currentElement: Element): void;
11
10
  keyboardEventHandler(designerCanvas: IDesignerCanvas, event: KeyboardEvent, currentElement: Element): void;
12
11
  }
@@ -1,4 +1,7 @@
1
1
  import { EventNames } from '../../../../enums/EventNames.js';
2
+ import { DesignItem } from '../../../item/DesignItem.js';
3
+ import { InsertAction } from '../../../services/undoService/transactionItems/InsertAction.js';
4
+ import { ExtensionType } from '../extensions/ExtensionType.js';
2
5
  export class TextTool {
3
6
  constructor() {
4
7
  }
@@ -7,26 +10,22 @@ export class TextTool {
7
10
  dispose() {
8
11
  }
9
12
  cursor = 'text';
10
- _text;
11
13
  pointerEventHandler(designerCanvas, event, currentElement) {
12
14
  const currentPoint = designerCanvas.getNormalizedEventCoordinates(event);
13
- //const offset = 50;
14
- addEventListener("keyup", function (event) {
15
- if (event.key === 'Enter') {
16
- console.log("Enter Pressed");
17
- event.preventDefault();
18
- }
19
- });
20
15
  switch (event.type) {
21
16
  case EventNames.PointerDown:
22
- event.target.setPointerCapture(event.pointerId);
23
- this._text = document.createElementNS("http://www.w3.org/2000/svg", "text");
24
- this._text.setAttribute("x", currentPoint.x.toString());
25
- this._text.setAttribute("y", currentPoint.y.toString());
26
- break;
27
- case EventNames.KeyUp:
28
- //if(event.key === 'Enter'){
29
- //}
17
+ const span = document.createElement('span');
18
+ const di = DesignItem.createDesignItemFromInstance(span, designerCanvas.serviceContainer, designerCanvas.instanceServiceContainer);
19
+ di.setStyle('position', 'absolute');
20
+ di.setStyle('left', currentPoint.x + 'px');
21
+ di.setStyle('top', currentPoint.y + 'px');
22
+ designerCanvas.instanceServiceContainer.undoService.execute(new InsertAction(designerCanvas.rootDesignItem, designerCanvas.rootDesignItem.childCount, di));
23
+ designerCanvas.serviceContainer.globalContext.finishedWithTool(this);
24
+ //TODO - don't apply doubleclick extension (maybe it is not the doubleclick one) - apply edit text extesion directly
25
+ designerCanvas.extensionManager.applyExtension(di, ExtensionType.Doubleclick);
26
+ setTimeout(() => {
27
+ span.focus();
28
+ }, 50);
30
29
  break;
31
30
  }
32
31
  }
@@ -120,8 +120,11 @@ export class PaletteTreeView extends BaseCustomWebComponentConstructorAppend {
120
120
  catch (err) {
121
121
  console.warn('Error loading elements', err);
122
122
  }
123
- //@ts-ignore
124
- newNode.updateCounters();
123
+ try {
124
+ //@ts-ignore
125
+ newNode.updateCounters();
126
+ }
127
+ catch { }
125
128
  }
126
129
  }
127
130
  }
@@ -132,9 +132,7 @@ export class TreeView extends BaseCustomWebComponentLazyAppend {
132
132
  this.createTree(value.contentService.rootDesignItem);
133
133
  }
134
134
  selectionChanged(event) {
135
- if (event.selectedElements.length > 0) {
136
- this._selectTreeElements(event.selectedElements.map(x => this._mapElementTreeitem.get(x.element)));
137
- }
135
+ this._selectTreeElements(event.selectedElements.map(x => this._mapElementTreeitem.get(x.element)));
138
136
  }
139
137
  _recomputeTree(parent, activeElement) {
140
138
  this._mapElementTreeitem = new Map();
@@ -14,6 +14,7 @@ export declare class TreeViewExtended extends BaseCustomWebComponentConstructorA
14
14
  static readonly style: CSSStyleSheet;
15
15
  static readonly template: HTMLTemplateElement;
16
16
  constructor();
17
+ _filterNodes(): void;
17
18
  _showHideAtDesignTimeState(img: HTMLImageElement, designItem: IDesignItem): void;
18
19
  _switchHideAtDesignTimeState(img: HTMLImageElement, designItem: IDesignItem): void;
19
20
  _showLockAtDesignTimeState(img: HTMLImageElement, designItem: IDesignItem): void;
@@ -98,12 +98,20 @@ export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
98
98
  import("jquery.fancytree/dist/skin-win8/ui.fancytree.css", { assert: { type: 'css' } }).then(x => this.shadowRoot.adoptedStyleSheets = [x.default, this.constructor.style]);
99
99
  this._filter = this._getDomElement('input');
100
100
  this._filter.onkeyup = () => {
101
- let match = this._filter.value;
101
+ this._filterNodes();
102
+ };
103
+ this._treeDiv = this._getDomElement('treetable');
104
+ }
105
+ _filterNodes() {
106
+ let match = this._filter.value;
107
+ if (match) {
102
108
  this._tree.filterNodes((node) => {
103
109
  return new RegExp(match, "i").test(node.title);
104
110
  });
105
- };
106
- this._treeDiv = this._getDomElement('treetable');
111
+ }
112
+ else {
113
+ this._tree.clearFilter();
114
+ }
107
115
  }
108
116
  _showHideAtDesignTimeState(img, designItem) {
109
117
  if (designItem.hideAtDesignTime)
@@ -337,9 +345,7 @@ export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
337
345
  this.createTree(value.contentService.rootDesignItem);
338
346
  }
339
347
  selectionChanged(event) {
340
- if (event.selectedElements.length > 0) {
341
- this._highlight(event.selectedElements);
342
- }
348
+ this._highlight(event.selectedElements);
343
349
  }
344
350
  _recomputeTree(rootItem) {
345
351
  this._tree.getRootNode().removeChildren();
@@ -347,6 +353,7 @@ export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
347
353
  this._tree.expandAll();
348
354
  //@ts-ignore
349
355
  this._tree.getRootNode().updateCounters();
356
+ this._filterNodes();
350
357
  }
351
358
  _getChildren(item, currentNode) {
352
359
  if (currentNode == null) {
@@ -0,0 +1,8 @@
1
+ export declare enum Orientation {
2
+ TOP = 0,
3
+ RIGHT = 1,
4
+ BOTTOM = 2,
5
+ LEFT = 3,
6
+ VERTICAL_CENTER = 4,
7
+ HORIZONTAL_CENTER = 5
8
+ }
@@ -0,0 +1,9 @@
1
+ export var Orientation;
2
+ (function (Orientation) {
3
+ Orientation[Orientation["TOP"] = 0] = "TOP";
4
+ Orientation[Orientation["RIGHT"] = 1] = "RIGHT";
5
+ Orientation[Orientation["BOTTOM"] = 2] = "BOTTOM";
6
+ Orientation[Orientation["LEFT"] = 3] = "LEFT";
7
+ Orientation[Orientation["VERTICAL_CENTER"] = 4] = "VERTICAL_CENTER";
8
+ Orientation[Orientation["HORIZONTAL_CENTER"] = 5] = "HORIZONTAL_CENTER";
9
+ })(Orientation || (Orientation = {}));
package/dist/index.d.ts CHANGED
@@ -156,7 +156,11 @@ export type { IContextMenuExtension, ContextmenuInitiator } from "./elements/wid
156
156
  export * from "./elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js";
157
157
  export * from "./elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js";
158
158
  export * from "./elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js";
159
+ export * from "./elements/widgets/designerView/extensions/contextMenu/PathContextMenu.js";
160
+ export * from "./elements/widgets/designerView/extensions/contextMenu/RectContextMenu.js";
161
+ export * from "./elements/widgets/designerView/extensions/contextMenu/SeperatorContextMenu.js";
159
162
  export * from "./elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.js";
163
+ export * from "./elements/widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.js";
160
164
  export type { IDesignerPointerExtension } from "./elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtension.js";
161
165
  export type { IDesignerPointerExtensionProvider } from "./elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtensionProvider.js";
162
166
  export * from "./elements/widgets/designerView/extensions/pointerExtensions/AbstractDesignerPointerExtension.js";
package/dist/index.js CHANGED
@@ -116,7 +116,11 @@ export * from "./elements/widgets/designerView/extensions/EditText/EditTextWithS
116
116
  export * from "./elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js";
117
117
  export * from "./elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js";
118
118
  export * from "./elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js";
119
+ export * from "./elements/widgets/designerView/extensions/contextMenu/PathContextMenu.js";
120
+ export * from "./elements/widgets/designerView/extensions/contextMenu/RectContextMenu.js";
121
+ export * from "./elements/widgets/designerView/extensions/contextMenu/SeperatorContextMenu.js";
119
122
  export * from "./elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.js";
123
+ export * from "./elements/widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.js";
120
124
  export * from "./elements/widgets/designerView/extensions/pointerExtensions/AbstractDesignerPointerExtension.js";
121
125
  export * from "./elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtension.js";
122
126
  export * from "./elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtensionProvider.js";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "description": "A UI designer for Polymer apps",
3
3
  "name": "@node-projects/web-component-designer",
4
- "version": "0.0.89",
4
+ "version": "0.0.92",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "author": "",
@@ -13,7 +13,7 @@
13
13
  "prepublishOnly": "npm run build"
14
14
  },
15
15
  "dependencies": {
16
- "@node-projects/base-custom-webcomponent": "^0.5.3",
16
+ "@node-projects/base-custom-webcomponent": "^0.6.0",
17
17
  "construct-style-sheets-polyfill": "^3.1.0"
18
18
  },
19
19
  "devDependencies": {
@@ -21,10 +21,10 @@
21
21
  "@node-projects/node-html-parser-esm": "^2.4.1",
22
22
  "@papyrs/stylo": "^0.0.8",
23
23
  "@types/codemirror": "^5.60.5",
24
- "@types/jquery": "^3.5.13",
24
+ "@types/jquery": "^3.5.14",
25
25
  "@types/jquery.fancytree": "0.0.7",
26
26
  "ace-builds": "^1.4.14",
27
- "codemirror": "^5.65.1",
27
+ "codemirror": "^5.65.2",
28
28
  "esprima-next": "^5.8.1",
29
29
  "html2canvas": "*",
30
30
  "jest": "^27.5.1",