@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.
- package/ACKNOWLEDGMENTS +3 -1
- package/dist/elements/helper/contextMenu/ContextMenu.d.ts +29 -0
- package/dist/elements/helper/contextMenu/ContextMenu.js +304 -0
- package/dist/elements/helper/contextMenu/{IContextmenuItem.d.ts → IContextMenuItem.d.ts} +3 -2
- package/dist/elements/helper/contextMenu/{IContextmenuItem.js → IContextMenuItem.js} +1 -0
- package/dist/elements/widgets/designerView/designerCanvas.d.ts +2 -2
- package/dist/elements/widgets/designerView/designerCanvas.js +4 -3
- package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/IContextMenuExtension.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js +1 -2
- package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/PathContextMenu.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/RectContextMenu.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/RotateLeftAndRightContextMenu.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/SelectAllChildrenContextMenu.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/SeperatorContextMenu.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/svg/PathExtension.js +2 -2
- package/dist/elements/widgets/designerView/tools/PointerTool.js +1 -1
- package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.js +2 -2
- package/dist/elements/widgets/treeView/treeViewExtended.d.ts +2 -2
- package/dist/elements/widgets/treeView/treeViewExtended.js +3 -3
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/package.json +2 -2
- package/dist/elements/helper/KeyNameHelper.d.ts +0 -0
- package/dist/elements/helper/KeyNameHelper.js +0 -1
- package/dist/elements/helper/contextMenu/ContextMenuHelper.d.ts +0 -27
- package/dist/elements/helper/contextMenu/ContextMenuHelper.js +0 -216
- package/dist/elements/services/bindableObjectsService/IDragDropService.d.ts +0 -5
- package/dist/elements/services/bindableObjectsService/IDragDropService.js +0 -1
- package/dist/elements/services/elementsService/WebcomponentManifestParserService.d.ts +0 -25
- package/dist/elements/services/elementsService/WebcomponentManifestParserService.js +0 -94
- package/dist/elements/services/htmlParserService/NodeHtmlParserService copy.d.ts +0 -11
- package/dist/elements/services/htmlParserService/NodeHtmlParserService copy.js +0 -96
- package/dist/elements/services/initializationService/DefaultIntializationService.d.ts +0 -6
- package/dist/elements/services/initializationService/DefaultIntializationService.js +0 -22
- package/dist/elements/services/instanceService/IPrepareElementsForDesignerService.d.ts +0 -4
- package/dist/elements/services/instanceService/IPrepareElementsForDesignerService.js +0 -1
- package/dist/elements/services/instanceService/PrepareElementsForDesignerService.d.ts +0 -6
- package/dist/elements/services/instanceService/PrepareElementsForDesignerService.js +0 -32
- package/dist/elements/services/propertiesService/services/WebcomponentManifestParserService.d.ts +0 -25
- package/dist/elements/services/propertiesService/services/WebcomponentManifestParserService.js +0 -94
- package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction.d.ts +0 -16
- package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction.js +0 -31
- package/dist/elements/widgets/designerView/DesignerViewUseOverlayScollbars.d.ts +0 -7
- package/dist/elements/widgets/designerView/DesignerViewUseOverlayScollbars.js +0 -13
- package/dist/elements/widgets/designerView/designerCanvas.ts.BASE.d.ts +0 -92
- package/dist/elements/widgets/designerView/designerCanvas.ts.BASE.js +0 -734
- package/dist/elements/widgets/designerView/designerCanvas.ts.LOCAL.d.ts +0 -95
- package/dist/elements/widgets/designerView/designerCanvas.ts.LOCAL.js +0 -768
- package/dist/elements/widgets/designerView/designerCanvas.ts.REMOTE.d.ts +0 -94
- package/dist/elements/widgets/designerView/designerCanvas.ts.REMOTE.js +0 -745
- package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtension copy.d.ts +0 -12
- package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtension copy.js +0 -20
- package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider copy.d.ts +0 -10
- package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider copy.js +0 -14
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension copy.d.ts +0 -17
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension copy.js +0 -80
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider copy.d.ts +0 -9
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider copy.js +0 -11
- package/dist/elements/widgets/designerView/extensions/GrayOutDragOverExtension.d.ts +0 -11
- package/dist/elements/widgets/designerView/extensions/GrayOutDragOverExtension.js +0 -18
- package/dist/elements/widgets/designerView/extensions/IframeExtension.d.ts +0 -11
- package/dist/elements/widgets/designerView/extensions/IframeExtension.js +0 -46
- package/dist/elements/widgets/designerView/extensions/IframeExtensionProvider.d.ts +0 -9
- package/dist/elements/widgets/designerView/extensions/IframeExtensionProvider.js +0 -9
- package/dist/elements/widgets/designerView/extensions/PathExtension.d.ts +0 -23
- package/dist/elements/widgets/designerView/extensions/PathExtension.js +0 -251
- package/dist/elements/widgets/designerView/extensions/PathExtensionProvider.d.ts +0 -9
- package/dist/elements/widgets/designerView/extensions/PathExtensionProvider.js +0 -18
- package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtension.d.ts +0 -13
- package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtension.js +0 -21
- package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtensionProvider.d.ts +0 -10
- package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtensionProvider.js +0 -13
- package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu copy.d.ts +0 -8
- package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu copy.js +0 -15
- package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu copy.d.ts +0 -8
- package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu copy.js +0 -14
- package/dist/elements/widgets/designerView/toolBar/DrawElementTool.d.ts +0 -19
- package/dist/elements/widgets/designerView/toolBar/DrawElementTool.js +0 -79
- package/dist/elements/widgets/designerView/toolBar/DrawEllipsisTool.d.ts +0 -16
- package/dist/elements/widgets/designerView/toolBar/DrawEllipsisTool.js +0 -94
- package/dist/elements/widgets/designerView/toolBar/DrawLineTool.d.ts +0 -14
- package/dist/elements/widgets/designerView/toolBar/DrawLineTool.js +0 -79
- package/dist/elements/widgets/designerView/toolBar/DrawPathTool.d.ts +0 -20
- package/dist/elements/widgets/designerView/toolBar/DrawPathTool.js +0 -128
- package/dist/elements/widgets/designerView/toolBar/DrawRectTool.d.ts +0 -19
- package/dist/elements/widgets/designerView/toolBar/DrawRectTool.js +0 -109
- package/dist/elements/widgets/designerView/toolBar/ITool.d.ts +0 -9
- package/dist/elements/widgets/designerView/toolBar/ITool.js +0 -1
- package/dist/elements/widgets/designerView/toolBar/MagicWandSelectorTool.d.ts +0 -12
- package/dist/elements/widgets/designerView/toolBar/MagicWandSelectorTool.js +0 -64
- package/dist/elements/widgets/designerView/toolBar/NamedTools.d.ts +0 -15
- package/dist/elements/widgets/designerView/toolBar/NamedTools.js +0 -16
- package/dist/elements/widgets/designerView/toolBar/PanTool.d.ts +0 -10
- package/dist/elements/widgets/designerView/toolBar/PanTool.js +0 -26
- package/dist/elements/widgets/designerView/toolBar/PickColorTool.d.ts +0 -10
- package/dist/elements/widgets/designerView/toolBar/PickColorTool.js +0 -20
- package/dist/elements/widgets/designerView/toolBar/PointerTool.d.ts +0 -24
- package/dist/elements/widgets/designerView/toolBar/PointerTool.js +0 -283
- package/dist/elements/widgets/designerView/toolBar/RectangleSelectorTool.d.ts +0 -12
- package/dist/elements/widgets/designerView/toolBar/RectangleSelectorTool.js +0 -84
- package/dist/elements/widgets/designerView/toolBar/TextTool.d.ts +0 -11
- package/dist/elements/widgets/designerView/toolBar/TextTool.js +0 -33
- package/dist/elements/widgets/designerView/toolBar/ZoomTool.d.ts +0 -17
- package/dist/elements/widgets/designerView/toolBar/ZoomTool.js +0 -79
- package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolRenderer.d.ts +0 -5
- package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolRenderer.js +0 -19
- package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolbarPopup.d.ts +0 -8
- package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolbarPopup.js +0 -41
- package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolbarPopupToolSelect.d.ts +0 -9
- package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolbarPopupToolSelect.js +0 -42
- package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolsButtons.d.ts +0 -36
- package/dist/elements/widgets/designerView/toolBar/designerToolbarGenerics/designerToolsButtons.js +0 -96
- package/dist/elements/widgets/designerView/toolBar/designerToolbarPopups/DrawToolPopup.d.ts +0 -5
- package/dist/elements/widgets/designerView/toolBar/designerToolbarPopups/DrawToolPopup.js +0 -21
- package/dist/elements/widgets/designerView/toolBar/designerToolbarPopups/SelectorToolsPopup.d.ts +0 -8
- package/dist/elements/widgets/designerView/toolBar/designerToolbarPopups/SelectorToolsPopup.js +0 -23
- package/dist/elements/widgets/designerView/toolBar/designerToolsDock.d.ts +0 -24
- package/dist/elements/widgets/designerView/toolBar/designerToolsDock.js +0 -115
- package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolRenderer.d.ts +0 -5
- package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolRenderer.js +0 -19
- package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolbarPopup.d.ts +0 -8
- package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolbarPopup.js +0 -41
- package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolbarPopupToolSelect.d.ts +0 -9
- package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolbarPopupToolSelect.js +0 -42
- package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolsButtons.d.ts +0 -36
- package/dist/elements/widgets/designerView/tools/designerToolbarGenerics/designerToolsButtons.js +0 -87
- package/dist/elements/widgets/designerView/tools/designerToolbarPopups/DrawToolPopup copy.d.ts +0 -8
- package/dist/elements/widgets/designerView/tools/designerToolbarPopups/DrawToolPopup copy.js +0 -25
- package/dist/elements/widgets/designerView/tools/designerToolbarPopups/DrawToolPopup.d.ts +0 -5
- package/dist/elements/widgets/designerView/tools/designerToolbarPopups/DrawToolPopup.js +0 -21
- package/dist/elements/widgets/designerView/tools/designerToolbarPopups/SelectorToolsPopup.d.ts +0 -8
- package/dist/elements/widgets/designerView/tools/designerToolbarPopups/SelectorToolsPopup.js +0 -23
- package/dist/elements/widgets/designerView/tools/designerToolsDock.d.ts +0 -24
- package/dist/elements/widgets/designerView/tools/designerToolsDock.js +0 -115
- package/dist/elements/widgets/designerView/tools/toolBar/AbstractDesignerToolbarButton.d.ts +0 -5
- package/dist/elements/widgets/designerView/tools/toolBar/AbstractDesignerToolbarButton.js +0 -5
- package/dist/elements/widgets/designerView/tools/toolBar/IDesignViewConfigButtonsProvider.d.ts +0 -5
- package/dist/elements/widgets/designerView/tools/toolBar/IDesignViewConfigButtonsProvider.js +0 -1
- package/dist/elements/widgets/designerView/tools/toolBar/buttons/PointerToolButtonProvider copy.d.ts +0 -5
- package/dist/elements/widgets/designerView/tools/toolBar/buttons/PointerToolButtonProvider copy.js +0 -7
- package/dist/elements/widgets/designerView/tools/toolBar/buttons/SelectorToolButtonProvider copy.d.ts +0 -5
- package/dist/elements/widgets/designerView/tools/toolBar/buttons/SelectorToolButtonProvider copy.js +0 -10
- package/dist/elements/widgets/designerView/tools/toolBar/designerToolsDock.d.ts +0 -24
- package/dist/elements/widgets/designerView/tools/toolBar/designerToolsDock.js +0 -115
- package/dist/elements/widgets/designerView/tools/toolBar/popups/SelectorToolsPopup.d.ts +0 -7
- package/dist/elements/widgets/designerView/tools/toolBar/popups/SelectorToolsPopup.js +0 -23
- package/dist/elements/widgets/designerView/tools/toolBar/popups/designerToolbarPopup.d.ts +0 -8
- 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 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -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 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -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
|
-
}
|
package/dist/elements/services/propertiesService/services/WebcomponentManifestParserService.d.ts
DELETED
|
@@ -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
|
-
}
|