@node-projects/web-component-designer 0.0.61 → 0.0.65
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.
- package/.vscode/settings.json +1 -1
- package/ACKNOWLEDGMENTS +7 -0
- package/dist/elements/controls/DesignerTabControl.js +4 -2
- package/dist/elements/controls/PlainScrollbar.d.ts +15 -0
- package/dist/elements/controls/PlainScrollbar.js +482 -0
- package/dist/elements/controls/SimpleSplitView.d.ts +11 -0
- package/dist/elements/controls/SimpleSplitView.js +67 -0
- package/dist/elements/controls/SimpleSplitView2.d.ts +11 -0
- package/dist/elements/controls/SimpleSplitView2.js +63 -0
- package/dist/elements/controls/aa.d.ts +24 -0
- package/dist/elements/controls/aa.js +98 -0
- package/dist/elements/documentContainer.d.ts +6 -1
- package/dist/elements/documentContainer.js +51 -14
- package/dist/elements/helper/PathDataPolyfill.d.ts +5 -1
- package/dist/elements/helper/PathDataPolyfill.js +49 -1
- package/dist/elements/helper/contextMenu/ContextMenuHelper.js +1 -0
- package/dist/elements/services/DefaultServiceBootstrap.js +8 -0
- package/dist/elements/services/htmlParserService/NodeHtmlParserService.js +2 -0
- package/dist/elements/services/undoService/UndoService.js +3 -0
- package/dist/elements/widgets/codeView/code-view-monaco.js +2 -2
- package/dist/elements/widgets/designerView/IDesignerCanvas.d.ts +4 -0
- package/dist/elements/widgets/designerView/designerCanvas.d.ts +8 -1
- package/dist/elements/widgets/designerView/designerCanvas.js +48 -22
- package/dist/elements/widgets/designerView/designerView.d.ts +2 -1
- package/dist/elements/widgets/designerView/designerView.js +68 -18
- package/dist/elements/widgets/designerView/extensions/MouseOverExtension.js +1 -1
- package/dist/elements/widgets/designerView/extensions/PositionExtension.js +4 -4
- package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtension.js +2 -2
- package/dist/elements/widgets/designerView/extensions/ResizeExtension.d.ts +2 -1
- package/dist/elements/widgets/designerView/extensions/ResizeExtension.js +19 -15
- package/dist/elements/widgets/designerView/extensions/RotateExtension.js +1 -1
- package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtension.js +1 -1
- package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.js +2 -2
- package/dist/elements/widgets/designerView/overlayLayerView.d.ts +1 -0
- package/dist/elements/widgets/designerView/overlayLayerView.js +6 -0
- package/dist/elements/widgets/designerView/tools/DrawEllipsisTool.d.ts +13 -0
- package/dist/elements/widgets/designerView/tools/DrawEllipsisTool.js +72 -0
- package/dist/elements/widgets/designerView/tools/DrawLineTool.d.ts +13 -0
- package/dist/elements/widgets/designerView/tools/DrawLineTool.js +75 -0
- package/dist/elements/widgets/designerView/tools/DrawPathTool.d.ts +0 -2
- package/dist/elements/widgets/designerView/tools/DrawPathTool.js +5 -18
- package/dist/elements/widgets/designerView/tools/DrawRectTool.d.ts +18 -0
- package/dist/elements/widgets/designerView/tools/DrawRectTool.js +86 -0
- package/dist/elements/widgets/designerView/tools/NamedTools.d.ts +3 -0
- package/dist/elements/widgets/designerView/tools/NamedTools.js +3 -0
- package/dist/elements/widgets/designerView/tools/PanTool.js +14 -0
- package/dist/elements/widgets/designerView/tools/PointerTool.js +7 -0
- package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.js +2 -2
- package/dist/elements/widgets/propertyGrid/PropertyGrid.js +1 -0
- package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.js +1 -0
- package/dist/elements/widgets/treeView/treeView.js +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/package.json +1 -1
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { EventNames } from '../../../../enums/EventNames';
|
|
2
|
+
import { OverlayLayer } from '../extensions/OverlayLayer.js';
|
|
3
|
+
import { calculateNormLegth } from '../../../helper/PathDataPolyfill';
|
|
4
|
+
import { DesignItem } from '../../../item/DesignItem';
|
|
5
|
+
import { InsertAction } from '../../../services/undoService/transactionItems/InsertAction';
|
|
6
|
+
export class DrawRectTool {
|
|
7
|
+
cursor = 'crosshair';
|
|
8
|
+
_path;
|
|
9
|
+
_startPoint;
|
|
10
|
+
_minX;
|
|
11
|
+
_minY;
|
|
12
|
+
_maxX;
|
|
13
|
+
_maxY;
|
|
14
|
+
_px;
|
|
15
|
+
_py;
|
|
16
|
+
constructor() {
|
|
17
|
+
}
|
|
18
|
+
activated(serviceContainer) {
|
|
19
|
+
}
|
|
20
|
+
dispose() {
|
|
21
|
+
}
|
|
22
|
+
pointerEventHandler(designerCanvas, event, currentElement) {
|
|
23
|
+
const currentPoint = designerCanvas.getNormalizedEventCoordinates(event);
|
|
24
|
+
const offset = 50;
|
|
25
|
+
switch (event.type) {
|
|
26
|
+
case EventNames.PointerDown:
|
|
27
|
+
this._startPoint = currentPoint;
|
|
28
|
+
event.target.setPointerCapture(event.pointerId);
|
|
29
|
+
this._path = document.createElementNS("http://www.w3.org/2000/svg", "rect");
|
|
30
|
+
this._path.setAttribute("stroke", designerCanvas.serviceContainer.globalContext.strokeColor);
|
|
31
|
+
this._path.setAttribute("fill", designerCanvas.serviceContainer.globalContext.fillBrush);
|
|
32
|
+
this._path.setAttribute("stroke-width", designerCanvas.serviceContainer.globalContext.strokeThickness);
|
|
33
|
+
this._path.setAttribute("x", currentPoint.x.toString());
|
|
34
|
+
this._path.setAttribute("y", currentPoint.y.toString());
|
|
35
|
+
this._path.setAttribute("width", "0");
|
|
36
|
+
this._path.setAttribute("height", "0");
|
|
37
|
+
designerCanvas.overlayLayer.addOverlay(this._path, OverlayLayer.Foregorund);
|
|
38
|
+
break;
|
|
39
|
+
case EventNames.PointerMove:
|
|
40
|
+
if (this._path) {
|
|
41
|
+
this._minX = currentPoint.x < this._startPoint.x ? currentPoint.x : this._startPoint.x;
|
|
42
|
+
this._maxX = currentPoint.x > this._startPoint.x ? currentPoint.x : this._startPoint.x;
|
|
43
|
+
this._minY = currentPoint.y < this._startPoint.y ? currentPoint.y : this._startPoint.y;
|
|
44
|
+
this._maxY = currentPoint.y > this._startPoint.y ? currentPoint.y : this._startPoint.y;
|
|
45
|
+
if (event.shiftKey) {
|
|
46
|
+
const normLength = calculateNormLegth(this._startPoint, currentPoint);
|
|
47
|
+
this._px = currentPoint.x < this._startPoint.x ? this._startPoint.x - normLength : this._startPoint.x;
|
|
48
|
+
this._py = currentPoint.y < this._startPoint.y ? this._startPoint.y - normLength : this._startPoint.y;
|
|
49
|
+
this._path.setAttribute("x", this._px.toString());
|
|
50
|
+
this._path.setAttribute("y", this._py.toString());
|
|
51
|
+
this._path.setAttribute("width", (normLength).toString());
|
|
52
|
+
this._path.setAttribute("height", (normLength).toString());
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
this._px = currentPoint.x < this._startPoint.x ? currentPoint.x : this._startPoint.x;
|
|
56
|
+
this._py = currentPoint.y < this._startPoint.y ? currentPoint.y : this._startPoint.y;
|
|
57
|
+
this._path.setAttribute("x", this._minX.toString());
|
|
58
|
+
this._path.setAttribute("y", this._minY.toString());
|
|
59
|
+
this._path.setAttribute("width", (this._maxX - this._minX).toString());
|
|
60
|
+
this._path.setAttribute("height", (this._maxY - this._minY).toString());
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
break;
|
|
64
|
+
case EventNames.PointerUp:
|
|
65
|
+
event.target.releasePointerCapture(event.pointerId);
|
|
66
|
+
const rect = this._path.getBoundingClientRect();
|
|
67
|
+
designerCanvas.overlayLayer.removeOverlay(this._path);
|
|
68
|
+
const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
69
|
+
const mvX = rect.x - designerCanvas.containerBoundingRect.x - offset;
|
|
70
|
+
const mvY = rect.y - designerCanvas.containerBoundingRect.y - offset;
|
|
71
|
+
this._path.setAttribute("x", (this._px - mvX).toString());
|
|
72
|
+
this._path.setAttribute("y", (this._py - mvY).toString());
|
|
73
|
+
svg.appendChild(this._path);
|
|
74
|
+
svg.style.left = (mvX) + 'px';
|
|
75
|
+
svg.style.top = (mvY) + 'px';
|
|
76
|
+
svg.style.position = 'absolute';
|
|
77
|
+
svg.style.width = (rect.width + 2 * offset) + 'px';
|
|
78
|
+
svg.style.height = (rect.height + 2 * offset) + 'px';
|
|
79
|
+
this._path = null;
|
|
80
|
+
const di = DesignItem.createDesignItemFromInstance(svg, designerCanvas.serviceContainer, designerCanvas.instanceServiceContainer);
|
|
81
|
+
designerCanvas.instanceServiceContainer.undoService.execute(new InsertAction(designerCanvas.rootDesignItem, designerCanvas.rootDesignItem.childCount, di));
|
|
82
|
+
designerCanvas.serviceContainer.globalContext.finishedWithTool(this);
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
@@ -2,6 +2,9 @@ export declare enum NamedTools {
|
|
|
2
2
|
Pointer = "Pointer",
|
|
3
3
|
DrawSelection = "DrawSelection",
|
|
4
4
|
DrawPath = "DrawPath",
|
|
5
|
+
DrawRect = "DrawRect",
|
|
6
|
+
DrawEllipsis = "DrawEllipsis",
|
|
7
|
+
DrawLine = "DrawLine",
|
|
5
8
|
Zoom = "Zoom",
|
|
6
9
|
Pan = "Pan",
|
|
7
10
|
MagicWandSelector = "MagicWandSelector",
|
|
@@ -3,6 +3,9 @@ export var NamedTools;
|
|
|
3
3
|
NamedTools["Pointer"] = "Pointer";
|
|
4
4
|
NamedTools["DrawSelection"] = "DrawSelection";
|
|
5
5
|
NamedTools["DrawPath"] = "DrawPath";
|
|
6
|
+
NamedTools["DrawRect"] = "DrawRect";
|
|
7
|
+
NamedTools["DrawEllipsis"] = "DrawEllipsis";
|
|
8
|
+
NamedTools["DrawLine"] = "DrawLine";
|
|
6
9
|
NamedTools["Zoom"] = "Zoom";
|
|
7
10
|
NamedTools["Pan"] = "Pan";
|
|
8
11
|
NamedTools["MagicWandSelector"] = "MagicWandSelector";
|
|
@@ -1,6 +1,20 @@
|
|
|
1
|
+
import { EventNames } from '../../../../enums/EventNames.js';
|
|
1
2
|
export class PanTool {
|
|
2
3
|
cursor = 'grab';
|
|
3
4
|
pointerEventHandler(designerCanvas, event, currentElement) {
|
|
5
|
+
switch (event.type) {
|
|
6
|
+
case EventNames.PointerDown:
|
|
7
|
+
event.target.setPointerCapture(event.pointerId);
|
|
8
|
+
break;
|
|
9
|
+
case EventNames.PointerMove:
|
|
10
|
+
if (event.buttons == 1) {
|
|
11
|
+
designerCanvas.canvasOffset = { x: designerCanvas.canvasOffset.x + +event.movementX / designerCanvas.zoomFactor, y: designerCanvas.canvasOffset.y + event.movementY / designerCanvas.zoomFactor };
|
|
12
|
+
}
|
|
13
|
+
break;
|
|
14
|
+
case EventNames.PointerUp:
|
|
15
|
+
event.target.releasePointerCapture(event.pointerId);
|
|
16
|
+
break;
|
|
17
|
+
}
|
|
4
18
|
}
|
|
5
19
|
activated(serviceContainer) {
|
|
6
20
|
}
|
|
@@ -23,6 +23,13 @@ export class PointerTool {
|
|
|
23
23
|
dispose() {
|
|
24
24
|
}
|
|
25
25
|
pointerEventHandler(designerCanvas, event, currentElement) {
|
|
26
|
+
if ((event.ctrlKey || event.metaKey) && event.shiftKey) {
|
|
27
|
+
const panTool = designerCanvas.serviceContainer.designerTools.get(NamedTools.Pan);
|
|
28
|
+
if (panTool) {
|
|
29
|
+
panTool.pointerEventHandler(designerCanvas, event, currentElement);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
26
33
|
switch (event.type) {
|
|
27
34
|
case EventNames.PointerDown:
|
|
28
35
|
event.target.setPointerCapture(event.pointerId);
|
|
@@ -16,8 +16,8 @@ export class RectangleSelectorTool {
|
|
|
16
16
|
if (!this._rect)
|
|
17
17
|
this._rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
|
|
18
18
|
this._rect.setAttribute('class', 'svg-selector');
|
|
19
|
-
this._rect.setAttribute('x', this._initialPoint.x);
|
|
20
|
-
this._rect.setAttribute('y', this._initialPoint.y);
|
|
19
|
+
this._rect.setAttribute('x', (this._initialPoint.x * designerCanvas.scaleFactor));
|
|
20
|
+
this._rect.setAttribute('y', (this._initialPoint.y * designerCanvas.scaleFactor));
|
|
21
21
|
this._rect.setAttribute('width', 0);
|
|
22
22
|
this._rect.setAttribute('height', 0);
|
|
23
23
|
designerCanvas.overlayLayer.addOverlay(this._rect, OverlayLayer.Foregorund);
|
|
@@ -199,7 +199,7 @@ export class TreeView extends BaseCustomWebComponentLazyAppend {
|
|
|
199
199
|
// If the target is a <span>, you clicked on the span inside the button
|
|
200
200
|
// so you need to use currentTarget.
|
|
201
201
|
let item = event.target;
|
|
202
|
-
if (item.
|
|
202
|
+
if (item.localName === 'span') {
|
|
203
203
|
item = item.parentElement;
|
|
204
204
|
}
|
|
205
205
|
this._selectTreeElements([item]);
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from "./elements/controls/DesignerTabControl.js";
|
|
2
|
+
export * from "./elements/controls/PlainScrollbar.js";
|
|
2
3
|
export * from "./elements/services/DefaultServiceBootstrap.js";
|
|
3
4
|
export * from "./elements/helper/CssAttributeParser.js";
|
|
4
5
|
export * from "./elements/helper/CssCombiner.js";
|
|
@@ -96,6 +97,9 @@ export type { ITool } from "./elements/widgets/designerView/tools/ITool.js";
|
|
|
96
97
|
export * from "./elements/widgets/designerView/tools/NamedTools.js";
|
|
97
98
|
export * from "./elements/widgets/designerView/tools/DrawElementTool.js";
|
|
98
99
|
export * from "./elements/widgets/designerView/tools/DrawPathTool.js";
|
|
100
|
+
export * from "./elements/widgets/designerView/tools/DrawRectTool.js";
|
|
101
|
+
export * from "./elements/widgets/designerView/tools/DrawEllipsisTool.js";
|
|
102
|
+
export * from "./elements/widgets/designerView/tools/DrawLineTool.js";
|
|
99
103
|
export * from "./elements/widgets/designerView/tools/MagicWandSelectorTool.js";
|
|
100
104
|
export * from "./elements/widgets/designerView/tools/PanTool.js";
|
|
101
105
|
export * from "./elements/widgets/designerView/tools/PickColorTool.js";
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from "./elements/controls/DesignerTabControl.js";
|
|
2
|
+
export * from "./elements/controls/PlainScrollbar.js";
|
|
2
3
|
export * from "./elements/services/DefaultServiceBootstrap.js";
|
|
3
4
|
export * from "./elements/helper/CssAttributeParser.js";
|
|
4
5
|
export * from "./elements/helper/CssCombiner.js";
|
|
@@ -61,6 +62,9 @@ export * from "./elements/widgets/designerView/defaultConfiguredDesignerView.js"
|
|
|
61
62
|
export * from "./elements/widgets/designerView/tools/NamedTools.js";
|
|
62
63
|
export * from "./elements/widgets/designerView/tools/DrawElementTool.js";
|
|
63
64
|
export * from "./elements/widgets/designerView/tools/DrawPathTool.js";
|
|
65
|
+
export * from "./elements/widgets/designerView/tools/DrawRectTool.js";
|
|
66
|
+
export * from "./elements/widgets/designerView/tools/DrawEllipsisTool.js";
|
|
67
|
+
export * from "./elements/widgets/designerView/tools/DrawLineTool.js";
|
|
64
68
|
export * from "./elements/widgets/designerView/tools/MagicWandSelectorTool.js";
|
|
65
69
|
export * from "./elements/widgets/designerView/tools/PanTool.js";
|
|
66
70
|
export * from "./elements/widgets/designerView/tools/PickColorTool.js";
|