@node-projects/web-component-designer 0.0.86 → 0.0.89
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/dist/elements/controls/PlainScrollbar.js +122 -116
- package/dist/elements/controls/SimpleSplitView.js +1 -1
- package/dist/elements/documentContainer.js +2 -0
- package/dist/elements/helper/ElementHelper.d.ts +1 -0
- package/dist/elements/helper/ElementHelper.js +10 -0
- package/dist/elements/item/DesignItem.d.ts +2 -0
- package/dist/elements/item/DesignItem.js +7 -0
- package/dist/elements/item/IDesignItem.d.ts +1 -0
- package/dist/elements/services/DefaultServiceBootstrap.js +0 -4
- package/dist/elements/services/ServiceContainer.d.ts +1 -3
- package/dist/elements/services/ServiceContainer.js +8 -3
- package/dist/elements/services/htmlParserService/NodeHtmlParserService.js +8 -0
- package/dist/elements/services/initializationService/DefaultIntializationService.js +12 -12
- package/dist/elements/services/instanceService/PrepareElementsForDesignerService.js +23 -23
- package/dist/elements/services/undoService/UndoService.js +3 -2
- package/dist/elements/services/undoService/transactionItems/InsertAction.js +0 -3
- package/dist/elements/widgets/designerView/IDesignerCanvas.d.ts +8 -0
- package/dist/elements/widgets/designerView/designerCanvas.d.ts +13 -1
- package/dist/elements/widgets/designerView/designerCanvas.js +129 -39
- package/dist/elements/widgets/designerView/designerCanvas.ts.BASE.d.ts +92 -0
- package/dist/elements/widgets/designerView/designerCanvas.ts.BASE.js +734 -0
- package/dist/elements/widgets/designerView/designerCanvas.ts.LOCAL.d.ts +95 -0
- package/dist/elements/widgets/designerView/designerCanvas.ts.LOCAL.js +768 -0
- package/dist/elements/widgets/designerView/designerCanvas.ts.REMOTE.d.ts +94 -0
- package/dist/elements/widgets/designerView/designerCanvas.ts.REMOTE.js +745 -0
- package/dist/elements/widgets/designerView/designerView.js +19 -15
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension copy.d.ts +17 -0
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension copy.js +80 -0
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension.js +4 -2
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider copy.d.ts +9 -0
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider copy.js +11 -0
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtension.d.ts +20 -0
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtension.js +83 -0
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtensionProvider.d.ts +10 -0
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtensionProvider.js +15 -0
- package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtension.js +2 -2
- package/dist/elements/widgets/designerView/extensions/PathExtension.js +2 -5
- package/dist/elements/widgets/designerView/extensions/ResizeExtension.js +2 -1
- package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.js +1 -0
- package/dist/elements/widgets/designerView/tools/DrawEllipsisTool.js +1 -0
- package/dist/elements/widgets/designerView/tools/DrawLineTool.js +1 -0
- package/dist/elements/widgets/designerView/tools/DrawPathTool.js +1 -0
- package/dist/elements/widgets/designerView/tools/DrawRectTool.js +1 -0
- package/dist/elements/widgets/designerView/tools/MagicWandSelectorTool.js +10 -9
- package/dist/elements/widgets/designerView/tools/PanTool.js +1 -0
- package/dist/elements/widgets/designerView/tools/PointerTool.js +4 -2
- package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.js +10 -9
- package/dist/elements/widgets/designerView/tools/ZoomTool.d.ts +8 -1
- package/dist/elements/widgets/designerView/tools/ZoomTool.js +69 -0
- package/dist/elements/widgets/paletteView/paletteTreeView.js +5 -0
- package/dist/elements/widgets/treeView/treeView.js +1 -0
- package/dist/elements/widgets/treeView/treeViewExtended.js +21 -20
- package/dist/index.d.ts +4 -4
- package/dist/index.js +4 -3
- package/package.json +5 -4
|
@@ -1,8 +1,77 @@
|
|
|
1
|
+
import { EventNames, OverlayLayer } from '../../../../index.js';
|
|
1
2
|
export class ZoomTool {
|
|
2
3
|
cursor = 'zoom-in';
|
|
4
|
+
_rect;
|
|
5
|
+
_startPoint;
|
|
6
|
+
_endPoint;
|
|
7
|
+
_pointerMovementTolerance = 5;
|
|
8
|
+
_zoomStepSize = 0.2; //number x 100 = Scale in percent
|
|
3
9
|
activated(serviceContainer) {
|
|
4
10
|
}
|
|
5
11
|
pointerEventHandler(designerCanvas, event, currentElement) {
|
|
12
|
+
const eventPoint = designerCanvas.getNormalizedEventCoordinates(event);
|
|
13
|
+
switch (event.type) {
|
|
14
|
+
case EventNames.PointerDown:
|
|
15
|
+
this._startPoint = eventPoint;
|
|
16
|
+
if (!this._rect)
|
|
17
|
+
this._rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
|
|
18
|
+
this._rect.setAttribute('class', 'svg-selector');
|
|
19
|
+
this._rect.setAttribute('x', (this._startPoint.x * designerCanvas.zoomFactor));
|
|
20
|
+
this._rect.setAttribute('y', (this._startPoint.y * designerCanvas.zoomFactor));
|
|
21
|
+
this._rect.setAttribute('width', 0);
|
|
22
|
+
this._rect.setAttribute('height', 0);
|
|
23
|
+
designerCanvas.overlayLayer.addOverlay(this._rect, OverlayLayer.Foregorund);
|
|
24
|
+
break;
|
|
25
|
+
case EventNames.PointerMove:
|
|
26
|
+
if (this._startPoint) {
|
|
27
|
+
let width = eventPoint.x - this._startPoint.x;
|
|
28
|
+
let height = eventPoint.y - this._startPoint.y;
|
|
29
|
+
if (width >= 0) {
|
|
30
|
+
this._rect.setAttribute('x', this._startPoint.x);
|
|
31
|
+
this._rect.setAttribute('width', width);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
this._rect.setAttribute('x', eventPoint.x);
|
|
35
|
+
this._rect.setAttribute('width', (-1 * width));
|
|
36
|
+
}
|
|
37
|
+
if (height >= 0) {
|
|
38
|
+
this._rect.setAttribute('y', this._startPoint.y);
|
|
39
|
+
this._rect.setAttribute('height', height);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
this._rect.setAttribute('y', eventPoint.y);
|
|
43
|
+
this._rect.setAttribute('height', (-1 * height));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
break;
|
|
47
|
+
case EventNames.PointerUp:
|
|
48
|
+
this._endPoint = eventPoint;
|
|
49
|
+
let isLeftClick = event.button == 0;
|
|
50
|
+
switch (event.button) {
|
|
51
|
+
case 0: //Left-Click
|
|
52
|
+
case 2: //Right-Click
|
|
53
|
+
this._zoomOnto(isLeftClick, this._startPoint, this._endPoint, designerCanvas);
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
designerCanvas.overlayLayer.removeOverlay(this._rect);
|
|
57
|
+
this._rect = null;
|
|
58
|
+
this._startPoint = null;
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
_zoomOnto(isZoomInto, startPoint, endPoint, designerCanvas) {
|
|
63
|
+
if (this._isPositionEqual(startPoint, endPoint)) {
|
|
64
|
+
const oldZoom = designerCanvas.zoomFactor;
|
|
65
|
+
const newZoom = isZoomInto ? oldZoom + this._zoomStepSize : oldZoom - this._zoomStepSize;
|
|
66
|
+
designerCanvas.zoomTowardsPoint(endPoint, newZoom);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
designerCanvas.zoomOntoRectangle(startPoint, endPoint);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
_isPositionEqual(startPoint, endPoint) {
|
|
73
|
+
let tolerance = this._pointerMovementTolerance;
|
|
74
|
+
return Math.abs(startPoint.x - endPoint.x) <= tolerance && Math.abs(startPoint.y - endPoint.y) <= tolerance;
|
|
6
75
|
}
|
|
7
76
|
keyboardEventHandler(designerCanvas, event, currentElement) { }
|
|
8
77
|
dispose() {
|
|
@@ -72,6 +72,11 @@ export class PaletteTreeView extends BaseCustomWebComponentConstructorAppend {
|
|
|
72
72
|
extensions: ['childcounter', 'dnd5', 'filter'],
|
|
73
73
|
quicksearch: true,
|
|
74
74
|
source: [],
|
|
75
|
+
filter: {
|
|
76
|
+
autoExpand: true,
|
|
77
|
+
mode: 'hide',
|
|
78
|
+
highlight: true
|
|
79
|
+
},
|
|
75
80
|
dnd5: {
|
|
76
81
|
dropMarkerParent: this.shadowRoot,
|
|
77
82
|
preventRecursion: true,
|
|
@@ -109,6 +109,7 @@ export class TreeView extends BaseCustomWebComponentLazyAppend {
|
|
|
109
109
|
constructor() {
|
|
110
110
|
super();
|
|
111
111
|
this._treeDiv = document.createElement('div');
|
|
112
|
+
this._treeDiv.style.userSelect = 'none';
|
|
112
113
|
this.shadowRoot.appendChild(this._treeDiv);
|
|
113
114
|
this._treeDiv.addEventListener('click', this._clickElement.bind(this));
|
|
114
115
|
}
|
|
@@ -53,15 +53,19 @@ export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
|
|
|
53
53
|
display: flex;
|
|
54
54
|
position: sticky;
|
|
55
55
|
right: 0;
|
|
56
|
-
padding-right:
|
|
56
|
+
padding-right: 2px;
|
|
57
57
|
align-items: center;
|
|
58
58
|
gap: 2px;
|
|
59
59
|
background: #ffffffc9;
|
|
60
|
-
width:
|
|
60
|
+
width: 42px;
|
|
61
61
|
justify-content: flex-end;
|
|
62
62
|
background: white;
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
+
.cmd > img {
|
|
66
|
+
width: 10px;
|
|
67
|
+
}
|
|
68
|
+
|
|
65
69
|
table.fancytree-ext-table tbody tr.fancytree-selected {
|
|
66
70
|
background-color: #bebebe;
|
|
67
71
|
}
|
|
@@ -168,16 +172,16 @@ export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
|
|
|
168
172
|
node.tr.oncontextmenu = (e) => this.showDesignItemContextMenu(designItem, e);
|
|
169
173
|
let d = document.createElement("div");
|
|
170
174
|
d.className = "cmd";
|
|
171
|
-
let img = document.createElement('img');
|
|
172
|
-
this._showHideAtDesignTimeState(img, designItem);
|
|
173
|
-
img.onclick = () => this._switchHideAtDesignTimeState(img, designItem);
|
|
174
|
-
img.title = 'hide in designer';
|
|
175
|
-
d.appendChild(img);
|
|
176
175
|
let imgL = document.createElement('img');
|
|
177
176
|
this._showLockAtDesignTimeState(imgL, designItem);
|
|
178
177
|
imgL.onclick = () => this._switchLockAtDesignTimeState(imgL, designItem);
|
|
179
178
|
imgL.title = 'lock';
|
|
180
179
|
d.appendChild(imgL);
|
|
180
|
+
let img = document.createElement('img');
|
|
181
|
+
this._showHideAtDesignTimeState(img, designItem);
|
|
182
|
+
img.onclick = () => this._switchHideAtDesignTimeState(img, designItem);
|
|
183
|
+
img.title = 'hide in designer';
|
|
184
|
+
d.appendChild(img);
|
|
181
185
|
let imgH = document.createElement('img');
|
|
182
186
|
this._showHideAtRunTimeState(imgH, designItem);
|
|
183
187
|
imgH.onclick = () => this._switchHideAtRunTimeState(imgH, designItem);
|
|
@@ -290,7 +294,7 @@ export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
|
|
|
290
294
|
},
|
|
291
295
|
filter: {
|
|
292
296
|
autoApply: true,
|
|
293
|
-
autoExpand:
|
|
297
|
+
autoExpand: true,
|
|
294
298
|
counter: true,
|
|
295
299
|
fuzzy: true,
|
|
296
300
|
hideExpandedCounter: true,
|
|
@@ -361,18 +365,15 @@ export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
|
|
|
361
365
|
}
|
|
362
366
|
}
|
|
363
367
|
_highlight(activeElements) {
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
}
|
|
374
|
-
});
|
|
375
|
-
}
|
|
368
|
+
this._tree.visit((node) => {
|
|
369
|
+
if (activeElements && activeElements.indexOf(node.data.ref) >= 0) {
|
|
370
|
+
node.setSelected(true);
|
|
371
|
+
node.makeVisible({ scrollIntoView: true });
|
|
372
|
+
}
|
|
373
|
+
else {
|
|
374
|
+
node.setSelected(false);
|
|
375
|
+
}
|
|
376
|
+
});
|
|
376
377
|
}
|
|
377
378
|
}
|
|
378
379
|
customElements.define('node-projects-tree-view-extended', TreeViewExtended);
|
package/dist/index.d.ts
CHANGED
|
@@ -55,8 +55,6 @@ export type { IHtmlParserService } from "./elements/services/htmlParserService/I
|
|
|
55
55
|
export type { IIntializationService } from "./elements/services/initializationService/IIntializationService.js";
|
|
56
56
|
export * from "./elements/services/instanceService/DefaultInstanceService.js";
|
|
57
57
|
export type { IInstanceService } from "./elements/services/instanceService/IInstanceService.js";
|
|
58
|
-
export * from "./elements/services/instanceService/PrepareElementsForDesignerService.js";
|
|
59
|
-
export type { IPrepareElementsForDesignerService } from "./elements/services/instanceService/IPrepareElementsForDesignerService.js";
|
|
60
58
|
export * from "./elements/services/manifestParsers/WebcomponentManifestParserService.js";
|
|
61
59
|
export type { IModelCommandService } from "./elements/services/modelCommandService/IModelCommandService.js";
|
|
62
60
|
export * from "./elements/services/modelCommandService/DefaultModelCommandService.js";
|
|
@@ -132,8 +130,6 @@ export * from "./elements/widgets/designerView/extensions/GrayOutExtension.js";
|
|
|
132
130
|
export * from "./elements/widgets/designerView/extensions/GrayOutExtensionProvider.js";
|
|
133
131
|
export * from "./elements/widgets/designerView/extensions/GridExtension.js";
|
|
134
132
|
export * from "./elements/widgets/designerView/extensions/GridExtensionProvider.js";
|
|
135
|
-
export * from "./elements/widgets/designerView/extensions/IframeExtension.js";
|
|
136
|
-
export * from "./elements/widgets/designerView/extensions/IframeExtensionProvider.js";
|
|
137
133
|
export * from "./elements/widgets/designerView/extensions/InvisibleDivExtension.js";
|
|
138
134
|
export * from "./elements/widgets/designerView/extensions/InvisibleDivExtensionProvider.js";
|
|
139
135
|
export * from "./elements/widgets/designerView/extensions/MouseOverExtension.js";
|
|
@@ -152,6 +148,10 @@ export * from "./elements/widgets/designerView/extensions/SelectionDefaultExtens
|
|
|
152
148
|
export * from "./elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.js";
|
|
153
149
|
export * from "./elements/widgets/designerView/extensions/TransformOriginExtension.js";
|
|
154
150
|
export * from "./elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js";
|
|
151
|
+
export * from "./elements/widgets/designerView/extensions/EditText/EditTextExtension.js";
|
|
152
|
+
export * from "./elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider.js";
|
|
153
|
+
export * from "./elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtension.js";
|
|
154
|
+
export * from "./elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtensionProvider.js";
|
|
155
155
|
export type { IContextMenuExtension, ContextmenuInitiator } from "./elements/widgets/designerView/extensions/contextMenu/IContextMenuExtension.js";
|
|
156
156
|
export * from "./elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js";
|
|
157
157
|
export * from "./elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js";
|
package/dist/index.js
CHANGED
|
@@ -33,7 +33,6 @@ export * from "./elements/services/htmlWriterService/LitTsElementWriterService.j
|
|
|
33
33
|
export * from "./elements/services/htmlParserService/DefaultHtmlParserService.js";
|
|
34
34
|
export * from "./elements/services/htmlParserService/NodeHtmlParserService.js";
|
|
35
35
|
export * from "./elements/services/instanceService/DefaultInstanceService.js";
|
|
36
|
-
export * from "./elements/services/instanceService/PrepareElementsForDesignerService.js";
|
|
37
36
|
export * from "./elements/services/manifestParsers/WebcomponentManifestParserService.js";
|
|
38
37
|
export * from "./elements/services/modelCommandService/DefaultModelCommandService.js";
|
|
39
38
|
export * from "./elements/services/propertiesService/DefaultEditorTypesService.js";
|
|
@@ -92,8 +91,6 @@ export * from "./elements/widgets/designerView/extensions/GrayOutExtension.js";
|
|
|
92
91
|
export * from "./elements/widgets/designerView/extensions/GrayOutExtensionProvider.js";
|
|
93
92
|
export * from "./elements/widgets/designerView/extensions/GridExtension.js";
|
|
94
93
|
export * from "./elements/widgets/designerView/extensions/GridExtensionProvider.js";
|
|
95
|
-
export * from "./elements/widgets/designerView/extensions/IframeExtension.js";
|
|
96
|
-
export * from "./elements/widgets/designerView/extensions/IframeExtensionProvider.js";
|
|
97
94
|
export * from "./elements/widgets/designerView/extensions/InvisibleDivExtension.js";
|
|
98
95
|
export * from "./elements/widgets/designerView/extensions/InvisibleDivExtensionProvider.js";
|
|
99
96
|
export * from "./elements/widgets/designerView/extensions/MouseOverExtension.js";
|
|
@@ -112,6 +109,10 @@ export * from "./elements/widgets/designerView/extensions/SelectionDefaultExtens
|
|
|
112
109
|
export * from "./elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.js";
|
|
113
110
|
export * from "./elements/widgets/designerView/extensions/TransformOriginExtension.js";
|
|
114
111
|
export * from "./elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js";
|
|
112
|
+
export * from "./elements/widgets/designerView/extensions/EditText/EditTextExtension.js";
|
|
113
|
+
export * from "./elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider.js";
|
|
114
|
+
export * from "./elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtension.js";
|
|
115
|
+
export * from "./elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtensionProvider.js";
|
|
115
116
|
export * from "./elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js";
|
|
116
117
|
export * from "./elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js";
|
|
117
118
|
export * from "./elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.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.
|
|
4
|
+
"version": "0.0.89",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"author": "",
|
|
@@ -13,12 +13,13 @@
|
|
|
13
13
|
"prepublishOnly": "npm run build"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@node-projects/base-custom-webcomponent": "^0.5.
|
|
16
|
+
"@node-projects/base-custom-webcomponent": "^0.5.3",
|
|
17
17
|
"construct-style-sheets-polyfill": "^3.1.0"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"@node-projects/lean-he-esm": "^3.3.0",
|
|
21
21
|
"@node-projects/node-html-parser-esm": "^2.4.1",
|
|
22
|
+
"@papyrs/stylo": "^0.0.8",
|
|
22
23
|
"@types/codemirror": "^5.60.5",
|
|
23
24
|
"@types/jquery": "^3.5.13",
|
|
24
25
|
"@types/jquery.fancytree": "0.0.7",
|
|
@@ -26,10 +27,10 @@
|
|
|
26
27
|
"codemirror": "^5.65.1",
|
|
27
28
|
"esprima-next": "^5.8.1",
|
|
28
29
|
"html2canvas": "*",
|
|
29
|
-
"jest": "^27.
|
|
30
|
+
"jest": "^27.5.1",
|
|
30
31
|
"jquery": "^3.6.0",
|
|
31
32
|
"jquery.fancytree": "^2.38.1",
|
|
32
|
-
"monaco-editor": "^0.
|
|
33
|
+
"monaco-editor": "^0.32.1",
|
|
33
34
|
"ts-jest": "^27.1.3",
|
|
34
35
|
"typescript": "^4.5.5",
|
|
35
36
|
"typescript-lit-html-plugin": "^0.9.0"
|