@node-projects/web-component-designer 0.0.125 → 0.0.127

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 (153) hide show
  1. package/ACKNOWLEDGMENTS +3 -1
  2. package/dist/elements/helper/contextMenu/ContextMenu.d.ts +29 -0
  3. package/dist/elements/helper/contextMenu/ContextMenu.js +304 -0
  4. package/dist/elements/helper/contextMenu/{IContextmenuItem.d.ts → IContextMenuItem.d.ts} +3 -2
  5. package/dist/elements/helper/contextMenu/{IContextmenuItem.js → IContextMenuItem.js} +1 -0
  6. package/dist/elements/widgets/designerView/designerCanvas.d.ts +2 -2
  7. package/dist/elements/widgets/designerView/designerCanvas.js +4 -3
  8. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.d.ts +1 -1
  9. package/dist/elements/widgets/designerView/extensions/contextMenu/IContextMenuExtension.d.ts +1 -1
  10. package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.d.ts +1 -1
  11. package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js +1 -2
  12. package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.d.ts +1 -1
  13. package/dist/elements/widgets/designerView/extensions/contextMenu/PathContextMenu.d.ts +1 -1
  14. package/dist/elements/widgets/designerView/extensions/contextMenu/RectContextMenu.d.ts +1 -1
  15. package/dist/elements/widgets/designerView/extensions/contextMenu/RotateLeftAndRightContextMenu.d.ts +1 -1
  16. package/dist/elements/widgets/designerView/extensions/contextMenu/SelectAllChildrenContextMenu.d.ts +1 -1
  17. package/dist/elements/widgets/designerView/extensions/contextMenu/SeperatorContextMenu.d.ts +1 -1
  18. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.d.ts +1 -1
  19. package/dist/elements/widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.d.ts +1 -1
  20. package/dist/elements/widgets/designerView/extensions/svg/PathExtension.js +2 -2
  21. package/dist/elements/widgets/designerView/tools/PointerTool.js +1 -1
  22. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.js +2 -2
  23. package/dist/elements/widgets/treeView/treeViewExtended.d.ts +2 -2
  24. package/dist/elements/widgets/treeView/treeViewExtended.js +3 -3
  25. package/dist/index.d.ts +2 -2
  26. package/dist/index.js +1 -1
  27. package/package.json +2 -2
  28. package/dist/elements/helper/KeyNameHelper.d.ts +0 -0
  29. package/dist/elements/helper/KeyNameHelper.js +0 -1
  30. package/dist/elements/helper/contextMenu/ContextMenuHelper.d.ts +0 -27
  31. package/dist/elements/helper/contextMenu/ContextMenuHelper.js +0 -216
  32. package/dist/elements/services/bindableObjectsService/IDragDropService.d.ts +0 -5
  33. package/dist/elements/services/bindableObjectsService/IDragDropService.js +0 -1
  34. package/dist/elements/services/elementsService/WebcomponentManifestParserService.d.ts +0 -25
  35. package/dist/elements/services/elementsService/WebcomponentManifestParserService.js +0 -94
  36. package/dist/elements/services/htmlParserService/NodeHtmlParserService copy.d.ts +0 -11
  37. package/dist/elements/services/htmlParserService/NodeHtmlParserService copy.js +0 -96
  38. package/dist/elements/services/initializationService/DefaultIntializationService.d.ts +0 -6
  39. package/dist/elements/services/initializationService/DefaultIntializationService.js +0 -22
  40. package/dist/elements/services/instanceService/IPrepareElementsForDesignerService.d.ts +0 -4
  41. package/dist/elements/services/instanceService/IPrepareElementsForDesignerService.js +0 -1
  42. package/dist/elements/services/instanceService/PrepareElementsForDesignerService.d.ts +0 -6
  43. package/dist/elements/services/instanceService/PrepareElementsForDesignerService.js +0 -32
  44. package/dist/elements/services/propertiesService/services/WebcomponentManifestParserService.d.ts +0 -25
  45. package/dist/elements/services/propertiesService/services/WebcomponentManifestParserService.js +0 -94
  46. package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction.d.ts +0 -16
  47. package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction.js +0 -31
  48. package/dist/elements/widgets/designerView/DesignerViewUseOverlayScollbars.d.ts +0 -7
  49. package/dist/elements/widgets/designerView/DesignerViewUseOverlayScollbars.js +0 -13
  50. package/dist/elements/widgets/designerView/designerCanvas.ts.BASE.d.ts +0 -92
  51. package/dist/elements/widgets/designerView/designerCanvas.ts.BASE.js +0 -734
  52. package/dist/elements/widgets/designerView/designerCanvas.ts.LOCAL.d.ts +0 -95
  53. package/dist/elements/widgets/designerView/designerCanvas.ts.LOCAL.js +0 -768
  54. package/dist/elements/widgets/designerView/designerCanvas.ts.REMOTE.d.ts +0 -94
  55. package/dist/elements/widgets/designerView/designerCanvas.ts.REMOTE.js +0 -745
  56. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtension copy.d.ts +0 -12
  57. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtension copy.js +0 -20
  58. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider copy.d.ts +0 -10
  59. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider copy.js +0 -14
  60. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension copy.d.ts +0 -17
  61. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension copy.js +0 -80
  62. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider copy.d.ts +0 -9
  63. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider copy.js +0 -11
  64. package/dist/elements/widgets/designerView/extensions/GrayOutDragOverExtension.d.ts +0 -11
  65. package/dist/elements/widgets/designerView/extensions/GrayOutDragOverExtension.js +0 -18
  66. package/dist/elements/widgets/designerView/extensions/IframeExtension.d.ts +0 -11
  67. package/dist/elements/widgets/designerView/extensions/IframeExtension.js +0 -46
  68. package/dist/elements/widgets/designerView/extensions/IframeExtensionProvider.d.ts +0 -9
  69. package/dist/elements/widgets/designerView/extensions/IframeExtensionProvider.js +0 -9
  70. package/dist/elements/widgets/designerView/extensions/PathExtension.d.ts +0 -23
  71. package/dist/elements/widgets/designerView/extensions/PathExtension.js +0 -251
  72. package/dist/elements/widgets/designerView/extensions/PathExtensionProvider.d.ts +0 -9
  73. package/dist/elements/widgets/designerView/extensions/PathExtensionProvider.js +0 -18
  74. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtension.d.ts +0 -13
  75. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtension.js +0 -21
  76. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtensionProvider.d.ts +0 -10
  77. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtensionProvider.js +0 -13
  78. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu copy.d.ts +0 -8
  79. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu copy.js +0 -15
  80. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu copy.d.ts +0 -8
  81. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu copy.js +0 -14
  82. package/dist/elements/widgets/designerView/toolBar/DrawElementTool.d.ts +0 -19
  83. package/dist/elements/widgets/designerView/toolBar/DrawElementTool.js +0 -79
  84. package/dist/elements/widgets/designerView/toolBar/DrawEllipsisTool.d.ts +0 -16
  85. package/dist/elements/widgets/designerView/toolBar/DrawEllipsisTool.js +0 -94
  86. package/dist/elements/widgets/designerView/toolBar/DrawLineTool.d.ts +0 -14
  87. package/dist/elements/widgets/designerView/toolBar/DrawLineTool.js +0 -79
  88. package/dist/elements/widgets/designerView/toolBar/DrawPathTool.d.ts +0 -20
  89. package/dist/elements/widgets/designerView/toolBar/DrawPathTool.js +0 -128
  90. package/dist/elements/widgets/designerView/toolBar/DrawRectTool.d.ts +0 -19
  91. package/dist/elements/widgets/designerView/toolBar/DrawRectTool.js +0 -109
  92. package/dist/elements/widgets/designerView/toolBar/ITool.d.ts +0 -9
  93. package/dist/elements/widgets/designerView/toolBar/ITool.js +0 -1
  94. package/dist/elements/widgets/designerView/toolBar/MagicWandSelectorTool.d.ts +0 -12
  95. package/dist/elements/widgets/designerView/toolBar/MagicWandSelectorTool.js +0 -64
  96. package/dist/elements/widgets/designerView/toolBar/NamedTools.d.ts +0 -15
  97. package/dist/elements/widgets/designerView/toolBar/NamedTools.js +0 -16
  98. package/dist/elements/widgets/designerView/toolBar/PanTool.d.ts +0 -10
  99. package/dist/elements/widgets/designerView/toolBar/PanTool.js +0 -26
  100. package/dist/elements/widgets/designerView/toolBar/PickColorTool.d.ts +0 -10
  101. package/dist/elements/widgets/designerView/toolBar/PickColorTool.js +0 -20
  102. package/dist/elements/widgets/designerView/toolBar/PointerTool.d.ts +0 -24
  103. package/dist/elements/widgets/designerView/toolBar/PointerTool.js +0 -283
  104. package/dist/elements/widgets/designerView/toolBar/RectangleSelectorTool.d.ts +0 -12
  105. package/dist/elements/widgets/designerView/toolBar/RectangleSelectorTool.js +0 -84
  106. package/dist/elements/widgets/designerView/toolBar/TextTool.d.ts +0 -11
  107. package/dist/elements/widgets/designerView/toolBar/TextTool.js +0 -33
  108. package/dist/elements/widgets/designerView/toolBar/ZoomTool.d.ts +0 -17
  109. package/dist/elements/widgets/designerView/toolBar/ZoomTool.js +0 -79
  110. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolRenderer.d.ts +0 -5
  111. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolRenderer.js +0 -19
  112. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolbarPopup.d.ts +0 -8
  113. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolbarPopup.js +0 -41
  114. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolbarPopupToolSelect.d.ts +0 -9
  115. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolbarPopupToolSelect.js +0 -42
  116. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolsButtons.d.ts +0 -36
  117. package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolsButtons.js +0 -96
  118. package/dist/elements/widgets/designerView/toolBar/designerToolbarPopups/DrawToolPopup.d.ts +0 -5
  119. package/dist/elements/widgets/designerView/toolBar/designerToolbarPopups/DrawToolPopup.js +0 -21
  120. package/dist/elements/widgets/designerView/toolBar/designerToolbarPopups/SelectorToolsPopup.d.ts +0 -8
  121. package/dist/elements/widgets/designerView/toolBar/designerToolbarPopups/SelectorToolsPopup.js +0 -23
  122. package/dist/elements/widgets/designerView/toolBar/designerToolsDock.d.ts +0 -24
  123. package/dist/elements/widgets/designerView/toolBar/designerToolsDock.js +0 -115
  124. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolRenderer.d.ts +0 -5
  125. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolRenderer.js +0 -19
  126. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolbarPopup.d.ts +0 -8
  127. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolbarPopup.js +0 -41
  128. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolbarPopupToolSelect.d.ts +0 -9
  129. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolbarPopupToolSelect.js +0 -42
  130. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolsButtons.d.ts +0 -36
  131. package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolsButtons.js +0 -87
  132. package/dist/elements/widgets/designerView/tools/designerToolbarPopups/DrawToolPopup copy.d.ts +0 -8
  133. package/dist/elements/widgets/designerView/tools/designerToolbarPopups/DrawToolPopup copy.js +0 -25
  134. package/dist/elements/widgets/designerView/tools/designerToolbarPopups/DrawToolPopup.d.ts +0 -5
  135. package/dist/elements/widgets/designerView/tools/designerToolbarPopups/DrawToolPopup.js +0 -21
  136. package/dist/elements/widgets/designerView/tools/designerToolbarPopups/SelectorToolsPopup.d.ts +0 -8
  137. package/dist/elements/widgets/designerView/tools/designerToolbarPopups/SelectorToolsPopup.js +0 -23
  138. package/dist/elements/widgets/designerView/tools/designerToolsDock.d.ts +0 -24
  139. package/dist/elements/widgets/designerView/tools/designerToolsDock.js +0 -115
  140. package/dist/elements/widgets/designerView/tools/toolBar/AbstractDesignerToolbarButton.d.ts +0 -5
  141. package/dist/elements/widgets/designerView/tools/toolBar/AbstractDesignerToolbarButton.js +0 -5
  142. package/dist/elements/widgets/designerView/tools/toolBar/IDesignViewConfigButtonsProvider.d.ts +0 -5
  143. package/dist/elements/widgets/designerView/tools/toolBar/IDesignViewConfigButtonsProvider.js +0 -1
  144. package/dist/elements/widgets/designerView/tools/toolBar/buttons/PointerToolButtonProvider copy.d.ts +0 -5
  145. package/dist/elements/widgets/designerView/tools/toolBar/buttons/PointerToolButtonProvider copy.js +0 -7
  146. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SelectorToolButtonProvider copy.d.ts +0 -5
  147. package/dist/elements/widgets/designerView/tools/toolBar/buttons/SelectorToolButtonProvider copy.js +0 -10
  148. package/dist/elements/widgets/designerView/tools/toolBar/designerToolsDock.d.ts +0 -24
  149. package/dist/elements/widgets/designerView/tools/toolBar/designerToolsDock.js +0 -115
  150. package/dist/elements/widgets/designerView/tools/toolBar/popups/SelectorToolsPopup.d.ts +0 -7
  151. package/dist/elements/widgets/designerView/tools/toolBar/popups/SelectorToolsPopup.js +0 -23
  152. package/dist/elements/widgets/designerView/tools/toolBar/popups/designerToolbarPopup.d.ts +0 -8
  153. package/dist/elements/widgets/designerView/tools/toolBar/popups/designerToolbarPopup.js +0 -41
