@node-projects/web-component-designer 0.2.27 → 0.2.28

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 (28) hide show
  1. package/_esbuild.js +6 -0
  2. package/dist/NpmPackageHacks.json +47 -0
  3. package/dist/elements/helper/NpmPackageHacks.json +47 -21
  4. package/dist/elements/helper/NpmPackageLoader.d.ts +7 -1
  5. package/dist/elements/helper/NpmPackageLoader.js +149 -112
  6. package/dist/elements/helper/NpmPackageLoader.js.map +1 -1
  7. package/dist/elements/helper/PlacementContainerHelper.d.ts +4 -0
  8. package/dist/elements/helper/PlacementContainerHelper.js +38 -0
  9. package/dist/elements/helper/PlacementContainerHelper.js.map +1 -0
  10. package/dist/elements/helper/PlacementTargetHelper.d.ts +4 -0
  11. package/dist/elements/helper/PlacementTargetHelper.js +38 -0
  12. package/dist/elements/helper/PlacementTargetHelper.js.map +1 -0
  13. package/dist/elements/services/dragDropService/DragDropService.d.ts +3 -0
  14. package/dist/elements/services/dragDropService/DragDropService.js +55 -35
  15. package/dist/elements/services/dragDropService/DragDropService.js.map +1 -1
  16. package/dist/elements/services/elementsService/IElementDefinition.d.ts +1 -0
  17. package/dist/elements/services/elementsService/WebcomponentManifestElementsService.d.ts +1 -0
  18. package/dist/elements/services/elementsService/WebcomponentManifestElementsService.js +8 -4
  19. package/dist/elements/services/elementsService/WebcomponentManifestElementsService.js.map +1 -1
  20. package/dist/elements/widgets/designerView/DomConverter.d.ts +1 -1
  21. package/dist/elements/widgets/designerView/tools/DrawElementTool.js +10 -4
  22. package/dist/elements/widgets/designerView/tools/DrawElementTool.js.map +1 -1
  23. package/dist/index-min.js +14 -14
  24. package/dist/index-min.js.map +4 -4
  25. package/dist/index.d.ts +1 -0
  26. package/dist/index.js +1 -0
  27. package/dist/index.js.map +1 -1
  28. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlacementTargetHelper.js","sourceRoot":"","sources":["../../../src/elements/helper/PlacementTargetHelper.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,MAAM,UAAU,0BAA0B,CAAC,cAA+B,EAAE,KAAiB,EAAE,WAA2B;IACxH,IAAI,6BAA6B,GAAgB,IAAI,CAAC;IACtD,IAAI,mBAAmB,GAAsB,IAAI,CAAC;IAElD,MAAM,iBAAiB,GAAG,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACzF,KAAK,IAAI,CAAC,IAAI,iBAAiB,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,cAAc,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC/C,6BAA6B,GAAG,cAAc,CAAC,cAAc,CAAC;YAC9D,MAAM,cAAc,GAAG,gBAAgB,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC;YAC/E,mBAAmB,GAAG,cAAc,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,6BAA6B,EAAE,cAAc,CAAC,CAAC,CAAC;YACzK,MAAM;QACR,CAAC;aAAM,IAAI,KAAK,EAAE,CAAC;YACjB,8DAA8D;QAChE,CAAC;aAAM,CAAC;YACN,6BAA6B,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,gBAAgB,EAAE,cAAc,CAAC,wBAAwB,CAAC,CAAC;YACjJ,MAAM,cAAc,GAAG,gBAAgB,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC;YAC/E,mBAAmB,GAAG,cAAc,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,6BAA6B,EAAE,cAAc,CAAC,CAAC,CAAC;YACzK,IAAI,mBAAmB,EAAE,CAAC;gBACxB,sEAAsE;gBACtE,IAAI,WAAW,IAAI,mBAAmB,CAAC,QAAQ,CAAC,6BAA6B,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,6BAA6B,CAAC,OAAO,YAAY,6BAA6B,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;oBACnM,MAAM;gBACR,CAAC;qBAAM,IAAI,CAAC,WAAW,IAAI,mBAAmB,CAAC,oBAAoB,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,6BAA6B,CAAC,OAAO,YAAY,6BAA6B,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC1M,MAAM;gBACR,CAAC;qBAAM,CAAC;oBACN,6BAA6B,GAAG,IAAI,CAAC;oBACrC,mBAAmB,GAAG,IAAI,CAAC;oBAC3B,SAAS;gBACX,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,6BAA6B,EAAE,mBAAmB,CAAC,CAAC;AAC9D,CAAC"}
