@node-projects/web-component-designer 0.0.35 → 0.0.36
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 +7 -0
- package/assets/images/chromeDevtools/LICENSE +27 -0
- package/assets/images/chromeDevtools/flex-direction-column-icon.svg +1 -0
- package/assets/images/chromeDevtools/flex-direction-row-icon.svg +1 -0
- package/assets/images/chromeDevtools/info.txt +2 -0
- package/dist/elements/controls/DesignerTabControl.js +93 -88
- package/dist/elements/controls/ImageButtonListSelector.js +38 -39
- package/dist/elements/controls/ThicknessEditor.js +22 -22
- package/dist/elements/documentContainer.js +20 -13
- package/dist/elements/helper/CssAttributeParser.js +3 -3
- package/dist/elements/helper/CssCombiner.js +1 -1
- package/dist/elements/helper/IndentedTextWriter.js +3 -5
- package/dist/elements/helper/Screenshot.js +4 -0
- package/dist/elements/helper/contextMenu/ContextMenuHelper.js +59 -53
- package/dist/elements/helper/w3color.js +15 -17
- package/dist/elements/item/DesignItem.js +21 -15
- package/dist/elements/services/BaseServiceContainer.js +1 -3
- package/dist/elements/services/GlobalContext.js +8 -6
- package/dist/elements/services/InstanceServiceContainer.js +1 -4
- package/dist/elements/services/ServiceContainer.js +8 -10
- package/dist/elements/services/bindingsService/BaseCustomWebcomponentBindingsService.js +1 -1
- package/dist/elements/services/bindingsService/SpecialTagsBindingService.js +5 -5
- package/dist/elements/services/contentService/ContentService.js +2 -1
- package/dist/elements/services/elementsService/JsonFileElementsService.js +14 -10
- package/dist/elements/services/elementsService/PreDefinedElementsService.js +6 -4
- package/dist/elements/services/htmlParserService/NodeHtmlParserService.js +2 -1
- package/dist/elements/services/htmlWriterService/IHtmlWriterOptions.js +3 -0
- package/dist/elements/services/placementService/DefaultPlacementService.d.ts +3 -4
- package/dist/elements/services/placementService/DefaultPlacementService.js +10 -10
- package/dist/elements/services/placementService/FlexBoxPlacementService.d.ts +3 -4
- package/dist/elements/services/placementService/FlexBoxPlacementService.js +3 -3
- package/dist/elements/services/placementService/GridPlacementService.d.ts +3 -4
- package/dist/elements/services/placementService/GridPlacementService.js +3 -3
- package/dist/elements/services/placementService/IPlacementService.d.ts +3 -4
- package/dist/elements/services/popupService/PopupService.js +3 -1
- package/dist/elements/services/propertiesService/propertyEditors/BasePropertyEditor.js +4 -1
- package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyEditor.js +7 -6
- package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyPopupEditor.js +6 -6
- package/dist/elements/services/propertiesService/propertyEditors/TextPropertyEditor.js +1 -2
- package/dist/elements/services/propertiesService/services/AttributesPropertiesService.js +1 -3
- package/dist/elements/services/propertiesService/services/BaseCustomWebComponentPropertiesService.js +1 -4
- package/dist/elements/services/propertiesService/services/CommonPropertiesService.js +21 -23
- package/dist/elements/services/propertiesService/services/CssPropertiesService.js +186 -185
- package/dist/elements/services/propertiesService/services/ListPropertiesService.js +2 -2
- package/dist/elements/services/propertiesService/services/Lit2PropertiesService.js +1 -4
- package/dist/elements/services/propertiesService/services/LitElementPropertiesService.js +1 -4
- package/dist/elements/services/propertiesService/services/NativeElementsPropertiesService.js +72 -75
- package/dist/elements/services/propertiesService/services/PolymerPropertiesService.js +1 -4
- package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.js +1 -3
- package/dist/elements/services/selectionService/SelectionService.js +3 -4
- package/dist/elements/services/undoService/ChangeGroup.js +6 -2
- package/dist/elements/services/undoService/UndoService.js +3 -5
- package/dist/elements/services/undoService/transactionItems/AttributeChangeAction.js +5 -0
- package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.js +5 -0
- package/dist/elements/services/undoService/transactionItems/DeleteAction.js +5 -0
- package/dist/elements/services/undoService/transactionItems/InsertAction.js +4 -0
- package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction.js +7 -0
- package/dist/elements/services/undoService/transactionItems/PropertyChangeAction.js +5 -0
- package/dist/elements/widgets/bindableObjectsBrowser/bindable-objects-browser.js +27 -24
- package/dist/elements/widgets/bindings/BindingsEditor.js +6 -6
- package/dist/elements/widgets/codeView/code-view-ace.js +12 -7
- package/dist/elements/widgets/codeView/code-view-code-mirror.js +18 -13
- package/dist/elements/widgets/codeView/code-view-monaco.js +16 -11
- package/dist/elements/widgets/demoView/demoView.js +24 -22
- package/dist/elements/widgets/designerView/DesignContext.js +1 -3
- package/dist/elements/widgets/designerView/IDesignerCanvas.d.ts +1 -2
- package/dist/elements/widgets/designerView/Snaplines.js +8 -5
- package/dist/elements/widgets/designerView/designerCanvas.d.ts +3 -2
- package/dist/elements/widgets/designerView/designerCanvas.js +110 -92
- package/dist/elements/widgets/designerView/designerView.js +89 -87
- package/dist/elements/widgets/designerView/extensions/AbstractExtension.js +5 -1
- package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtension.js +2 -0
- package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider.js +4 -6
- package/dist/elements/widgets/designerView/extensions/CanvasExtension copy.d.ts +10 -0
- package/dist/elements/widgets/designerView/extensions/CanvasExtension copy.js +29 -0
- package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider copy.d.ts +10 -0
- package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider copy.js +15 -0
- package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider.js +3 -5
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension.js +11 -8
- package/dist/elements/widgets/designerView/extensions/ExtensionManager.js +1 -0
- package/dist/elements/widgets/designerView/extensions/GrayOutExtension.js +1 -0
- package/dist/elements/widgets/designerView/extensions/GrayOutExtensionProvider.js +3 -5
- package/dist/elements/widgets/designerView/extensions/GridExtensionProvider.js +5 -7
- package/dist/elements/widgets/designerView/extensions/InvisibleDivExtension.js +1 -0
- package/dist/elements/widgets/designerView/extensions/InvisibleDivExtensionProvider.js +3 -5
- package/dist/elements/widgets/designerView/extensions/MouseOverExtension.js +1 -0
- package/dist/elements/widgets/designerView/extensions/MouseOverExtensionProvider.js +3 -5
- package/dist/elements/widgets/designerView/extensions/PathExtension.js +4 -0
- package/dist/elements/widgets/designerView/extensions/PermamentCursorExtension.d.ts +10 -0
- package/dist/elements/widgets/designerView/extensions/PermamentCursorExtension.js +29 -0
- package/dist/elements/widgets/designerView/extensions/PermamentCursorExtensionProvider copy.d.ts +10 -0
- package/dist/elements/widgets/designerView/extensions/PermamentCursorExtensionProvider copy.js +15 -0
- package/dist/elements/widgets/designerView/extensions/PermamentCursorExtensionProvider.d.ts +10 -0
- package/dist/elements/widgets/designerView/extensions/PermamentCursorExtensionProvider.js +15 -0
- package/dist/elements/widgets/designerView/extensions/PositionExtension.js +4 -0
- package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtension.js +2 -0
- package/dist/elements/widgets/designerView/extensions/ResizeExtension.js +14 -4
- package/dist/elements/widgets/designerView/extensions/ResizeExtensionProvider.js +1 -0
- package/dist/elements/widgets/designerView/extensions/RotateExtensionProvider.js +3 -5
- package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtension.js +1 -0
- package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.js +3 -5
- package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.js +3 -0
- package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js +3 -5
- package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js +1 -3
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractDesignerPointerExtension.d.ts +22 -0
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractDesignerPointerExtension.js +82 -0
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractExtension.d.ts +22 -0
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractExtension.js +78 -0
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectangleExtension.d.ts +7 -0
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectangleExtension.js +20 -0
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectanglePointerExtension copy.d.ts +7 -0
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectanglePointerExtension copy.js +20 -0
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectanglePointerExtension.d.ts +7 -0
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectanglePointerExtension.js +20 -0
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerExtension.d.ts +5 -0
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerExtension.js +1 -0
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerExtensionProvider.d.ts +9 -0
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerExtensionProvider.js +1 -0
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtension.d.ts +5 -0
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtension.js +1 -0
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtensionProvider.d.ts +9 -0
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtensionProvider.js +1 -0
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/RulerExtension.d.ts +7 -0
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/RulerExtension.js +20 -0
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/RulerPointerExtension.d.ts +7 -0
- package/dist/elements/widgets/designerView/extensions/pointerExtensions/RulerPointerExtension.js +20 -0
- package/dist/elements/widgets/designerView/overlay/EditTextOverlay.js +3 -3
- package/dist/elements/widgets/designerView/overlayLayerView.js +28 -23
- package/dist/elements/widgets/designerView/tools/DrawElementTool.js +5 -1
- package/dist/elements/widgets/designerView/tools/DrawPathTool.d.ts +0 -1
- package/dist/elements/widgets/designerView/tools/DrawPathTool.js +4 -3
- package/dist/elements/widgets/designerView/tools/MagicWandSelectorTool.d.ts +0 -1
- package/dist/elements/widgets/designerView/tools/MagicWandSelectorTool.js +4 -5
- package/dist/elements/widgets/designerView/tools/PanTool.js +1 -3
- package/dist/elements/widgets/designerView/tools/PickColorTool.js +1 -3
- package/dist/elements/widgets/designerView/tools/PointerTool.d.ts +2 -1
- package/dist/elements/widgets/designerView/tools/PointerTool.js +75 -63
- package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.js +11 -10
- package/dist/elements/widgets/designerView/tools/TextTool.js +1 -1
- package/dist/elements/widgets/designerView/tools/ZoomTool.js +1 -3
- package/dist/elements/widgets/miniatureView/html-2-canvas-miniature-view.js +5 -4
- package/dist/elements/widgets/paletteView/paletteElements.js +45 -45
- package/dist/elements/widgets/paletteView/paletteTreeView.js +53 -51
- package/dist/elements/widgets/paletteView/paletteView.js +9 -8
- package/dist/elements/widgets/propertyGrid/PropertyGrid.js +24 -19
- package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.js +12 -8
- package/dist/elements/widgets/treeView/treeView.js +102 -96
- package/dist/elements/widgets/treeView/treeViewExtended.js +72 -70
- package/dist/index.d.ts +0 -1
- package/package.json +1 -1
- package/tsconfig.json +1 -1
- package/assets/images/chromeDevtools/accelerometer-back.svg +0 -69
- package/assets/images/chromeDevtools/accelerometer-front.svg +0 -28
- package/assets/images/chromeDevtools/accessibility-icon.svg +0 -3
- package/assets/images/chromeDevtools/add-icon.svg +0 -3
- package/assets/images/chromeDevtools/checkboxCheckmark.svg +0 -60
- package/assets/images/chromeDevtools/chevrons.svg +0 -62
- package/assets/images/chromeDevtools/chromeSelect.svg +0 -1
- package/assets/images/chromeDevtools/chromeSelectDark.svg +0 -1
- package/assets/images/chromeDevtools/close-icon.svg +0 -5
- package/assets/images/chromeDevtools/copy_icon.svg +0 -79
- package/assets/images/chromeDevtools/dropdown_7x6_icon.svg +0 -1
- package/assets/images/chromeDevtools/elements_panel_icon.svg +0 -1
- package/assets/images/chromeDevtools/errorWave.svg +0 -74
- package/assets/images/chromeDevtools/error_icon.svg +0 -125
- package/assets/images/chromeDevtools/feedback_button_icon.svg +0 -3
- package/assets/images/chromeDevtools/help_outline.svg +0 -1
- package/assets/images/chromeDevtools/ic_checkmark_16x16.svg +0 -3
- package/assets/images/chromeDevtools/ic_command_go_to_line.svg +0 -4
- package/assets/images/chromeDevtools/ic_command_go_to_symbol.svg +0 -3
- package/assets/images/chromeDevtools/ic_command_help.svg +0 -3
- package/assets/images/chromeDevtools/ic_command_open_file.svg +0 -3
- package/assets/images/chromeDevtools/ic_command_run_command.svg +0 -3
- package/assets/images/chromeDevtools/ic_command_run_snippet.svg +0 -3
- package/assets/images/chromeDevtools/ic_delete_filter.svg +0 -1
- package/assets/images/chromeDevtools/ic_delete_list.svg +0 -1
- package/assets/images/chromeDevtools/ic_dimension_single.svg +0 -4
- package/assets/images/chromeDevtools/ic_file_default.svg +0 -3
- package/assets/images/chromeDevtools/ic_file_document.svg +0 -3
- package/assets/images/chromeDevtools/ic_file_font.svg +0 -3
- package/assets/images/chromeDevtools/ic_file_image.svg +0 -3
- package/assets/images/chromeDevtools/ic_file_script.svg +0 -3
- package/assets/images/chromeDevtools/ic_file_snippet.svg +0 -3
- package/assets/images/chromeDevtools/ic_file_stylesheet.svg +0 -3
- package/assets/images/chromeDevtools/ic_file_webbundle.svg +0 -5
- package/assets/images/chromeDevtools/ic_file_webbundle_inner_request.svg +0 -9
- package/assets/images/chromeDevtools/ic_folder_default.svg +0 -3
- package/assets/images/chromeDevtools/ic_folder_local.svg +0 -3
- package/assets/images/chromeDevtools/ic_folder_network.svg +0 -3
- package/assets/images/chromeDevtools/ic_info_black_18dp.svg +0 -1
- package/assets/images/chromeDevtools/ic_memory_16x16.svg +0 -6
- package/assets/images/chromeDevtools/ic_page_next_16x16_icon.svg +0 -1
- package/assets/images/chromeDevtools/ic_page_prev_16x16_icon.svg +0 -1
- package/assets/images/chromeDevtools/ic_preview_feature.svg +0 -3
- package/assets/images/chromeDevtools/ic_redo_16x16_icon.svg +0 -1
- package/assets/images/chromeDevtools/ic_request_response.svg +0 -5
- package/assets/images/chromeDevtools/ic_response.svg +0 -4
- package/assets/images/chromeDevtools/ic_show_node_16x16.svg +0 -4
- package/assets/images/chromeDevtools/ic_suggest_color.svg +0 -6
- package/assets/images/chromeDevtools/ic_undo_16x16_icon.svg +0 -1
- package/assets/images/chromeDevtools/ic_warning_black_18dp.svg +0 -1
- package/assets/images/chromeDevtools/issue-cross-icon.svg +0 -70
- package/assets/images/chromeDevtools/issue-exclamation-icon.svg +0 -64
- package/assets/images/chromeDevtools/issue-questionmark-icon.svg +0 -82
- package/assets/images/chromeDevtools/issue-text-icon.svg +0 -56
- package/assets/images/chromeDevtools/largeIcons.svg +0 -1629
- package/assets/images/chromeDevtools/lighthouse_logo.svg +0 -158
- package/assets/images/chromeDevtools/link_icon.svg +0 -1
- package/assets/images/chromeDevtools/mediumIcons.svg +0 -1101
- package/assets/images/chromeDevtools/network_conditions_icon.svg +0 -6
- package/assets/images/chromeDevtools/network_panel_icon.svg +0 -1
- package/assets/images/chromeDevtools/node_search_icon.svg +0 -1
- package/assets/images/chromeDevtools/preview_feature_video_thumbnail.svg +0 -92
- package/assets/images/chromeDevtools/refresh_12x12_icon.svg +0 -1
- package/assets/images/chromeDevtools/resizeDiagonal.svg +0 -1
- package/assets/images/chromeDevtools/resizeHorizontal.svg +0 -1
- package/assets/images/chromeDevtools/resizeVertical.svg +0 -1
- package/assets/images/chromeDevtools/securityIcons.svg +0 -278
- package/assets/images/chromeDevtools/settings_14x14_icon.svg +0 -1
- package/assets/images/chromeDevtools/smallIcons.svg +0 -1277
- package/assets/images/chromeDevtools/sources_panel_icon.svg +0 -1
- package/assets/images/chromeDevtools/survey_feedback_icon.svg +0 -1
- package/assets/images/chromeDevtools/switcherIcon.svg +0 -57
- package/assets/images/chromeDevtools/three_dots_menu_icon.svg +0 -1
- package/assets/images/chromeDevtools/trash_bin_icon.svg +0 -1
- package/assets/images/chromeDevtools/treeoutlineTriangles.svg +0 -70
- package/assets/images/chromeDevtools/warning_icon.svg +0 -83
|
@@ -7,16 +7,10 @@ const hideAtDesignTimeAttributeName = 'node-projects-hide-at-design-time';
|
|
|
7
7
|
const hideAtRunTimeAttributeName = 'node-projects-hide-at-run-time';
|
|
8
8
|
const lockAtDesignTimeAttributeName = 'node-projects-lock-at-design-time';
|
|
9
9
|
export class DesignItem {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
this.serviceContainer = serviceContainer;
|
|
15
|
-
this.instanceServiceContainer = instanceServiceContainer;
|
|
16
|
-
this.attributes = new Map();
|
|
17
|
-
this.styles = new Map();
|
|
18
|
-
DesignItem._designItemMap.set(node, this);
|
|
19
|
-
}
|
|
10
|
+
node;
|
|
11
|
+
serviceContainer;
|
|
12
|
+
instanceServiceContainer;
|
|
13
|
+
appliedDesignerExtensions = new Map();
|
|
20
14
|
replaceNode(newNode) {
|
|
21
15
|
DesignItem._designItemMap.delete(this.node);
|
|
22
16
|
DesignItem._designItemMap.set(newNode, this);
|
|
@@ -32,9 +26,12 @@ export class DesignItem {
|
|
|
32
26
|
get hasAttributes() {
|
|
33
27
|
return this.attributes.size > 0;
|
|
34
28
|
}
|
|
29
|
+
attributes;
|
|
35
30
|
get hasStyles() {
|
|
36
31
|
return this.styles.size > 0;
|
|
37
32
|
}
|
|
33
|
+
styles;
|
|
34
|
+
static _designItemMap = new WeakMap();
|
|
38
35
|
get element() {
|
|
39
36
|
return this.node;
|
|
40
37
|
}
|
|
@@ -47,6 +44,7 @@ export class DesignItem {
|
|
|
47
44
|
set id(value) {
|
|
48
45
|
this.element.id = value;
|
|
49
46
|
}
|
|
47
|
+
_childArray = [];
|
|
50
48
|
get hasChildren() {
|
|
51
49
|
return this._childArray.length > 0;
|
|
52
50
|
}
|
|
@@ -103,11 +101,11 @@ export class DesignItem {
|
|
|
103
101
|
set content(value) {
|
|
104
102
|
this.node.textContent = value;
|
|
105
103
|
}
|
|
104
|
+
_hideAtDesignTime;
|
|
106
105
|
get hideAtDesignTime() {
|
|
107
106
|
return this._hideAtDesignTime;
|
|
108
107
|
}
|
|
109
108
|
set hideAtDesignTime(value) {
|
|
110
|
-
var _a;
|
|
111
109
|
this._hideAtDesignTime = value;
|
|
112
110
|
if (value)
|
|
113
111
|
this.attributes.set(hideAtDesignTimeAttributeName, "");
|
|
@@ -115,16 +113,16 @@ export class DesignItem {
|
|
|
115
113
|
this.attributes.delete(hideAtDesignTimeAttributeName);
|
|
116
114
|
if (this.element instanceof HTMLElement || this.element instanceof SVGElement) {
|
|
117
115
|
if (!value)
|
|
118
|
-
this.element.style.display =
|
|
116
|
+
this.element.style.display = this.styles.get('display') ?? "";
|
|
119
117
|
else
|
|
120
118
|
this.element.style.display = 'none';
|
|
121
119
|
}
|
|
122
120
|
}
|
|
121
|
+
_hideAtRunTime;
|
|
123
122
|
get hideAtRunTime() {
|
|
124
123
|
return this._hideAtRunTime;
|
|
125
124
|
}
|
|
126
125
|
set hideAtRunTime(value) {
|
|
127
|
-
var _a;
|
|
128
126
|
this._hideAtRunTime = value;
|
|
129
127
|
if (value)
|
|
130
128
|
this.attributes.set(hideAtRunTimeAttributeName, "");
|
|
@@ -132,11 +130,12 @@ export class DesignItem {
|
|
|
132
130
|
this.attributes.delete(hideAtRunTimeAttributeName);
|
|
133
131
|
if (this.element instanceof HTMLElement || this.element instanceof SVGElement) {
|
|
134
132
|
if (!value)
|
|
135
|
-
this.element.style.opacity =
|
|
133
|
+
this.element.style.opacity = this.styles.get('opacity') ?? "";
|
|
136
134
|
else
|
|
137
135
|
this.element.style.opacity = '0.3';
|
|
138
136
|
}
|
|
139
137
|
}
|
|
138
|
+
_lockAtDesignTime;
|
|
140
139
|
get lockAtDesignTime() {
|
|
141
140
|
return this._lockAtDesignTime;
|
|
142
141
|
}
|
|
@@ -198,6 +197,14 @@ export class DesignItem {
|
|
|
198
197
|
}
|
|
199
198
|
}
|
|
200
199
|
}
|
|
200
|
+
constructor(node, serviceContainer, instanceServiceContainer) {
|
|
201
|
+
this.node = node;
|
|
202
|
+
this.serviceContainer = serviceContainer;
|
|
203
|
+
this.instanceServiceContainer = instanceServiceContainer;
|
|
204
|
+
this.attributes = new Map();
|
|
205
|
+
this.styles = new Map();
|
|
206
|
+
DesignItem._designItemMap.set(node, this);
|
|
207
|
+
}
|
|
201
208
|
openGroup(title, affectedItems) {
|
|
202
209
|
return this.instanceServiceContainer.undoService.openGroup(title, affectedItems);
|
|
203
210
|
}
|
|
@@ -236,4 +243,3 @@ export class DesignItem {
|
|
|
236
243
|
this.instanceServiceContainer.undoService.execute(action);
|
|
237
244
|
}
|
|
238
245
|
}
|
|
239
|
-
DesignItem._designItemMap = new WeakMap();
|
|
@@ -2,13 +2,11 @@
|
|
|
2
2
|
//Service container should not be something with changeing information, so global context is for tool and color (and maybe more)
|
|
3
3
|
import { PropertyChangedArgs, TypedEvent } from "@node-projects/base-custom-webcomponent";
|
|
4
4
|
export class GlobalContext {
|
|
5
|
+
_serviceContainer;
|
|
6
|
+
_tool;
|
|
7
|
+
_strokeColor = 'black';
|
|
8
|
+
_fillBrush = 'transparent';
|
|
5
9
|
constructor(serviceContainer) {
|
|
6
|
-
this._strokeColor = 'black';
|
|
7
|
-
this._fillBrush = 'transparent';
|
|
8
|
-
this.onToolChanged = new TypedEvent();
|
|
9
|
-
this.finishedWithTool = () => this.tool = null;
|
|
10
|
-
this.onStrokeColorChanged = new TypedEvent();
|
|
11
|
-
this.onFillBrushChanged = new TypedEvent();
|
|
12
10
|
this._serviceContainer = serviceContainer;
|
|
13
11
|
}
|
|
14
12
|
set tool(tool) {
|
|
@@ -25,6 +23,8 @@ export class GlobalContext {
|
|
|
25
23
|
get tool() {
|
|
26
24
|
return this._tool;
|
|
27
25
|
}
|
|
26
|
+
onToolChanged = new TypedEvent();
|
|
27
|
+
finishedWithTool = () => this.tool = null;
|
|
28
28
|
set strokeColor(strokeColor) {
|
|
29
29
|
if (this._strokeColor !== strokeColor) {
|
|
30
30
|
const oldStrokeColor = this._strokeColor;
|
|
@@ -35,6 +35,7 @@ export class GlobalContext {
|
|
|
35
35
|
get strokeColor() {
|
|
36
36
|
return this._strokeColor;
|
|
37
37
|
}
|
|
38
|
+
onStrokeColorChanged = new TypedEvent();
|
|
38
39
|
set fillBrush(fillBrush) {
|
|
39
40
|
this._fillBrush = fillBrush;
|
|
40
41
|
if (this._fillBrush !== fillBrush) {
|
|
@@ -46,4 +47,5 @@ export class GlobalContext {
|
|
|
46
47
|
get fillBrush() {
|
|
47
48
|
return this._fillBrush;
|
|
48
49
|
}
|
|
50
|
+
onFillBrushChanged = new TypedEvent();
|
|
49
51
|
}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import { BaseServiceContainer } from './BaseServiceContainer';
|
|
2
2
|
import { DesignContext } from '../widgets/designerView/DesignContext';
|
|
3
3
|
export class InstanceServiceContainer extends BaseServiceContainer {
|
|
4
|
-
|
|
5
|
-
super(...arguments);
|
|
6
|
-
this.designContext = new DesignContext();
|
|
7
|
-
}
|
|
4
|
+
designContext = new DesignContext();
|
|
8
5
|
get undoService() {
|
|
9
6
|
return this.getLastService('undoService');
|
|
10
7
|
}
|
|
@@ -3,16 +3,14 @@ import { CodeViewMonaco } from "../widgets/codeView/code-view-monaco";
|
|
|
3
3
|
import { DemoView } from '../widgets/demoView/demoView';
|
|
4
4
|
import { GlobalContext } from './GlobalContext';
|
|
5
5
|
export class ServiceContainer extends BaseServiceContainer {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
this.designerTools = new Map();
|
|
15
|
-
}
|
|
6
|
+
config = {
|
|
7
|
+
codeViewWidget: CodeViewMonaco,
|
|
8
|
+
demoViewWidget: DemoView
|
|
9
|
+
};
|
|
10
|
+
designerExtensions = new Map();
|
|
11
|
+
designerContextMenuExtensions;
|
|
12
|
+
globalContext = new GlobalContext(this);
|
|
13
|
+
designerTools = new Map();
|
|
16
14
|
get bindingService() {
|
|
17
15
|
return this.getLastService('bindingService');
|
|
18
16
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BindingMode } from '../../item/BindingMode';
|
|
2
2
|
import { BindingTarget } from "../../item/BindingTarget.js";
|
|
3
3
|
export class BaseCustomWebcomponentBindingsService {
|
|
4
|
+
static type = 'base-custom-webcomponent-binding';
|
|
4
5
|
getBindings(designItem) {
|
|
5
6
|
let bindings = null;
|
|
6
7
|
for (let a of designItem.attributes) {
|
|
@@ -66,4 +67,3 @@ export class BaseCustomWebcomponentBindingsService {
|
|
|
66
67
|
return true;
|
|
67
68
|
}
|
|
68
69
|
}
|
|
69
|
-
BaseCustomWebcomponentBindingsService.type = 'base-custom-webcomponent-binding';
|
|
@@ -2,11 +2,12 @@ import { BindingTarget } from "../../item/BindingTarget.js";
|
|
|
2
2
|
import { BindingMode } from "../../item/BindingMode.js";
|
|
3
3
|
/* Service wich read binings from special HTMl elements -> like tag-binding */
|
|
4
4
|
export class SpecialTagsBindingService {
|
|
5
|
+
static type = 'visu-tagbinding-binding';
|
|
6
|
+
_bindingTagName = "visu-tagbinding";
|
|
7
|
+
_elementIdAttribute = "elemnt-id";
|
|
8
|
+
_propertyNameAttribute = "property";
|
|
9
|
+
_isStyleNameAttribute = "is-style";
|
|
5
10
|
constructor() {
|
|
6
|
-
this._bindingTagName = "visu-tagbinding";
|
|
7
|
-
this._elementIdAttribute = "elemnt-id";
|
|
8
|
-
this._propertyNameAttribute = "property";
|
|
9
|
-
this._isStyleNameAttribute = "is-style";
|
|
10
11
|
}
|
|
11
12
|
getBindings(designItem) {
|
|
12
13
|
const bindings = [];
|
|
@@ -37,4 +38,3 @@ export class SpecialTagsBindingService {
|
|
|
37
38
|
return true;
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
|
-
SpecialTagsBindingService.type = 'visu-tagbinding-binding';
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { TypedEvent } from '@node-projects/base-custom-webcomponent';
|
|
2
2
|
export class ContentService {
|
|
3
3
|
constructor(rootElement) {
|
|
4
|
-
this.onContentChanged = new TypedEvent();
|
|
5
4
|
this.rootDesignItem = rootElement;
|
|
6
5
|
}
|
|
6
|
+
rootDesignItem;
|
|
7
|
+
onContentChanged = new TypedEvent();
|
|
7
8
|
}
|
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
import { LazyLoader } from '@node-projects/base-custom-webcomponent';
|
|
2
2
|
// Reads a Json File and provides the Elements listed there
|
|
3
3
|
export class JsonFileElementsService {
|
|
4
|
+
_name;
|
|
5
|
+
get name() { return this._name; }
|
|
6
|
+
_elementList;
|
|
7
|
+
_resolveStored;
|
|
8
|
+
_rejectStored;
|
|
9
|
+
getElements() {
|
|
10
|
+
if (this._elementList)
|
|
11
|
+
return Promise.resolve(this._elementList);
|
|
12
|
+
if (!this._resolveStored) {
|
|
13
|
+
this._resolveStored = [];
|
|
14
|
+
this._rejectStored = [];
|
|
15
|
+
}
|
|
16
|
+
return new Promise((resolve, reject) => { this._resolveStored.push(resolve); this._rejectStored.push(reject); });
|
|
17
|
+
}
|
|
4
18
|
constructor(name, file) {
|
|
5
19
|
this._name = name;
|
|
6
20
|
LazyLoader.LoadText(file).then(data => {
|
|
@@ -25,16 +39,6 @@ export class JsonFileElementsService {
|
|
|
25
39
|
}
|
|
26
40
|
});
|
|
27
41
|
}
|
|
28
|
-
get name() { return this._name; }
|
|
29
|
-
getElements() {
|
|
30
|
-
if (this._elementList)
|
|
31
|
-
return Promise.resolve(this._elementList);
|
|
32
|
-
if (!this._resolveStored) {
|
|
33
|
-
this._resolveStored = [];
|
|
34
|
-
this._rejectStored = [];
|
|
35
|
-
}
|
|
36
|
-
return new Promise((resolve, reject) => { this._resolveStored.push(resolve); this._rejectStored.push(reject); });
|
|
37
|
-
}
|
|
38
42
|
isIElementDefintion(object) {
|
|
39
43
|
return object != null && object.tag != null;
|
|
40
44
|
}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
export class PreDefinedElementsService {
|
|
2
|
+
_name;
|
|
3
|
+
get name() { return this._name; }
|
|
4
|
+
_elementList;
|
|
5
|
+
getElements() {
|
|
6
|
+
return Promise.resolve(this._elementList);
|
|
7
|
+
}
|
|
2
8
|
constructor(name, data) {
|
|
3
9
|
this._name = name;
|
|
4
10
|
this._elementList = [];
|
|
@@ -9,10 +15,6 @@ export class PreDefinedElementsService {
|
|
|
9
15
|
this._elementList.push({ tag: element });
|
|
10
16
|
});
|
|
11
17
|
}
|
|
12
|
-
get name() { return this._name; }
|
|
13
|
-
getElements() {
|
|
14
|
-
return Promise.resolve(this._elementList);
|
|
15
|
-
}
|
|
16
18
|
isIElementDefintion(object) {
|
|
17
19
|
return object != null && object.tag != null;
|
|
18
20
|
}
|
|
@@ -4,8 +4,8 @@ import { newElementFromString } from "../../helper/ElementHelper";
|
|
|
4
4
|
// Alternative Parser, cause when you use the Browser, it instanciates the CusomElements, and some Elemnts remove
|
|
5
5
|
// attributes from their DOM, so you loose Data
|
|
6
6
|
export class NodeHtmlParserService {
|
|
7
|
+
_parserUrl;
|
|
7
8
|
constructor(parserUrl = '../../../../../node-html-parser-esm/dist/index.js') {
|
|
8
|
-
this._parseDiv = document.createElement("div");
|
|
9
9
|
this._parserUrl = parserUrl;
|
|
10
10
|
}
|
|
11
11
|
async parse(html, serviceContainer, instanceServiceContainer) {
|
|
@@ -22,6 +22,7 @@ export class NodeHtmlParserService {
|
|
|
22
22
|
}
|
|
23
23
|
return designItems;
|
|
24
24
|
}
|
|
25
|
+
_parseDiv = document.createElement("div");
|
|
25
26
|
_createDesignItemsRecursive(item, serviceContainer, instanceServiceContainer, namespace) {
|
|
26
27
|
let designItem = null;
|
|
27
28
|
if (item.nodeType == 1) {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { IPoint } from '../../../interfaces/IPoint.js';
|
|
2
2
|
import type { IPlacementService } from './IPlacementService.js';
|
|
3
3
|
import type { IDesignItem } from '../../item/IDesignItem.js';
|
|
4
|
-
import { IDesignerMousePoint } from '../../../interfaces/IDesignerMousePoint.js';
|
|
5
4
|
import { IPlacementView } from '../../widgets/designerView/IPlacementView.js';
|
|
6
5
|
export declare class DefaultPlacementService implements IPlacementService {
|
|
7
6
|
serviceForContainer(container: IDesignItem): boolean;
|
|
@@ -9,9 +8,9 @@ export declare class DefaultPlacementService implements IPlacementService {
|
|
|
9
8
|
canLeave(container: IDesignItem, items: IDesignItem[]): boolean;
|
|
10
9
|
getElementOffset(container: IDesignItem, designItem?: IDesignItem): IPoint;
|
|
11
10
|
private calculateTrack;
|
|
12
|
-
placePoint(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint:
|
|
13
|
-
place(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint:
|
|
11
|
+
placePoint(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): IPoint;
|
|
12
|
+
place(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): void;
|
|
14
13
|
enterContainer(container: IDesignItem, items: IDesignItem[]): void;
|
|
15
14
|
leaveContainer(container: IDesignItem, items: IDesignItem[]): void;
|
|
16
|
-
finishPlace(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint:
|
|
15
|
+
finishPlace(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): void;
|
|
17
16
|
}
|
|
@@ -19,7 +19,7 @@ export class DefaultPlacementService {
|
|
|
19
19
|
getElementOffset(container, designItem) {
|
|
20
20
|
return container.element.getBoundingClientRect();
|
|
21
21
|
}
|
|
22
|
-
calculateTrack(event, placementView, startPoint, newPoint, item) {
|
|
22
|
+
calculateTrack(event, placementView, startPoint, offsetInControl, newPoint, item) {
|
|
23
23
|
let trackX = newPoint.x - startPoint.x;
|
|
24
24
|
let trackY = newPoint.y - startPoint.y;
|
|
25
25
|
if (!event.ctrlKey) {
|
|
@@ -29,15 +29,15 @@ export class DefaultPlacementService {
|
|
|
29
29
|
}
|
|
30
30
|
else if (placementView.alignOnSnap) {
|
|
31
31
|
let rect = item.element.getBoundingClientRect();
|
|
32
|
-
let newPos = placementView.snapLines.snapToPosition({ x: newPoint.
|
|
32
|
+
let newPos = placementView.snapLines.snapToPosition({ x: newPoint.x - offsetInControl.x, y: newPoint.y - offsetInControl.y }, { width: rect.width, height: rect.height }, { x: trackX > 0 ? 1 : -1, y: trackY > 0 ? 1 : -1 });
|
|
33
33
|
if (newPos.x !== null) {
|
|
34
|
-
trackX = newPos.x - Math.round(startPoint.
|
|
34
|
+
trackX = newPos.x - Math.round(startPoint.x) + Math.round(offsetInControl.x);
|
|
35
35
|
}
|
|
36
36
|
else {
|
|
37
37
|
trackX = Math.round(trackX);
|
|
38
38
|
}
|
|
39
39
|
if (newPos.y !== null) {
|
|
40
|
-
trackY = newPos.y - Math.round(startPoint.
|
|
40
|
+
trackY = newPos.y - Math.round(startPoint.y) + Math.round(offsetInControl.y);
|
|
41
41
|
}
|
|
42
42
|
else {
|
|
43
43
|
trackY = Math.round(trackY);
|
|
@@ -46,7 +46,7 @@ export class DefaultPlacementService {
|
|
|
46
46
|
}
|
|
47
47
|
return { x: trackX, y: trackY };
|
|
48
48
|
}
|
|
49
|
-
placePoint(event, placementView, container, startPoint, newPoint, items) {
|
|
49
|
+
placePoint(event, placementView, container, startPoint, offsetInControl, newPoint, items) {
|
|
50
50
|
let trackX = newPoint.x;
|
|
51
51
|
let trackY = newPoint.y;
|
|
52
52
|
if (!event.ctrlKey) {
|
|
@@ -55,7 +55,7 @@ export class DefaultPlacementService {
|
|
|
55
55
|
trackY = Math.round(trackY / placementView.gridSize) * placementView.gridSize;
|
|
56
56
|
}
|
|
57
57
|
else if (placementView.alignOnSnap) {
|
|
58
|
-
let newPos = placementView.snapLines.snapToPosition({ x: newPoint.
|
|
58
|
+
let newPos = placementView.snapLines.snapToPosition({ x: newPoint.x - offsetInControl.x, y: newPoint.y - offsetInControl.y }, null, { x: trackX > 0 ? 1 : -1, y: trackY > 0 ? 1 : -1 });
|
|
59
59
|
if (newPos.x !== null) {
|
|
60
60
|
trackX = newPos.x;
|
|
61
61
|
}
|
|
@@ -72,10 +72,10 @@ export class DefaultPlacementService {
|
|
|
72
72
|
}
|
|
73
73
|
return { x: trackX, y: trackY };
|
|
74
74
|
}
|
|
75
|
-
place(event, placementView, container, startPoint, newPoint, items) {
|
|
75
|
+
place(event, placementView, container, startPoint, offsetInControl, newPoint, items) {
|
|
76
76
|
//TODO:, this should revert all undo actions while active
|
|
77
77
|
//maybe a undo actions returns itself or an id so it could be changed?
|
|
78
|
-
let track = this.calculateTrack(event, placementView, startPoint, newPoint, items[0]);
|
|
78
|
+
let track = this.calculateTrack(event, placementView, startPoint, offsetInControl, newPoint, items[0]);
|
|
79
79
|
//TODO: -> what is if a transform already exists -> backup existing style.?
|
|
80
80
|
for (const designItem of items) {
|
|
81
81
|
designItem.element.style.transform = 'translate(' + track.x + 'px, ' + track.y + 'px)';
|
|
@@ -85,8 +85,8 @@ export class DefaultPlacementService {
|
|
|
85
85
|
}
|
|
86
86
|
leaveContainer(container, items) {
|
|
87
87
|
}
|
|
88
|
-
finishPlace(event, placementView, container, startPoint, newPoint, items) {
|
|
89
|
-
let track = this.calculateTrack(event, placementView, startPoint, newPoint, items[0]);
|
|
88
|
+
finishPlace(event, placementView, container, startPoint, offsetInControl, newPoint, items) {
|
|
89
|
+
let track = this.calculateTrack(event, placementView, startPoint, offsetInControl, newPoint, items[0]);
|
|
90
90
|
for (const designItem of items) {
|
|
91
91
|
let movedElement = designItem.element;
|
|
92
92
|
let oldLeft = parseInt(movedElement.style.left);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { IDesignerMousePoint } from '../../../interfaces/IDesignerMousePoint.js';
|
|
2
1
|
import { IPoint } from '../../../interfaces/IPoint.js';
|
|
3
2
|
import { IDesignItem } from '../../item/IDesignItem.js';
|
|
4
3
|
import { IPlacementView } from '../../widgets/designerView/IPlacementView.js';
|
|
@@ -10,7 +9,7 @@ export declare class FlexBoxPlacementService implements IPlacementService {
|
|
|
10
9
|
canEnter(container: IDesignItem, items: IDesignItem[]): boolean;
|
|
11
10
|
canLeave(container: IDesignItem, items: IDesignItem[]): boolean;
|
|
12
11
|
getElementOffset(container: IDesignItem, designItem?: IDesignItem): IPoint;
|
|
13
|
-
placePoint(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint:
|
|
14
|
-
place(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint:
|
|
15
|
-
finishPlace(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint:
|
|
12
|
+
placePoint(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): IPoint;
|
|
13
|
+
place(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): void;
|
|
14
|
+
finishPlace(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): void;
|
|
16
15
|
}
|
|
@@ -18,11 +18,11 @@ export class FlexBoxPlacementService {
|
|
|
18
18
|
//TODO: offset could be bigger, when it was in a other cell???
|
|
19
19
|
return container.element.getBoundingClientRect();
|
|
20
20
|
}
|
|
21
|
-
placePoint(event, placementView, container, startPoint, newPoint, items) {
|
|
21
|
+
placePoint(event, placementView, container, startPoint, offsetInControl, newPoint, items) {
|
|
22
22
|
return null;
|
|
23
23
|
}
|
|
24
|
-
place(event, placementView, container, startPoint, newPoint, items) {
|
|
24
|
+
place(event, placementView, container, startPoint, offsetInControl, newPoint, items) {
|
|
25
25
|
}
|
|
26
|
-
finishPlace(event, placementView, container, startPoint, newPoint, items) {
|
|
26
|
+
finishPlace(event, placementView, container, startPoint, offsetInControl, newPoint, items) {
|
|
27
27
|
}
|
|
28
28
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { IPoint } from '../../../interfaces/IPoint.js';
|
|
2
2
|
import type { IPlacementService } from './IPlacementService.js';
|
|
3
3
|
import type { IDesignItem } from '../../item/IDesignItem.js';
|
|
4
|
-
import { IDesignerMousePoint } from '../../../interfaces/IDesignerMousePoint.js';
|
|
5
4
|
import { IPlacementView } from '../../widgets/designerView/IPlacementView.js';
|
|
6
5
|
export declare class GridPlacementService implements IPlacementService {
|
|
7
6
|
enterContainer(container: IDesignItem, items: IDesignItem[]): void;
|
|
@@ -10,7 +9,7 @@ export declare class GridPlacementService implements IPlacementService {
|
|
|
10
9
|
canEnter(container: IDesignItem, items: IDesignItem[]): boolean;
|
|
11
10
|
canLeave(container: IDesignItem, items: IDesignItem[]): boolean;
|
|
12
11
|
getElementOffset(container: IDesignItem, designItem?: IDesignItem): IPoint;
|
|
13
|
-
placePoint(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint:
|
|
14
|
-
place(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint:
|
|
15
|
-
finishPlace(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint:
|
|
12
|
+
placePoint(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): IPoint;
|
|
13
|
+
place(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): void;
|
|
14
|
+
finishPlace(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): void;
|
|
16
15
|
}
|
|
@@ -18,11 +18,11 @@ export class GridPlacementService {
|
|
|
18
18
|
//TODO: offset could be bigger, when it was in a other cell???
|
|
19
19
|
return container.element.getBoundingClientRect();
|
|
20
20
|
}
|
|
21
|
-
placePoint(event, placementView, container, startPoint, newPoint, items) {
|
|
21
|
+
placePoint(event, placementView, container, startPoint, offsetInControl, newPoint, items) {
|
|
22
22
|
return null;
|
|
23
23
|
}
|
|
24
|
-
place(event, placementView, container, startPoint, newPoint, items) {
|
|
24
|
+
place(event, placementView, container, startPoint, offsetInControl, newPoint, items) {
|
|
25
25
|
}
|
|
26
|
-
finishPlace(event, placementView, container, startPoint, newPoint, items) {
|
|
26
|
+
finishPlace(event, placementView, container, startPoint, offsetInControl, newPoint, items) {
|
|
27
27
|
}
|
|
28
28
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { IService } from "../IService";
|
|
2
2
|
import { IDesignItem } from "../../item/IDesignItem";
|
|
3
3
|
import { IPlacementView } from "../../widgets/designerView/IPlacementView";
|
|
4
|
-
import { IDesignerMousePoint } from "../../../interfaces/IDesignerMousePoint";
|
|
5
4
|
import { IPoint } from "../../../interfaces/IPoint";
|
|
6
5
|
export interface IPlacementService extends IService {
|
|
7
6
|
serviceForContainer(container: IDesignItem): any;
|
|
@@ -10,7 +9,7 @@ export interface IPlacementService extends IService {
|
|
|
10
9
|
enterContainer(container: IDesignItem, items: IDesignItem[]): any;
|
|
11
10
|
leaveContainer(container: IDesignItem, items: IDesignItem[]): any;
|
|
12
11
|
getElementOffset(container: IDesignItem, designItem?: IDesignItem): IPoint;
|
|
13
|
-
placePoint(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint:
|
|
14
|
-
place(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint:
|
|
15
|
-
finishPlace(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint:
|
|
12
|
+
placePoint(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): IPoint;
|
|
13
|
+
place(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): any;
|
|
14
|
+
finishPlace(event: MouseEvent, placementView: IPlacementView, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): any;
|
|
16
15
|
}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { ValueType } from '../ValueType';
|
|
2
2
|
import { PropertyChangeAction } from "../../undoService/transactionItems/PropertyChangeAction";
|
|
3
3
|
export class BasePropertyEditor {
|
|
4
|
+
element;
|
|
5
|
+
property;
|
|
6
|
+
designItems;
|
|
7
|
+
disableChangeNotification = false;
|
|
4
8
|
constructor(property) {
|
|
5
|
-
this.disableChangeNotification = false;
|
|
6
9
|
this.property = property;
|
|
7
10
|
}
|
|
8
11
|
_valueChanged(newValue) {
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { BasePropertyEditor } from './BasePropertyEditor';
|
|
2
2
|
import { html } from '@node-projects/base-custom-webcomponent';
|
|
3
3
|
export class JsonPropertyEditor extends BasePropertyEditor {
|
|
4
|
+
static template = html `
|
|
5
|
+
<div style="display: flex;">
|
|
6
|
+
<input id="input" type="text">
|
|
7
|
+
<button style="width: 30px;">...</button>
|
|
8
|
+
</div>
|
|
9
|
+
`;
|
|
10
|
+
_input;
|
|
4
11
|
constructor(property) {
|
|
5
12
|
super(property);
|
|
6
13
|
let el = JsonPropertyEditor.template.content.cloneNode(true);
|
|
@@ -12,9 +19,3 @@ export class JsonPropertyEditor extends BasePropertyEditor {
|
|
|
12
19
|
this._input.value = value;
|
|
13
20
|
}
|
|
14
21
|
}
|
|
15
|
-
JsonPropertyEditor.template = html `
|
|
16
|
-
<div style="display: flex;">
|
|
17
|
-
<input id="input" type="text">
|
|
18
|
-
<button style="width: 30px;">...</button>
|
|
19
|
-
</div>
|
|
20
|
-
`;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { html, BaseCustomWebComponentConstructorAppend } from '@node-projects/base-custom-webcomponent';
|
|
2
2
|
export class JsonPropertyPopupEditor extends BaseCustomWebComponentConstructorAppend {
|
|
3
|
-
|
|
4
|
-
super();
|
|
5
|
-
//codeview
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
JsonPropertyPopupEditor.template = html `
|
|
3
|
+
static template = html `
|
|
9
4
|
<div style="display: flex;">
|
|
10
5
|
<input id="input" type="text">
|
|
11
6
|
<button style="width: 30px;">...</button>
|
|
12
7
|
</div>
|
|
13
8
|
`;
|
|
9
|
+
constructor() {
|
|
10
|
+
super();
|
|
11
|
+
//codeview
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -6,9 +6,8 @@ export class TextPropertyEditor extends BasePropertyEditor {
|
|
|
6
6
|
element.type = "text";
|
|
7
7
|
element.onchange = (e) => this._valueChanged(element.value);
|
|
8
8
|
element.onfocus = (e) => {
|
|
9
|
-
var _a;
|
|
10
9
|
element.selectionStart = 0;
|
|
11
|
-
element.selectionEnd =
|
|
10
|
+
element.selectionEnd = element.value?.length;
|
|
12
11
|
};
|
|
13
12
|
this.element = element;
|
|
14
13
|
}
|
package/dist/elements/services/propertiesService/services/BaseCustomWebComponentPropertiesService.js
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import { BaseCustomWebComponentLazyAppend, BaseCustomWebComponentConstructorAppend } from '@node-projects/base-custom-webcomponent';
|
|
2
2
|
import { AbstractBasePropertiesService } from './AbstractBasePropertiesService';
|
|
3
3
|
export class BaseCustomWebComponentPropertiesService extends AbstractBasePropertiesService {
|
|
4
|
-
|
|
5
|
-
super(...arguments);
|
|
6
|
-
this.name = "baseCustomWebComponent";
|
|
7
|
-
}
|
|
4
|
+
name = "baseCustomWebComponent";
|
|
8
5
|
isHandledElement(designItem) {
|
|
9
6
|
return designItem.element instanceof BaseCustomWebComponentLazyAppend || designItem.element instanceof BaseCustomWebComponentConstructorAppend;
|
|
10
7
|
}
|