@@ -1,27 +0,0 @@
1
- import { IContextMenuItem } from "./IContextmenuItem";
2
- export declare class ContextMenuHelper {
3
- private static _contextMenuCss;
4
- private _shadowRoot;
5
- private _element;
6
- private _closeBound;
7
- private _keyUpBound;
8
- private _closeOnDownBound;
9
- private _closeOnUpBound;
10
- static addContextMenu(element: HTMLElement, items: IContextMenuItem[]): void;
11
- static showContextMenu(shadowRoot: ShadowRoot | Document | null, e: MouseEvent, element: HTMLElement, items: IContextMenuItem[]): ContextMenuHelper;
12
- private constructor();
13
- private init;
14
- close(): void;
15
- show(): void;
16
- hide(): void;
17
- private _keyUp;
18
- private _closeOnDown;
19
- private _closeOnUp;
20
- static createMenu(helper: ContextMenuHelper, items: IContextMenuItem[]): HTMLElement;
21
- static clickInsideElement(e: any, className: any): any;
22
- static getPosition(e: MouseEvent): {
23
- x: number;
24
- y: number;
25
- };
26
- positionMenu(e: MouseEvent): void;
27
- }
@@ -1,216 +0,0 @@
1
- import { css } from "@node-projects/base-custom-webcomponent";
2
- export class ContextMenuHelper {
3
- static _contextMenuCss = css `
4
- .context-menu {
5
- display: none;
6
- position: absolute;
7
- z-index: 999999;
8
- padding: 0px 0;
9
- background-color: rgb(255 255 255 / 93%);
10
- border: solid 1px #dfdfdf;
11
- box-shadow: 1px 1px 2px #cfcfcf;
12
- cursor: default;
13
- user-select: none;
14
- -webkit-user-select: none;
15
- border-radius: 12px;
16
- }
17
-
18
- .context-menu hr {
19
- margin: 0 0 5px 5%;
20
- height: 1px;
21
- width: 90%;
22
- background-color: #e2e2e2;
23
- }
24
-
25
- .context-menu--active {
26
- display: block;
27
- }
28
-
29
- .context-menu__items {
30
- list-style: none;
31
- margin: 8px;
32
- padding: 0;
33
- }
34
-
35
- .context-menu__item {
36
- display: block;
37
- margin-bottom: 4px;
38
- }
39
-
40
- .context-menu__item:last-child {
41
- margin-bottom: 0;
42
- }
43
-
44
- .context-menu__link {
45
- display: block;
46
- padding: 0px 12px;
47
- color: #0066aa;
48
- text-decoration: none;
49
- }
50
-
51
- .context-menu__link:hover {
52
- color: #fff;
53
- background-color: #0066aa;
54
- }`;
55
- _shadowRoot;
56
- _element;
57
- _closeBound;
58
- _keyUpBound;
59
- _closeOnDownBound;
60
- _closeOnUpBound;
61
- static addContextMenu(element, items) {
62
- element.oncontextmenu = (event) => {
63
- event.preventDefault();
64
- ContextMenuHelper.showContextMenu(null, event, null, items);
65
- };
66
- }
67
- static showContextMenu(shadowRoot, e, element, items) {
68
- if (shadowRoot == null)
69
- shadowRoot = document;
70
- //@ts-ignore
71
- if (shadowRoot.adoptedStyleSheets.indexOf(ContextMenuHelper._contextMenuCss) < 0) {
72
- //@ts-ignore
73
- shadowRoot.adoptedStyleSheets = [...shadowRoot.adoptedStyleSheets, ContextMenuHelper._contextMenuCss];
74
- }
75
- let ctxMenu = new ContextMenuHelper();
76
- let menu = ContextMenuHelper.createMenu(ctxMenu, items);
77
- ctxMenu.init(shadowRoot, menu);
78
- ctxMenu.positionMenu(e);
79
- return ctxMenu;
80
- }
81
- constructor() {
82
- }
83
- init(shadowRoot, element) {
84
- this._shadowRoot = shadowRoot;
85
- this._element = element;
86
- if (this._shadowRoot === document)
87
- document.body.appendChild(this._element);
88
- else
89
- this._shadowRoot.appendChild(this._element);
90
- this._closeBound = this.close.bind(this);
91
- this._closeOnUpBound = this._closeOnUp.bind(this);
92
- this._closeOnDownBound = this._closeOnDown.bind(this);
93
- this._keyUpBound = this._keyUp.bind(this);
94
- window.addEventListener('keyup', this._keyUpBound);
95
- window.addEventListener('resize', this._closeBound);
96
- window.addEventListener('mousedown', this._closeOnDownBound);
97
- window.addEventListener('mouseup', this._closeOnUpBound);
98
- this._element.classList.add('context-menu--active');
99
- }
100
- close() {
101
- requestAnimationFrame(() => {
102
- window.removeEventListener('keyup', this._keyUpBound);
103
- window.removeEventListener('resize', this._closeBound);
104
- window.removeEventListener('mousedown', this._closeOnDownBound);
105
- window.removeEventListener('mouseup', this._closeOnUpBound);
106
- if (this._element.parentElement)
107
- this._element.parentElement.removeChild(this._element);
108
- });
109
- }
110
- show() {
111
- this._element.classList.add('context-menu--active');
112
- }
113
- hide() {
114
- this._element.classList.remove('context-menu--active');
115
- }
116
- _keyUp(e) {
117
- if (e.keyCode === 27) {
118
- this.close();
119
- }
120
- }
121
- _closeOnDown(e) {
122
- const p = e.composedPath();
123
- if (p.indexOf(this._element) < 0)
124
- this.close();
125
- }
126
- _closeOnUp(e) {
127
- if (e.button == 1)
128
- this.close();
129
- }
130
- static createMenu(helper, items) {
131
- let nav = document.createElement('nav');
132
- nav.className = 'context-menu';
133
- let ul = document.createElement('ul');
134
- ul.className = 'context-menu__items';
135
- nav.appendChild(ul);
136
- let lastWasSeperator = false;
137
- for (let i of items) {
138
- if (i.title == '-') {
139
- if (!lastWasSeperator) {
140
- let hr = document.createElement('hr');
141
- ul.appendChild(hr);
142
- lastWasSeperator = true;
143
- }
144
- }
145
- else {
146
- lastWasSeperator = false;
147
- let li = document.createElement('li');
148
- li.className = 'context-menu__item';
149
- let div = document.createElement('div');
150
- div.className = 'context-menu__link';
151
- div.textContent = i.title;
152
- li.appendChild(div);
153
- ul.appendChild(li);
154
- li.onclick = (e) => {
155
- helper.close();
156
- i.action(null, e);
157
- };
158
- }
159
- }
160
- return nav;
161
- }
162
- static clickInsideElement(e, className) {
163
- let el = e.srcElement || e.target;
164
- if (el.classList.contains(className)) {
165
- return el;
166
- }
167
- else {
168
- while (el = el.parentNode) {
169
- if (el.classList && el.classList.contains(className)) {
170
- return el;
171
- }
172
- }
173
- }
174
- return false;
175
- }
176
- static getPosition(e) {
177
- let posx = 0;
178
- let posy = 0;
179
- //@ts-ignore
180
- if (!e)
181
- e = window.event;
182
- if (e.pageX || e.pageY) {
183
- posx = e.pageX + 5;
184
- posy = e.pageY - 5;
185
- }
186
- else if (e.clientX || e.clientY) {
187
- posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft + 5;
188
- posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop - 5;
189
- }
190
- return {
191
- x: posx,
192
- y: posy
193
- };
194
- }
195
- positionMenu(e) {
196
- let clickCoords = ContextMenuHelper.getPosition(e);
197
- let clickCoordsX = clickCoords.x;
198
- let clickCoordsY = clickCoords.y;
199
- let menuWidth = this._element.offsetWidth + 4;
200
- let menuHeight = this._element.offsetHeight + 4;
201
- let windowWidth = window.innerWidth;
202
- let windowHeight = window.innerHeight;
203
- if ((windowWidth - clickCoordsX) < menuWidth) {
204
- this._element.style.left = windowWidth - menuWidth + "px";
205
- }
206
- else {
207
- this._element.style.left = clickCoordsX + "px";
208
- }
209
- if ((windowHeight - clickCoordsY) < menuHeight) {
210
- this._element.style.top = windowHeight - menuHeight + "px";
211
- }
212
- else {
213
- this._element.style.top = clickCoordsY + "px";
214
- }
215
- }
216
- }
@@ -1,5 +0,0 @@
1
- import { IDesignerCanvas } from "../../widgets/designerView/IDesignerCanvas.js";
2
- export interface IDragDropService {
3
- dragOver(event: DragEvent): 'none' | 'copy' | 'link' | 'move';
4
- drop(designerView: IDesignerCanvas, event: DragEvent): any;
5
- }
@@ -1,25 +0,0 @@
1
- import { BindingTarget } from "../../item/BindingTarget";
2
- import { IElementDefinition } from "../elementsService/IElementDefinition";
3
- import { IElementsService } from "../elementsService/IElementsService";
4
- import { IPropertiesService } from "../propertiesService/IPropertiesService";
5
- import { IProperty } from "../propertiesService/IProperty";
6
- import { IDesignItem } from "../../item/IDesignItem";
7
- import { UnkownElementPropertiesService } from "../propertiesService/services/UnkownElementPropertiesService";
8
- export declare class WebcomponentManifestParserService extends UnkownElementPropertiesService implements IElementsService, IPropertiesService {
9
- private _name;
10
- get name(): string;
11
- private _packageData;
12
- private _elementList;
13
- private _propertiesList;
14
- private _resolveStored;
15
- private _rejectStored;
16
- private _importPrefix;
17
- constructor(name: string, fileOrObject: string | object, importPrefix?: string);
18
- private _parseManifest;
19
- private manifestClassPropertyTypeToEditorPropertyType;
20
- getElements(): Promise<IElementDefinition[]>;
21
- isHandledElement(designItem: IDesignItem): boolean;
22
- getProperties(designItem: IDesignItem): IProperty[];
23
- getProperty(designItem: IDesignItem, name: string): IProperty;
24
- getPropertyTarget(designItem: IDesignItem, property: IProperty): BindingTarget;
25
- }
@@ -1,94 +0,0 @@
1
- import { BindingTarget } from "../../item/BindingTarget";
2
- import { PropertyType } from "../propertiesService/PropertyType";
3
- import { UnkownElementPropertiesService } from "../propertiesService/services/UnkownElementPropertiesService";
4
- export class WebcomponentManifestParserService extends UnkownElementPropertiesService {
5
- _name;
6
- get name() { return this._name; }
7
- _packageData;
8
- _elementList;
9
- _propertiesList;
10
- _resolveStored;
11
- _rejectStored;
12
- _importPrefix = '';
13
- constructor(name, fileOrObject, importPrefix = '') {
14
- super();
15
- this._name = name;
16
- this._importPrefix = importPrefix;
17
- if (typeof fileOrObject === 'string') {
18
- this._importPrefix = this._importPrefix ?? fileOrObject.split('/').slice(0, -1).join('/');
19
- import(fileOrObject, { assert: { type: 'json' } }).then(module => {
20
- this._packageData = module.default;
21
- this._parseManifest();
22
- }).catch(err => {
23
- if (this._rejectStored) {
24
- this._rejectStored.forEach(x => x(err));
25
- this._resolveStored = null;
26
- this._rejectStored = null;
27
- }
28
- });
29
- }
30
- else {
31
- this._packageData = fileOrObject;
32
- this._parseManifest();
33
- }
34
- }
35
- _parseManifest() {
36
- this._elementList = [];
37
- this._propertiesList = {};
38
- for (let m of this._packageData.modules) {
39
- for (let e of m.exports) {
40
- if (e.kind == 'custom-element-definition') {
41
- this._elementList.push({ tag: e.name, import: this._importPrefix + '/' + e.declaration.module });
42
- let properties = [];
43
- let declaration = m.declarations.find(x => x.name == e.declaration.name);
44
- for (let d of declaration.members) {
45
- if (d.kind == 'field') {
46
- let pType = PropertyType.property;
47
- if (declaration.attributes)
48
- pType = declaration.attributes.find(x => x.fieldName == d.name) != null ? PropertyType.propertyAndAttribute : PropertyType.property;
49
- properties.push({ name: d.name, service: this, propertyType: pType, type: this.manifestClassPropertyTypeToEditorPropertyType(d.type?.text) });
50
- }
51
- }
52
- this._propertiesList[e.name] = properties;
53
- }
54
- }
55
- if (this._resolveStored) {
56
- this._resolveStored.forEach(x => x(this._elementList));
57
- this._resolveStored = null;
58
- this._rejectStored = null;
59
- }
60
- }
61
- }
62
- manifestClassPropertyTypeToEditorPropertyType(type) {
63
- if (type) {
64
- if (type.toLowerCase() === 'boolean')
65
- return 'boolean';
66
- if (type.toLowerCase() === 'number')
67
- return 'number';
68
- }
69
- return type;
70
- }
71
- async getElements() {
72
- if (this._packageData)
73
- return Promise.resolve(this._elementList);
74
- if (!this._resolveStored) {
75
- this._resolveStored = [];
76
- this._rejectStored = [];
77
- }
78
- return new Promise((resolve, reject) => { this._resolveStored.push(resolve); this._rejectStored.push(reject); });
79
- }
80
- isHandledElement(designItem) {
81
- if (this._elementList)
82
- return this._elementList.find(x => x.tag == designItem.name) != null;
83
- return false;
84
- }
85
- getProperties(designItem) {
86
- return this._propertiesList[designItem.name];
87
- }
88
- getProperty(designItem, name) {
89
- return this._propertiesList[designItem.name].find(x => x.name == name);
90
- }
91
- getPropertyTarget(designItem, property) {
92
- return this._propertiesList[designItem.name].find(x => x.name == property.name).propertyType == PropertyType.attribute ? BindingTarget.attribute : BindingTarget.property;
93
- }
94
- }
@@ -1,11 +0,0 @@
1
- import { InstanceServiceContainer } from "../InstanceServiceContainer";
2
- import { ServiceContainer } from "../ServiceContainer";
3
- import { IHtmlParserService } from "./IHtmlParserService";
4
- import { IDesignItem } from '../../item/IDesignItem';
5
- export declare class NodeHtmlParserService implements IHtmlParserService {
6
- private _parserUrl;
7
- constructor(parserUrl?: string);
8
- parse(html: string, serviceContainer: ServiceContainer, instanceServiceContainer: InstanceServiceContainer): Promise<IDesignItem[]>;
9
- private _parseDiv;
10
- _createDesignItemsRecursive(item: any, serviceContainer: ServiceContainer, instanceServiceContainer: InstanceServiceContainer, namespace: string): IDesignItem;
11
- }
@@ -1,96 +0,0 @@
1
- import { DesignItem } from '../../item/DesignItem';
2
- import { CssAttributeParser } from "../../helper/CssAttributeParser";
3
- import { newElementFromString } from "../../helper/ElementHelper";
4
- // Alternative Parser, cause when you use the Browser, it instanciates the CusomElements, and some Elemnts remove
5
- // attributes from their DOM, so you loose Data
6
- export class NodeHtmlParserService {
7
- _parserUrl;
8
- constructor(parserUrl = '../../../../../node-html-parser-esm/dist/index.js') {
9
- this._parserUrl = parserUrl;
10
- }
11
- async parse(html, serviceContainer, instanceServiceContainer) {
12
- //@ts-ignore
13
- let parser = await import(this._parserUrl);
14
- const parsed = parser.parse(html, { comment: true });
15
- let designItems = [];
16
- for (let p of parsed.childNodes) {
17
- let di = this._createDesignItemsRecursive(p, serviceContainer, instanceServiceContainer, null);
18
- if (di != null)
19
- designItems.push(di);
20
- else
21
- console.warn("NodeHtmlParserService - could not parse element", p);
22
- }
23
- return designItems;
24
- }
25
- _parseDiv = document.createElement("div");
26
- _createDesignItemsRecursive(item, serviceContainer, instanceServiceContainer, namespace) {
27
- let designItem = null;
28
- if (item.nodeType == 1) {
29
- let element;
30
- let manualCreatedElement = false;
31
- if (!namespace)
32
- element = newElementFromString('<' + item.rawTagName + ' ' + item.rawAttrs + '></' + item.rawTagName + '>'); // some custom elements only parse attributes during constructor call
33
- if (!element) {
34
- if (namespace)
35
- element = document.createElementNS(namespace, item.rawTagName);
36
- else
37
- element = document.createElement(item.rawTagName);
38
- manualCreatedElement = true;
39
- }
40
- designItem = new DesignItem(element, serviceContainer, instanceServiceContainer);
41
- let hideAtDesignTime = false;
42
- let hideAtRunTime = false;
43
- let lockAtDesignTime = false;
44
- let style = '';
45
- let attr = item.attributes;
46
- for (let a in attr) {
47
- if (a !== 'style') {
48
- designItem.attributes.set(a, attr[a]);
49
- if (manualCreatedElement) {
50
- element.setAttribute(a, attr[a]);
51
- }
52
- if (a === 'node-projects-hide-at-design-time')
53
- hideAtDesignTime = true;
54
- else if (a === 'node-projects-hide-at-run-time')
55
- hideAtRunTime = true;
56
- else if (a === 'node-projects-lock-at-design-time')
57
- lockAtDesignTime = true;
58
- }
59
- else {
60
- style = attr[a];
61
- }
62
- }
63
- if ((element instanceof HTMLElement || element instanceof SVGElement) && style) {
64
- let styleParser = new CssAttributeParser();
65
- styleParser.parse(style);
66
- for (let s of styleParser.entries) {
67
- designItem.styles.set(s.name, s.value);
68
- if (manualCreatedElement) {
69
- element.style[s.name] = s.value;
70
- }
71
- }
72
- }
73
- if (!lockAtDesignTime && (element instanceof HTMLElement || element instanceof SVGElement)) {
74
- requestAnimationFrame(() => element.style.pointerEvents = 'auto');
75
- }
76
- designItem.hideAtDesignTime = hideAtDesignTime;
77
- designItem.hideAtRunTime = hideAtRunTime;
78
- designItem.lockAtDesignTime = lockAtDesignTime;
79
- element.draggable = false; //even if it should be true, for better designer exp.
80
- for (let c of item.childNodes) {
81
- let di = this._createDesignItemsRecursive(c, serviceContainer, instanceServiceContainer, element instanceof SVGElement ? 'http://www.w3.org/2000/svg' : null);
82
- designItem._insertChildInternal(di);
83
- }
84
- }
85
- else if (item.nodeType == 3) {
86
- this._parseDiv.innerHTML = item.rawText;
87
- let element = this._parseDiv.childNodes[0];
88
- designItem = new DesignItem(element, serviceContainer, instanceServiceContainer);
89
- }
90
- else if (item.nodeType == 8) {
91
- let element = document.createComment(item.rawText);
92
- designItem = new DesignItem(element, serviceContainer, instanceServiceContainer);
93
- }
94
- return designItem;
95
- }
96
- }
@@ -1,6 +0,0 @@
1
- import { IDesignItem } from '../../item/IDesignItem';
2
- import { IIntializationService } from './IIntializationService';
3
- export declare class DefaultIntializationService implements IIntializationService {
4
- init(designItem: IDesignItem): void;
5
- initializeIframe(iframe: HTMLIFrameElement): void;
6
- }
@@ -1,22 +0,0 @@
1
- export class DefaultIntializationService {
2
- init(designItem) {
3
- /*if (designItem.name == 'iframe') {
4
- this.initializeIframe(<HTMLIFrameElement>designItem.element);
5
- }*/
6
- }
7
- initializeIframe(iframe) {
8
- /*iframe.contentDocument.body.style.pointerEvents = 'none';
9
- function cloneIframeEvent(event: PointerEvent) {
10
- var clRect = iframe.getBoundingClientRect();
11
- let data = { ...event };
12
- data.clientX = event.clientX + clRect.left;
13
- data.clientY = event.clientY + clRect.top;
14
- var evt = new PointerEvent(event.type, data) //new CustomEvent('pointerdown', {bubbles: true, cancelable: false});
15
- iframe.dispatchEvent(evt);
16
- }
17
- iframe.contentWindow.addEventListener('pointerdown', cloneIframeEvent);
18
- iframe.contentWindow.addEventListener('pointermove', cloneIframeEvent);
19
- iframe.contentWindow.addEventListener('pointerup', cloneIframeEvent);*/
20
- }
21
- ;
22
- }
@@ -1,4 +0,0 @@
1
- import { IDesignItem } from "../../item/IDesignItem.js";
2
- export interface IPrepareElementsForDesignerService {
3
- prepareElementsForDesigner(designItem: IDesignItem): any;
4
- }
@@ -1,6 +0,0 @@
1
- import { IDesignItem } from "../../item/IDesignItem.js";
2
- import { IPrepareElementsForDesignerService } from "./IPrepareElementsForDesignerService.js";
3
- export declare class PrepareElementsForDesignerService implements IPrepareElementsForDesignerService {
4
- prepareElementsForDesigner(designItem: IDesignItem): void;
5
- private _prepareElementsForDesigner;
6
- }
@@ -1,32 +0,0 @@
1
- export class PrepareElementsForDesignerService {
2
- prepareElementsForDesigner(designItem) {
3
- if (designItem !== designItem.instanceServiceContainer.contentService.rootDesignItem)
4
- this._prepareElementsForDesigner([designItem.element], true);
5
- this._prepareElementsForDesigner(designItem.element.querySelectorAll('*'), true);
6
- }
7
- _prepareElementsForDesigner(elements, rootElements) {
8
- /*for (let el of elements) {
9
- if ((<HTMLElement>el).shadowRoot) {
10
- this._prepareElementsForDesigner(((<HTMLElement>el).shadowRoot).querySelectorAll('*'), false);
11
- }
12
- if (el instanceof HTMLElement) {
13
- el.onclick = null;
14
- el.onmousedown = null;
15
- el.onmouseup = null;
16
- if (!rootElements)
17
- el.style.pointerEvents = 'none';
18
- }
19
- if (el instanceof HTMLImageElement) {
20
- el.draggable = false;
21
- }
22
- else if (el instanceof HTMLInputElement) {
23
- el.onmousedown = (e) => e.preventDefault();
24
- //const ip = el;
25
- //el.onclick = (e) => { if (ip.type == 'checkbox') ip.checked = !ip.checked };
26
- }
27
- else if (el instanceof HTMLSelectElement) {
28
- el.onmousedown = (e) => e.preventDefault();
29
- }
30
- }*/
31
- }
32
- }
@@ -1,25 +0,0 @@
1
- import { BindingTarget } from "../../item/BindingTarget";
2
- import { IElementDefinition } from "../elementsService/IElementDefinition";
3
- import { IElementsService } from "../elementsService/IElementsService";
4
- import { IPropertiesService } from "../propertiesService/IPropertiesService";
5
- import { IProperty } from "../propertiesService/IProperty";
6
- import { IDesignItem } from "../../item/IDesignItem";
7
- import { UnkownElementPropertiesService } from "../propertiesService/services/UnkownElementPropertiesService";
8
- export declare class WebcomponentManifestParserService extends UnkownElementPropertiesService implements IElementsService, IPropertiesService {
9
- private _name;
10
- get name(): string;
11
- private _packageData;
12
- private _elementList;
13
- private _propertiesList;
14
- private _resolveStored;
15
- private _rejectStored;
16
- private _importPrefix;
17
- constructor(name: string, fileOrObject: string | object, importPrefix?: string);
18
- private _parseManifest;
19
- private manifestClassPropertyTypeToEditorPropertyType;
20
- getElements(): Promise<IElementDefinition[]>;
21
- isHandledElement(designItem: IDesignItem): boolean;
22
- getProperties(designItem: IDesignItem): IProperty[];
23
- getProperty(designItem: IDesignItem, name: string): IProperty;
24
- getPropertyTarget(designItem: IDesignItem, property: IProperty): BindingTarget;
25
- }