@node-projects/web-component-designer 0.0.46 → 0.0.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/helper/GridHelper.d.ts +16 -0
- package/dist/elements/helper/GridHelper.js +107 -0
- package/dist/elements/helper/Helper.d.ts +3 -0
- package/dist/elements/helper/Helper.js +3 -0
- package/dist/elements/item/DesignItem.d.ts +4 -2
- package/dist/elements/item/DesignItem.js +7 -3
- package/dist/elements/item/IDesignItem.d.ts +3 -1
- package/dist/elements/services/contentService/IContentChanged.d.ts +3 -3
- package/dist/elements/services/htmlWriterService/HtmlWriterService.js +1 -6
- package/dist/elements/services/placementService/DefaultPlacementService.js +6 -0
- package/dist/elements/services/placementService/GridPlacementService.js +52 -1
- package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.d.ts +2 -2
- package/dist/elements/services/undoService/transactionItems/DeleteAction.js +2 -0
- package/dist/elements/services/undoService/transactionItems/InsertAction.js +2 -0
- package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction.js +2 -0
- package/dist/elements/widgets/designerView/DomConverter.d.ts +1 -1
- package/dist/elements/widgets/designerView/DomConverter.js +2 -0
- package/dist/elements/widgets/designerView/IDesignerCanvas.d.ts +2 -0
- package/dist/elements/widgets/designerView/designerCanvas.d.ts +2 -1
- package/dist/elements/widgets/designerView/designerCanvas.js +3 -2
- package/dist/elements/widgets/designerView/extensions/GridExtension.js +11 -97
- package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.js +2 -2
- package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.d.ts +2 -2
- package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js +1 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/IContextMenuExtension.d.ts +2 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.d.ts +2 -2
- package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js +4 -3
- package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.d.ts +2 -2
- package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js +1 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.d.ts +2 -2
- package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.js +1 -1
- package/dist/elements/widgets/designerView/tools/PointerTool.js +4 -2
- package/dist/elements/widgets/propertyGrid/PropertyGrid copy.d.ts +17 -0
- package/dist/elements/widgets/propertyGrid/PropertyGrid copy.js +143 -0
- package/dist/elements/widgets/propertyGrid/PropertyGrid.d.ts +4 -0
- package/dist/elements/widgets/propertyGrid/PropertyGrid.js +10 -15
- package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.d.ts +15 -0
- package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.js +86 -0
- package/dist/elements/widgets/treeView/treeView.d.ts +5 -0
- package/dist/elements/widgets/treeView/treeView.js +15 -0
- package/dist/elements/widgets/treeView/treeViewExtended.d.ts +7 -0
- package/dist/elements/widgets/treeView/treeViewExtended.js +56 -37
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -0
- package/package.json +1 -1
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { css, html, BaseCustomWebComponentConstructorAppend } from '@node-projects/base-custom-webcomponent';
|
|
2
2
|
import { NodeType } from '../../item/NodeType';
|
|
3
3
|
import { assetsPath } from '../../../Constants';
|
|
4
|
+
import { ContextMenuHelper } from '../../helper/contextMenu/ContextMenuHelper.js';
|
|
4
5
|
export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
|
|
5
6
|
_treeDiv;
|
|
6
7
|
_tree;
|
|
7
8
|
_filter;
|
|
9
|
+
_instanceServiceContainer;
|
|
10
|
+
_selectionChangedHandler;
|
|
11
|
+
_contentChangedHandler;
|
|
8
12
|
static style = css `
|
|
9
13
|
* {
|
|
10
14
|
touch-action: none;
|
|
@@ -39,14 +43,24 @@ export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
|
|
|
39
43
|
}
|
|
40
44
|
td {
|
|
41
45
|
white-space: nowrap;
|
|
42
|
-
|
|
43
|
-
td:nth-child(n+2) {
|
|
44
|
-
text-align: center;
|
|
46
|
+
display: flex;
|
|
45
47
|
}
|
|
46
48
|
td > img {
|
|
47
49
|
vertical-align: middle;
|
|
48
50
|
}
|
|
49
51
|
|
|
52
|
+
.cmd {
|
|
53
|
+
display: flex;
|
|
54
|
+
position: sticky;
|
|
55
|
+
right: 0;
|
|
56
|
+
padding-right: 4px;
|
|
57
|
+
align-items: center;
|
|
58
|
+
gap: 2px;
|
|
59
|
+
background: #ffffffc9;
|
|
60
|
+
width: 70px;
|
|
61
|
+
justify-content: flex-end;
|
|
62
|
+
}
|
|
63
|
+
|
|
50
64
|
table.fancytree-ext-table tbody tr.fancytree-selected {
|
|
51
65
|
background-color: #bebebe;
|
|
52
66
|
}
|
|
@@ -58,16 +72,16 @@ export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
|
|
|
58
72
|
<table id="treetable" style="min-width: 100%;">
|
|
59
73
|
<colgroup>
|
|
60
74
|
<col width="*">
|
|
75
|
+
<!--<col width="25px">
|
|
61
76
|
<col width="25px">
|
|
62
|
-
<col width="25px"
|
|
63
|
-
<col width="25px">
|
|
77
|
+
<col width="25px">-->
|
|
64
78
|
</colgroup>
|
|
65
79
|
<thead style="display: none;">
|
|
66
80
|
<tr>
|
|
67
81
|
<th></th>
|
|
82
|
+
<!--<th></th>
|
|
68
83
|
<th></th>
|
|
69
|
-
<th></th
|
|
70
|
-
<th></th>
|
|
84
|
+
<th></th>-->
|
|
71
85
|
</tr>
|
|
72
86
|
</thead>
|
|
73
87
|
</table>
|
|
@@ -122,6 +136,17 @@ export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
|
|
|
122
136
|
designItem.hideAtRunTime = !designItem.hideAtRunTime;
|
|
123
137
|
this._showHideAtRunTimeState(img, designItem);
|
|
124
138
|
}
|
|
139
|
+
showDesignItemContextMenu(designItem, event) {
|
|
140
|
+
event.preventDefault();
|
|
141
|
+
const mnuItems = [];
|
|
142
|
+
for (let cme of designItem.serviceContainer.designerContextMenuExtensions) {
|
|
143
|
+
if (cme.shouldProvideContextmenu(event, designItem.instanceServiceContainer.designerCanvas, designItem, 'treeView')) {
|
|
144
|
+
mnuItems.push(...cme.provideContextMenuItems(event, designItem.instanceServiceContainer.designerCanvas, designItem));
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
let ctxMnu = ContextMenuHelper.showContextMenu(null, event, null, mnuItems);
|
|
148
|
+
return ctxMnu;
|
|
149
|
+
}
|
|
125
150
|
async ready() {
|
|
126
151
|
//this._treeDiv.classList.add('fancytree-connectors');
|
|
127
152
|
$(this._treeDiv).fancytree({
|
|
@@ -142,46 +167,28 @@ export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
|
|
|
142
167
|
},
|
|
143
168
|
createNode: (event, data) => {
|
|
144
169
|
let node = data.node;
|
|
145
|
-
if (node.tr.children[
|
|
170
|
+
if (node.tr.children[0]) {
|
|
146
171
|
let designItem = node.data.ref;
|
|
147
|
-
if (designItem.nodeType === NodeType.Element && designItem !== designItem.instanceServiceContainer.contentService.rootDesignItem) {
|
|
148
|
-
|
|
149
|
-
let
|
|
150
|
-
|
|
151
|
-
toolTipImg = document.createElement("img");
|
|
152
|
-
Screenshot.takeScreenshot(designItem.element).then(x => { if (toolTipImg) toolTipImg.src = x; });
|
|
153
|
-
toolTipImg.style.position = 'absolute';
|
|
154
|
-
let r = node.tr.children[0].getBoundingClientRect();
|
|
155
|
-
toolTipImg.style.left = (e.x + 5 - r.left) + 'px';
|
|
156
|
-
toolTipImg.style.top = (e.y + 5 - r.top) + 'px';
|
|
157
|
-
(<HTMLElement>node.tr.children[0]).appendChild(toolTipImg);
|
|
158
|
-
}
|
|
159
|
-
(<HTMLElement>node.tr.children[0]).onmousemove = (e) => {
|
|
160
|
-
if (toolTipImg) {
|
|
161
|
-
let r = node.tr.children[0].getBoundingClientRect();
|
|
162
|
-
toolTipImg.style.left = (e.x + 5 - r.left) + 'px';
|
|
163
|
-
toolTipImg.style.top = (e.y + 5 - r.top) + 'px';
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
(<HTMLElement>node.tr.children[0]).onmouseout = (e) => {
|
|
167
|
-
if (toolTipImg) {
|
|
168
|
-
toolTipImg.parentNode?.removeChild(toolTipImg);
|
|
169
|
-
toolTipImg = null;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
*/
|
|
172
|
+
if (designItem && designItem.nodeType === NodeType.Element && designItem !== designItem.instanceServiceContainer.contentService.rootDesignItem) {
|
|
173
|
+
node.tr.oncontextmenu = (e) => this.showDesignItemContextMenu(designItem, e);
|
|
174
|
+
let d = document.createElement("div");
|
|
175
|
+
d.className = "cmd";
|
|
173
176
|
let img = document.createElement('img');
|
|
174
177
|
this._showHideAtDesignTimeState(img, designItem);
|
|
175
178
|
img.onclick = () => this._switchHideAtDesignTimeState(img, designItem);
|
|
176
|
-
|
|
179
|
+
img.title = 'hide in designer';
|
|
180
|
+
d.appendChild(img);
|
|
177
181
|
let imgL = document.createElement('img');
|
|
178
182
|
this._showLockAtDesignTimeState(imgL, designItem);
|
|
179
183
|
imgL.onclick = () => this._switchLockAtDesignTimeState(imgL, designItem);
|
|
180
|
-
|
|
184
|
+
imgL.title = 'lock';
|
|
185
|
+
d.appendChild(imgL);
|
|
181
186
|
let imgH = document.createElement('img');
|
|
182
187
|
this._showHideAtRunTimeState(imgH, designItem);
|
|
183
188
|
imgH.onclick = () => this._switchHideAtRunTimeState(imgH, designItem);
|
|
184
|
-
|
|
189
|
+
imgH.title = 'hide at runtime';
|
|
190
|
+
d.appendChild(imgH);
|
|
191
|
+
node.tr.children[0].appendChild(d);
|
|
185
192
|
}
|
|
186
193
|
}
|
|
187
194
|
},
|
|
@@ -318,6 +325,18 @@ export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
|
|
|
318
325
|
this._recomputeTree(rootItem);
|
|
319
326
|
}
|
|
320
327
|
}
|
|
328
|
+
set instanceServiceContainer(value) {
|
|
329
|
+
this._instanceServiceContainer = value;
|
|
330
|
+
this._selectionChangedHandler?.dispose();
|
|
331
|
+
this._selectionChangedHandler = this._instanceServiceContainer.selectionService.onSelectionChanged.on(e => {
|
|
332
|
+
this.selectionChanged(e);
|
|
333
|
+
});
|
|
334
|
+
this._contentChangedHandler?.dispose();
|
|
335
|
+
this._contentChangedHandler = this._instanceServiceContainer.contentService.onContentChanged.on(e => {
|
|
336
|
+
this.createTree(value.contentService.rootDesignItem);
|
|
337
|
+
});
|
|
338
|
+
this.createTree(value.contentService.rootDesignItem);
|
|
339
|
+
}
|
|
321
340
|
selectionChanged(event) {
|
|
322
341
|
if (event.selectedElements.length > 0) {
|
|
323
342
|
this._highlight(event.selectedElements);
|
package/dist/index.d.ts
CHANGED
|
@@ -84,6 +84,7 @@ export type { IServiceContainer } from "./elements/services/IServiceContainer.js
|
|
|
84
84
|
export * from "./elements/services/ServiceContainer.js";
|
|
85
85
|
export * from "./elements/widgets/propertyGrid/PropertyGrid.js";
|
|
86
86
|
export * from "./elements/widgets/propertyGrid/PropertyGridPropertyList.js";
|
|
87
|
+
export * from "./elements/widgets/propertyGrid/PropertyGridWithHeader.js";
|
|
87
88
|
export type { IDesignerCanvas } from "./elements/widgets/designerView/IDesignerCanvas.js";
|
|
88
89
|
export type { IPlacementView } from "./elements/widgets/designerView/IPlacementView.js";
|
|
89
90
|
export * from "./elements/widgets/designerView/designerView.js";
|
|
@@ -132,7 +133,7 @@ export * from "./elements/widgets/designerView/extensions/SelectionDefaultExtens
|
|
|
132
133
|
export * from "./elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.js";
|
|
133
134
|
export * from "./elements/widgets/designerView/extensions/TransformOriginExtension.js";
|
|
134
135
|
export * from "./elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js";
|
|
135
|
-
export type { IContextMenuExtension } from "./elements/widgets/designerView/extensions/contextMenu/IContextMenuExtension.js";
|
|
136
|
+
export type { IContextMenuExtension, ContextmenuInitiator } from "./elements/widgets/designerView/extensions/contextMenu/IContextMenuExtension.js";
|
|
136
137
|
export * from "./elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js";
|
|
137
138
|
export * from "./elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js";
|
|
138
139
|
export * from "./elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js";
|
package/dist/index.js
CHANGED
|
@@ -53,6 +53,7 @@ export * from "./elements/services/InstanceServiceContainer.js";
|
|
|
53
53
|
export * from "./elements/services/ServiceContainer.js";
|
|
54
54
|
export * from "./elements/widgets/propertyGrid/PropertyGrid.js";
|
|
55
55
|
export * from "./elements/widgets/propertyGrid/PropertyGridPropertyList.js";
|
|
56
|
+
export * from "./elements/widgets/propertyGrid/PropertyGridWithHeader.js";
|
|
56
57
|
export * from "./elements/widgets/designerView/designerView.js";
|
|
57
58
|
export * from "./elements/widgets/designerView/overlayLayerView.js";
|
|
58
59
|
export * from "./elements/widgets/designerView/defaultConfiguredDesignerView.js";
|