@node-projects/web-component-designer 0.1.105 → 0.1.106
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/item/DesignItem.js +2 -1
- package/dist/elements/widgets/designerView/extensions/ExtensionManager.d.ts +1 -0
- package/dist/elements/widgets/designerView/extensions/ExtensionManager.js +7 -2
- package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.js +0 -1
- package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.js +1 -0
- package/package.json +1 -1
|
@@ -264,11 +264,12 @@ export class DesignItem {
|
|
|
264
264
|
set innerHTML(value) {
|
|
265
265
|
if (this.nodeType != NodeType.TextNode) {
|
|
266
266
|
const grp = this.openGroup('set innerHTML');
|
|
267
|
+
this.clearChildren();
|
|
267
268
|
const range = document.createRange();
|
|
268
269
|
range.selectNode(document.body);
|
|
269
270
|
const fragment = range.createContextualFragment(value);
|
|
270
271
|
for (const n of fragment.childNodes) {
|
|
271
|
-
let di = DesignItem.
|
|
272
|
+
let di = DesignItem.createDesignItemFromInstance(n, this.serviceContainer, this.instanceServiceContainer);
|
|
272
273
|
this.insertChild(di);
|
|
273
274
|
}
|
|
274
275
|
grp.commit();
|
|
@@ -12,6 +12,7 @@ export declare class ExtensionManager implements IExtensionManager {
|
|
|
12
12
|
_appliedDesignerExtensions: WeakMap<DesignItem, Map<ExtensionType, IDesignerExtension[]>>;
|
|
13
13
|
_shouldAppliedDesignerExtensions: WeakMap<DesignItem, Map<ExtensionType, IDesignerExtensionProvider[]>>;
|
|
14
14
|
_lastApplyEventPerType: WeakMap<DesignItem, Map<ExtensionType, Event>>;
|
|
15
|
+
_lastPrimarySelectionRefreshItem: WeakRef<IDesignItem>;
|
|
15
16
|
constructor(designerCanvas: IDesignerCanvas);
|
|
16
17
|
connected(): void;
|
|
17
18
|
disconnected(): void;
|
|
@@ -16,6 +16,7 @@ export class ExtensionManager {
|
|
|
16
16
|
_appliedDesignerExtensions = new WeakMap;
|
|
17
17
|
_shouldAppliedDesignerExtensions = new WeakMap;
|
|
18
18
|
_lastApplyEventPerType = new WeakMap;
|
|
19
|
+
_lastPrimarySelectionRefreshItem;
|
|
19
20
|
constructor(designerCanvas) {
|
|
20
21
|
this.designerCanvas = designerCanvas;
|
|
21
22
|
designerCanvas.instanceServiceContainer.selectionService.onSelectionChanged.on(this._selectedElementsChanged.bind(this));
|
|
@@ -54,6 +55,7 @@ export class ExtensionManager {
|
|
|
54
55
|
});
|
|
55
56
|
}
|
|
56
57
|
_selectedElementsChanged(selectionChangedEvent) {
|
|
58
|
+
this._lastPrimarySelectionRefreshItem = null;
|
|
57
59
|
if (selectionChangedEvent.oldSelectedElements && selectionChangedEvent.oldSelectedElements.length) {
|
|
58
60
|
if (selectionChangedEvent.oldSelectedElements[0].parent) {
|
|
59
61
|
const primaryContainer = DesignItem.GetOrCreateDesignItem(selectionChangedEvent.oldSelectedElements[0].parent.element, selectionChangedEvent.oldSelectedElements[0].parent.element, this.designerCanvas.serviceContainer, this.designerCanvas.instanceServiceContainer);
|
|
@@ -78,8 +80,9 @@ export class ExtensionManager {
|
|
|
78
80
|
}
|
|
79
81
|
_selectedElementsRefresh(selectionChangedEvent) {
|
|
80
82
|
this.refreshAllAppliedExtentions(selectionChangedEvent.event);
|
|
81
|
-
if (selectionChangedEvent.selectedElements && selectionChangedEvent.selectedElements.length) {
|
|
83
|
+
if (selectionChangedEvent.selectedElements && selectionChangedEvent.selectedElements.length && (!this._lastPrimarySelectionRefreshItem || this._lastPrimarySelectionRefreshItem.deref() !== selectionChangedEvent.selectedElements[0])) {
|
|
82
84
|
this.applyExtension(selectionChangedEvent.selectedElements[0], ExtensionType.PrimarySelectionRefreshed, selectionChangedEvent.event);
|
|
85
|
+
this._lastPrimarySelectionRefreshItem = new WeakRef(selectionChangedEvent.selectedElements[0]);
|
|
83
86
|
}
|
|
84
87
|
}
|
|
85
88
|
applyExtension(designItem, extensionType, event, recursive = false) {
|
|
@@ -193,8 +196,10 @@ export class ExtensionManager {
|
|
|
193
196
|
console.error(err);
|
|
194
197
|
}
|
|
195
198
|
e[1].splice(idx, 1);
|
|
196
|
-
if (e[1].length == 0)
|
|
199
|
+
if (e[1].length == 0) {
|
|
197
200
|
wmGet(designItem, this._appliedDesignerExtensions).delete(e[0]);
|
|
201
|
+
wmGet(designItem, this._shouldAppliedDesignerExtensions).delete(e[0]);
|
|
202
|
+
}
|
|
198
203
|
if (!wmGet(designItem, this._appliedDesignerExtensions).size)
|
|
199
204
|
this.designItemsWithExtentions.delete(designItem);
|
|
200
205
|
}
|
|
@@ -86,7 +86,6 @@ export class RectangleSelectorTool {
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
-
designerCanvas.instanceServiceContainer.selectionService.setSelectedElements(inSelectionElements);
|
|
90
89
|
designerCanvas.overlayLayer.removeOverlay(this._rect);
|
|
91
90
|
this._rect = null;
|
|
92
91
|
this._initialPoint = null;
|
|
@@ -165,6 +165,7 @@ export class PropertyGridWithHeader extends BaseCustomWebComponentLazyAppend {
|
|
|
165
165
|
PropertyGridPropertyList.refreshIsSetElementAndEditorForDesignItems(this._contentRect, this._propertiesService.contentProperty, this._instanceServiceContainer.selectionService.selectedElements, this._propertiesService);
|
|
166
166
|
PropertyGridPropertyList.refreshIsSetElementAndEditorForDesignItems(this._innerRect, this._propertiesService.innerHtmlProperty, this._instanceServiceContainer.selectionService.selectedElements, this._propertiesService);
|
|
167
167
|
});
|
|
168
|
+
this._pg.instanceServiceContainer = value;
|
|
168
169
|
}
|
|
169
170
|
}
|
|
170
171
|
customElements.define('node-projects-web-component-designer-property-grid-with-header', PropertyGridWithHeader);
|
package/package.json
CHANGED