@node-projects/web-component-designer 0.0.119 → 0.0.120
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/contextMenu/ContextMenuHelper.js +7 -2
- package/dist/elements/services/htmlWriterService/HtmlWriterService.js +10 -6
- package/dist/elements/widgets/designerView/designerCanvas.js +18 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/SelectAllChildrenContextMenu.js +1 -1
- package/dist/elements/widgets/designerView/tools/toolBar/DesignerToolbarButton.js +1 -1
- package/package.json +1 -1
|
@@ -133,12 +133,17 @@ export class ContextMenuHelper {
|
|
|
133
133
|
let ul = document.createElement('ul');
|
|
134
134
|
ul.className = 'context-menu__items';
|
|
135
135
|
nav.appendChild(ul);
|
|
136
|
+
let lastWasSeperator = false;
|
|
136
137
|
for (let i of items) {
|
|
137
138
|
if (i.title == '-') {
|
|
138
|
-
|
|
139
|
-
|
|
139
|
+
if (!lastWasSeperator) {
|
|
140
|
+
let hr = document.createElement('hr');
|
|
141
|
+
ul.appendChild(hr);
|
|
142
|
+
lastWasSeperator = true;
|
|
143
|
+
}
|
|
140
144
|
}
|
|
141
145
|
else {
|
|
146
|
+
lastWasSeperator = false;
|
|
142
147
|
let li = document.createElement('li');
|
|
143
148
|
li.className = 'context-menu__item';
|
|
144
149
|
let div = document.createElement('div');
|
|
@@ -6,12 +6,14 @@ export class HtmlWriterService extends AbstractHtmlWriterService {
|
|
|
6
6
|
_conditionalyWriteIndent(indentedTextWriter, designItem) {
|
|
7
7
|
if ((designItem.element instanceof HTMLElement && !isInline(designItem.element)) ||
|
|
8
8
|
(designItem.element.previousElementSibling instanceof HTMLElement && !isInline(designItem.element.previousElementSibling)) ||
|
|
9
|
-
(designItem.element.previousElementSibling == null && !isInline(designItem.element.parentElement) && (designItem.element.previousSibling == null || isEmptyTextNode(designItem.element.previousSibling)))
|
|
9
|
+
(designItem.element.previousElementSibling == null && !isInline(designItem.element.parentElement) && (designItem.element.previousSibling == null || isEmptyTextNode(designItem.element.previousSibling))) ||
|
|
10
|
+
(designItem.element instanceof SVGElement))
|
|
10
11
|
indentedTextWriter.writeIndent();
|
|
11
12
|
}
|
|
12
13
|
_conditionalyWriteNewline(indentedTextWriter, designItem) {
|
|
13
14
|
if ((designItem.element instanceof HTMLElement && !isInline(designItem.element)) ||
|
|
14
|
-
(designItem.element.nextElementSibling instanceof HTMLElement && !isInline(designItem.element.nextElementSibling))
|
|
15
|
+
(designItem.element.nextElementSibling instanceof HTMLElement && !isInline(designItem.element.nextElementSibling)) ||
|
|
16
|
+
(designItem.element instanceof SVGElement))
|
|
15
17
|
indentedTextWriter.writeNewline();
|
|
16
18
|
}
|
|
17
19
|
write(indentedTextWriter, designItems, rootContainerKeepInline, options, designItemsAssignmentList) {
|
|
@@ -48,7 +50,7 @@ export class HtmlWriterService extends AbstractHtmlWriterService {
|
|
|
48
50
|
this.writeTextNode(indentedTextWriter, designItem, false);
|
|
49
51
|
}
|
|
50
52
|
else {
|
|
51
|
-
if (designItem.element instanceof HTMLElement && !isInline(designItem.element)) {
|
|
53
|
+
if (designItem.element instanceof HTMLElement && !isInline(designItem.element) || (designItem.element instanceof SVGElement)) {
|
|
52
54
|
indentedTextWriter.writeNewline();
|
|
53
55
|
indentedTextWriter.levelRaise();
|
|
54
56
|
}
|
|
@@ -56,9 +58,10 @@ export class HtmlWriterService extends AbstractHtmlWriterService {
|
|
|
56
58
|
this.internalWrite(indentedTextWriter, c, options, designItemsAssignmentList);
|
|
57
59
|
let childSingleTextNode = c.childCount === 1 && c.firstChild.nodeType === NodeType.TextNode;
|
|
58
60
|
if (childSingleTextNode)
|
|
59
|
-
indentedTextWriter.
|
|
61
|
+
if (!indentedTextWriter.isLastCharNewline())
|
|
62
|
+
indentedTextWriter.writeNewline();
|
|
60
63
|
}
|
|
61
|
-
if (designItem.element instanceof HTMLElement && !isInline(designItem.element)) {
|
|
64
|
+
if (designItem.element instanceof HTMLElement && !isInline(designItem.element) || (designItem.element instanceof SVGElement)) {
|
|
62
65
|
indentedTextWriter.levelShrink();
|
|
63
66
|
if (!indentedTextWriter.isLastCharNewline())
|
|
64
67
|
indentedTextWriter.writeNewline();
|
|
@@ -73,7 +76,8 @@ export class HtmlWriterService extends AbstractHtmlWriterService {
|
|
|
73
76
|
if (!DomConverter.IsSelfClosingElement(designItem.name))
|
|
74
77
|
indentedTextWriter.write('</' + designItem.name + '>');
|
|
75
78
|
//if (!contentSingleTextNode)
|
|
76
|
-
|
|
79
|
+
if (!indentedTextWriter.isLastCharNewline())
|
|
80
|
+
this._conditionalyWriteNewline(indentedTextWriter, designItem);
|
|
77
81
|
}
|
|
78
82
|
if (designItemsAssignmentList) {
|
|
79
83
|
designItemsAssignmentList.set(designItem, { start: start, length: indentedTextWriter.position - start - 1 });
|
|
@@ -319,9 +319,26 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
|
|
|
319
319
|
async handlePasteCommand() {
|
|
320
320
|
const designItems = await this.serviceContainer.copyPasteService.getPasteItems(this.serviceContainer, this.instanceServiceContainer);
|
|
321
321
|
let grp = this.rootDesignItem.openGroup("Insert");
|
|
322
|
+
let pasteContainer = this.rootDesignItem;
|
|
323
|
+
let pCon = this.instanceServiceContainer.selectionService.primarySelection;
|
|
324
|
+
while (pCon != null) {
|
|
325
|
+
const containerStyle = getComputedStyle(pCon.element);
|
|
326
|
+
let newContainerService;
|
|
327
|
+
newContainerService = this.serviceContainer.getLastServiceWhere('containerService', x => x.serviceForContainer(pCon, containerStyle));
|
|
328
|
+
if (newContainerService) {
|
|
329
|
+
if (newContainerService.canEnter(pCon, designItems)) {
|
|
330
|
+
pasteContainer = pCon;
|
|
331
|
+
break;
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
pCon = pCon.parent;
|
|
335
|
+
continue;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
322
339
|
if (designItems) {
|
|
323
340
|
for (let di of designItems) {
|
|
324
|
-
this.instanceServiceContainer.undoService.execute(new InsertAction(
|
|
341
|
+
this.instanceServiceContainer.undoService.execute(new InsertAction(pasteContainer, pasteContainer.childCount, di));
|
|
325
342
|
}
|
|
326
343
|
const intializationService = this.serviceContainer.intializationService;
|
|
327
344
|
if (intializationService) {
|
package/dist/elements/widgets/designerView/extensions/contextMenu/SelectAllChildrenContextMenu.js
CHANGED
|
@@ -5,7 +5,7 @@ export class SelectAllChildrenContextMenu {
|
|
|
5
5
|
}
|
|
6
6
|
provideContextMenuItems(event, designerCanvas, designItem) {
|
|
7
7
|
return [{
|
|
8
|
-
title: '
|
|
8
|
+
title: 'select all Children', action: () => {
|
|
9
9
|
designerCanvas.instanceServiceContainer.selectionService.setSelectedElements(Array.from(designItem.children()).filter(x => x.nodeType == NodeType.Element));
|
|
10
10
|
}
|
|
11
11
|
}];
|
|
@@ -30,7 +30,7 @@ export class DesignerToolbarButton extends BaseCustomWebComponentConstructorAppe
|
|
|
30
30
|
this.tools = tools;
|
|
31
31
|
this._img = this._getDomElement('img');
|
|
32
32
|
this._div = this._getDomElement('div');
|
|
33
|
-
this.
|
|
33
|
+
this._div.onclick = () => {
|
|
34
34
|
if (this.popup) {
|
|
35
35
|
this.getRootNode().host.showPopup(this);
|
|
36
36
|
}
|