@@ -12,5 +12,8 @@ export declare class DragDropService implements IDragDropService {
12
12
  dragLeave(designerCanvas: IDesignerCanvas, event: DragEvent): void;
13
13
  dragOver(designerCanvas: IDesignerCanvas, event: DragEvent): Promise<void>;
14
14
  drop(designerCanvas: IDesignerCanvas, event: DragEvent): Promise<void>;
15
+ private applyPlacementRules;
16
+ private hasAncestorMatching;
17
+ private createWrapperDesignItem;
15
18
  getPossibleContainerForDragDrop(designerCanvas: IDesignerCanvas, event: DragEvent, designItems?: IDesignItem[]): [newContainerElementDesignItem: IDesignItem, newContainerService: IPlacementService];
16
19
  }
@@ -1,6 +1,8 @@
1
1
  import { DesignItem } from '../../item/DesignItem.js';
2
2
  import { ExtensionType } from "../../widgets/designerView/extensions/ExtensionType.js";
3
3
  import { dragDropFormatNameElementDefinition } from "../../../Constants.js";
4
+ import { NpmPackageLoader } from "../../helper/NpmPackageLoader.js";
5
+ import { getPossiblePlacementTarget } from "../../helper/PlacementTargetHelper.js";
4
6
  export class DragDropService {
5
7
  _dragOverExtensionItem;
6
8
  _oldX;
@@ -74,56 +76,74 @@ export class DragDropService {
74
76
  if (!newContainer)
75
77
  newContainer = designerCanvas.rootDesignItem;
76
78
  const grp = di.openGroup("Insert of &lt;" + di.name + "&gt;");
77
- const containerService = designerCanvas.serviceContainer.getLastServiceWhere('containerService', x => x.serviceForContainer(newContainer, newContainer.getComputedStyle(), di));
78
- containerService.enterContainer(newContainer, [di], 'drop');
79
+ const placement = this.applyPlacementRules(designerCanvas, newContainer, di, elementDefinition);
80
+ newContainer = placement.container;
81
+ const placedItem = placement.placedItem;
82
+ const containerService = designerCanvas.serviceContainer.getLastServiceWhere('containerService', x => x.serviceForContainer(newContainer, newContainer.getComputedStyle(), placedItem));
83
+ containerService.enterContainer(newContainer, [placedItem], 'drop');
79
84
  const containerPos = designerCanvas.getNormalizedElementCoordinates(newContainer.element);
80
85
  const evCoord = designerCanvas.getNormalizedEventCoordinates(event);
81
86
  const pos = { x: evCoord.x - containerPos.x, y: evCoord.y - containerPos.y };
82
87
  let offset = { x: 0, y: 0 };
83
88
  if (elementDefinition.mouseOffset)
84
89
  offset = elementDefinition.mouseOffset;
85
- containerService.place(event, designerCanvas, newContainer, offset, { x: 0, y: 0 }, pos, [di]);
86
- containerService.finishPlace(event, designerCanvas, newContainer, offset, { x: 0, y: 0 }, pos, [di]);
90
+ containerService.place(event, designerCanvas, newContainer, offset, { x: 0, y: 0 }, pos, [placedItem]);
91
+ containerService.finishPlace(event, designerCanvas, newContainer, offset, { x: 0, y: 0 }, pos, [placedItem]);
87
92
  requestAnimationFrame(() => {
88
93
  designerCanvas.instanceServiceContainer.selectionService.setSelectedElements([di], event);
89
94
  grp.commit();
90
95
  });
91
96
  }
92
- getPossibleContainerForDragDrop(designerCanvas, event, designItems) {
93
- let newContainerElementDesignItem = null;
94
- let newContainerService = null;
95
- const elementsFromPoint = designerCanvas.elementsFromPoint(event.clientX, event.clientY);
96
- for (let e of elementsFromPoint) {
97
- if (e == designerCanvas.rootDesignItem.element) {
98
- newContainerElementDesignItem = designerCanvas.rootDesignItem;
99
- const containerStyle = getComputedStyle(newContainerElementDesignItem.element);
100
- newContainerService = designerCanvas.serviceContainer.getLastServiceWhere('containerService', x => x.serviceForContainer(newContainerElementDesignItem, containerStyle));
101
- break;
97
+ applyPlacementRules(designerCanvas, container, item, elementDefinition) {
98
+ const packageHack = elementDefinition.packageName ? NpmPackageLoader.getPackageHack(elementDefinition.packageName) : null;
99
+ const rules = packageHack?.placement?.ensureAncestors;
100
+ if (!rules?.length)
101
+ return { container, placedItem: item };
102
+ let placedItem = item;
103
+ for (const rule of rules) {
104
+ if (rule.mode !== 'wrap' || !rule.selector || this.hasAncestorMatching(container, rule.selector))
105
+ continue;
106
+ const wrapper = this.createWrapperDesignItem(designerCanvas, rule);
107
+ if (!wrapper)
108
+ continue;
109
+ container.insertChild(wrapper);
110
+ container = wrapper;
111
+ }
112
+ return { container, placedItem };
113
+ }
114
+ hasAncestorMatching(container, selector) {
115
+ let current = container;
116
+ while (current) {
117
+ try {
118
+ if (current.element?.matches(selector))
119
+ return true;
102
120
  }
103
- else if (false) {
104
- //check we don't try to move a item over one of its children..
121
+ catch (err) {
122
+ console.warn('invalid placement ancestor selector: ', selector, err);
123
+ return false;
105
124
  }
106
- else {
107
- newContainerElementDesignItem = DesignItem.GetOrCreateDesignItem(e, e, designerCanvas.serviceContainer, designerCanvas.instanceServiceContainer);
108
- const containerStyle = getComputedStyle(newContainerElementDesignItem.element);
109
- newContainerService = designerCanvas.serviceContainer.getLastServiceWhere('containerService', x => x.serviceForContainer(newContainerElementDesignItem, containerStyle));
110
- if (newContainerService) {
111
- //TODO: Maybe the check for SVG Element should be in "canEnterByDrop"?
112
- if (designItems && newContainerService.canEnter(newContainerElementDesignItem, designItems) && !(newContainerElementDesignItem.element instanceof newContainerElementDesignItem.window.SVGElement)) {
113
- break;
114
- }
115
- else if (!designItems && newContainerService.isEnterableContainer(newContainerElementDesignItem) && !(newContainerElementDesignItem.element instanceof newContainerElementDesignItem.window.SVGElement)) {
116
- break;
117
- }
118
- else {
119
- newContainerElementDesignItem = null;
120
- newContainerService = null;
121
- continue;
122
- }
123
- }
125
+ current = current.parent;
126
+ }
127
+ return false;
128
+ }
129
+ createWrapperDesignItem(designerCanvas, rule) {
130
+ if (!rule.create?.tag)
131
+ return null;
132
+ const wrapperElement = designerCanvas.rootDesignItem.document.createElement(rule.create.tag);
133
+ if (rule.create.attributes) {
134
+ for (const name in rule.create.attributes) {
135
+ wrapperElement.setAttribute(name, rule.create.attributes[name]);
124
136
  }
125
137
  }
126
- return [newContainerElementDesignItem, newContainerService];
138
+ if (rule.create.styles) {
139
+ for (const name in rule.create.styles) {
140
+ wrapperElement.style[name] = rule.create.styles[name];
141
+ }
142
+ }
143
+ return DesignItem.createDesignItemFromInstance(wrapperElement, designerCanvas.serviceContainer, designerCanvas.instanceServiceContainer);
144
+ }
145
+ getPossibleContainerForDragDrop(designerCanvas, event, designItems) {
146
+ return getPossiblePlacementTarget(designerCanvas, event, designItems);
127
147
  }
128
148
  }
129
149
  //# sourceMappingURL=DragDropService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DragDropService.js","sourceRoot":"","sources":["../../../../src/elements/services/dragDropService/DragDropService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DragDropService.js","sourceRoot":"","sources":["../../../../src/elements/services/dragDropService/DragDropService.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export interface IElementDefinition {
13
13
  name?: string;
14
14
  description?: string;
15
15
  import?: string;
16
+ packageName?: string;
16
17
  className?: string;
17
18
  type?: string;
18
19
  defaultContent?: any;
@@ -9,5 +9,6 @@ export declare class WebcomponentManifestElementsService implements IElementsSer
9
9
  private _rejectStored;
10
10
  constructor(name: string, importPrefix: string, manifest: any);
11
11
  private _parseManifest;
12
+ private _addElementDefinition;
12
13
  getElements(): Promise<IElementDefinition[]>;
13
14
  }
@@ -16,14 +16,14 @@ export class WebcomponentManifestElementsService {
16
16
  for (let m of manifest.modules) {
17
17
  for (let e of m.exports) {
18
18
  if (e.kind == 'custom-element-definition') {
19
- let elDef = { tag: e.name, import: removeTrailing(this._importPrefix, '/') + '/' + removeLeading(m.path, '/'), defaultWidth: "200px", defaultHeight: "200px", className: e.declaration.name };
20
- this._elementList.push(elDef);
19
+ let elDef = { tag: e.name, import: removeTrailing(this._importPrefix, '/') + '/' + removeLeading(m.path, '/'), packageName: this._name, className: e.declaration.name };
20
+ this._addElementDefinition(elDef);
21
21
  }
22
22
  }
23
23
  for (let d of m.declarations) {
24
24
  if (d.tagName) {
25
- let elDef = { tag: d.tagName, import: removeTrailing(this._importPrefix, '/') + '/' + removeLeading(m.path, '/'), defaultWidth: "200px", defaultHeight: "200px", className: d.name };
26
- this._elementList.push(elDef);
25
+ let elDef = { tag: d.tagName, import: removeTrailing(this._importPrefix, '/') + '/' + removeLeading(m.path, '/'), packageName: this._name, className: d.name };
26
+ this._addElementDefinition(elDef);
27
27
  }
28
28
  }
29
29
  if (this._resolveStored) {
@@ -33,6 +33,10 @@ export class WebcomponentManifestElementsService {
33
33
  }
34
34
  }
35
35
  }
36
+ _addElementDefinition(elementDefinition) {
37
+ if (!this._elementList.some(x => x.tag == elementDefinition.tag))
38
+ this._elementList.push(elementDefinition);
39
+ }
36
40
  async getElements() {
37
41
  if (this._elementList)
38
42
  return Promise.resolve(this._elementList);
@@ -1 +1 @@
1
- {"version":3,"file":"WebcomponentManifestElementsService.js","sourceRoot":"","sources":["../../../../src/elements/services/elementsService/WebcomponentManifestElementsService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIvE,MAAM,OAAO,mCAAmC;IAEtC,KAAK,CAAS;IACtB,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzB,aAAa,CAAS;IACtB,YAAY,CAAuB;IACnC,cAAc,CAA4C;IAC1D,aAAa,CAAkC;IAEvD,YAAY,IAAY,EAAE,YAAoB,EAAE,QAAa;QAC3D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAA;QACjC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAEO,cAAc,CAAC,QAAa;QAClC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC/B,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,CAAC,IAAI,IAAI,2BAA2B,EAAE,CAAC;oBAC1C,IAAI,KAAK,GAAuB,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;oBACjN,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YACD,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;gBAC7B,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;oBACd,IAAI,KAAK,GAAuB,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;oBACxM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBACvD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,IAAI,CAAC,YAAY;YACnB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnH,CAAC;CACF"}
1
+ {"version":3,"file":"WebcomponentManifestElementsService.js","sourceRoot":"","sources":["../../../../src/elements/services/elementsService/WebcomponentManifestElementsService.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,6 @@ import { IDesignItem } from "../../item/IDesignItem.js";
2
2
  export declare class DomConverter {
3
3
  static normalizeAttributeValue(value: string | number, useSingleQuotes?: boolean): string;
4
4
  static normalizeContentValue(value: string): string;
5
- static IsSelfClosingElement(tag: string): tag is "area" | "base" | "br" | "col" | "embed" | "hr" | "img" | "input" | "keygen" | "link" | "meta" | "param" | "source" | "track" | "wbr";
5
+ static IsSelfClosingElement(tag: string): tag is "link" | "area" | "base" | "br" | "col" | "embed" | "hr" | "img" | "input" | "keygen" | "meta" | "param" | "source" | "track" | "wbr";
6
6
  static ConvertToString(designItems: IDesignItem[], beautifyOutput?: boolean, updatePositions?: boolean): string;
7
7
  }
@@ -1,5 +1,6 @@
1
1
  import { EventNames } from '../../../../enums/EventNames.js';
2
2
  import { roundValue } from '../../../helper/LayoutHelper.js';
3
+ import { getPossiblePlacementTarget } from '../../../helper/PlacementTargetHelper.js';
3
4
  import { OverlayLayer } from '../extensions/OverlayLayer.js';
4
5
  export class DrawElementTool {
5
6
  _elementDefinition;
@@ -39,12 +40,17 @@ export class DrawElementTool {
39
40
  this._changeGroup = designerCanvas.rootDesignItem.openGroup("Insert Item");
40
41
  this._createdItem = await designerCanvas.serviceContainer.forSomeServicesTillResult("instanceService", (service) => service.getElement(this._elementDefinition, designerCanvas.serviceContainer, designerCanvas.instanceServiceContainer));
41
42
  this._createdItem.setStyle('position', 'absolute');
42
- this._createdItem.setStyle('left', roundValue(this._createdItem, evPos.x) + 'px');
43
- this._createdItem.setStyle('top', roundValue(this._createdItem, evPos.y) + 'px');
43
+ let [container] = getPossiblePlacementTarget(designerCanvas, event, [this._createdItem]);
44
+ if (!container)
45
+ container = designerCanvas.rootDesignItem;
46
+ const containerService = designerCanvas.serviceContainer.getLastServiceWhere('containerService', x => x.serviceForContainer(container, container.getComputedStyle(), this._createdItem));
47
+ containerService.enterContainer(container, [this._createdItem], 'drop');
48
+ const containerPos = designerCanvas.getNormalizedElementCoordinates(container.element);
49
+ const startPositionInContainer = { x: evPos.x - containerPos.x, y: evPos.y - containerPos.y };
50
+ this._createdItem.setStyle('left', roundValue(this._createdItem, startPositionInContainer.x) + 'px');
51
+ this._createdItem.setStyle('top', roundValue(this._createdItem, startPositionInContainer.y) + 'px');
44
52
  this._createdItem.setStyle('width', '0');
45
53
  this._createdItem.setStyle('height', '0');
46
- designerCanvas.rootDesignItem.insertChild(this._createdItem);
47
- //draw via containerService??? how to draw into a grid, a stackpanel???
48
54
  designerCanvas.instanceServiceContainer.selectionService.clearSelectedElements();
49
55
  }
50
56
  async _onPointerMove(designerCanvas, event) {
@@ -1 +1 @@
1
- {"version":3,"file":"DrawElementTool.js","sourceRoot":"","sources":["../../../../../src/elements/widgets/designerView/tools/DrawElementTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DrawElementTool.js","sourceRoot":"","sources":["../../../../../src/elements/widgets/designerView/tools/DrawElementTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAKtF,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAI7D,MAAM,OAAO,eAAe;IAClB,kBAAkB,CAAqB;IACvC,YAAY,CAAc;IAC1B,cAAc,CAAS;IACvB,YAAY,CAAc;IAEzB,MAAM,GAAG,WAAW,CAAC;IACtB,KAAK,CAAM;IAEnB,YAAY,iBAAqC;QAC/C,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;IAC9C,CAAC;IAED,SAAS,CAAC,gBAAkC;IAC5C,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,YAAY;YACnB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACnF,CAAC;IAED,mBAAmB,CAAC,YAA6B,EAAE,KAAmB,EAAE,cAAuB;QAC7F,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,UAAU,CAAC,WAAW;gBACzB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,UAAU,CAAC,WAAW;gBACzB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,UAAU,CAAC,SAAS;gBACvB,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;gBACvC,MAAM;QACV,CAAC;IACH,CAAC;IAED,oBAAoB,CAAC,cAA+B,EAAE,KAAoB,EAAE,cAAuB,IAAI,CAAC;IAExG,oBAAoB,GAAG,KAAK,CAAC;IACrB,KAAK,CAAC,cAAc,CAAC,cAA+B,EAAE,KAAmB;QAC/E,MAAM,KAAK,GAAG,cAAc,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAElE,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QAEjD,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC3E,IAAI,CAAC,YAAY,GAAG,MAAM,cAAc,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,gBAAgB,EAAE,cAAc,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAC3O,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAEnD,IAAI,CAAC,SAAS,CAAC,GAAG,0BAA0B,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,SAAS;YACZ,SAAS,GAAG,cAAc,CAAC,cAAc,CAAC;QAE5C,MAAM,gBAAgB,GAAG,cAAc,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACzL,gBAAgB,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;QAExE,MAAM,YAAY,GAAG,cAAc,CAAC,+BAA+B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACvF,MAAM,wBAAwB,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC;QAC9F,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACrG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACpG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAE1C,cAAc,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,CAAC;IACnF,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,cAA+B,EAAE,KAAmB;QAC/E,MAAM,KAAK,GAAG,cAAc,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAElE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;gBAC5E,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;gBACnG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;gBACzD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAe,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAe,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YAClG,CAAC;YAED,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACzE,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACpC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YAChD,CAAC;YACD,IAAI,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;gBAClD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACrC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,YAA6B,EAAE,KAAmB;QAC3E,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YAC3B,YAAY,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;QACzG,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,YAAY,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;CACF"}