iobroker.webui 1.20.0 → 1.20.1
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/README.md +3 -0
- package/io-package.json +14 -14
- package/package.json +2 -2
- package/www/index.html +1 -1
- package/www/node_modules/@node-projects/web-component-designer/dist/elements/helper/getBoxQuads.js +14 -9
- package/www/node_modules/@node-projects/web-component-designer/dist/elements/services/DefaultServiceBootstrap.ts.BASE.js +0 -216
- package/www/node_modules/@node-projects/web-component-designer/dist/elements/services/DefaultServiceBootstrap.ts.LOCAL.js +0 -220
- package/www/node_modules/@node-projects/web-component-designer/dist/elements/services/DefaultServiceBootstrap.ts.REMOTE.js +0 -220
- package/www/node_modules/@node-projects/web-component-designer/dist/elements/services/designItemService/DesignItemService copy.js +0 -6
- package/www/node_modules/@node-projects/web-component-designer/dist/elements/services/placementService/AbsolutePlacementService copy.js +0 -155
- package/www/node_modules/@node-projects/web-component-designer/dist/elements/widgets/bindings/BindingsEditor.js +0 -54
- package/www/node_modules/@node-projects/web-component-designer/dist/elements/widgets/designerView/extensions/CanvasExtension.js +0 -31
- package/www/node_modules/@node-projects/web-component-designer/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider.js +0 -16
- package/www/node_modules/@node-projects/web-component-designer/dist/elements/widgets/designerView/extensions/MarginExtension copy.js +0 -32
- package/www/node_modules/@node-projects/web-component-designer/dist/elements/widgets/designerView/extensions/MarginExtensionProvider copy.js +0 -16
- package/www/node_modules/@node-projects/web-component-designer/dist/elements/widgets/designerView/extensions/buttons/AbstractDesignViewConfigButton copy.js +0 -46
- package/www/node_modules/@node-projects/web-component-designer/dist/elements/widgets/designerView/extensions/buttons/GridExtensionDesignViewConfigButtons copy.js +0 -7
- package/www/node_modules/@node-projects/web-component-designer/dist/elements/widgets/designerView/extensions/buttons/OptionsConfigButton.js +0 -46
package/README.md
CHANGED
|
@@ -129,6 +129,9 @@ runtime.html?screenName=screen2
|
|
|
129
129
|
Placeholder for next versions:
|
|
130
130
|
### __WORK IN PROGRESS__
|
|
131
131
|
-->
|
|
132
|
+
### 1.20.1 (2024-12-03)
|
|
133
|
+
- fix in designer with svgs
|
|
134
|
+
|
|
132
135
|
### 1.20.0 (2024-12-03)
|
|
133
136
|
- add a few packages
|
|
134
137
|
- run simple script cmd and update get parent screen
|
package/io-package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "webui",
|
|
4
|
-
"version": "1.20.
|
|
4
|
+
"version": "1.20.1",
|
|
5
5
|
"titleLang": {
|
|
6
6
|
"en": "webui",
|
|
7
7
|
"de": "webui",
|
|
@@ -29,6 +29,19 @@
|
|
|
29
29
|
"zh-cn": "使用万维网传送器的高锰用户接口"
|
|
30
30
|
},
|
|
31
31
|
"news": {
|
|
32
|
+
"1.20.1": {
|
|
33
|
+
"en": "fix in designer with svgs",
|
|
34
|
+
"de": "fix in designer mit svgs",
|
|
35
|
+
"ru": "исправить в дизайнере с svgs",
|
|
36
|
+
"pt": "corrigir no designer com svgs",
|
|
37
|
+
"nl": "fix in ontwerper met svgs",
|
|
38
|
+
"fr": "fixer en concepteur avec svgs",
|
|
39
|
+
"it": "fix in designer con svgs",
|
|
40
|
+
"es": "fijado en diseñador con svgs",
|
|
41
|
+
"pl": "fix in designer with svgs",
|
|
42
|
+
"uk": "фіксація в дизайнеру з кс",
|
|
43
|
+
"zh-cn": "使用 svgs 在设计器中固定"
|
|
44
|
+
},
|
|
32
45
|
"1.20.0": {
|
|
33
46
|
"en": "add a few packages\nrun simple script cmd and update get parent screen\nupdate packages, downgrade monaco\nfix backup",
|
|
34
47
|
"de": "ein paar pakete hinzufügen\neinfaches skript cmd und aktualisieren erhalten elternbildschirm\nupdate pakete, downgrade monaco\nwiederherstellen",
|
|
@@ -106,19 +119,6 @@
|
|
|
106
119
|
"pl": "naprawić błąd w systemie skryptu",
|
|
107
120
|
"uk": "виправлено помилку в системі скриптів",
|
|
108
121
|
"zh-cn": "修补脚本系统错误"
|
|
109
|
-
},
|
|
110
|
-
"1.18.5": {
|
|
111
|
-
"en": "compile fix",
|
|
112
|
-
"de": "kompilator fix",
|
|
113
|
-
"ru": "исправление",
|
|
114
|
-
"pt": "conserto de compilação",
|
|
115
|
-
"nl": "compileer fix",
|
|
116
|
-
"fr": "compiler la correction",
|
|
117
|
-
"it": "compilazione correzione",
|
|
118
|
-
"es": "compilado",
|
|
119
|
-
"pl": "fix kompilacji",
|
|
120
|
-
"uk": "фіксатор",
|
|
121
|
-
"zh-cn": "编译修正"
|
|
122
122
|
}
|
|
123
123
|
},
|
|
124
124
|
"icon": "logo.png",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.webui",
|
|
3
|
-
"version": "1.20.
|
|
3
|
+
"version": "1.20.1",
|
|
4
4
|
"description": "ioBroker webui",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/backend/main.js",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"@node-projects/node-html-parser-esm": "^6.2.0",
|
|
60
60
|
"@node-projects/propertygrid.webcomponent": "^1.2.3",
|
|
61
61
|
"@node-projects/splitview.webcomponent": "^1.0.1",
|
|
62
|
-
"@node-projects/web-component-designer": "^0.1.
|
|
62
|
+
"@node-projects/web-component-designer": "^0.1.236",
|
|
63
63
|
"@node-projects/web-component-designer-codeview-monaco": "^0.1.32",
|
|
64
64
|
"@node-projects/web-component-designer-htmlparserservice-nodehtmlparser": "^0.1.11",
|
|
65
65
|
"@node-projects/web-component-designer-stylesheetservice-css-tools": "^0.1.10",
|
package/www/index.html
CHANGED
|
@@ -213,7 +213,7 @@
|
|
|
213
213
|
</button>
|
|
214
214
|
<button data-command="save" title="save" disabled><img src="./node_modules/@node-projects/web-component-designer/assets/icons/save.svg"></button>
|
|
215
215
|
<div style="margin-left: 30px;">
|
|
216
|
-
webui - 1.20.
|
|
216
|
+
webui - 1.20.1 - 9a38de0
|
|
217
217
|
</div>
|
|
218
218
|
<button style="margin-left: 30px;" data-command="paste" title="paste" disabled><img
|
|
219
219
|
src="./node_modules/@node-projects/web-component-designer/assets/icons/paste.svg"></button>
|
package/www/node_modules/@node-projects/web-component-designer/dist/elements/helper/getBoxQuads.js
CHANGED
|
@@ -142,9 +142,9 @@ export function getBoxQuads(node, options) {
|
|
|
142
142
|
if (q)
|
|
143
143
|
return q;
|
|
144
144
|
}
|
|
145
|
+
/** @type {DOMMatrix} */
|
|
145
146
|
let originalElementAndAllParentsMultipliedMatrix = getResultingTransformationBetweenElementAndAllAncestors(node, options?.relativeTo ?? document.body, options.iframes);
|
|
146
147
|
let { width, height } = getElementSize(node, originalElementAndAllParentsMultipliedMatrix);
|
|
147
|
-
/** @type {DOMMatrix} */
|
|
148
148
|
let arr = [{ x: 0, y: 0 }, { x: width, y: 0 }, { x: width, y: height }, { x: 0, y: height }];
|
|
149
149
|
/** @type { [DOMPoint, DOMPoint, DOMPoint, DOMPoint] } */
|
|
150
150
|
//@ts-ignore
|
|
@@ -244,6 +244,8 @@ function getElementOffsetsInContainer(node, iframes) {
|
|
|
244
244
|
const range = document.createRange();
|
|
245
245
|
range.selectNodeContents(node);
|
|
246
246
|
const r1 = range.getBoundingClientRect();
|
|
247
|
+
/** @type {HTMLElement} */
|
|
248
|
+
//@ts-ignore
|
|
247
249
|
const parent = getParentElementIncludingSlots(node, iframes);
|
|
248
250
|
const r2 = parent.getBoundingClientRect();
|
|
249
251
|
const zX = parent.offsetWidth / r2.width;
|
|
@@ -259,10 +261,11 @@ function getElementOffsetsInContainer(node, iframes) {
|
|
|
259
261
|
if (cs.position === 'absolute') {
|
|
260
262
|
return new DOMPoint(parseFloat(cs.left), parseFloat(cs.top));
|
|
261
263
|
}
|
|
262
|
-
const
|
|
264
|
+
const par = getParentElementIncludingSlots(node, iframes);
|
|
265
|
+
const m = getResultingTransformationBetweenElementAndAllAncestors(par, document.body, iframes);
|
|
263
266
|
const r1 = node.getBoundingClientRect();
|
|
264
267
|
const r1t = m.inverse().transformPoint(r1);
|
|
265
|
-
const r2 =
|
|
268
|
+
const r2 = par.getBoundingClientRect();
|
|
266
269
|
const r2t = m.inverse().transformPoint(r2);
|
|
267
270
|
return new DOMPoint(r1t.x - r2t.x, r1t.y - r2t.y);
|
|
268
271
|
}
|
|
@@ -444,12 +447,14 @@ function getElementPerspectiveTransform(element, iframes) {
|
|
|
444
447
|
let p = parseFloat(s.perspective);
|
|
445
448
|
m.m34 = -1.0 / p;
|
|
446
449
|
//https://drafts.csswg.org/css-transforms-2/#PerspectiveDefined
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
450
|
+
if (s.perspectiveOrigin) {
|
|
451
|
+
const origin = s.perspectiveOrigin.split(' ');
|
|
452
|
+
const originX = parseFloat(origin[0]) - element.offsetLeft;
|
|
453
|
+
const originY = parseFloat(origin[1]) - element.offsetTop;
|
|
454
|
+
const mOri = new DOMMatrix().translate(originX, originY);
|
|
455
|
+
const mOriInv = new DOMMatrix().translate(-originX, -originY);
|
|
456
|
+
return mOri.multiply(m.multiply(mOriInv));
|
|
457
|
+
}
|
|
453
458
|
}
|
|
454
459
|
}
|
|
455
460
|
return null;
|
|
@@ -1,216 +0,0 @@
|
|
|
1
|
-
import { ServiceContainer } from './ServiceContainer.js';
|
|
2
|
-
import { PolymerPropertiesService } from './propertiesService/services/PolymerPropertiesService.js';
|
|
3
|
-
import { LitElementPropertiesService } from './propertiesService/services/LitElementPropertiesService.js';
|
|
4
|
-
import { NativeElementsPropertiesService } from './propertiesService/services/NativeElementsPropertiesService.js';
|
|
5
|
-
import { SVGElementsPropertiesService } from './propertiesService/services/SVGElementsPropertiesService.js';
|
|
6
|
-
import { DefaultInstanceService } from './instanceService/DefaultInstanceService.js';
|
|
7
|
-
import { DefaultEditorTypesService } from './propertiesService/DefaultEditorTypesService.js';
|
|
8
|
-
import { BaseCustomWebComponentPropertiesService } from './propertiesService/services/BaseCustomWebComponentPropertiesService.js';
|
|
9
|
-
import { DefaultPlacementService } from './placementService/DefaultPlacementService.js';
|
|
10
|
-
import { DefaultHtmlParserService } from './htmlParserService/DefaultHtmlParserService.js';
|
|
11
|
-
import { Lit2PropertiesService } from './propertiesService/services/Lit2PropertiesService.js';
|
|
12
|
-
import { ExtensionType } from '../widgets/designerView/extensions/ExtensionType.js';
|
|
13
|
-
import { ElementDragTitleExtensionProvider } from '../widgets/designerView/extensions/ElementDragTitleExtensionProvider.js';
|
|
14
|
-
import { TransformOriginExtensionProvider } from '../widgets/designerView/extensions/TransformOriginExtensionProvider.js';
|
|
15
|
-
import { MarginExtensionProvider } from '../widgets/designerView/extensions/MarginExtensionProvider.js';
|
|
16
|
-
import { PositionExtensionProvider } from '../widgets/designerView/extensions/PositionExtensionProvider.js';
|
|
17
|
-
import { HighlightElementExtensionProvider } from '../widgets/designerView/extensions/HighlightElementExtensionProvider.js';
|
|
18
|
-
import { NamedTools } from '../widgets/designerView/tools/NamedTools.js';
|
|
19
|
-
import { PointerTool } from '../widgets/designerView/tools/PointerTool.js';
|
|
20
|
-
import { DrawPathTool } from '../widgets/designerView/tools/DrawPathTool.js';
|
|
21
|
-
import { SelectionDefaultExtensionProvider } from '../widgets/designerView/extensions/SelectionDefaultExtensionProvider.js';
|
|
22
|
-
import { ResizeExtensionProvider } from '../widgets/designerView/extensions/ResizeExtensionProvider.js';
|
|
23
|
-
import { RotateExtensionProvider } from '../widgets/designerView/extensions/RotateExtensionProvider.js';
|
|
24
|
-
import { ZoomTool } from '../widgets/designerView/tools/ZoomTool.js';
|
|
25
|
-
import { PanTool } from '../widgets/designerView/tools/PanTool.js';
|
|
26
|
-
import { CopyPasteContextMenu } from '../widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js';
|
|
27
|
-
import { ZMoveContextMenu } from '../widgets/designerView/extensions/contextMenu/ZMoveContextMenu.js';
|
|
28
|
-
import { MultipleItemsSelectedContextMenu } from '../widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js';
|
|
29
|
-
import { RectangleSelectorTool } from '../widgets/designerView/tools/RectangleSelectorTool.js';
|
|
30
|
-
import { MagicWandSelectorTool } from '../widgets/designerView/tools/MagicWandSelectorTool.js';
|
|
31
|
-
import { PickColorTool } from '../widgets/designerView/tools/PickColorTool.js';
|
|
32
|
-
import { TextTool } from '../widgets/designerView/tools/TextTool.js';
|
|
33
|
-
import { GrayOutExtensionProvider } from '../widgets/designerView/extensions/GrayOutExtensionProvider.js';
|
|
34
|
-
import { AltToEnterContainerExtensionProvider } from '../widgets/designerView/extensions/AltToEnterContainerExtensionProvider.js';
|
|
35
|
-
import { InvisibleElementExtensionProvider } from '../widgets/designerView/extensions/InvisibleElementExtensionProvider.js';
|
|
36
|
-
import { ItemsBelowContextMenu } from '../widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js';
|
|
37
|
-
import { GridPlacementService } from './placementService/GridPlacementService.js';
|
|
38
|
-
import { ElementAtPointService } from './elementAtPointService/ElementAtPointService.js';
|
|
39
|
-
import { FlexBoxPlacementService } from './placementService/FlexBoxPlacementService.js';
|
|
40
|
-
import { SnaplinesProviderService } from './placementService/SnaplinesProviderService.js';
|
|
41
|
-
import { ExternalDragDropService } from './dragDropService/ExternalDragDropService.js';
|
|
42
|
-
import { EditTextExtensionProvider } from '../widgets/designerView/extensions/EditText/EditTextExtensionProvider.js';
|
|
43
|
-
import { CopyPasteService } from './copyPasteService/CopyPasteService.js';
|
|
44
|
-
import { DefaultModelCommandService } from './modelCommandService/DefaultModelCommandService.js';
|
|
45
|
-
import { ButtonSeperatorProvider } from '../widgets/designerView/extensions/buttons/ButtonSeperatorProvider.js';
|
|
46
|
-
import { GridExtensionDesignViewConfigButtons } from '../widgets/designerView/extensions/buttons/GridExtensionDesignViewConfigButtons.js';
|
|
47
|
-
import { DrawRectTool } from '../widgets/designerView/tools/DrawRectTool.js';
|
|
48
|
-
import { DrawEllipsisTool } from '../widgets/designerView/tools/DrawEllipsisTool.js';
|
|
49
|
-
import { DrawLineTool } from '../widgets/designerView/tools/DrawLineTool.js';
|
|
50
|
-
import { HtmlWriterService } from './htmlWriterService/HtmlWriterService.js';
|
|
51
|
-
import { RectContextMenu } from '../widgets/designerView/extensions/contextMenu/RectContextMenu.js';
|
|
52
|
-
import { PathContextMenu } from '../widgets/designerView/extensions/contextMenu/PathContextMenu.js';
|
|
53
|
-
import { SeperatorContextMenu } from '../widgets/designerView/extensions/contextMenu/SeperatorContextMenu.js';
|
|
54
|
-
import { ZoomToElementContextMenu } from '../widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.js';
|
|
55
|
-
import { RotateLeftAndRight } from '../widgets/designerView/extensions/contextMenu/RotateLeftAndRightContextMenu.js';
|
|
56
|
-
import { SelectAllChildrenContextMenu } from '../widgets/designerView/extensions/contextMenu/SelectAllChildrenContextMenu.js';
|
|
57
|
-
import { PointerToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/PointerToolButtonProvider.js';
|
|
58
|
-
import { SeperatorToolProvider } from '../widgets/designerView/tools/toolBar/buttons/SeperatorToolProvider.js';
|
|
59
|
-
import { ZoomToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/ZoomToolButtonProvider.js';
|
|
60
|
-
import { DrawToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/DrawToolButtonProvider.js';
|
|
61
|
-
import { TextToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/TextToolButtonProvider.js';
|
|
62
|
-
import { SelectorToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/SelectorToolButtonProvider.js';
|
|
63
|
-
import { GrayOutDragOverContainerExtensionProvider } from '../widgets/designerView/extensions/GrayOutDragOverContainerExtensionProvider.js';
|
|
64
|
-
import { PropertyGroupsService } from './propertiesService/PropertyGroupsService.js';
|
|
65
|
-
import { PlacementExtensionProvider } from '../widgets/designerView/extensions/PlacementExtensionProvider.js';
|
|
66
|
-
import { FlexboxExtensionProvider } from '../widgets/designerView/extensions/FlexboxExtensionProvider.js';
|
|
67
|
-
import { FlexboxExtensionDesignViewConfigButtons } from '../widgets/designerView/extensions/buttons/FlexboxExtensionDesignViewConfigButtons.js';
|
|
68
|
-
import { InvisibleElementExtensionDesignViewConfigButtons } from '../widgets/designerView/extensions/buttons/InvisibleElementExtensionDesignViewConfigButtons.js';
|
|
69
|
-
import { UndoService } from './undoService/UndoService.js';
|
|
70
|
-
import { SelectionService } from './selectionService/SelectionService.js';
|
|
71
|
-
import { ContentService } from './contentService/ContentService.js';
|
|
72
|
-
import { StylesheetServiceDesignViewConfigButtons } from '../widgets/designerView/extensions/buttons/StylesheetServiceDesignViewConfigButtons.js';
|
|
73
|
-
import { JumpToElementContextMenu } from '../widgets/designerView/extensions/contextMenu/JumpToElementContextMenu.js';
|
|
74
|
-
import { EditGridColumnRowSizesExtensionProvider } from '../widgets/designerView/extensions/grid/EditGridColumnRowSizesExtensionProvider.js';
|
|
75
|
-
import { DisplayGridExtensionProvider } from '../widgets/designerView/extensions/grid/DisplayGridExtensionProvider.js';
|
|
76
|
-
import { ApplyFirstMachingExtensionProvider } from '../widgets/designerView/extensions/logic/ApplyFirstMachingExtensionProvider.js';
|
|
77
|
-
import { DesignItemDocumentPositionService } from './designItemDocumentPositionService/DesignItemDocumentPositionService.js';
|
|
78
|
-
import { TransformToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/TransformToolButtonProvider.js';
|
|
79
|
-
import { MultipleSelectionRectExtensionProvider } from '../widgets/designerView/extensions/MultipleSelectionRectExtensionProvider.js';
|
|
80
|
-
import { DragDropService } from './dragDropService/DragDropService.js';
|
|
81
|
-
import { EventsService } from './eventsService/EventsService.js';
|
|
82
|
-
import { SimpleDemoProviderService } from './demoProviderService/SimpleDemoProviderService.js';
|
|
83
|
-
import { DrawElementTool } from '../widgets/designerView/tools/DrawElementTool.js';
|
|
84
|
-
import { RoundPixelsDesignViewConfigButton } from '../widgets/designerView/extensions/buttons/RoundPixelsDesignViewConfigButton.js';
|
|
85
|
-
import { MathMLElementsPropertiesService } from './propertiesService/services/MathMLElementsPropertiesService.js';
|
|
86
|
-
import { SvgElementExtensionProvider } from '../widgets/designerView/extensions/svg/SvgElementExtensionProvider.js';
|
|
87
|
-
import { ConditionExtensionProvider } from '../widgets/designerView/extensions/logic/ConditionExtensionProvider.js';
|
|
88
|
-
import { GridToolbarExtensionProvider } from '../widgets/designerView/extensions/grid/GridToolbarExtensionProvider.js';
|
|
89
|
-
import { FlexToolbarExtensionProvider } from '../widgets/designerView/extensions/flex/FlexToolbarExtensionProvider.js';
|
|
90
|
-
import { BlockToolbarExtensionProvider } from '../widgets/designerView/extensions/block/BlockToolbarExtensionProvider.js';
|
|
91
|
-
import { ChildContextMenu } from '../widgets/designerView/extensions/contextMenu/ChildContextMenu.js';
|
|
92
|
-
import { GridChildToolbarExtensionProvider } from '../widgets/designerView/extensions/grid/GridChildToolbarExtensionProvider.js';
|
|
93
|
-
import { ToolbarExtensionsDesignViewConfigButtons } from '../widgets/designerView/extensions/buttons/ToolbarExtensionsDesignViewConfigButtons.js';
|
|
94
|
-
import { PaddingExtensionProvider } from '../widgets/designerView/extensions/PaddingExtensionProvider.js';
|
|
95
|
-
import { GridChildResizeExtensionProvider } from '../widgets/designerView/extensions/grid/GridChildResizeExtensionProvider.js';
|
|
96
|
-
import { AlignItemsContextMenu } from '../widgets/designerView/extensions/contextMenu/AlignItemsContextMenu.js';
|
|
97
|
-
import { BasicWebcomponentPropertiesService } from './propertiesService/services/BasicWebcomponentPropertiesService.js';
|
|
98
|
-
export function createDefaultServiceContainer() {
|
|
99
|
-
let serviceContainer = new ServiceContainer();
|
|
100
|
-
let defaultPlacementService = new DefaultPlacementService();
|
|
101
|
-
serviceContainer.register("containerService", defaultPlacementService);
|
|
102
|
-
serviceContainer.register("containerService", new GridPlacementService(defaultPlacementService));
|
|
103
|
-
serviceContainer.register("containerService", new FlexBoxPlacementService(defaultPlacementService));
|
|
104
|
-
serviceContainer.register("propertyService", new BasicWebcomponentPropertiesService());
|
|
105
|
-
serviceContainer.register("propertyService", new PolymerPropertiesService());
|
|
106
|
-
serviceContainer.register("propertyService", new LitElementPropertiesService());
|
|
107
|
-
serviceContainer.register("propertyService", new NativeElementsPropertiesService());
|
|
108
|
-
serviceContainer.register("propertyService", new SVGElementsPropertiesService());
|
|
109
|
-
serviceContainer.register("propertyService", new MathMLElementsPropertiesService());
|
|
110
|
-
serviceContainer.register("propertyService", new Lit2PropertiesService());
|
|
111
|
-
serviceContainer.register("propertyService", new BaseCustomWebComponentPropertiesService());
|
|
112
|
-
serviceContainer.register("propertyGroupsService", new PropertyGroupsService());
|
|
113
|
-
serviceContainer.register("instanceService", new DefaultInstanceService());
|
|
114
|
-
serviceContainer.register("editorTypesService", new DefaultEditorTypesService());
|
|
115
|
-
serviceContainer.register("htmlWriterService", new HtmlWriterService());
|
|
116
|
-
serviceContainer.register("snaplinesProviderService", new SnaplinesProviderService());
|
|
117
|
-
serviceContainer.register("htmlParserService", new DefaultHtmlParserService());
|
|
118
|
-
serviceContainer.register("elementAtPointService", new ElementAtPointService());
|
|
119
|
-
serviceContainer.register("externalDragDropService", new ExternalDragDropService());
|
|
120
|
-
serviceContainer.register("dragDropService", new DragDropService());
|
|
121
|
-
serviceContainer.register("copyPasteService", new CopyPasteService());
|
|
122
|
-
serviceContainer.register("modelCommandService", new DefaultModelCommandService());
|
|
123
|
-
serviceContainer.register("demoProviderService", new SimpleDemoProviderService());
|
|
124
|
-
serviceContainer.register("eventsService", new EventsService());
|
|
125
|
-
serviceContainer.register("undoService", (designerCanvas) => new UndoService(designerCanvas));
|
|
126
|
-
serviceContainer.register("selectionService", (designerCanvas) => new SelectionService(designerCanvas, false));
|
|
127
|
-
serviceContainer.register("contentService", (designerCanvas) => new ContentService(designerCanvas.rootDesignItem));
|
|
128
|
-
serviceContainer.register("designItemDocumentPositionService", (designerCanvas) => new DesignItemDocumentPositionService(designerCanvas));
|
|
129
|
-
serviceContainer.designerExtensions.set(ExtensionType.Permanent, [
|
|
130
|
-
new InvisibleElementExtensionProvider(),
|
|
131
|
-
]);
|
|
132
|
-
serviceContainer.designerExtensions.set(ExtensionType.PrimarySelection, [
|
|
133
|
-
new ConditionExtensionProvider(new ElementDragTitleExtensionProvider(), item => !(item.node instanceof SVGElement) || item.node instanceof SVGSVGElement),
|
|
134
|
-
new TransformOriginExtensionProvider(true),
|
|
135
|
-
new MarginExtensionProvider(),
|
|
136
|
-
new PaddingExtensionProvider(),
|
|
137
|
-
new PositionExtensionProvider(),
|
|
138
|
-
new SvgElementExtensionProvider(),
|
|
139
|
-
new ApplyFirstMachingExtensionProvider(new GridChildResizeExtensionProvider(), new ResizeExtensionProvider(true)),
|
|
140
|
-
new RotateExtensionProvider(),
|
|
141
|
-
new ConditionExtensionProvider(new MultipleSelectionRectExtensionProvider(), item => !(item.node instanceof SVGElement) || item.node instanceof SVGSVGElement),
|
|
142
|
-
]);
|
|
143
|
-
serviceContainer.designerExtensions.set(ExtensionType.PrimarySelectionRefreshed, [
|
|
144
|
-
new GridChildToolbarExtensionProvider(),
|
|
145
|
-
new GridToolbarExtensionProvider(),
|
|
146
|
-
new FlexToolbarExtensionProvider(),
|
|
147
|
-
new BlockToolbarExtensionProvider(),
|
|
148
|
-
]);
|
|
149
|
-
serviceContainer.designerExtensions.set(ExtensionType.PrimarySelectionAndCanBeEntered, [
|
|
150
|
-
new DisplayGridExtensionProvider(),
|
|
151
|
-
new EditGridColumnRowSizesExtensionProvider(),
|
|
152
|
-
new FlexboxExtensionProvider(),
|
|
153
|
-
]);
|
|
154
|
-
serviceContainer.designerExtensions.set(ExtensionType.Selection, [
|
|
155
|
-
new ConditionExtensionProvider(new SelectionDefaultExtensionProvider(), item => !(item.node instanceof SVGElement) || item.node instanceof SVGSVGElement),
|
|
156
|
-
]);
|
|
157
|
-
serviceContainer.designerExtensions.set(ExtensionType.PrimarySelectionContainerAndCanBeEntered, [
|
|
158
|
-
new DisplayGridExtensionProvider('lightgray', '#8080802b'),
|
|
159
|
-
new EditGridColumnRowSizesExtensionProvider(),
|
|
160
|
-
new FlexboxExtensionProvider()
|
|
161
|
-
]);
|
|
162
|
-
serviceContainer.designerExtensions.set(ExtensionType.MouseOver, [
|
|
163
|
-
new HighlightElementExtensionProvider()
|
|
164
|
-
]);
|
|
165
|
-
serviceContainer.designerExtensions.set(ExtensionType.Placement, [
|
|
166
|
-
new PlacementExtensionProvider()
|
|
167
|
-
]);
|
|
168
|
-
serviceContainer.designerExtensions.set(ExtensionType.ContainerDrag, [
|
|
169
|
-
new GrayOutExtensionProvider()
|
|
170
|
-
]);
|
|
171
|
-
serviceContainer.designerExtensions.set(ExtensionType.ContainerDragOverAndCanBeEntered, [
|
|
172
|
-
new ApplyFirstMachingExtensionProvider(new DisplayGridExtensionProvider(), new GrayOutDragOverContainerExtensionProvider()),
|
|
173
|
-
new AltToEnterContainerExtensionProvider()
|
|
174
|
-
]);
|
|
175
|
-
serviceContainer.designerExtensions.set(ExtensionType.ContainerExternalDragOverAndCanBeEntered, [
|
|
176
|
-
new ApplyFirstMachingExtensionProvider(new DisplayGridExtensionProvider(), new GrayOutDragOverContainerExtensionProvider()),
|
|
177
|
-
]);
|
|
178
|
-
serviceContainer.designerExtensions.set(ExtensionType.Doubleclick, [
|
|
179
|
-
new EditTextExtensionProvider()
|
|
180
|
-
]);
|
|
181
|
-
serviceContainer.designerTools.set(NamedTools.Pointer, new PointerTool());
|
|
182
|
-
serviceContainer.designerTools.set(NamedTools.DrawSelection, new RectangleSelectorTool());
|
|
183
|
-
serviceContainer.designerTools.set(NamedTools.DrawPath, new DrawPathTool());
|
|
184
|
-
serviceContainer.designerTools.set(NamedTools.DrawRect, new DrawRectTool());
|
|
185
|
-
serviceContainer.designerTools.set(NamedTools.DrawEllipsis, new DrawEllipsisTool());
|
|
186
|
-
serviceContainer.designerTools.set(NamedTools.DrawLine, new DrawLineTool());
|
|
187
|
-
serviceContainer.designerTools.set(NamedTools.Zoom, new ZoomTool());
|
|
188
|
-
serviceContainer.designerTools.set(NamedTools.Pan, new PanTool());
|
|
189
|
-
serviceContainer.designerTools.set(NamedTools.RectangleSelector, new RectangleSelectorTool());
|
|
190
|
-
serviceContainer.designerTools.set(NamedTools.MagicWandSelector, new MagicWandSelectorTool());
|
|
191
|
-
serviceContainer.designerTools.set(NamedTools.PickColor, new PickColorTool());
|
|
192
|
-
serviceContainer.designerTools.set(NamedTools.Text, new TextTool());
|
|
193
|
-
serviceContainer.designerTools.set(NamedTools.DrawElementTool, DrawElementTool);
|
|
194
|
-
serviceContainer.designerPointerExtensions.push(
|
|
195
|
-
//new CursorLinePointerExtensionProvider()
|
|
196
|
-
);
|
|
197
|
-
serviceContainer.designViewConfigButtons.push(new ButtonSeperatorProvider(20), new GridExtensionDesignViewConfigButtons(), new FlexboxExtensionDesignViewConfigButtons(), new ButtonSeperatorProvider(10), new InvisibleElementExtensionDesignViewConfigButtons(), new ButtonSeperatorProvider(10), new StylesheetServiceDesignViewConfigButtons(), new ButtonSeperatorProvider(10), new ToolbarExtensionsDesignViewConfigButtons(), new ButtonSeperatorProvider(30), new RoundPixelsDesignViewConfigButton());
|
|
198
|
-
serviceContainer.designViewToolbarButtons.push(new PointerToolButtonProvider(), new SeperatorToolProvider(22), new SelectorToolButtonProvider(), new SeperatorToolProvider(22), new ZoomToolButtonProvider(), new SeperatorToolProvider(22), new DrawToolButtonProvider(), new SeperatorToolProvider(22), new TextToolButtonProvider(), new SeperatorToolProvider(22), new TransformToolButtonProvider());
|
|
199
|
-
serviceContainer.designerContextMenuExtensions = [
|
|
200
|
-
new ChildContextMenu('edit', new CopyPasteContextMenu()),
|
|
201
|
-
new SeperatorContextMenu(),
|
|
202
|
-
new ChildContextMenu('modify', new RotateLeftAndRight(), new SeperatorContextMenu(), new ZMoveContextMenu(), new SeperatorContextMenu(), new AlignItemsContextMenu()),
|
|
203
|
-
new SeperatorContextMenu(),
|
|
204
|
-
new ChildContextMenu('view', new JumpToElementContextMenu(), new ZoomToElementContextMenu()),
|
|
205
|
-
new SeperatorContextMenu(),
|
|
206
|
-
new MultipleItemsSelectedContextMenu(),
|
|
207
|
-
new PathContextMenu(),
|
|
208
|
-
new RectContextMenu(),
|
|
209
|
-
new SeperatorContextMenu(),
|
|
210
|
-
new SelectAllChildrenContextMenu(),
|
|
211
|
-
new SeperatorContextMenu(),
|
|
212
|
-
new ItemsBelowContextMenu(),
|
|
213
|
-
];
|
|
214
|
-
return serviceContainer;
|
|
215
|
-
}
|
|
216
|
-
export default createDefaultServiceContainer;
|
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
import { ServiceContainer } from './ServiceContainer.js';
|
|
2
|
-
import { PolymerPropertiesService } from './propertiesService/services/PolymerPropertiesService.js';
|
|
3
|
-
import { LitElementPropertiesService } from './propertiesService/services/LitElementPropertiesService.js';
|
|
4
|
-
import { NativeElementsPropertiesService } from './propertiesService/services/NativeElementsPropertiesService.js';
|
|
5
|
-
import { SVGElementsPropertiesService } from './propertiesService/services/SVGElementsPropertiesService.js';
|
|
6
|
-
import { DefaultInstanceService } from './instanceService/DefaultInstanceService.js';
|
|
7
|
-
import { DefaultEditorTypesService } from './propertiesService/DefaultEditorTypesService.js';
|
|
8
|
-
import { BaseCustomWebComponentPropertiesService } from './propertiesService/services/BaseCustomWebComponentPropertiesService.js';
|
|
9
|
-
import { DefaultPlacementService } from './placementService/DefaultPlacementService.js';
|
|
10
|
-
import { DefaultHtmlParserService } from './htmlParserService/DefaultHtmlParserService.js';
|
|
11
|
-
import { Lit2PropertiesService } from './propertiesService/services/Lit2PropertiesService.js';
|
|
12
|
-
import { ExtensionType } from '../widgets/designerView/extensions/ExtensionType.js';
|
|
13
|
-
import { ElementDragTitleExtensionProvider } from '../widgets/designerView/extensions/ElementDragTitleExtensionProvider.js';
|
|
14
|
-
import { TransformOriginExtensionProvider } from '../widgets/designerView/extensions/TransformOriginExtensionProvider.js';
|
|
15
|
-
import { MarginExtensionProvider } from '../widgets/designerView/extensions/MarginExtensionProvider.js';
|
|
16
|
-
import { PositionExtensionProvider } from '../widgets/designerView/extensions/PositionExtensionProvider.js';
|
|
17
|
-
import { HighlightElementExtensionProvider } from '../widgets/designerView/extensions/HighlightElementExtensionProvider.js';
|
|
18
|
-
import { NamedTools } from '../widgets/designerView/tools/NamedTools.js';
|
|
19
|
-
import { PointerTool } from '../widgets/designerView/tools/PointerTool.js';
|
|
20
|
-
import { DrawPathTool } from '../widgets/designerView/tools/DrawPathTool.js';
|
|
21
|
-
import { SelectionDefaultExtensionProvider } from '../widgets/designerView/extensions/SelectionDefaultExtensionProvider.js';
|
|
22
|
-
import { ResizeExtensionProvider } from '../widgets/designerView/extensions/ResizeExtensionProvider.js';
|
|
23
|
-
import { RotateExtensionProvider } from '../widgets/designerView/extensions/RotateExtensionProvider.js';
|
|
24
|
-
import { ZoomTool } from '../widgets/designerView/tools/ZoomTool.js';
|
|
25
|
-
import { PanTool } from '../widgets/designerView/tools/PanTool.js';
|
|
26
|
-
import { CopyPasteContextMenu } from '../widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js';
|
|
27
|
-
import { ZMoveContextMenu } from '../widgets/designerView/extensions/contextMenu/ZMoveContextMenu.js';
|
|
28
|
-
import { MultipleItemsSelectedContextMenu } from '../widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js';
|
|
29
|
-
import { RectangleSelectorTool } from '../widgets/designerView/tools/RectangleSelectorTool.js';
|
|
30
|
-
import { MagicWandSelectorTool } from '../widgets/designerView/tools/MagicWandSelectorTool.js';
|
|
31
|
-
import { PickColorTool } from '../widgets/designerView/tools/PickColorTool.js';
|
|
32
|
-
import { TextTool } from '../widgets/designerView/tools/TextTool.js';
|
|
33
|
-
import { GrayOutExtensionProvider } from '../widgets/designerView/extensions/GrayOutExtensionProvider.js';
|
|
34
|
-
import { AltToEnterContainerExtensionProvider } from '../widgets/designerView/extensions/AltToEnterContainerExtensionProvider.js';
|
|
35
|
-
import { InvisibleElementExtensionProvider } from '../widgets/designerView/extensions/InvisibleElementExtensionProvider.js';
|
|
36
|
-
import { ItemsBelowContextMenu } from '../widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js';
|
|
37
|
-
import { GridPlacementService } from './placementService/GridPlacementService.js';
|
|
38
|
-
import { ElementAtPointService } from './elementAtPointService/ElementAtPointService.js';
|
|
39
|
-
import { FlexBoxPlacementService } from './placementService/FlexBoxPlacementService.js';
|
|
40
|
-
import { SnaplinesProviderService } from './placementService/SnaplinesProviderService.js';
|
|
41
|
-
import { ExternalDragDropService } from './dragDropService/ExternalDragDropService.js';
|
|
42
|
-
import { EditTextExtensionProvider } from '../widgets/designerView/extensions/EditText/EditTextExtensionProvider.js';
|
|
43
|
-
import { CopyPasteService } from './copyPasteService/CopyPasteService.js';
|
|
44
|
-
import { DefaultModelCommandService } from './modelCommandService/DefaultModelCommandService.js';
|
|
45
|
-
import { ButtonSeperatorProvider } from '../widgets/designerView/extensions/buttons/ButtonSeperatorProvider.js';
|
|
46
|
-
import { GridExtensionDesignViewConfigButtons } from '../widgets/designerView/extensions/buttons/GridExtensionDesignViewConfigButtons.js';
|
|
47
|
-
import { DrawRectTool } from '../widgets/designerView/tools/DrawRectTool.js';
|
|
48
|
-
import { DrawEllipsisTool } from '../widgets/designerView/tools/DrawEllipsisTool.js';
|
|
49
|
-
import { DrawLineTool } from '../widgets/designerView/tools/DrawLineTool.js';
|
|
50
|
-
import { HtmlWriterService } from './htmlWriterService/HtmlWriterService.js';
|
|
51
|
-
import { RectContextMenu } from '../widgets/designerView/extensions/contextMenu/RectContextMenu.js';
|
|
52
|
-
import { PathContextMenu } from '../widgets/designerView/extensions/contextMenu/PathContextMenu.js';
|
|
53
|
-
import { SeperatorContextMenu } from '../widgets/designerView/extensions/contextMenu/SeperatorContextMenu.js';
|
|
54
|
-
import { ZoomToElementContextMenu } from '../widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.js';
|
|
55
|
-
import { RotateLeftAndRight } from '../widgets/designerView/extensions/contextMenu/RotateLeftAndRightContextMenu.js';
|
|
56
|
-
import { SelectAllChildrenContextMenu } from '../widgets/designerView/extensions/contextMenu/SelectAllChildrenContextMenu.js';
|
|
57
|
-
import { PointerToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/PointerToolButtonProvider.js';
|
|
58
|
-
import { SeperatorToolProvider } from '../widgets/designerView/tools/toolBar/buttons/SeperatorToolProvider.js';
|
|
59
|
-
import { ZoomToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/ZoomToolButtonProvider.js';
|
|
60
|
-
import { DrawToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/DrawToolButtonProvider.js';
|
|
61
|
-
import { TextToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/TextToolButtonProvider.js';
|
|
62
|
-
import { SelectorToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/SelectorToolButtonProvider.js';
|
|
63
|
-
import { GrayOutDragOverContainerExtensionProvider } from '../widgets/designerView/extensions/GrayOutDragOverContainerExtensionProvider.js';
|
|
64
|
-
import { PropertyGroupsService } from './propertiesService/PropertyGroupsService.js';
|
|
65
|
-
import { PlacementExtensionProvider } from '../widgets/designerView/extensions/PlacementExtensionProvider.js';
|
|
66
|
-
import { FlexboxExtensionProvider } from '../widgets/designerView/extensions/FlexboxExtensionProvider.js';
|
|
67
|
-
import { FlexboxExtensionDesignViewConfigButtons } from '../widgets/designerView/extensions/buttons/FlexboxExtensionDesignViewConfigButtons.js';
|
|
68
|
-
import { InvisibleElementExtensionDesignViewConfigButtons } from '../widgets/designerView/extensions/buttons/InvisibleElementExtensionDesignViewConfigButtons.js';
|
|
69
|
-
import { UndoService } from './undoService/UndoService.js';
|
|
70
|
-
import { SelectionService } from './selectionService/SelectionService.js';
|
|
71
|
-
import { ContentService } from './contentService/ContentService.js';
|
|
72
|
-
import { StylesheetServiceDesignViewConfigButtons } from '../widgets/designerView/extensions/buttons/StylesheetServiceDesignViewConfigButtons.js';
|
|
73
|
-
import { JumpToElementContextMenu } from '../widgets/designerView/extensions/contextMenu/JumpToElementContextMenu.js';
|
|
74
|
-
import { EditGridColumnRowSizesExtensionProvider } from '../widgets/designerView/extensions/grid/EditGridColumnRowSizesExtensionProvider.js';
|
|
75
|
-
import { DisplayGridExtensionProvider } from '../widgets/designerView/extensions/grid/DisplayGridExtensionProvider.js';
|
|
76
|
-
import { ApplyFirstMachingExtensionProvider } from '../widgets/designerView/extensions/logic/ApplyFirstMachingExtensionProvider.js';
|
|
77
|
-
import { DesignItemDocumentPositionService } from './designItemDocumentPositionService/DesignItemDocumentPositionService.js';
|
|
78
|
-
import { TransformToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/TransformToolButtonProvider.js';
|
|
79
|
-
import { MultipleSelectionRectExtensionProvider } from '../widgets/designerView/extensions/MultipleSelectionRectExtensionProvider.js';
|
|
80
|
-
import { DragDropService } from './dragDropService/DragDropService.js';
|
|
81
|
-
import { EventsService } from './eventsService/EventsService.js';
|
|
82
|
-
import { SimpleDemoProviderService } from './demoProviderService/SimpleDemoProviderService.js';
|
|
83
|
-
import { DrawElementTool } from '../widgets/designerView/tools/DrawElementTool.js';
|
|
84
|
-
import { RoundPixelsDesignViewConfigButton } from '../widgets/designerView/extensions/buttons/RoundPixelsDesignViewConfigButton.js';
|
|
85
|
-
import { MathMLElementsPropertiesService } from './propertiesService/services/MathMLElementsPropertiesService.js';
|
|
86
|
-
import { SvgElementExtensionProvider } from '../widgets/designerView/extensions/svg/SvgElementExtensionProvider.js';
|
|
87
|
-
import { ConditionExtensionProvider } from '../widgets/designerView/extensions/logic/ConditionExtensionProvider.js';
|
|
88
|
-
import { GridToolbarExtensionProvider } from '../widgets/designerView/extensions/grid/GridToolbarExtensionProvider.js';
|
|
89
|
-
import { FlexToolbarExtensionProvider } from '../widgets/designerView/extensions/flex/FlexToolbarExtensionProvider.js';
|
|
90
|
-
import { BlockToolbarExtensionProvider } from '../widgets/designerView/extensions/block/BlockToolbarExtensionProvider.js';
|
|
91
|
-
import { ChildContextMenu } from '../widgets/designerView/extensions/contextMenu/ChildContextMenu.js';
|
|
92
|
-
import { GridChildToolbarExtensionProvider } from '../widgets/designerView/extensions/grid/GridChildToolbarExtensionProvider.js';
|
|
93
|
-
import { ToolbarExtensionsDesignViewConfigButtons } from '../widgets/designerView/extensions/buttons/ToolbarExtensionsDesignViewConfigButtons.js';
|
|
94
|
-
import { PaddingExtensionProvider } from '../widgets/designerView/extensions/PaddingExtensionProvider.js';
|
|
95
|
-
import { GridChildResizeExtensionProvider } from '../widgets/designerView/extensions/grid/GridChildResizeExtensionProvider.js';
|
|
96
|
-
import { AlignItemsContextMenu } from '../widgets/designerView/extensions/contextMenu/AlignItemsContextMenu.js';
|
|
97
|
-
import { BasicWebcomponentPropertiesService } from './propertiesService/services/BasicWebcomponentPropertiesService.js';
|
|
98
|
-
import { ForceCssContextMenu } from '../widgets/designerView/extensions/contextMenu/ForceCssContextMenu.js';
|
|
99
|
-
import { OptionsContextMenuButton } from '../widgets/designerView/extensions/buttons/OptionsContextMenuButton.js';
|
|
100
|
-
export function createDefaultServiceContainer() {
|
|
101
|
-
let serviceContainer = new ServiceContainer();
|
|
102
|
-
let defaultPlacementService = new DefaultPlacementService();
|
|
103
|
-
serviceContainer.register("containerService", defaultPlacementService);
|
|
104
|
-
serviceContainer.register("containerService", new GridPlacementService(defaultPlacementService));
|
|
105
|
-
serviceContainer.register("containerService", new FlexBoxPlacementService(defaultPlacementService));
|
|
106
|
-
serviceContainer.register("propertyService", new BasicWebcomponentPropertiesService());
|
|
107
|
-
serviceContainer.register("propertyService", new PolymerPropertiesService());
|
|
108
|
-
serviceContainer.register("propertyService", new LitElementPropertiesService());
|
|
109
|
-
serviceContainer.register("propertyService", new NativeElementsPropertiesService());
|
|
110
|
-
serviceContainer.register("propertyService", new SVGElementsPropertiesService());
|
|
111
|
-
serviceContainer.register("propertyService", new MathMLElementsPropertiesService());
|
|
112
|
-
serviceContainer.register("propertyService", new Lit2PropertiesService());
|
|
113
|
-
serviceContainer.register("propertyService", new BaseCustomWebComponentPropertiesService());
|
|
114
|
-
serviceContainer.register("propertyGroupsService", new PropertyGroupsService());
|
|
115
|
-
serviceContainer.register("instanceService", new DefaultInstanceService());
|
|
116
|
-
serviceContainer.register("editorTypesService", new DefaultEditorTypesService());
|
|
117
|
-
serviceContainer.register("htmlWriterService", new HtmlWriterService());
|
|
118
|
-
serviceContainer.register("snaplinesProviderService", new SnaplinesProviderService());
|
|
119
|
-
serviceContainer.register("htmlParserService", new DefaultHtmlParserService());
|
|
120
|
-
serviceContainer.register("elementAtPointService", new ElementAtPointService());
|
|
121
|
-
serviceContainer.register("externalDragDropService", new ExternalDragDropService());
|
|
122
|
-
serviceContainer.register("dragDropService", new DragDropService());
|
|
123
|
-
serviceContainer.register("copyPasteService", new CopyPasteService());
|
|
124
|
-
serviceContainer.register("modelCommandService", new DefaultModelCommandService());
|
|
125
|
-
serviceContainer.register("demoProviderService", new SimpleDemoProviderService());
|
|
126
|
-
serviceContainer.register("eventsService", new EventsService());
|
|
127
|
-
serviceContainer.register("undoService", (designerCanvas) => new UndoService(designerCanvas));
|
|
128
|
-
serviceContainer.register("selectionService", (designerCanvas) => new SelectionService(designerCanvas, false));
|
|
129
|
-
serviceContainer.register("contentService", (designerCanvas) => new ContentService(designerCanvas.rootDesignItem));
|
|
130
|
-
serviceContainer.register("designItemDocumentPositionService", (designerCanvas) => new DesignItemDocumentPositionService(designerCanvas));
|
|
131
|
-
serviceContainer.designerExtensions.set(ExtensionType.Permanent, [
|
|
132
|
-
new InvisibleElementExtensionProvider(),
|
|
133
|
-
]);
|
|
134
|
-
serviceContainer.designerExtensions.set(ExtensionType.PrimarySelection, [
|
|
135
|
-
new ConditionExtensionProvider(new ElementDragTitleExtensionProvider(), item => !(item.node instanceof SVGElement) || item.node instanceof SVGSVGElement),
|
|
136
|
-
new TransformOriginExtensionProvider(true),
|
|
137
|
-
new MarginExtensionProvider(),
|
|
138
|
-
new PaddingExtensionProvider(),
|
|
139
|
-
new PositionExtensionProvider(),
|
|
140
|
-
new SvgElementExtensionProvider(),
|
|
141
|
-
new ApplyFirstMachingExtensionProvider(new GridChildResizeExtensionProvider(), new ResizeExtensionProvider(true)),
|
|
142
|
-
new RotateExtensionProvider(),
|
|
143
|
-
new ConditionExtensionProvider(new MultipleSelectionRectExtensionProvider(), item => !(item.node instanceof SVGElement) || item.node instanceof SVGSVGElement),
|
|
144
|
-
]);
|
|
145
|
-
serviceContainer.designerExtensions.set(ExtensionType.PrimarySelectionRefreshed, [
|
|
146
|
-
new GridChildToolbarExtensionProvider(),
|
|
147
|
-
new GridToolbarExtensionProvider(),
|
|
148
|
-
new FlexToolbarExtensionProvider(),
|
|
149
|
-
new BlockToolbarExtensionProvider(),
|
|
150
|
-
]);
|
|
151
|
-
serviceContainer.designerExtensions.set(ExtensionType.PrimarySelectionAndCanBeEntered, [
|
|
152
|
-
new DisplayGridExtensionProvider(),
|
|
153
|
-
new EditGridColumnRowSizesExtensionProvider(),
|
|
154
|
-
new FlexboxExtensionProvider(),
|
|
155
|
-
]);
|
|
156
|
-
serviceContainer.designerExtensions.set(ExtensionType.Selection, [
|
|
157
|
-
new ConditionExtensionProvider(new SelectionDefaultExtensionProvider(), item => !(item.node instanceof SVGElement) || item.node instanceof SVGSVGElement),
|
|
158
|
-
]);
|
|
159
|
-
serviceContainer.designerExtensions.set(ExtensionType.PrimarySelectionContainerAndCanBeEntered, [
|
|
160
|
-
new DisplayGridExtensionProvider('lightgray', '#8080802b'),
|
|
161
|
-
new EditGridColumnRowSizesExtensionProvider(),
|
|
162
|
-
new FlexboxExtensionProvider()
|
|
163
|
-
]);
|
|
164
|
-
serviceContainer.designerExtensions.set(ExtensionType.MouseOver, [
|
|
165
|
-
new HighlightElementExtensionProvider()
|
|
166
|
-
]);
|
|
167
|
-
serviceContainer.designerExtensions.set(ExtensionType.Placement, [
|
|
168
|
-
new PlacementExtensionProvider()
|
|
169
|
-
]);
|
|
170
|
-
serviceContainer.designerExtensions.set(ExtensionType.ContainerDrag, [
|
|
171
|
-
new GrayOutExtensionProvider()
|
|
172
|
-
]);
|
|
173
|
-
serviceContainer.designerExtensions.set(ExtensionType.ContainerDragOverAndCanBeEntered, [
|
|
174
|
-
new ApplyFirstMachingExtensionProvider(new DisplayGridExtensionProvider(), new GrayOutDragOverContainerExtensionProvider()),
|
|
175
|
-
new AltToEnterContainerExtensionProvider()
|
|
176
|
-
]);
|
|
177
|
-
serviceContainer.designerExtensions.set(ExtensionType.ContainerExternalDragOverAndCanBeEntered, [
|
|
178
|
-
new ApplyFirstMachingExtensionProvider(new DisplayGridExtensionProvider(), new GrayOutDragOverContainerExtensionProvider()),
|
|
179
|
-
]);
|
|
180
|
-
serviceContainer.designerExtensions.set(ExtensionType.Doubleclick, [
|
|
181
|
-
new EditTextExtensionProvider()
|
|
182
|
-
]);
|
|
183
|
-
serviceContainer.designerTools.set(NamedTools.Pointer, new PointerTool());
|
|
184
|
-
serviceContainer.designerTools.set(NamedTools.DrawSelection, new RectangleSelectorTool());
|
|
185
|
-
serviceContainer.designerTools.set(NamedTools.DrawPath, new DrawPathTool());
|
|
186
|
-
serviceContainer.designerTools.set(NamedTools.DrawRect, new DrawRectTool());
|
|
187
|
-
serviceContainer.designerTools.set(NamedTools.DrawEllipsis, new DrawEllipsisTool());
|
|
188
|
-
serviceContainer.designerTools.set(NamedTools.DrawLine, new DrawLineTool());
|
|
189
|
-
serviceContainer.designerTools.set(NamedTools.Zoom, new ZoomTool());
|
|
190
|
-
serviceContainer.designerTools.set(NamedTools.Pan, new PanTool());
|
|
191
|
-
serviceContainer.designerTools.set(NamedTools.RectangleSelector, new RectangleSelectorTool());
|
|
192
|
-
serviceContainer.designerTools.set(NamedTools.MagicWandSelector, new MagicWandSelectorTool());
|
|
193
|
-
serviceContainer.designerTools.set(NamedTools.PickColor, new PickColorTool());
|
|
194
|
-
serviceContainer.designerTools.set(NamedTools.Text, new TextTool());
|
|
195
|
-
serviceContainer.designerTools.set(NamedTools.DrawElementTool, DrawElementTool);
|
|
196
|
-
serviceContainer.designerPointerExtensions.push(
|
|
197
|
-
//new CursorLinePointerExtensionProvider()
|
|
198
|
-
);
|
|
199
|
-
serviceContainer.designViewConfigButtons.push(new ButtonSeperatorProvider(20), new GridExtensionDesignViewConfigButtons(), new FlexboxExtensionDesignViewConfigButtons(), new ButtonSeperatorProvider(10), new InvisibleElementExtensionDesignViewConfigButtons(), new ButtonSeperatorProvider(10), new StylesheetServiceDesignViewConfigButtons(), new ButtonSeperatorProvider(10), new ToolbarExtensionsDesignViewConfigButtons(), new ButtonSeperatorProvider(30), new RoundPixelsDesignViewConfigButton(), new ButtonSeperatorProvider(30), new OptionsContextMenuButton());
|
|
200
|
-
serviceContainer.designViewToolbarButtons.push(new PointerToolButtonProvider(), new SeperatorToolProvider(22), new SelectorToolButtonProvider(), new SeperatorToolProvider(22), new ZoomToolButtonProvider(), new SeperatorToolProvider(22), new DrawToolButtonProvider(), new SeperatorToolProvider(22), new TextToolButtonProvider(), new SeperatorToolProvider(22), new TransformToolButtonProvider());
|
|
201
|
-
serviceContainer.designerContextMenuExtensions = [
|
|
202
|
-
new ChildContextMenu('edit', new CopyPasteContextMenu()),
|
|
203
|
-
new SeperatorContextMenu(),
|
|
204
|
-
new ChildContextMenu('modify', new RotateLeftAndRight(), new SeperatorContextMenu(), new ZMoveContextMenu(), new SeperatorContextMenu(), new AlignItemsContextMenu()),
|
|
205
|
-
new SeperatorContextMenu(),
|
|
206
|
-
new ChildContextMenu('view', new JumpToElementContextMenu(), new ZoomToElementContextMenu()),
|
|
207
|
-
new SeperatorContextMenu(),
|
|
208
|
-
new ChildContextMenu('force', new ForceCssContextMenu()),
|
|
209
|
-
new SeperatorContextMenu(),
|
|
210
|
-
new MultipleItemsSelectedContextMenu(),
|
|
211
|
-
new PathContextMenu(),
|
|
212
|
-
new RectContextMenu(),
|
|
213
|
-
new SeperatorContextMenu(),
|
|
214
|
-
new SelectAllChildrenContextMenu(),
|
|
215
|
-
new SeperatorContextMenu(),
|
|
216
|
-
new ItemsBelowContextMenu(),
|
|
217
|
-
];
|
|
218
|
-
return serviceContainer;
|
|
219
|
-
}
|
|
220
|
-
export default createDefaultServiceContainer;
|
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
import { ServiceContainer } from './ServiceContainer.js';
|
|
2
|
-
import { PolymerPropertiesService } from './propertiesService/services/PolymerPropertiesService.js';
|
|
3
|
-
import { LitElementPropertiesService } from './propertiesService/services/LitElementPropertiesService.js';
|
|
4
|
-
import { NativeElementsPropertiesService } from './propertiesService/services/NativeElementsPropertiesService.js';
|
|
5
|
-
import { SVGElementsPropertiesService } from './propertiesService/services/SVGElementsPropertiesService.js';
|
|
6
|
-
import { DefaultInstanceService } from './instanceService/DefaultInstanceService.js';
|
|
7
|
-
import { DefaultEditorTypesService } from './propertiesService/DefaultEditorTypesService.js';
|
|
8
|
-
import { BaseCustomWebComponentPropertiesService } from './propertiesService/services/BaseCustomWebComponentPropertiesService.js';
|
|
9
|
-
import { DefaultPlacementService } from './placementService/DefaultPlacementService.js';
|
|
10
|
-
import { DefaultHtmlParserService } from './htmlParserService/DefaultHtmlParserService.js';
|
|
11
|
-
import { Lit2PropertiesService } from './propertiesService/services/Lit2PropertiesService.js';
|
|
12
|
-
import { ExtensionType } from '../widgets/designerView/extensions/ExtensionType.js';
|
|
13
|
-
import { ElementDragTitleExtensionProvider } from '../widgets/designerView/extensions/ElementDragTitleExtensionProvider.js';
|
|
14
|
-
import { TransformOriginExtensionProvider } from '../widgets/designerView/extensions/TransformOriginExtensionProvider.js';
|
|
15
|
-
import { MarginExtensionProvider } from '../widgets/designerView/extensions/MarginExtensionProvider.js';
|
|
16
|
-
import { PositionExtensionProvider } from '../widgets/designerView/extensions/PositionExtensionProvider.js';
|
|
17
|
-
import { HighlightElementExtensionProvider } from '../widgets/designerView/extensions/HighlightElementExtensionProvider.js';
|
|
18
|
-
import { NamedTools } from '../widgets/designerView/tools/NamedTools.js';
|
|
19
|
-
import { PointerTool } from '../widgets/designerView/tools/PointerTool.js';
|
|
20
|
-
import { DrawPathTool } from '../widgets/designerView/tools/DrawPathTool.js';
|
|
21
|
-
import { SelectionDefaultExtensionProvider } from '../widgets/designerView/extensions/SelectionDefaultExtensionProvider.js';
|
|
22
|
-
import { ResizeExtensionProvider } from '../widgets/designerView/extensions/ResizeExtensionProvider.js';
|
|
23
|
-
import { RotateExtensionProvider } from '../widgets/designerView/extensions/RotateExtensionProvider.js';
|
|
24
|
-
import { ZoomTool } from '../widgets/designerView/tools/ZoomTool.js';
|
|
25
|
-
import { PanTool } from '../widgets/designerView/tools/PanTool.js';
|
|
26
|
-
import { CopyPasteContextMenu } from '../widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js';
|
|
27
|
-
import { ZMoveContextMenu } from '../widgets/designerView/extensions/contextMenu/ZMoveContextMenu.js';
|
|
28
|
-
import { MultipleItemsSelectedContextMenu } from '../widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js';
|
|
29
|
-
import { RectangleSelectorTool } from '../widgets/designerView/tools/RectangleSelectorTool.js';
|
|
30
|
-
import { MagicWandSelectorTool } from '../widgets/designerView/tools/MagicWandSelectorTool.js';
|
|
31
|
-
import { PickColorTool } from '../widgets/designerView/tools/PickColorTool.js';
|
|
32
|
-
import { TextTool } from '../widgets/designerView/tools/TextTool.js';
|
|
33
|
-
import { GrayOutExtensionProvider } from '../widgets/designerView/extensions/GrayOutExtensionProvider.js';
|
|
34
|
-
import { AltToEnterContainerExtensionProvider } from '../widgets/designerView/extensions/AltToEnterContainerExtensionProvider.js';
|
|
35
|
-
import { InvisibleElementExtensionProvider } from '../widgets/designerView/extensions/InvisibleElementExtensionProvider.js';
|
|
36
|
-
import { ItemsBelowContextMenu } from '../widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js';
|
|
37
|
-
import { GridPlacementService } from './placementService/GridPlacementService.js';
|
|
38
|
-
import { ElementAtPointService } from './elementAtPointService/ElementAtPointService.js';
|
|
39
|
-
import { FlexBoxPlacementService } from './placementService/FlexBoxPlacementService.js';
|
|
40
|
-
import { SnaplinesProviderService } from './placementService/SnaplinesProviderService.js';
|
|
41
|
-
import { ExternalDragDropService } from './dragDropService/ExternalDragDropService.js';
|
|
42
|
-
import { EditTextExtensionProvider } from '../widgets/designerView/extensions/EditText/EditTextExtensionProvider.js';
|
|
43
|
-
import { CopyPasteService } from './copyPasteService/CopyPasteService.js';
|
|
44
|
-
import { DefaultModelCommandService } from './modelCommandService/DefaultModelCommandService.js';
|
|
45
|
-
import { ButtonSeperatorProvider } from '../widgets/designerView/extensions/buttons/ButtonSeperatorProvider.js';
|
|
46
|
-
import { GridExtensionDesignViewConfigButtons } from '../widgets/designerView/extensions/buttons/GridExtensionDesignViewConfigButtons.js';
|
|
47
|
-
import { DrawRectTool } from '../widgets/designerView/tools/DrawRectTool.js';
|
|
48
|
-
import { DrawEllipsisTool } from '../widgets/designerView/tools/DrawEllipsisTool.js';
|
|
49
|
-
import { DrawLineTool } from '../widgets/designerView/tools/DrawLineTool.js';
|
|
50
|
-
import { HtmlWriterService } from './htmlWriterService/HtmlWriterService.js';
|
|
51
|
-
import { RectContextMenu } from '../widgets/designerView/extensions/contextMenu/RectContextMenu.js';
|
|
52
|
-
import { PathContextMenu } from '../widgets/designerView/extensions/contextMenu/PathContextMenu.js';
|
|
53
|
-
import { SeperatorContextMenu } from '../widgets/designerView/extensions/contextMenu/SeperatorContextMenu.js';
|
|
54
|
-
import { ZoomToElementContextMenu } from '../widgets/designerView/extensions/contextMenu/ZoomToElementContextMenu.js';
|
|
55
|
-
import { RotateLeftAndRight } from '../widgets/designerView/extensions/contextMenu/RotateLeftAndRightContextMenu.js';
|
|
56
|
-
import { SelectAllChildrenContextMenu } from '../widgets/designerView/extensions/contextMenu/SelectAllChildrenContextMenu.js';
|
|
57
|
-
import { PointerToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/PointerToolButtonProvider.js';
|
|
58
|
-
import { SeperatorToolProvider } from '../widgets/designerView/tools/toolBar/buttons/SeperatorToolProvider.js';
|
|
59
|
-
import { ZoomToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/ZoomToolButtonProvider.js';
|
|
60
|
-
import { DrawToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/DrawToolButtonProvider.js';
|
|
61
|
-
import { TextToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/TextToolButtonProvider.js';
|
|
62
|
-
import { SelectorToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/SelectorToolButtonProvider.js';
|
|
63
|
-
import { GrayOutDragOverContainerExtensionProvider } from '../widgets/designerView/extensions/GrayOutDragOverContainerExtensionProvider.js';
|
|
64
|
-
import { PropertyGroupsService } from './propertiesService/PropertyGroupsService.js';
|
|
65
|
-
import { PlacementExtensionProvider } from '../widgets/designerView/extensions/PlacementExtensionProvider.js';
|
|
66
|
-
import { FlexboxExtensionProvider } from '../widgets/designerView/extensions/FlexboxExtensionProvider.js';
|
|
67
|
-
import { FlexboxExtensionDesignViewConfigButtons } from '../widgets/designerView/extensions/buttons/FlexboxExtensionDesignViewConfigButtons.js';
|
|
68
|
-
import { InvisibleElementExtensionDesignViewConfigButtons } from '../widgets/designerView/extensions/buttons/InvisibleElementExtensionDesignViewConfigButtons.js';
|
|
69
|
-
import { UndoService } from './undoService/UndoService.js';
|
|
70
|
-
import { SelectionService } from './selectionService/SelectionService.js';
|
|
71
|
-
import { ContentService } from './contentService/ContentService.js';
|
|
72
|
-
import { StylesheetServiceDesignViewConfigButtons } from '../widgets/designerView/extensions/buttons/StylesheetServiceDesignViewConfigButtons.js';
|
|
73
|
-
import { JumpToElementContextMenu } from '../widgets/designerView/extensions/contextMenu/JumpToElementContextMenu.js';
|
|
74
|
-
import { EditGridColumnRowSizesExtensionProvider } from '../widgets/designerView/extensions/grid/EditGridColumnRowSizesExtensionProvider.js';
|
|
75
|
-
import { DisplayGridExtensionProvider } from '../widgets/designerView/extensions/grid/DisplayGridExtensionProvider.js';
|
|
76
|
-
import { ApplyFirstMachingExtensionProvider } from '../widgets/designerView/extensions/logic/ApplyFirstMachingExtensionProvider.js';
|
|
77
|
-
import { DesignItemDocumentPositionService } from './designItemDocumentPositionService/DesignItemDocumentPositionService.js';
|
|
78
|
-
import { TransformToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/TransformToolButtonProvider.js';
|
|
79
|
-
import { MultipleSelectionRectExtensionProvider } from '../widgets/designerView/extensions/MultipleSelectionRectExtensionProvider.js';
|
|
80
|
-
import { DragDropService } from './dragDropService/DragDropService.js';
|
|
81
|
-
import { EventsService } from './eventsService/EventsService.js';
|
|
82
|
-
import { SimpleDemoProviderService } from './demoProviderService/SimpleDemoProviderService.js';
|
|
83
|
-
import { DrawElementTool } from '../widgets/designerView/tools/DrawElementTool.js';
|
|
84
|
-
import { RoundPixelsDesignViewConfigButton } from '../widgets/designerView/extensions/buttons/RoundPixelsDesignViewConfigButton.js';
|
|
85
|
-
import { MathMLElementsPropertiesService } from './propertiesService/services/MathMLElementsPropertiesService.js';
|
|
86
|
-
import { SvgElementExtensionProvider } from '../widgets/designerView/extensions/svg/SvgElementExtensionProvider.js';
|
|
87
|
-
import { ConditionExtensionProvider } from '../widgets/designerView/extensions/logic/ConditionExtensionProvider.js';
|
|
88
|
-
import { GridToolbarExtensionProvider } from '../widgets/designerView/extensions/grid/GridToolbarExtensionProvider.js';
|
|
89
|
-
import { FlexToolbarExtensionProvider } from '../widgets/designerView/extensions/flex/FlexToolbarExtensionProvider.js';
|
|
90
|
-
import { BlockToolbarExtensionProvider } from '../widgets/designerView/extensions/block/BlockToolbarExtensionProvider.js';
|
|
91
|
-
import { ChildContextMenu } from '../widgets/designerView/extensions/contextMenu/ChildContextMenu.js';
|
|
92
|
-
import { GridChildToolbarExtensionProvider } from '../widgets/designerView/extensions/grid/GridChildToolbarExtensionProvider.js';
|
|
93
|
-
import { ToolbarExtensionsDesignViewConfigButtons } from '../widgets/designerView/extensions/buttons/ToolbarExtensionsDesignViewConfigButtons.js';
|
|
94
|
-
import { PaddingExtensionProvider } from '../widgets/designerView/extensions/PaddingExtensionProvider.js';
|
|
95
|
-
import { GridChildResizeExtensionProvider } from '../widgets/designerView/extensions/grid/GridChildResizeExtensionProvider.js';
|
|
96
|
-
import { AlignItemsContextMenu } from '../widgets/designerView/extensions/contextMenu/AlignItemsContextMenu.js';
|
|
97
|
-
import { BasicWebcomponentPropertiesService } from './propertiesService/services/BasicWebcomponentPropertiesService.js';
|
|
98
|
-
import { PreviousElementSelectExtensionProvider } from '../widgets/designerView/extensions/PreviousElementSelectExtensionProvider.js';
|
|
99
|
-
export function createDefaultServiceContainer() {
|
|
100
|
-
let serviceContainer = new ServiceContainer();
|
|
101
|
-
let defaultPlacementService = new DefaultPlacementService();
|
|
102
|
-
serviceContainer.register("containerService", defaultPlacementService);
|
|
103
|
-
serviceContainer.register("containerService", new GridPlacementService(defaultPlacementService));
|
|
104
|
-
serviceContainer.register("containerService", new FlexBoxPlacementService(defaultPlacementService));
|
|
105
|
-
serviceContainer.register("propertyService", new BasicWebcomponentPropertiesService());
|
|
106
|
-
serviceContainer.register("propertyService", new PolymerPropertiesService());
|
|
107
|
-
serviceContainer.register("propertyService", new LitElementPropertiesService());
|
|
108
|
-
serviceContainer.register("propertyService", new NativeElementsPropertiesService());
|
|
109
|
-
serviceContainer.register("propertyService", new SVGElementsPropertiesService());
|
|
110
|
-
serviceContainer.register("propertyService", new MathMLElementsPropertiesService());
|
|
111
|
-
serviceContainer.register("propertyService", new Lit2PropertiesService());
|
|
112
|
-
serviceContainer.register("propertyService", new BaseCustomWebComponentPropertiesService());
|
|
113
|
-
serviceContainer.register("propertyGroupsService", new PropertyGroupsService());
|
|
114
|
-
serviceContainer.register("instanceService", new DefaultInstanceService());
|
|
115
|
-
serviceContainer.register("editorTypesService", new DefaultEditorTypesService());
|
|
116
|
-
serviceContainer.register("htmlWriterService", new HtmlWriterService());
|
|
117
|
-
serviceContainer.register("snaplinesProviderService", new SnaplinesProviderService());
|
|
118
|
-
serviceContainer.register("htmlParserService", new DefaultHtmlParserService());
|
|
119
|
-
serviceContainer.register("elementAtPointService", new ElementAtPointService());
|
|
120
|
-
serviceContainer.register("externalDragDropService", new ExternalDragDropService());
|
|
121
|
-
serviceContainer.register("dragDropService", new DragDropService());
|
|
122
|
-
serviceContainer.register("copyPasteService", new CopyPasteService());
|
|
123
|
-
serviceContainer.register("modelCommandService", new DefaultModelCommandService());
|
|
124
|
-
serviceContainer.register("demoProviderService", new SimpleDemoProviderService());
|
|
125
|
-
serviceContainer.register("eventsService", new EventsService());
|
|
126
|
-
serviceContainer.register("undoService", (designerCanvas) => new UndoService(designerCanvas));
|
|
127
|
-
serviceContainer.register("selectionService", (designerCanvas) => new SelectionService(designerCanvas, false));
|
|
128
|
-
serviceContainer.register("contentService", (designerCanvas) => new ContentService(designerCanvas.rootDesignItem));
|
|
129
|
-
serviceContainer.register("designItemDocumentPositionService", (designerCanvas) => new DesignItemDocumentPositionService(designerCanvas));
|
|
130
|
-
serviceContainer.designerExtensions.set(ExtensionType.Permanent, [
|
|
131
|
-
new InvisibleElementExtensionProvider(),
|
|
132
|
-
]);
|
|
133
|
-
serviceContainer.designerExtensions.set(ExtensionType.PrimarySelection, [
|
|
134
|
-
new ConditionExtensionProvider(new ElementDragTitleExtensionProvider(), item => !(item.node instanceof SVGElement) || item.node instanceof SVGSVGElement),
|
|
135
|
-
new PreviousElementSelectExtensionProvider(),
|
|
136
|
-
new TransformOriginExtensionProvider(true),
|
|
137
|
-
new MarginExtensionProvider(),
|
|
138
|
-
new PaddingExtensionProvider(),
|
|
139
|
-
new PositionExtensionProvider(),
|
|
140
|
-
new SvgElementExtensionProvider(),
|
|
141
|
-
new ApplyFirstMachingExtensionProvider(new GridChildResizeExtensionProvider(), new ResizeExtensionProvider(true)),
|
|
142
|
-
new RotateExtensionProvider(),
|
|
143
|
-
new ConditionExtensionProvider(new MultipleSelectionRectExtensionProvider(), item => !(item.node instanceof SVGElement) || item.node instanceof SVGSVGElement),
|
|
144
|
-
]);
|
|
145
|
-
serviceContainer.designerExtensions.set(ExtensionType.PrimarySelectionRefreshed, [
|
|
146
|
-
new GridChildToolbarExtensionProvider(),
|
|
147
|
-
new GridToolbarExtensionProvider(),
|
|
148
|
-
new FlexToolbarExtensionProvider(),
|
|
149
|
-
new BlockToolbarExtensionProvider(),
|
|
150
|
-
]);
|
|
151
|
-
serviceContainer.designerExtensions.set(ExtensionType.PrimarySelectionAndCanBeEntered, [
|
|
152
|
-
new DisplayGridExtensionProvider(),
|
|
153
|
-
new EditGridColumnRowSizesExtensionProvider(),
|
|
154
|
-
new FlexboxExtensionProvider(),
|
|
155
|
-
]);
|
|
156
|
-
serviceContainer.designerExtensions.set(ExtensionType.Selection, [
|
|
157
|
-
new ConditionExtensionProvider(new SelectionDefaultExtensionProvider(), item => !(item.node instanceof SVGElement) || item.node instanceof SVGSVGElement),
|
|
158
|
-
]);
|
|
159
|
-
serviceContainer.designerExtensions.set(ExtensionType.PrimarySelectionContainerAndCanBeEntered, [
|
|
160
|
-
new DisplayGridExtensionProvider('lightgray', '#8080802b'),
|
|
161
|
-
new EditGridColumnRowSizesExtensionProvider(),
|
|
162
|
-
new FlexboxExtensionProvider()
|
|
163
|
-
]);
|
|
164
|
-
serviceContainer.designerExtensions.set(ExtensionType.MouseOver, [
|
|
165
|
-
new HighlightElementExtensionProvider(),
|
|
166
|
-
new ConditionExtensionProvider(new ElementDragTitleExtensionProvider(), item => item.instanceServiceContainer.selectionService.primarySelection !== item && !(item.node instanceof SVGElement) || item.node instanceof SVGSVGElement),
|
|
167
|
-
new ConditionExtensionProvider(new PreviousElementSelectExtensionProvider(), item => item.instanceServiceContainer.selectionService.primarySelection !== item && !(item.node instanceof SVGElement) || item.node instanceof SVGSVGElement),
|
|
168
|
-
]);
|
|
169
|
-
serviceContainer.designerExtensions.set(ExtensionType.Placement, [
|
|
170
|
-
new PlacementExtensionProvider()
|
|
171
|
-
]);
|
|
172
|
-
serviceContainer.designerExtensions.set(ExtensionType.ContainerDrag, [
|
|
173
|
-
new GrayOutExtensionProvider()
|
|
174
|
-
]);
|
|
175
|
-
serviceContainer.designerExtensions.set(ExtensionType.ContainerDragOverAndCanBeEntered, [
|
|
176
|
-
new ApplyFirstMachingExtensionProvider(new DisplayGridExtensionProvider(), new GrayOutDragOverContainerExtensionProvider()),
|
|
177
|
-
new AltToEnterContainerExtensionProvider()
|
|
178
|
-
]);
|
|
179
|
-
serviceContainer.designerExtensions.set(ExtensionType.ContainerExternalDragOverAndCanBeEntered, [
|
|
180
|
-
new ApplyFirstMachingExtensionProvider(new DisplayGridExtensionProvider(), new GrayOutDragOverContainerExtensionProvider()),
|
|
181
|
-
]);
|
|
182
|
-
serviceContainer.designerExtensions.set(ExtensionType.Doubleclick, [
|
|
183
|
-
new EditTextExtensionProvider()
|
|
184
|
-
]);
|
|
185
|
-
serviceContainer.designerTools.set(NamedTools.Pointer, new PointerTool());
|
|
186
|
-
serviceContainer.designerTools.set(NamedTools.DrawSelection, new RectangleSelectorTool());
|
|
187
|
-
serviceContainer.designerTools.set(NamedTools.DrawPath, new DrawPathTool());
|
|
188
|
-
serviceContainer.designerTools.set(NamedTools.DrawRect, new DrawRectTool());
|
|
189
|
-
serviceContainer.designerTools.set(NamedTools.DrawEllipsis, new DrawEllipsisTool());
|
|
190
|
-
serviceContainer.designerTools.set(NamedTools.DrawLine, new DrawLineTool());
|
|
191
|
-
serviceContainer.designerTools.set(NamedTools.Zoom, new ZoomTool());
|
|
192
|
-
serviceContainer.designerTools.set(NamedTools.Pan, new PanTool());
|
|
193
|
-
serviceContainer.designerTools.set(NamedTools.RectangleSelector, new RectangleSelectorTool());
|
|
194
|
-
serviceContainer.designerTools.set(NamedTools.MagicWandSelector, new MagicWandSelectorTool());
|
|
195
|
-
serviceContainer.designerTools.set(NamedTools.PickColor, new PickColorTool());
|
|
196
|
-
serviceContainer.designerTools.set(NamedTools.Text, new TextTool());
|
|
197
|
-
serviceContainer.designerTools.set(NamedTools.DrawElementTool, DrawElementTool);
|
|
198
|
-
serviceContainer.designerPointerExtensions.push(
|
|
199
|
-
//new CursorLinePointerExtensionProvider()
|
|
200
|
-
);
|
|
201
|
-
serviceContainer.designViewConfigButtons.push(new ButtonSeperatorProvider(20), new GridExtensionDesignViewConfigButtons(), new FlexboxExtensionDesignViewConfigButtons(), new ButtonSeperatorProvider(10), new InvisibleElementExtensionDesignViewConfigButtons(), new ButtonSeperatorProvider(10), new StylesheetServiceDesignViewConfigButtons(), new ButtonSeperatorProvider(10), new ToolbarExtensionsDesignViewConfigButtons(), new ButtonSeperatorProvider(30), new RoundPixelsDesignViewConfigButton());
|
|
202
|
-
serviceContainer.designViewToolbarButtons.push(new PointerToolButtonProvider(), new SeperatorToolProvider(22), new SelectorToolButtonProvider(), new SeperatorToolProvider(22), new ZoomToolButtonProvider(), new SeperatorToolProvider(22), new DrawToolButtonProvider(), new SeperatorToolProvider(22), new TextToolButtonProvider(), new SeperatorToolProvider(22), new TransformToolButtonProvider());
|
|
203
|
-
serviceContainer.designerContextMenuExtensions = [
|
|
204
|
-
new ChildContextMenu('edit', new CopyPasteContextMenu()),
|
|
205
|
-
new SeperatorContextMenu(),
|
|
206
|
-
new ChildContextMenu('modify', new RotateLeftAndRight(), new SeperatorContextMenu(), new ZMoveContextMenu(), new SeperatorContextMenu(), new AlignItemsContextMenu()),
|
|
207
|
-
new SeperatorContextMenu(),
|
|
208
|
-
new ChildContextMenu('view', new JumpToElementContextMenu(), new ZoomToElementContextMenu()),
|
|
209
|
-
new SeperatorContextMenu(),
|
|
210
|
-
new MultipleItemsSelectedContextMenu(),
|
|
211
|
-
new PathContextMenu(),
|
|
212
|
-
new RectContextMenu(),
|
|
213
|
-
new SeperatorContextMenu(),
|
|
214
|
-
new SelectAllChildrenContextMenu(),
|
|
215
|
-
new SeperatorContextMenu(),
|
|
216
|
-
new ItemsBelowContextMenu(),
|
|
217
|
-
];
|
|
218
|
-
return serviceContainer;
|
|
219
|
-
}
|
|
220
|
-
export default createDefaultServiceContainer;
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import { DomConverter } from '../../widgets/designerView/DomConverter.js';
|
|
2
|
-
import { combineTransforms, extractTranslationFromDOMMatrix, getResultingTransformationBetweenElementAndAllAncestors } from '../../helper/TransformHelper.js';
|
|
3
|
-
import { filterChildPlaceItems, getDesignItemCurrentPos, placeDesignItem } from '../../helper/LayoutHelper.js';
|
|
4
|
-
import { ExtensionType } from '../../widgets/designerView/extensions/ExtensionType.js';
|
|
5
|
-
import { straightenLine } from '../../helper/PathDataPolyfill.js';
|
|
6
|
-
export class AbsolutePlacementService {
|
|
7
|
-
serviceForContainer(container, containerStyle, mode, item, event) {
|
|
8
|
-
if (item != null && (item.getComputedStyle()?.position == 'absolute' || item.getComputedStyle()?.position == 'relative'))
|
|
9
|
-
return true;
|
|
10
|
-
/*if (containerStyle.display === 'grid' || containerStyle.display === 'inline-grid' ||
|
|
11
|
-
containerStyle.display === 'flex' || containerStyle.display === 'inline-flex')
|
|
12
|
-
return false;*/
|
|
13
|
-
return mode == 'drop' && event.ctrlKey;
|
|
14
|
-
}
|
|
15
|
-
isEnterableContainer(container) {
|
|
16
|
-
if (DomConverter.IsSelfClosingElement(container.element.localName))
|
|
17
|
-
return false;
|
|
18
|
-
if (!container.isRootItem && container.element.shadowRoot && container.element.shadowRoot.querySelector('slot') == null)
|
|
19
|
-
return false;
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
canEnter(container, items) {
|
|
23
|
-
if (!this.isEnterableContainer(container))
|
|
24
|
-
return false;
|
|
25
|
-
if (!items.every(x => !x.element.contains(container.element) && x !== container))
|
|
26
|
-
return false;
|
|
27
|
-
return true;
|
|
28
|
-
}
|
|
29
|
-
canLeave(container, items) {
|
|
30
|
-
return true;
|
|
31
|
-
}
|
|
32
|
-
getElementOffset(container, designItem) {
|
|
33
|
-
return container.instanceServiceContainer.designerCanvas.getNormalizedElementCoordinates(container.element);
|
|
34
|
-
}
|
|
35
|
-
calculateTrack(event, designerCanvas, startPoint, offsetInControl, newPoint, item) {
|
|
36
|
-
let trackX = newPoint.x - startPoint.x;
|
|
37
|
-
let trackY = newPoint.y - startPoint.y;
|
|
38
|
-
if (!event.ctrlKey) {
|
|
39
|
-
if (designerCanvas.alignOnGrid) {
|
|
40
|
-
let p = getDesignItemCurrentPos(item, 'position');
|
|
41
|
-
p.x = p.x % designerCanvas.gridSize;
|
|
42
|
-
p.y = p.y % designerCanvas.gridSize;
|
|
43
|
-
trackX = Math.round(trackX / designerCanvas.gridSize) * designerCanvas.gridSize - p.x;
|
|
44
|
-
trackY = Math.round(trackY / designerCanvas.gridSize) * designerCanvas.gridSize - p.y;
|
|
45
|
-
}
|
|
46
|
-
else if (designerCanvas.alignOnSnap) {
|
|
47
|
-
let rect = item.element.getBoundingClientRect();
|
|
48
|
-
let newPos = designerCanvas.snapLines.snapToPosition({ x: (newPoint.x - offsetInControl.x), y: (newPoint.y - offsetInControl.y) }, { width: rect.width / designerCanvas.scaleFactor, height: rect.height / designerCanvas.scaleFactor }, { x: trackX > 0 ? 1 : -1, y: trackY > 0 ? 1 : -1 });
|
|
49
|
-
if (newPos.x !== null) {
|
|
50
|
-
trackX = newPos.x - Math.round(startPoint.x) + Math.round(offsetInControl.x);
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
trackX = Math.round(trackX);
|
|
54
|
-
}
|
|
55
|
-
if (newPos.y !== null) {
|
|
56
|
-
trackY = newPos.y - Math.round(startPoint.y) + Math.round(offsetInControl.y);
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
trackY = Math.round(trackY);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return { x: trackX, y: trackY };
|
|
64
|
-
}
|
|
65
|
-
placePoint(event, designerCanvas, container, startPoint, offsetInControl, newPoint, items) {
|
|
66
|
-
let trackX = newPoint.x;
|
|
67
|
-
let trackY = newPoint.y;
|
|
68
|
-
if (!event.ctrlKey) {
|
|
69
|
-
if (designerCanvas.alignOnGrid) {
|
|
70
|
-
trackX = Math.round(trackX / designerCanvas.gridSize) * designerCanvas.gridSize;
|
|
71
|
-
trackY = Math.round(trackY / designerCanvas.gridSize) * designerCanvas.gridSize;
|
|
72
|
-
}
|
|
73
|
-
else if (designerCanvas.alignOnSnap) {
|
|
74
|
-
let newPos = designerCanvas.snapLines.snapToPosition({ x: newPoint.x - offsetInControl.x, y: newPoint.y - offsetInControl.y }, null, { x: trackX > 0 ? 1 : -1, y: trackY > 0 ? 1 : -1 });
|
|
75
|
-
if (newPos.x !== null) {
|
|
76
|
-
trackX = newPos.x;
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
trackX = Math.round(trackX);
|
|
80
|
-
}
|
|
81
|
-
if (newPos.y !== null) {
|
|
82
|
-
trackY = newPos.y;
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
trackY = Math.round(trackY);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
return { x: trackX, y: trackY };
|
|
90
|
-
}
|
|
91
|
-
startPlace(event, designerCanvas, container, startPoint, offsetInControl, newPoint, items) {
|
|
92
|
-
}
|
|
93
|
-
place(event, designerCanvas, container, startPoint, offsetInControl, newPoint, items) {
|
|
94
|
-
//TODO: this should revert all undo actions while active
|
|
95
|
-
//maybe a undo actions returns itself or an id so it could be changed?
|
|
96
|
-
let track = this.calculateTrack(event, designerCanvas, startPoint, offsetInControl, newPoint, items[0]);
|
|
97
|
-
if (event.shiftKey) {
|
|
98
|
-
track = straightenLine({ x: 0, y: 0 }, track, true);
|
|
99
|
-
}
|
|
100
|
-
let filteredItems = filterChildPlaceItems(items);
|
|
101
|
-
for (const designItem of filteredItems) {
|
|
102
|
-
const canvas = designItem.instanceServiceContainer.designerCanvas.rootDesignItem.element;
|
|
103
|
-
let originalElementAndAllAncestorsMultipliedMatrix = getResultingTransformationBetweenElementAndAllAncestors(designItem.parent.element, canvas, true);
|
|
104
|
-
let transformMatrixParentTransformsCompensated = null;
|
|
105
|
-
if (originalElementAndAllAncestorsMultipliedMatrix) {
|
|
106
|
-
transformMatrixParentTransformsCompensated = new DOMPoint(track.x, track.y, 0, 0).matrixTransform(originalElementAndAllAncestorsMultipliedMatrix.inverse());
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
transformMatrixParentTransformsCompensated = new DOMPoint(track.x, track.y, 0, 0);
|
|
110
|
-
}
|
|
111
|
-
const translationMatrix = new DOMMatrix().translate(transformMatrixParentTransformsCompensated.x, transformMatrixParentTransformsCompensated.y);
|
|
112
|
-
combineTransforms(designItem.element, designItem.getStyle('transform'), translationMatrix.toString());
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
moveElements(designItems, position, absolute) {
|
|
116
|
-
//TODO: Check if we set left or right
|
|
117
|
-
//TODO: Use CSS units
|
|
118
|
-
for (let d of designItems) {
|
|
119
|
-
if (position.x)
|
|
120
|
-
d.setStyle('left', parseInt(d.element.style.left) - position.x + 'px');
|
|
121
|
-
if (position.y)
|
|
122
|
-
d.setStyle('top', parseInt(d.element.style.top) - position.y + 'px');
|
|
123
|
-
}
|
|
124
|
-
designItems[0].instanceServiceContainer.designerCanvas.extensionManager.refreshExtensions(designItems);
|
|
125
|
-
}
|
|
126
|
-
enterContainer(container, items, mode) {
|
|
127
|
-
let filterdItems = filterChildPlaceItems(items);
|
|
128
|
-
for (let i of filterdItems) {
|
|
129
|
-
if (mode == 'drop')
|
|
130
|
-
i.setStyle('position', 'absolute');
|
|
131
|
-
container.insertChild(i);
|
|
132
|
-
if (i.lastContainerSize) {
|
|
133
|
-
if (!i.hasStyle('width'))
|
|
134
|
-
i.setStyle('width', i.lastContainerSize.width + 'px');
|
|
135
|
-
if (!i.hasStyle('height'))
|
|
136
|
-
i.setStyle('height', i.lastContainerSize.height + 'px');
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
leaveContainer(container, items) {
|
|
141
|
-
}
|
|
142
|
-
finishPlace(event, designerCanvas, container, startPoint, offsetInControl, newPoint, items) {
|
|
143
|
-
let filterdItems = filterChildPlaceItems(items);
|
|
144
|
-
for (const designItem of filterdItems) {
|
|
145
|
-
let translation = extractTranslationFromDOMMatrix(new DOMMatrix(designItem.element.style.transform));
|
|
146
|
-
const stylesMapOffset = extractTranslationFromDOMMatrix(new DOMMatrix(designItem.getStyle('transform') ?? ''));
|
|
147
|
-
designItem.element.style.transform = designItem.getStyle('transform') ?? '';
|
|
148
|
-
let track = { x: translation.x, y: translation.y };
|
|
149
|
-
placeDesignItem(container, designItem, { x: track.x - stylesMapOffset.x, y: track.y - stylesMapOffset.y }, 'position');
|
|
150
|
-
}
|
|
151
|
-
for (const item of items) {
|
|
152
|
-
designerCanvas.extensionManager.removeExtension(item, ExtensionType.Placement);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { css, BaseCustomWebComponentConstructorAppend, html } from '@node-projects/base-custom-webcomponent';
|
|
2
|
-
export var targetType;
|
|
3
|
-
(function (targetType) {
|
|
4
|
-
targetType["property"] = "property";
|
|
5
|
-
targetType["style"] = "style";
|
|
6
|
-
targetType["attribute"] = "attribute";
|
|
7
|
-
targetType["event"] = "event";
|
|
8
|
-
})(targetType || (targetType = {}));
|
|
9
|
-
export var valueType;
|
|
10
|
-
(function (valueType) {
|
|
11
|
-
valueType["string"] = "string";
|
|
12
|
-
valueType["number"] = "number";
|
|
13
|
-
valueType["boolean"] = "boolean";
|
|
14
|
-
})(valueType || (valueType = {}));
|
|
15
|
-
export class BindingsEditor extends BaseCustomWebComponentConstructorAppend {
|
|
16
|
-
static style = css `
|
|
17
|
-
* { font-size: 16px; }
|
|
18
|
-
.list {
|
|
19
|
-
display: flex;
|
|
20
|
-
flex-direction: column;
|
|
21
|
-
gap: 5px;
|
|
22
|
-
}
|
|
23
|
-
`;
|
|
24
|
-
static template = html `
|
|
25
|
-
<div class="list" style="">
|
|
26
|
-
<span>Expression</span>
|
|
27
|
-
<div>
|
|
28
|
-
<input style="width:100%;">
|
|
29
|
-
<button>...</button>
|
|
30
|
-
</div>
|
|
31
|
-
<!--<span>Target</span>
|
|
32
|
-
<select id="target">
|
|
33
|
-
<option>Property</option>
|
|
34
|
-
<option>Attribute</option>
|
|
35
|
-
<option>Style</option>
|
|
36
|
-
<option>Event</option>
|
|
37
|
-
</select>-->
|
|
38
|
-
<div>
|
|
39
|
-
<input id="mode" type="checkbox"><label for="mode">Two Way</label>
|
|
40
|
-
</div>
|
|
41
|
-
<div>
|
|
42
|
-
<input id="inverted" type="checkbox"><label for="inverted">Inverted</label>
|
|
43
|
-
</div>
|
|
44
|
-
<div>
|
|
45
|
-
<input id="nullSafe" type="checkbox"><label for="nullSafe">Null Safe</label>
|
|
46
|
-
</div>
|
|
47
|
-
</div>
|
|
48
|
-
`;
|
|
49
|
-
constructor(targetType) {
|
|
50
|
-
super();
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
customElements.define('node-projects-bindings-editor', BindingsEditor);
|
|
54
|
-
//# sourceMappingURL=BindingsEditor.js.map
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { AbstractExtension } from './AbstractExtension.js';
|
|
2
|
-
export class CanvasExtension extends AbstractExtension {
|
|
3
|
-
constructor(extensionManager, designerView, extendedItem) {
|
|
4
|
-
super(extensionManager, designerView, extendedItem);
|
|
5
|
-
}
|
|
6
|
-
extend() {
|
|
7
|
-
this.refresh();
|
|
8
|
-
}
|
|
9
|
-
refresh() {
|
|
10
|
-
const itemRect = this.designerCanvas.getNormalizedElementCoordinates(this.extendedItem.element);
|
|
11
|
-
const computedStyle = getComputedStyle(this.extendedItem.element);
|
|
12
|
-
if (computedStyle.margin !== '0px') {
|
|
13
|
-
const left = Number.parseFloat(computedStyle.marginLeft.replace('px', ''));
|
|
14
|
-
const top = Number.parseFloat(computedStyle.marginTop.replace('px', ''));
|
|
15
|
-
const right = Number.parseFloat(computedStyle.marginRight.replace('px', ''));
|
|
16
|
-
const bottom = Number.parseFloat(computedStyle.marginBottom.replace('px', ''));
|
|
17
|
-
if (!isNaN(left) && !isNaN(top) && !isNaN(right) && !isNaN(bottom)) {
|
|
18
|
-
if (this._valuesHaveChanges(left, top, right, bottom, itemRect.x, itemRect.y, itemRect.width, itemRect.height)) {
|
|
19
|
-
this._removeAllOverlays();
|
|
20
|
-
this._drawRect(itemRect.x - left, itemRect.y - top, left + itemRect.width + right, top, 'svg-margin');
|
|
21
|
-
this._drawRect(itemRect.x - left, itemRect.y, left, itemRect.height, 'svg-margin');
|
|
22
|
-
this._drawRect(itemRect.x + itemRect.width, itemRect.y, right, itemRect.height, 'svg-margin');
|
|
23
|
-
this._drawRect(itemRect.x - left, itemRect.y + itemRect.height, left + itemRect.width + right, bottom, 'svg-margin');
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
dispose() {
|
|
29
|
-
this._removeAllOverlays();
|
|
30
|
-
}
|
|
31
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { CanvasExtension } from './CanvasExtension.js';
|
|
2
|
-
import { css } from "@node-projects/base-custom-webcomponent";
|
|
3
|
-
import { NodeType } from '../../../item/NodeType.js';
|
|
4
|
-
export class CanvasExtensionProvider {
|
|
5
|
-
shouldExtend(extensionManager, designerView, designItem) {
|
|
6
|
-
if (designItem.nodeType == NodeType.Element)
|
|
7
|
-
return true;
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
getExtension(extensionManager, designerView, designItem) {
|
|
11
|
-
return new CanvasExtension(extensionManager, designerView, designItem);
|
|
12
|
-
}
|
|
13
|
-
style = css `
|
|
14
|
-
.svg-margin { fill: #ff944766; }
|
|
15
|
-
`;
|
|
16
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { AbstractExtension } from './AbstractExtension.js';
|
|
2
|
-
import { OverlayLayer } from './OverlayLayer.js';
|
|
3
|
-
export class MarginExtension extends AbstractExtension {
|
|
4
|
-
constructor(extensionManager, designerView, extendedItem) {
|
|
5
|
-
super(extensionManager, designerView, extendedItem);
|
|
6
|
-
}
|
|
7
|
-
extend() {
|
|
8
|
-
this.refresh();
|
|
9
|
-
}
|
|
10
|
-
refresh() {
|
|
11
|
-
const itemRect = this.designerCanvas.getNormalizedElementCoordinates(this.extendedItem.element);
|
|
12
|
-
const computedStyle = getComputedStyle(this.extendedItem.element);
|
|
13
|
-
if (computedStyle.margin !== '0px') {
|
|
14
|
-
const left = Number.parseFloat(computedStyle.marginLeft.replace('px', ''));
|
|
15
|
-
const top = Number.parseFloat(computedStyle.marginTop.replace('px', ''));
|
|
16
|
-
const right = Number.parseFloat(computedStyle.marginRight.replace('px', ''));
|
|
17
|
-
const bottom = Number.parseFloat(computedStyle.marginBottom.replace('px', ''));
|
|
18
|
-
if (!isNaN(left) && !isNaN(top) && !isNaN(right) && !isNaN(bottom)) {
|
|
19
|
-
if (this._valuesHaveChanges(left, top, right, bottom, itemRect.x, itemRect.y, itemRect.width, itemRect.height)) {
|
|
20
|
-
this._removeAllOverlays();
|
|
21
|
-
this._drawRect(itemRect.x - left, itemRect.y - top, left + itemRect.width + right, top, 'svg-margin', null, OverlayLayer.Background);
|
|
22
|
-
this._drawRect(itemRect.x - left, itemRect.y, left, itemRect.height, 'svg-margin', null, OverlayLayer.Background);
|
|
23
|
-
this._drawRect(itemRect.x + itemRect.width, itemRect.y, right, itemRect.height, 'svg-margin', null, OverlayLayer.Background);
|
|
24
|
-
this._drawRect(itemRect.x - left, itemRect.y + itemRect.height, left + itemRect.width + right, bottom, 'svg-margin', null, OverlayLayer.Background);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
dispose() {
|
|
30
|
-
this._removeAllOverlays();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { MarginExtension } from './MarginExtension.js';
|
|
2
|
-
import { css } from "@node-projects/base-custom-webcomponent";
|
|
3
|
-
import { NodeType } from '../../../item/NodeType.js';
|
|
4
|
-
export class MarginExtensionProvider {
|
|
5
|
-
shouldExtend(extensionManager, designerView, designItem) {
|
|
6
|
-
if (designItem.nodeType == NodeType.Element)
|
|
7
|
-
return true;
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
getExtension(extensionManager, designerView, designItem) {
|
|
11
|
-
return new MarginExtension(extensionManager, designerView, designItem);
|
|
12
|
-
}
|
|
13
|
-
style = css `
|
|
14
|
-
.svg-margin { fill: #ff944766; }
|
|
15
|
-
`;
|
|
16
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { ContextMenu } from "../../../../helper/contextMenu/ContextMenu.js";
|
|
2
|
-
export class AbstractDesignViewConfigButton {
|
|
3
|
-
settingName;
|
|
4
|
-
content;
|
|
5
|
-
tooltp;
|
|
6
|
-
contextmenu;
|
|
7
|
-
constructor(settingName, content, tooltip, contextmenu) {
|
|
8
|
-
this.settingName = settingName;
|
|
9
|
-
this.content = content;
|
|
10
|
-
this.tooltp = tooltip;
|
|
11
|
-
this.contextmenu = contextmenu;
|
|
12
|
-
}
|
|
13
|
-
provideButtons(designerView, designerCanvas) {
|
|
14
|
-
const btn = document.createElement('div');
|
|
15
|
-
if (typeof this.content == 'string')
|
|
16
|
-
btn.innerHTML = this.content;
|
|
17
|
-
else
|
|
18
|
-
btn.appendChild(this.content);
|
|
19
|
-
btn.title = this.tooltp;
|
|
20
|
-
btn.className = 'toolbar-control';
|
|
21
|
-
designerCanvas.instanceServiceContainer.designContext.extensionOptionsChanged.on(() => {
|
|
22
|
-
if (extensionOptions[this.settingName] !== false)
|
|
23
|
-
btn.classList.add('selected');
|
|
24
|
-
else
|
|
25
|
-
btn.classList.remove('selected');
|
|
26
|
-
});
|
|
27
|
-
const extensionOptions = designerCanvas.instanceServiceContainer.designContext.extensionOptions;
|
|
28
|
-
if (extensionOptions[this.settingName] !== false)
|
|
29
|
-
btn.classList.add('selected');
|
|
30
|
-
btn.onclick = () => {
|
|
31
|
-
const val = extensionOptions[this.settingName];
|
|
32
|
-
extensionOptions[this.settingName] = val === false ? true : false;
|
|
33
|
-
if (extensionOptions[this.settingName] !== false)
|
|
34
|
-
btn.classList.add('selected');
|
|
35
|
-
else
|
|
36
|
-
btn.classList.remove('selected');
|
|
37
|
-
};
|
|
38
|
-
btn.oncontextmenu = (e) => {
|
|
39
|
-
e.preventDefault();
|
|
40
|
-
if (this.contextmenu) {
|
|
41
|
-
ContextMenu.show(this.contextmenu, e);
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
return [btn];
|
|
45
|
-
}
|
|
46
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { gridExtensionShowOverlayOptionName } from "../grid/DisplayGridExtensionProvider.js";
|
|
2
|
-
import { AbstractDesignViewConfigButton } from "./AbstractDesignViewConfigButton.js";
|
|
3
|
-
export class GridExtensionDesignViewConfigButtons extends AbstractDesignViewConfigButton {
|
|
4
|
-
constructor() {
|
|
5
|
-
super(gridExtensionShowOverlayOptionName, "G", "show grid overlay");
|
|
6
|
-
}
|
|
7
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { ContextMenu } from "../../../../helper/contextMenu/ContextMenu.js";
|
|
2
|
-
export class AbstractDesignViewConfigButton {
|
|
3
|
-
settingName;
|
|
4
|
-
content;
|
|
5
|
-
tooltp;
|
|
6
|
-
contextmenu;
|
|
7
|
-
constructor(settingName, content, tooltip, contextmenu) {
|
|
8
|
-
this.settingName = settingName;
|
|
9
|
-
this.content = content;
|
|
10
|
-
this.tooltp = tooltip;
|
|
11
|
-
this.contextmenu = contextmenu;
|
|
12
|
-
}
|
|
13
|
-
provideButtons(designerView, designerCanvas) {
|
|
14
|
-
const btn = document.createElement('div');
|
|
15
|
-
if (typeof this.content == 'string')
|
|
16
|
-
btn.innerHTML = this.content;
|
|
17
|
-
else
|
|
18
|
-
btn.appendChild(this.content);
|
|
19
|
-
btn.title = this.tooltp;
|
|
20
|
-
btn.className = 'toolbar-control';
|
|
21
|
-
designerCanvas.instanceServiceContainer.designContext.extensionOptionsChanged.on(() => {
|
|
22
|
-
if (extensionOptions[this.settingName] !== false)
|
|
23
|
-
btn.classList.add('selected');
|
|
24
|
-
else
|
|
25
|
-
btn.classList.remove('selected');
|
|
26
|
-
});
|
|
27
|
-
const extensionOptions = designerCanvas.instanceServiceContainer.designContext.extensionOptions;
|
|
28
|
-
if (extensionOptions[this.settingName] !== false)
|
|
29
|
-
btn.classList.add('selected');
|
|
30
|
-
btn.onclick = () => {
|
|
31
|
-
const val = extensionOptions[this.settingName];
|
|
32
|
-
extensionOptions[this.settingName] = val === false ? true : false;
|
|
33
|
-
if (extensionOptions[this.settingName] !== false)
|
|
34
|
-
btn.classList.add('selected');
|
|
35
|
-
else
|
|
36
|
-
btn.classList.remove('selected');
|
|
37
|
-
};
|
|
38
|
-
btn.oncontextmenu = (e) => {
|
|
39
|
-
e.preventDefault();
|
|
40
|
-
if (this.contextmenu) {
|
|
41
|
-
ContextMenu.show(this.contextmenu, e);
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
return [btn];
|
|
45
|
-
}
|
|
46
|
-
}
|