@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.
Files changed (55) hide show
  1. package/dist/elements/controls/PlainScrollbar.js +122 -116
  2. package/dist/elements/controls/SimpleSplitView.js +1 -1
  3. package/dist/elements/documentContainer.js +2 -0
  4. package/dist/elements/helper/ElementHelper.d.ts +1 -0
  5. package/dist/elements/helper/ElementHelper.js +10 -0
  6. package/dist/elements/item/DesignItem.d.ts +2 -0
  7. package/dist/elements/item/DesignItem.js +7 -0
  8. package/dist/elements/item/IDesignItem.d.ts +1 -0
  9. package/dist/elements/services/DefaultServiceBootstrap.js +0 -4
  10. package/dist/elements/services/ServiceContainer.d.ts +1 -3
  11. package/dist/elements/services/ServiceContainer.js +8 -3
  12. package/dist/elements/services/htmlParserService/NodeHtmlParserService.js +8 -0
  13. package/dist/elements/services/initializationService/DefaultIntializationService.js +12 -12
  14. package/dist/elements/services/instanceService/PrepareElementsForDesignerService.js +23 -23
  15. package/dist/elements/services/undoService/UndoService.js +3 -2
  16. package/dist/elements/services/undoService/transactionItems/InsertAction.js +0 -3
  17. package/dist/elements/widgets/designerView/IDesignerCanvas.d.ts +8 -0
  18. package/dist/elements/widgets/designerView/designerCanvas.d.ts +13 -1
  19. package/dist/elements/widgets/designerView/designerCanvas.js +129 -39
  20. package/dist/elements/widgets/designerView/designerCanvas.ts.BASE.d.ts +92 -0
  21. package/dist/elements/widgets/designerView/designerCanvas.ts.BASE.js +734 -0
  22. package/dist/elements/widgets/designerView/designerCanvas.ts.LOCAL.d.ts +95 -0
  23. package/dist/elements/widgets/designerView/designerCanvas.ts.LOCAL.js +768 -0
  24. package/dist/elements/widgets/designerView/designerCanvas.ts.REMOTE.d.ts +94 -0
  25. package/dist/elements/widgets/designerView/designerCanvas.ts.REMOTE.js +745 -0
  26. package/dist/elements/widgets/designerView/designerView.js +19 -15
  27. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension copy.d.ts +17 -0
  28. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension copy.js +80 -0
  29. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension.js +4 -2
  30. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider copy.d.ts +9 -0
  31. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider copy.js +11 -0
  32. package/dist/elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtension.d.ts +20 -0
  33. package/dist/elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtension.js +83 -0
  34. package/dist/elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtensionProvider.d.ts +10 -0
  35. package/dist/elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtensionProvider.js +15 -0
  36. package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtension.js +2 -2
  37. package/dist/elements/widgets/designerView/extensions/PathExtension.js +2 -5
  38. package/dist/elements/widgets/designerView/extensions/ResizeExtension.js +2 -1
  39. package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.js +1 -0
  40. package/dist/elements/widgets/designerView/tools/DrawEllipsisTool.js +1 -0
  41. package/dist/elements/widgets/designerView/tools/DrawLineTool.js +1 -0
  42. package/dist/elements/widgets/designerView/tools/DrawPathTool.js +1 -0
  43. package/dist/elements/widgets/designerView/tools/DrawRectTool.js +1 -0
  44. package/dist/elements/widgets/designerView/tools/MagicWandSelectorTool.js +10 -9
  45. package/dist/elements/widgets/designerView/tools/PanTool.js +1 -0
  46. package/dist/elements/widgets/designerView/tools/PointerTool.js +4 -2
  47. package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.js +10 -9
  48. package/dist/elements/widgets/designerView/tools/ZoomTool.d.ts +8 -1
  49. package/dist/elements/widgets/designerView/tools/ZoomTool.js +69 -0
  50. package/dist/elements/widgets/paletteView/paletteTreeView.js +5 -0
  51. package/dist/elements/widgets/treeView/treeView.js +1 -0
  52. package/dist/elements/widgets/treeView/treeViewExtended.js +21 -20
  53. package/dist/index.d.ts +4 -4
  54. package/dist/index.js +4 -3
  55. 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: 4px;
56
+ padding-right: 2px;
57
57
  align-items: center;
58
58
  gap: 2px;
59
59
  background: #ffffffc9;
60
- width: 70px;
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: false,
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
- if (activeElements != null) {
365
- this._tree.visit((node) => {
366
- //@ts-ignore
367
- if (activeElements.indexOf(node.data.ref) >= 0) {
368
- node.setSelected(true);
369
- node.makeVisible({ scrollIntoView: true });
370
- }
371
- else {
372
- node.setSelected(false);
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.86",
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.0",
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.4.7",
30
+ "jest": "^27.5.1",
30
31
  "jquery": "^3.6.0",
31
32
  "jquery.fancytree": "^2.38.1",
32
- "monaco-editor": "^0.31.1",
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"