@node-projects/web-component-designer 0.1.103 → 0.1.105
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/Helper.d.ts +1 -0
- package/dist/elements/helper/Helper.js +13 -0
- package/dist/elements/item/DesignItem.d.ts +0 -5
- package/dist/elements/item/DesignItem.js +0 -2
- package/dist/elements/item/IDesignItem.d.ts +0 -5
- package/dist/elements/services/DefaultServiceBootstrap.js +18 -18
- package/dist/elements/services/dragDropService/DragDropService.js +1 -1
- package/dist/elements/services/propertiesService/services/BaseCustomWebComponentPropertiesService.js +3 -2
- package/dist/elements/services/selectionService/ISelectionChangedEvent copy.d.ts +6 -0
- package/dist/elements/services/selectionService/ISelectionChangedEvent copy.js +1 -0
- package/dist/elements/services/selectionService/ISelectionChangedEvent.d.ts +1 -0
- package/dist/elements/services/selectionService/ISelectionRefreshEvent.d.ts +5 -0
- package/dist/elements/services/selectionService/ISelectionRefreshEvent.js +1 -0
- package/dist/elements/services/selectionService/ISelectionService.d.ts +3 -1
- package/dist/elements/services/selectionService/SelectionService.d.ts +4 -2
- package/dist/elements/services/selectionService/SelectionService.js +10 -4
- package/dist/elements/widgets/designerView/extensions/AbstractExtension.d.ts +7 -0
- package/dist/elements/widgets/designerView/extensions/AbstractExtension.js +21 -0
- package/dist/elements/widgets/designerView/extensions/AbstractToolbarExtension.d.ts +9 -0
- package/dist/elements/widgets/designerView/extensions/AbstractToolbarExtension.js +30 -0
- package/dist/elements/widgets/designerView/extensions/ConditionExtensionProvider.d.ts +13 -0
- package/dist/elements/widgets/designerView/extensions/ConditionExtensionProvider.js +18 -0
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension.d.ts +1 -0
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension.js +7 -16
- package/dist/elements/widgets/designerView/extensions/EditTextExtension.d.ts +18 -0
- package/dist/elements/widgets/designerView/extensions/EditTextExtension.js +107 -0
- package/dist/elements/widgets/designerView/extensions/ExtensionManager.d.ts +9 -3
- package/dist/elements/widgets/designerView/extensions/ExtensionManager.js +94 -59
- package/dist/elements/widgets/designerView/extensions/ExtensionType.d.ts +5 -1
- package/dist/elements/widgets/designerView/extensions/ExtensionType.js +4 -0
- package/dist/elements/widgets/designerView/extensions/GridToolbarExtension.d.ts +12 -0
- package/dist/elements/widgets/designerView/extensions/GridToolbarExtension.js +58 -0
- package/dist/elements/widgets/designerView/extensions/IExtensionManger.d.ts +3 -3
- package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js +6 -2
- package/dist/elements/widgets/designerView/extensions/block/BlockToolbarExtension.d.ts +12 -0
- package/dist/elements/widgets/designerView/extensions/block/BlockToolbarExtension.js +35 -0
- package/dist/elements/widgets/designerView/extensions/block/BlockToolbarExtensionProvider.d.ts +9 -0
- package/dist/elements/widgets/designerView/extensions/block/BlockToolbarExtensionProvider.js +12 -0
- package/dist/elements/widgets/designerView/extensions/block/FlexToolbarExtension.d.ts +12 -0
- package/dist/elements/widgets/designerView/extensions/block/FlexToolbarExtension.js +34 -0
- package/dist/elements/widgets/designerView/extensions/block/FlexToolbarExtensionProvider.d.ts +9 -0
- package/dist/elements/widgets/designerView/extensions/block/FlexToolbarExtensionProvider.js +12 -0
- package/dist/elements/widgets/designerView/extensions/contextMenu/ChildContextMenu.d.ts +11 -0
- package/dist/elements/widgets/designerView/extensions/contextMenu/ChildContextMenu.js +14 -0
- package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js +3 -3
- package/dist/elements/widgets/designerView/extensions/contextMenu/JumpToElementContextMenu.js +1 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js +1 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/PathContextMenu.js +1 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/RectContextMenu.js +1 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/RotateLeftAndRightContextMenu.js +1 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/SelectAllChildrenContextMenu.js +1 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.js +1 -1
- package/dist/elements/widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.js +1 -1
- package/dist/elements/widgets/designerView/extensions/flex/FlexToolbarExtension.d.ts +12 -0
- package/dist/elements/widgets/designerView/extensions/flex/FlexToolbarExtension.js +35 -0
- package/dist/elements/widgets/designerView/extensions/flex/FlexToolbarExtensionProvider.d.ts +9 -0
- package/dist/elements/widgets/designerView/extensions/flex/FlexToolbarExtensionProvider.js +12 -0
- package/dist/elements/widgets/designerView/extensions/flex/GridToolbarExtension.d.ts +12 -0
- package/dist/elements/widgets/designerView/extensions/flex/GridToolbarExtension.js +66 -0
- package/dist/elements/widgets/designerView/extensions/flex/GridToolbarExtensionProvider.d.ts +10 -0
- package/dist/elements/widgets/designerView/extensions/flex/GridToolbarExtensionProvider.js +17 -0
- package/dist/elements/widgets/designerView/extensions/grid/DisplayGridExtension.d.ts +1 -0
- package/dist/elements/widgets/designerView/extensions/grid/DisplayGridExtension.js +12 -8
- package/dist/elements/widgets/designerView/extensions/grid/GridChildResizeExtension.d.ts +27 -0
- package/dist/elements/widgets/designerView/extensions/grid/GridChildResizeExtension.js +259 -0
- package/dist/elements/widgets/designerView/extensions/grid/GridChildResizeExtensionProvider.d.ts +10 -0
- package/dist/elements/widgets/designerView/extensions/grid/GridChildResizeExtensionProvider.js +16 -0
- package/dist/elements/widgets/designerView/extensions/grid/GridChildToolbarExtension.d.ts +12 -0
- package/dist/elements/widgets/designerView/extensions/grid/GridChildToolbarExtension.js +66 -0
- package/dist/elements/widgets/designerView/extensions/grid/GridChildToolbarExtensionProvider.d.ts +10 -0
- package/dist/elements/widgets/designerView/extensions/grid/GridChildToolbarExtensionProvider.js +17 -0
- package/dist/elements/widgets/designerView/extensions/grid/GridToolbarExtension copy.d.ts +12 -0
- package/dist/elements/widgets/designerView/extensions/grid/GridToolbarExtension copy.js +66 -0
- package/dist/elements/widgets/designerView/extensions/grid/GridToolbarExtension.d.ts +12 -0
- package/dist/elements/widgets/designerView/extensions/grid/GridToolbarExtension.js +67 -0
- package/dist/elements/widgets/designerView/extensions/grid/GridToolbarExtensionProvider copy.d.ts +10 -0
- package/dist/elements/widgets/designerView/extensions/grid/GridToolbarExtensionProvider copy.js +17 -0
- package/dist/elements/widgets/designerView/extensions/grid/GridToolbarExtensionProvider.d.ts +9 -0
- package/dist/elements/widgets/designerView/extensions/grid/GridToolbarExtensionProvider.js +12 -0
- package/dist/elements/widgets/designerView/extensions/grid/ResizeExtension.d.ts +28 -0
- package/dist/elements/widgets/designerView/extensions/grid/ResizeExtension.js +355 -0
- package/dist/elements/widgets/designerView/extensions/grid/ResizeExtensionProvider.d.ts +12 -0
- package/dist/elements/widgets/designerView/extensions/grid/ResizeExtensionProvider.js +20 -0
- package/dist/elements/widgets/designerView/extensions/logic/ConditionExtensionProvider.d.ts +13 -0
- package/dist/elements/widgets/designerView/extensions/logic/ConditionExtensionProvider.js +18 -0
- package/dist/elements/widgets/designerView/extensions/svg/EllipsisExtension.js +8 -6
- package/dist/elements/widgets/designerView/extensions/svg/RectExtension.d.ts +2 -2
- package/dist/elements/widgets/designerView/extensions/svg/RectExtension.js +18 -15
- package/dist/elements/widgets/designerView/extensions/svg/RectExtensionProvider copy.d.ts +9 -0
- package/dist/elements/widgets/designerView/extensions/svg/RectExtensionProvider copy.js +14 -0
- package/dist/elements/widgets/designerView/extensions/svg/SvgBaseExtension.d.ts +30 -0
- package/dist/elements/widgets/designerView/extensions/svg/SvgBaseExtension.js +181 -0
- package/dist/elements/widgets/designerView/extensions/svg/SvgElementExtension.d.ts +26 -0
- package/dist/elements/widgets/designerView/extensions/svg/SvgElementExtension.js +144 -0
- package/dist/elements/widgets/designerView/extensions/svg/SvgElementExtensionProvider.d.ts +9 -0
- package/dist/elements/widgets/designerView/extensions/svg/SvgElementExtensionProvider.js +16 -0
- package/dist/elements/widgets/designerView/overlayLayerView.js +4 -1
- package/dist/elements/widgets/designerView/tools/DrawElementTool.js +1 -1
- package/dist/elements/widgets/designerView/tools/PointerTool.js +9 -9
- package/dist/index.d.ts +15 -0
- package/dist/index.js +14 -0
- package/package.json +1 -1
|
@@ -1,18 +1,24 @@
|
|
|
1
|
+
import { DesignItem } from '../../../item/DesignItem.js';
|
|
1
2
|
import { IDesignItem } from '../../../item/IDesignItem.js';
|
|
2
3
|
import { IDesignerCanvas } from '../IDesignerCanvas.js';
|
|
3
4
|
import { ExtensionType } from './ExtensionType.js';
|
|
4
5
|
import { IExtensionManager } from './IExtensionManger.js';
|
|
5
6
|
import { IDesignerExtension } from './IDesignerExtension.js';
|
|
7
|
+
import { IDesignerExtensionProvider } from './IDesignerExtensionProvider.js';
|
|
6
8
|
export declare class ExtensionManager implements IExtensionManager {
|
|
7
9
|
designerCanvas: IDesignerCanvas;
|
|
8
10
|
designItemsWithExtentions: Set<IDesignItem>;
|
|
9
11
|
_timeout: ReturnType<typeof setTimeout>;
|
|
12
|
+
_appliedDesignerExtensions: WeakMap<DesignItem, Map<ExtensionType, IDesignerExtension[]>>;
|
|
13
|
+
_shouldAppliedDesignerExtensions: WeakMap<DesignItem, Map<ExtensionType, IDesignerExtensionProvider[]>>;
|
|
14
|
+
_lastApplyEventPerType: WeakMap<DesignItem, Map<ExtensionType, Event>>;
|
|
10
15
|
constructor(designerCanvas: IDesignerCanvas);
|
|
11
16
|
connected(): void;
|
|
12
17
|
disconnected(): void;
|
|
13
18
|
private refreshAllExtensionsTimeout;
|
|
14
19
|
private _contentChanged;
|
|
15
20
|
private _selectedElementsChanged;
|
|
21
|
+
private _selectedElementsRefresh;
|
|
16
22
|
applyExtension(designItem: IDesignItem, extensionType: ExtensionType, event?: Event, recursive?: boolean): IDesignerExtension[];
|
|
17
23
|
applyExtensions(designItems: IDesignItem[], extensionType: ExtensionType, event?: Event, recursive?: boolean): void;
|
|
18
24
|
applyExtensionInstance(designItem: IDesignItem, extension: IDesignerExtension): void;
|
|
@@ -21,8 +27,8 @@ export declare class ExtensionManager implements IExtensionManager {
|
|
|
21
27
|
removeExtensions(designItems: IDesignItem[], recursive: boolean, extensionType?: ExtensionType): void;
|
|
22
28
|
refreshExtension(designItem: IDesignItem, extensionType?: ExtensionType, event?: Event): void;
|
|
23
29
|
refreshExtensions(designItems: IDesignItem[], extensionType?: ExtensionType, event?: Event, ignoredExtension?: IDesignerExtension, timeout?: number): void;
|
|
24
|
-
refreshAllExtensions(designItems: IDesignItem[], ignoredExtension?: IDesignerExtension): void;
|
|
25
|
-
refreshAllAppliedExtentions(): void;
|
|
26
|
-
reapplyAllAppliedExtentions(): void;
|
|
30
|
+
refreshAllExtensions(designItems: IDesignItem[], ignoredExtension?: IDesignerExtension, event?: Event): void;
|
|
31
|
+
refreshAllAppliedExtentions(event?: Event): void;
|
|
32
|
+
reapplyAllAppliedExtentions(filterDesignItems?: IDesignItem[]): void;
|
|
27
33
|
private static getAllChildElements;
|
|
28
34
|
}
|
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
import { DesignItem } from '../../../item/DesignItem.js';
|
|
2
2
|
import { NodeType } from "../../../item/NodeType.js";
|
|
3
3
|
import { ExtensionType } from './ExtensionType.js';
|
|
4
|
+
function wmGet(designItem, weakMap) {
|
|
5
|
+
let val = weakMap.get(designItem);
|
|
6
|
+
if (val)
|
|
7
|
+
return val;
|
|
8
|
+
val = new Map();
|
|
9
|
+
weakMap.set(designItem, val);
|
|
10
|
+
return val;
|
|
11
|
+
}
|
|
4
12
|
export class ExtensionManager {
|
|
5
13
|
designerCanvas;
|
|
6
14
|
designItemsWithExtentions = new Set();
|
|
7
15
|
_timeout;
|
|
16
|
+
_appliedDesignerExtensions = new WeakMap;
|
|
17
|
+
_shouldAppliedDesignerExtensions = new WeakMap;
|
|
18
|
+
_lastApplyEventPerType = new WeakMap;
|
|
8
19
|
constructor(designerCanvas) {
|
|
9
20
|
this.designerCanvas = designerCanvas;
|
|
10
21
|
designerCanvas.instanceServiceContainer.selectionService.onSelectionChanged.on(this._selectedElementsChanged.bind(this));
|
|
22
|
+
designerCanvas.instanceServiceContainer.selectionService.onSelectionRefresh.on(this._selectedElementsRefresh.bind(this));
|
|
11
23
|
designerCanvas.instanceServiceContainer.contentService.onContentChanged.on(this._contentChanged.bind(this));
|
|
12
24
|
}
|
|
13
25
|
connected() {
|
|
@@ -48,21 +60,27 @@ export class ExtensionManager {
|
|
|
48
60
|
this.removeExtension(primaryContainer, ExtensionType.PrimarySelectionContainer);
|
|
49
61
|
this.removeExtension(primaryContainer, ExtensionType.PrimarySelectionContainerAndCanBeEntered);
|
|
50
62
|
this.removeExtension(selectionChangedEvent.oldSelectedElements[0], ExtensionType.PrimarySelection);
|
|
63
|
+
this.removeExtension(selectionChangedEvent.oldSelectedElements[0], ExtensionType.PrimarySelectionRefreshed);
|
|
51
64
|
this.removeExtension(selectionChangedEvent.oldSelectedElements[0], ExtensionType.PrimarySelectionAndCanBeEntered);
|
|
52
65
|
this.removeExtensions(selectionChangedEvent.oldSelectedElements, false, ExtensionType.Selection);
|
|
53
66
|
}
|
|
54
67
|
}
|
|
55
68
|
if (selectionChangedEvent.selectedElements && selectionChangedEvent.selectedElements.length) {
|
|
56
|
-
this.applyExtensions(selectionChangedEvent.selectedElements, ExtensionType.Selection);
|
|
57
|
-
this.applyExtension(selectionChangedEvent.selectedElements[0], ExtensionType.PrimarySelection);
|
|
69
|
+
this.applyExtensions(selectionChangedEvent.selectedElements, ExtensionType.Selection, selectionChangedEvent.event);
|
|
70
|
+
this.applyExtension(selectionChangedEvent.selectedElements[0], ExtensionType.PrimarySelection, selectionChangedEvent.event);
|
|
58
71
|
if (selectionChangedEvent.selectedElements[0].getPlacementService()?.isEnterableContainer(selectionChangedEvent.selectedElements[0]))
|
|
59
|
-
this.applyExtension(selectionChangedEvent.selectedElements[0], ExtensionType.PrimarySelectionAndCanBeEntered);
|
|
72
|
+
this.applyExtension(selectionChangedEvent.selectedElements[0], ExtensionType.PrimarySelectionAndCanBeEntered, selectionChangedEvent.event);
|
|
60
73
|
const primaryContainer = DesignItem.GetOrCreateDesignItem(selectionChangedEvent.selectedElements[0].parent.element, selectionChangedEvent.selectedElements[0].parent.element, this.designerCanvas.serviceContainer, this.designerCanvas.instanceServiceContainer);
|
|
61
|
-
this.applyExtension(primaryContainer, ExtensionType.PrimarySelectionContainer);
|
|
74
|
+
this.applyExtension(primaryContainer, ExtensionType.PrimarySelectionContainer, selectionChangedEvent.event);
|
|
62
75
|
if (primaryContainer.getPlacementService()?.isEnterableContainer(primaryContainer))
|
|
63
|
-
this.applyExtension(primaryContainer, ExtensionType.PrimarySelectionContainerAndCanBeEntered);
|
|
76
|
+
this.applyExtension(primaryContainer, ExtensionType.PrimarySelectionContainerAndCanBeEntered, selectionChangedEvent.event);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
_selectedElementsRefresh(selectionChangedEvent) {
|
|
80
|
+
this.refreshAllAppliedExtentions(selectionChangedEvent.event);
|
|
81
|
+
if (selectionChangedEvent.selectedElements && selectionChangedEvent.selectedElements.length) {
|
|
82
|
+
this.applyExtension(selectionChangedEvent.selectedElements[0], ExtensionType.PrimarySelectionRefreshed, selectionChangedEvent.event);
|
|
64
83
|
}
|
|
65
|
-
//this.refreshExtensions(selectionChangedEvent.selectedElements);
|
|
66
84
|
}
|
|
67
85
|
applyExtension(designItem, extensionType, event, recursive = false) {
|
|
68
86
|
if (designItem && designItem.nodeType == NodeType.Element) {
|
|
@@ -71,25 +89,29 @@ export class ExtensionManager {
|
|
|
71
89
|
if (extProv) {
|
|
72
90
|
const cache = {};
|
|
73
91
|
for (let e of extProv) {
|
|
74
|
-
let shouldAppE = designItem.
|
|
92
|
+
let shouldAppE = wmGet(designItem, this._shouldAppliedDesignerExtensions).get(extensionType);
|
|
75
93
|
if (!shouldAppE)
|
|
76
94
|
shouldAppE = [];
|
|
77
95
|
shouldAppE.push(e);
|
|
78
|
-
designItem.
|
|
96
|
+
wmGet(designItem, this._shouldAppliedDesignerExtensions).set(extensionType, shouldAppE);
|
|
79
97
|
if (e.shouldExtend(this, this.designerCanvas, designItem)) {
|
|
80
|
-
let appE = designItem.
|
|
98
|
+
let appE = wmGet(designItem, this._appliedDesignerExtensions).get(extensionType);
|
|
81
99
|
if (!appE)
|
|
82
100
|
appE = [];
|
|
83
101
|
const ext = e.getExtension(this, this.designerCanvas, designItem);
|
|
84
102
|
try {
|
|
85
103
|
ext.extend(cache, event);
|
|
86
104
|
extensions.push(ext);
|
|
105
|
+
if (event)
|
|
106
|
+
wmGet(designItem, this._lastApplyEventPerType).set(extensionType, event);
|
|
107
|
+
else
|
|
108
|
+
wmGet(designItem, this._lastApplyEventPerType).delete(extensionType);
|
|
87
109
|
}
|
|
88
110
|
catch (err) {
|
|
89
111
|
console.error(err);
|
|
90
112
|
}
|
|
91
113
|
appE.push(ext);
|
|
92
|
-
designItem.
|
|
114
|
+
wmGet(designItem, this._appliedDesignerExtensions).set(extensionType, appE);
|
|
93
115
|
this.designItemsWithExtentions.add(designItem);
|
|
94
116
|
}
|
|
95
117
|
}
|
|
@@ -111,24 +133,28 @@ export class ExtensionManager {
|
|
|
111
133
|
const cache = {};
|
|
112
134
|
for (let e of extProv) {
|
|
113
135
|
for (let i of designItems) {
|
|
114
|
-
let shouldAppE = i.
|
|
136
|
+
let shouldAppE = wmGet(i, this._shouldAppliedDesignerExtensions).get(extensionType);
|
|
115
137
|
if (!shouldAppE)
|
|
116
138
|
shouldAppE = [];
|
|
117
139
|
shouldAppE.push(e);
|
|
118
|
-
i.
|
|
140
|
+
wmGet(i, this._shouldAppliedDesignerExtensions).set(extensionType, shouldAppE);
|
|
119
141
|
if (e.shouldExtend(this, this.designerCanvas, i)) {
|
|
120
|
-
let appE = i.
|
|
142
|
+
let appE = wmGet(i, this._appliedDesignerExtensions).get(extensionType);
|
|
121
143
|
if (!appE)
|
|
122
144
|
appE = [];
|
|
123
145
|
const ext = e.getExtension(this, this.designerCanvas, i);
|
|
124
146
|
try {
|
|
125
147
|
ext.extend(cache, event);
|
|
148
|
+
if (event)
|
|
149
|
+
wmGet(i, this._lastApplyEventPerType).set(extensionType, event);
|
|
150
|
+
else
|
|
151
|
+
wmGet(i, this._lastApplyEventPerType).delete(extensionType);
|
|
126
152
|
}
|
|
127
153
|
catch (err) {
|
|
128
154
|
console.error(err);
|
|
129
155
|
}
|
|
130
156
|
appE.push(ext);
|
|
131
|
-
i.
|
|
157
|
+
wmGet(i, this._appliedDesignerExtensions).set(extensionType, appE);
|
|
132
158
|
this.designItemsWithExtentions.add(i);
|
|
133
159
|
}
|
|
134
160
|
}
|
|
@@ -143,7 +169,7 @@ export class ExtensionManager {
|
|
|
143
169
|
this.designerCanvas.overlayLayer.endBatch();
|
|
144
170
|
}
|
|
145
171
|
applyExtensionInstance(designItem, extension) {
|
|
146
|
-
let appE = designItem.
|
|
172
|
+
let appE = wmGet(designItem, this._appliedDesignerExtensions).get(ExtensionType.Directly);
|
|
147
173
|
if (!appE)
|
|
148
174
|
appE = [];
|
|
149
175
|
try {
|
|
@@ -153,11 +179,11 @@ export class ExtensionManager {
|
|
|
153
179
|
console.error(err);
|
|
154
180
|
}
|
|
155
181
|
appE.push(extension);
|
|
156
|
-
designItem.
|
|
182
|
+
wmGet(designItem, this._appliedDesignerExtensions).set(ExtensionType.Directly, appE);
|
|
157
183
|
this.designItemsWithExtentions.add(designItem);
|
|
158
184
|
}
|
|
159
185
|
removeExtensionInstance(designItem, extension) {
|
|
160
|
-
for (let e of designItem.
|
|
186
|
+
for (let e of wmGet(designItem, this._appliedDesignerExtensions)) {
|
|
161
187
|
const idx = e[1].indexOf(extension);
|
|
162
188
|
if (idx >= 0) {
|
|
163
189
|
try {
|
|
@@ -168,8 +194,8 @@ export class ExtensionManager {
|
|
|
168
194
|
}
|
|
169
195
|
e[1].splice(idx, 1);
|
|
170
196
|
if (e[1].length == 0)
|
|
171
|
-
designItem.
|
|
172
|
-
if (!designItem.
|
|
197
|
+
wmGet(designItem, this._appliedDesignerExtensions).delete(e[0]);
|
|
198
|
+
if (!wmGet(designItem, this._appliedDesignerExtensions).size)
|
|
173
199
|
this.designItemsWithExtentions.delete(designItem);
|
|
174
200
|
}
|
|
175
201
|
}
|
|
@@ -177,25 +203,26 @@ export class ExtensionManager {
|
|
|
177
203
|
removeExtension(designItem, extensionType) {
|
|
178
204
|
if (designItem) {
|
|
179
205
|
if (extensionType) {
|
|
180
|
-
designItem.
|
|
181
|
-
let exts = designItem.
|
|
206
|
+
wmGet(designItem, this._shouldAppliedDesignerExtensions).delete(extensionType);
|
|
207
|
+
let exts = wmGet(designItem, this._appliedDesignerExtensions).get(extensionType);
|
|
182
208
|
if (exts) {
|
|
183
209
|
for (let e of exts) {
|
|
184
210
|
try {
|
|
185
211
|
e.dispose();
|
|
212
|
+
wmGet(designItem, this._lastApplyEventPerType).delete(extensionType);
|
|
186
213
|
}
|
|
187
214
|
catch (err) {
|
|
188
215
|
console.error(err);
|
|
189
216
|
}
|
|
190
217
|
}
|
|
191
|
-
designItem.
|
|
192
|
-
if (!designItem.
|
|
218
|
+
wmGet(designItem, this._appliedDesignerExtensions).delete(extensionType);
|
|
219
|
+
if (!wmGet(designItem, this._appliedDesignerExtensions).size)
|
|
193
220
|
this.designItemsWithExtentions.delete(designItem);
|
|
194
221
|
}
|
|
195
222
|
}
|
|
196
223
|
else {
|
|
197
|
-
designItem.
|
|
198
|
-
for (let appE of designItem.
|
|
224
|
+
wmGet(designItem, this._shouldAppliedDesignerExtensions).clear();
|
|
225
|
+
for (let appE of wmGet(designItem, this._appliedDesignerExtensions)) {
|
|
199
226
|
for (let e of appE[1]) {
|
|
200
227
|
try {
|
|
201
228
|
e.dispose();
|
|
@@ -205,7 +232,7 @@ export class ExtensionManager {
|
|
|
205
232
|
}
|
|
206
233
|
}
|
|
207
234
|
}
|
|
208
|
-
designItem.
|
|
235
|
+
wmGet(designItem, this._appliedDesignerExtensions).clear();
|
|
209
236
|
this.designItemsWithExtentions.delete(designItem);
|
|
210
237
|
}
|
|
211
238
|
}
|
|
@@ -217,19 +244,20 @@ export class ExtensionManager {
|
|
|
217
244
|
if (recursive && i.hasChildren) {
|
|
218
245
|
this.removeExtensions([...i.children()], true, extensionType);
|
|
219
246
|
}
|
|
220
|
-
i.
|
|
221
|
-
let exts = i.
|
|
247
|
+
wmGet(i, this._shouldAppliedDesignerExtensions).delete(extensionType);
|
|
248
|
+
let exts = wmGet(i, this._appliedDesignerExtensions).get(extensionType);
|
|
222
249
|
if (exts) {
|
|
223
250
|
for (let e of exts) {
|
|
224
251
|
try {
|
|
225
252
|
e.dispose();
|
|
253
|
+
wmGet(i, this._lastApplyEventPerType).delete(extensionType);
|
|
226
254
|
}
|
|
227
255
|
catch (err) {
|
|
228
256
|
console.error(err);
|
|
229
257
|
}
|
|
230
258
|
}
|
|
231
|
-
i.
|
|
232
|
-
if (!i.
|
|
259
|
+
wmGet(i, this._appliedDesignerExtensions).delete(extensionType);
|
|
260
|
+
if (!wmGet(i, this._appliedDesignerExtensions).size)
|
|
233
261
|
this.designItemsWithExtentions.delete(i);
|
|
234
262
|
}
|
|
235
263
|
}
|
|
@@ -239,8 +267,8 @@ export class ExtensionManager {
|
|
|
239
267
|
if (recursive && i.hasChildren) {
|
|
240
268
|
this.removeExtensions([...i.children()], true, extensionType);
|
|
241
269
|
}
|
|
242
|
-
i.
|
|
243
|
-
for (let appE of i.
|
|
270
|
+
wmGet(i, this._shouldAppliedDesignerExtensions).clear();
|
|
271
|
+
for (let appE of wmGet(i, this._appliedDesignerExtensions)) {
|
|
244
272
|
for (let e of appE[1]) {
|
|
245
273
|
try {
|
|
246
274
|
e.dispose();
|
|
@@ -250,7 +278,7 @@ export class ExtensionManager {
|
|
|
250
278
|
}
|
|
251
279
|
}
|
|
252
280
|
}
|
|
253
|
-
i.
|
|
281
|
+
wmGet(i, this._appliedDesignerExtensions).clear();
|
|
254
282
|
this.designItemsWithExtentions.delete(i);
|
|
255
283
|
}
|
|
256
284
|
}
|
|
@@ -263,12 +291,14 @@ export class ExtensionManager {
|
|
|
263
291
|
this.removeExtension(designItem, extensionType);
|
|
264
292
|
}
|
|
265
293
|
else {
|
|
266
|
-
let exts = designItem.
|
|
294
|
+
let exts = wmGet(designItem, this._appliedDesignerExtensions).get(extensionType);
|
|
267
295
|
if (exts) {
|
|
268
296
|
const cache = {};
|
|
269
297
|
for (let e of exts) {
|
|
270
298
|
try {
|
|
271
299
|
e.refresh(cache, event);
|
|
300
|
+
if (event)
|
|
301
|
+
wmGet(designItem, this._lastApplyEventPerType).set(extensionType, event);
|
|
272
302
|
}
|
|
273
303
|
catch (err) {
|
|
274
304
|
console.error(err);
|
|
@@ -279,7 +309,7 @@ export class ExtensionManager {
|
|
|
279
309
|
}
|
|
280
310
|
else {
|
|
281
311
|
const cache = {};
|
|
282
|
-
for (let appE of designItem.
|
|
312
|
+
for (let appE of wmGet(designItem, this._appliedDesignerExtensions)) {
|
|
283
313
|
for (let e of appE[1]) {
|
|
284
314
|
try {
|
|
285
315
|
e.refresh(cache, event);
|
|
@@ -303,7 +333,7 @@ export class ExtensionManager {
|
|
|
303
333
|
this.removeExtension(i, extensionType);
|
|
304
334
|
}
|
|
305
335
|
else {
|
|
306
|
-
let exts = i.
|
|
336
|
+
let exts = wmGet(i, this._appliedDesignerExtensions).get(extensionType);
|
|
307
337
|
if (exts) {
|
|
308
338
|
for (let e of exts) {
|
|
309
339
|
try {
|
|
@@ -328,11 +358,13 @@ export class ExtensionManager {
|
|
|
328
358
|
else {
|
|
329
359
|
const cache = {};
|
|
330
360
|
outer2: for (let i of designItems) {
|
|
331
|
-
for (let appE of i.
|
|
361
|
+
for (let appE of wmGet(i, this._appliedDesignerExtensions)) {
|
|
332
362
|
for (let e of appE[1]) {
|
|
333
363
|
try {
|
|
334
364
|
if (e != ignoredExtension) {
|
|
335
365
|
e.refresh(cache, event);
|
|
366
|
+
if (event)
|
|
367
|
+
wmGet(i, this._lastApplyEventPerType).set(extensionType, event);
|
|
336
368
|
if (timeout) {
|
|
337
369
|
const end = performance.now();
|
|
338
370
|
if (end - start > timeout) {
|
|
@@ -352,39 +384,42 @@ export class ExtensionManager {
|
|
|
352
384
|
}
|
|
353
385
|
this.designerCanvas.overlayLayer.endBatch();
|
|
354
386
|
}
|
|
355
|
-
refreshAllExtensions(designItems, ignoredExtension) {
|
|
387
|
+
refreshAllExtensions(designItems, ignoredExtension, event) {
|
|
356
388
|
this.designerCanvas.overlayLayer.startBatch();
|
|
357
389
|
if (designItems) {
|
|
358
|
-
this.refreshExtensions(designItems, ExtensionType.Directly,
|
|
359
|
-
this.refreshExtensions(designItems, ExtensionType.Permanent,
|
|
360
|
-
this.refreshExtensions(designItems, ExtensionType.Selection,
|
|
361
|
-
this.refreshExtensions(designItems, ExtensionType.PrimarySelection,
|
|
362
|
-
this.refreshExtensions(designItems, ExtensionType.PrimarySelectionContainer,
|
|
363
|
-
this.refreshExtensions(designItems, ExtensionType.MouseOver,
|
|
364
|
-
this.refreshExtensions(designItems, ExtensionType.OnlyOneItemSelected,
|
|
365
|
-
this.refreshExtensions(designItems, ExtensionType.MultipleItemsSelected,
|
|
366
|
-
this.refreshExtensions(designItems, ExtensionType.ContainerDragOverAndCanBeEntered,
|
|
367
|
-
this.refreshExtensions(designItems, ExtensionType.ContainerDrag,
|
|
368
|
-
this.refreshExtensions(designItems, ExtensionType.Doubleclick,
|
|
369
|
-
this.refreshExtensions(designItems, ExtensionType.Placement,
|
|
370
|
-
this.refreshExtensions(designItems, ExtensionType.PrimarySelectionAndCanBeEntered,
|
|
371
|
-
this.refreshExtensions(designItems, ExtensionType.PrimarySelectionContainerAndCanBeEntered,
|
|
390
|
+
this.refreshExtensions(designItems, ExtensionType.Directly, event, ignoredExtension);
|
|
391
|
+
this.refreshExtensions(designItems, ExtensionType.Permanent, event, ignoredExtension);
|
|
392
|
+
this.refreshExtensions(designItems, ExtensionType.Selection, event, ignoredExtension);
|
|
393
|
+
this.refreshExtensions(designItems, ExtensionType.PrimarySelection, event, ignoredExtension);
|
|
394
|
+
this.refreshExtensions(designItems, ExtensionType.PrimarySelectionContainer, event, ignoredExtension);
|
|
395
|
+
this.refreshExtensions(designItems, ExtensionType.MouseOver, event, ignoredExtension);
|
|
396
|
+
this.refreshExtensions(designItems, ExtensionType.OnlyOneItemSelected, event, ignoredExtension);
|
|
397
|
+
this.refreshExtensions(designItems, ExtensionType.MultipleItemsSelected, event, ignoredExtension);
|
|
398
|
+
this.refreshExtensions(designItems, ExtensionType.ContainerDragOverAndCanBeEntered, event, ignoredExtension);
|
|
399
|
+
this.refreshExtensions(designItems, ExtensionType.ContainerDrag, event, ignoredExtension);
|
|
400
|
+
this.refreshExtensions(designItems, ExtensionType.Doubleclick, event, ignoredExtension);
|
|
401
|
+
this.refreshExtensions(designItems, ExtensionType.Placement, event, ignoredExtension);
|
|
402
|
+
this.refreshExtensions(designItems, ExtensionType.PrimarySelectionAndCanBeEntered, event, ignoredExtension);
|
|
403
|
+
this.refreshExtensions(designItems, ExtensionType.PrimarySelectionContainerAndCanBeEntered, event, ignoredExtension);
|
|
372
404
|
}
|
|
373
405
|
this.designerCanvas.overlayLayer.endBatch();
|
|
374
406
|
}
|
|
375
|
-
refreshAllAppliedExtentions() {
|
|
407
|
+
refreshAllAppliedExtentions(event) {
|
|
376
408
|
this.designerCanvas.fillCalculationrects();
|
|
377
|
-
this.refreshAllExtensions([...this.designItemsWithExtentions]);
|
|
409
|
+
this.refreshAllExtensions([...this.designItemsWithExtentions], null, event);
|
|
378
410
|
}
|
|
379
411
|
//TODO: does not work with permanant, when not applied... maybe we need to do in another way
|
|
380
412
|
//maybe store the "shouldAppliedExtensions??"
|
|
381
|
-
reapplyAllAppliedExtentions() {
|
|
413
|
+
reapplyAllAppliedExtentions(filterDesignItems) {
|
|
382
414
|
this.designerCanvas.overlayLayer.startBatch();
|
|
383
415
|
for (let d of ExtensionManager.getAllChildElements(this.designerCanvas.rootDesignItem)) {
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
416
|
+
if (!filterDesignItems || filterDesignItems.includes(d)) {
|
|
417
|
+
const keys = [...wmGet(d, this._shouldAppliedDesignerExtensions).keys()];
|
|
418
|
+
for (let t of keys) {
|
|
419
|
+
const evt = wmGet(d, this._lastApplyEventPerType).get(t);
|
|
420
|
+
this.removeExtension(d, t);
|
|
421
|
+
this.applyExtension(d, t, evt);
|
|
422
|
+
}
|
|
388
423
|
}
|
|
389
424
|
}
|
|
390
425
|
this.designerCanvas.overlayLayer.endBatch();
|
|
@@ -27,5 +27,9 @@ export declare enum ExtensionType {
|
|
|
27
27
|
* do not display grid extension.
|
|
28
28
|
*/
|
|
29
29
|
PrimarySelectionAndCanBeEntered = 13,
|
|
30
|
-
PrimarySelectionContainerAndCanBeEntered = 14
|
|
30
|
+
PrimarySelectionContainerAndCanBeEntered = 14,
|
|
31
|
+
/**
|
|
32
|
+
* Extension when the Primary Selection is refreshed, means clicked a second time
|
|
33
|
+
*/
|
|
34
|
+
PrimarySelectionRefreshed = 15
|
|
31
35
|
}
|
|
@@ -29,4 +29,8 @@ export var ExtensionType;
|
|
|
29
29
|
*/
|
|
30
30
|
ExtensionType[ExtensionType["PrimarySelectionAndCanBeEntered"] = 13] = "PrimarySelectionAndCanBeEntered";
|
|
31
31
|
ExtensionType[ExtensionType["PrimarySelectionContainerAndCanBeEntered"] = 14] = "PrimarySelectionContainerAndCanBeEntered";
|
|
32
|
+
/**
|
|
33
|
+
* Extension when the Primary Selection is refreshed, means clicked a second time
|
|
34
|
+
*/
|
|
35
|
+
ExtensionType[ExtensionType["PrimarySelectionRefreshed"] = 15] = "PrimarySelectionRefreshed";
|
|
32
36
|
})(ExtensionType || (ExtensionType = {}));
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IDesignItem } from '../../../../item/IDesignItem.js';
|
|
2
|
+
import { IDesignerCanvas } from '../../IDesignerCanvas.js';
|
|
3
|
+
import { AbstractExtension } from "../AbstractExtension.js";
|
|
4
|
+
import { IExtensionManager } from '../IExtensionManger.js';
|
|
5
|
+
export declare class GridToolbarExtension extends AbstractExtension {
|
|
6
|
+
private static template;
|
|
7
|
+
private _foreignObject;
|
|
8
|
+
constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
|
|
9
|
+
extend(cache: Record<string | symbol, any>, event: MouseEvent): void;
|
|
10
|
+
refresh(cache: Record<string | symbol, any>, event?: MouseEvent): void;
|
|
11
|
+
dispose(): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { html } from "@node-projects/base-custom-webcomponent";
|
|
2
|
+
import { AbstractExtension } from "../AbstractExtension.js";
|
|
3
|
+
import { OverlayLayer } from "../OverlayLayer.js";
|
|
4
|
+
export class GridToolbarExtension extends AbstractExtension {
|
|
5
|
+
static template = html `
|
|
6
|
+
<div style="height: 30px; width: 200px;">
|
|
7
|
+
<span>GRID</span>
|
|
8
|
+
<select id="gridType" style="pointer-events: all; height: 24px; width: 60px; padding: 0;">
|
|
9
|
+
<option>1x1</option>
|
|
10
|
+
<option>1x16</option>
|
|
11
|
+
<option>2x8</option>
|
|
12
|
+
<option>4x4</option>
|
|
13
|
+
<option>8x2</option>
|
|
14
|
+
<option>16x1</option>
|
|
15
|
+
<option>custom</option>
|
|
16
|
+
</select>
|
|
17
|
+
</div>
|
|
18
|
+
`;
|
|
19
|
+
_foreignObject;
|
|
20
|
+
constructor(extensionManager, designerView, extendedItem) {
|
|
21
|
+
super(extensionManager, designerView, extendedItem);
|
|
22
|
+
}
|
|
23
|
+
extend(cache, event) {
|
|
24
|
+
const element = GridToolbarExtension.template.content.cloneNode(true);
|
|
25
|
+
element.querySelectorAll('*').forEach(x => x.onpointerdown = (e) => {
|
|
26
|
+
this.designerCanvas.ignoreEvent(e);
|
|
27
|
+
//this._formatSelection(x.dataset['command'], x.dataset['commandParameter'])
|
|
28
|
+
});
|
|
29
|
+
//element.querySelectorAll('select').forEach(x => x.onpointerdown = (e) => this.designerCanvas.ignoreEvent(e));
|
|
30
|
+
const gridTypeEl = element.querySelector('#gridType');
|
|
31
|
+
gridTypeEl.onchange = () => {
|
|
32
|
+
const parts = gridTypeEl.value.split('x');
|
|
33
|
+
this.extendedItem.updateStyleInSheetOrLocal('grid-template-columns', '1fr '.repeat(parseInt(parts[0])).trim());
|
|
34
|
+
this.extendedItem.updateStyleInSheetOrLocal('grid-template-rows', '1fr '.repeat(parseInt(parts[1])).trim());
|
|
35
|
+
};
|
|
36
|
+
//elements.querySelectorAll('select').forEach(x => x.onchange = () => this._formatSelection(x.dataset['command'], x.value));
|
|
37
|
+
//overlay
|
|
38
|
+
const foreignObject = document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject');
|
|
39
|
+
this._foreignObject = foreignObject;
|
|
40
|
+
foreignObject.classList.add('svg-toolbar');
|
|
41
|
+
foreignObject.setAttribute('width', '1');
|
|
42
|
+
foreignObject.setAttribute('height', '1');
|
|
43
|
+
foreignObject.appendChild(element);
|
|
44
|
+
this.refresh(cache, event);
|
|
45
|
+
this._addOverlay(foreignObject, OverlayLayer.Foreground);
|
|
46
|
+
}
|
|
47
|
+
refresh(cache, event) {
|
|
48
|
+
if (event) {
|
|
49
|
+
const pos = this.designerCanvas.getNormalizedEventCoordinates(event);
|
|
50
|
+
//debugger;
|
|
51
|
+
this._foreignObject.setAttribute('x', '' + (pos.x - 16));
|
|
52
|
+
this._foreignObject.setAttribute('y', '' + (pos.y - 36));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
dispose() {
|
|
56
|
+
this._removeAllOverlays();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -10,9 +10,9 @@ export interface IExtensionManager {
|
|
|
10
10
|
removeExtensionInstance(designItem: IDesignItem, extension: IDesignerExtension): any;
|
|
11
11
|
refreshExtension(designItem: IDesignItem, extensionType?: ExtensionType, event?: Event): any;
|
|
12
12
|
refreshExtensions(designItems: IDesignItem[], extensionType?: ExtensionType, event?: Event, ignoredExtension?: IDesignerExtension, timeout?: number): any;
|
|
13
|
-
refreshAllExtensions(designItems: IDesignItem[], ignoredExtension?: IDesignerExtension): any;
|
|
14
|
-
refreshAllAppliedExtentions(): any;
|
|
15
|
-
reapplyAllAppliedExtentions(): any;
|
|
13
|
+
refreshAllExtensions(designItems: IDesignItem[], ignoredExtension?: IDesignerExtension, event?: Event): any;
|
|
14
|
+
refreshAllAppliedExtentions(event?: Event): any;
|
|
15
|
+
reapplyAllAppliedExtentions(filterDesignItems?: IDesignItem[]): any;
|
|
16
16
|
connected(): any;
|
|
17
17
|
disconnected(): any;
|
|
18
18
|
}
|
|
@@ -11,9 +11,13 @@ export class TransformOriginExtensionProvider {
|
|
|
11
11
|
return true;
|
|
12
12
|
if (designItem.hasStyle('transformOrigin'))
|
|
13
13
|
return true;
|
|
14
|
-
|
|
14
|
+
const cs = getComputedStyle(designItem.element);
|
|
15
|
+
if (cs.display != 'inline' && designItem.element.getBoundingClientRect) {
|
|
15
16
|
const r = designItem.element.getBoundingClientRect();
|
|
16
|
-
|
|
17
|
+
const pr = cs.transformOrigin.split(' ');
|
|
18
|
+
const x = parseFloat(pr[0]) - r.width / 2;
|
|
19
|
+
const y = parseFloat(pr[1]) - r.height / 2;
|
|
20
|
+
if (x > 0.5 || x < -0.5 || y > 0.5 || y < -0.5)
|
|
17
21
|
return true;
|
|
18
22
|
}
|
|
19
23
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IDesignItem } from '../../../../item/IDesignItem.js';
|
|
2
|
+
import { IDesignerCanvas } from '../../IDesignerCanvas.js';
|
|
3
|
+
import { AbstractExtension } from "../AbstractExtension.js";
|
|
4
|
+
import { IExtensionManager } from '../IExtensionManger.js';
|
|
5
|
+
export declare class BlockToolbarExtension extends AbstractExtension {
|
|
6
|
+
private static template;
|
|
7
|
+
private _toolbar;
|
|
8
|
+
constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
|
|
9
|
+
extend(cache: Record<string | symbol, any>, event: MouseEvent): void;
|
|
10
|
+
refresh(cache: Record<string | symbol, any>, event?: MouseEvent): void;
|
|
11
|
+
dispose(): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { html } from "@node-projects/base-custom-webcomponent";
|
|
2
|
+
import { AbstractExtension } from "../AbstractExtension.js";
|
|
3
|
+
export class BlockToolbarExtension extends AbstractExtension {
|
|
4
|
+
static template = html `
|
|
5
|
+
<div style="height: 100%; width: 100%;">
|
|
6
|
+
<select id="displayType" style="pointer-events: all; height: 24px; width: 70px; padding: 0; font-weight: 900; text-transform: uppercase; margin-right: 10px;">
|
|
7
|
+
<option selected>block</option>
|
|
8
|
+
<option>flex</option>
|
|
9
|
+
<option>grid</option>
|
|
10
|
+
</select>
|
|
11
|
+
</div>
|
|
12
|
+
`;
|
|
13
|
+
_toolbar;
|
|
14
|
+
constructor(extensionManager, designerView, extendedItem) {
|
|
15
|
+
super(extensionManager, designerView, extendedItem);
|
|
16
|
+
}
|
|
17
|
+
extend(cache, event) {
|
|
18
|
+
this._toolbar = this.createToolbar(BlockToolbarExtension.template, 200, 30);
|
|
19
|
+
const displayTypeEl = this._toolbar.getById('displayType');
|
|
20
|
+
displayTypeEl.onchange = () => {
|
|
21
|
+
this.extendedItem.updateStyleInSheetOrLocal('display', displayTypeEl.value);
|
|
22
|
+
this.extensionManager.reapplyAllAppliedExtentions([this.extendedItem]);
|
|
23
|
+
};
|
|
24
|
+
this.refresh(cache, event);
|
|
25
|
+
}
|
|
26
|
+
refresh(cache, event) {
|
|
27
|
+
if (event) {
|
|
28
|
+
const pos = this.designerCanvas.getNormalizedEventCoordinates(event);
|
|
29
|
+
this._toolbar.updatePosition({ x: (pos.x - 16), y: (pos.y - 44) });
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
dispose() {
|
|
33
|
+
this._removeAllOverlays();
|
|
34
|
+
}
|
|
35
|
+
}
|
package/dist/elements/widgets/designerView/extensions/block/BlockToolbarExtensionProvider.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IDesignerExtensionProvider } from '../IDesignerExtensionProvider.js';
|
|
2
|
+
import { IDesignItem } from '../../../../item/IDesignItem.js';
|
|
3
|
+
import { IDesignerCanvas } from '../../IDesignerCanvas.js';
|
|
4
|
+
import { IDesignerExtension } from '../IDesignerExtension.js';
|
|
5
|
+
import { IExtensionManager } from '../IExtensionManger.js';
|
|
6
|
+
export declare class BlockToolbarExtensionProvider implements IDesignerExtensionProvider {
|
|
7
|
+
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
8
|
+
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
9
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BlockToolbarExtension } from './BlockToolbarExtension.js';
|
|
2
|
+
import { NodeType } from '../../../../item/NodeType.js';
|
|
3
|
+
export class BlockToolbarExtensionProvider {
|
|
4
|
+
shouldExtend(extensionManager, designerView, designItem) {
|
|
5
|
+
if (designItem.nodeType === NodeType.Element && getComputedStyle(designItem.element).display === 'block')
|
|
6
|
+
return true;
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
getExtension(extensionManager, designerView, designItem) {
|
|
10
|
+
return new BlockToolbarExtension(extensionManager, designerView, designItem);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IDesignItem } from '../../../../item/IDesignItem.js';
|
|
2
|
+
import { IDesignerCanvas } from '../../IDesignerCanvas.js';
|
|
3
|
+
import { AbstractExtension } from "../AbstractExtension.js";
|
|
4
|
+
import { IExtensionManager } from '../IExtensionManger.js';
|
|
5
|
+
export declare class FlexToolbarExtension extends AbstractExtension {
|
|
6
|
+
private static template;
|
|
7
|
+
private _toolbar;
|
|
8
|
+
constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
|
|
9
|
+
extend(cache: Record<string | symbol, any>, event: MouseEvent): void;
|
|
10
|
+
refresh(cache: Record<string | symbol, any>, event?: MouseEvent): void;
|
|
11
|
+
dispose(): void;
|
|
12
|
+
}
|