@node-projects/web-component-designer 0.0.28 → 0.0.29
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/debug.log +8 -0
- package/dist/elements/controls/DesignerTabControl.d.ts +5 -1
- package/dist/elements/controls/DesignerTabControl.js +85 -8
- package/dist/elements/helper/CssCombiner.d.ts +1 -2
- package/dist/elements/helper/CssPropertiesList.d.ts +0 -0
- package/dist/elements/helper/CssPropertiesList.js +1 -0
- package/dist/elements/item/Binding.d.ts +14 -0
- package/dist/elements/item/Binding.js +4 -0
- package/dist/elements/item/BindingMode.d.ts +4 -0
- package/dist/elements/item/BindingMode.js +5 -0
- package/dist/elements/item/BindingTarget.d.ts +8 -0
- package/dist/elements/item/BindingTarget.js +9 -0
- package/dist/elements/item/DesignItem.d.ts +4 -7
- package/dist/elements/item/DesignItem.js +0 -15
- package/dist/elements/item/IBinding copy.d.ts +14 -0
- package/dist/elements/item/IBinding copy.js +1 -0
- package/dist/elements/item/IBinding.d.ts +15 -0
- package/dist/elements/item/IBinding.js +1 -0
- package/dist/elements/item/IDesignItem.d.ts +4 -5
- package/dist/elements/services/DefaultServiceBootstrap.js +0 -3
- package/dist/elements/services/bindingsService/BaseCustomWebcomponentBindingsService.d.ts +8 -0
- package/dist/elements/services/bindingsService/BaseCustomWebcomponentBindingsService.js +69 -0
- package/dist/elements/services/bindingsService/BaseCustomeWebcomponentBindingsService copy.d.ts +9 -0
- package/dist/elements/services/bindingsService/BaseCustomeWebcomponentBindingsService copy.js +31 -0
- package/dist/elements/services/bindingsService/BaseCustomeWebcomponentBindingsService.d.ts +1 -1
- package/dist/elements/services/bindingsService/BaseCustomeWebcomponentBindingsService.js +1 -1
- package/dist/elements/services/bindingsService/IBindingService.d.ts +3 -6
- package/dist/elements/services/bindingsService/PolymerBindingsService copy.d.ts +9 -0
- package/dist/elements/services/bindingsService/PolymerBindingsService copy.js +31 -0
- package/dist/elements/services/bindingsService/SpecialTagsBindingService.d.ts +14 -0
- package/dist/elements/services/bindingsService/SpecialTagsBindingService.js +40 -0
- package/dist/elements/services/bindingsService/VueBindingsService.d.ts +0 -0
- package/dist/elements/services/bindingsService/VueBindingsService.js +7 -0
- package/dist/elements/services/htmlParserService/NodeHtmlParserService.d.ts +2 -0
- package/dist/elements/services/htmlParserService/NodeHtmlParserService.js +3 -2
- package/dist/elements/services/htmlParserService/NodeHtmlParserService.ts.BASE.d.ts +9 -0
- package/dist/elements/services/htmlParserService/NodeHtmlParserService.ts.BASE.js +100 -0
- package/dist/elements/services/htmlParserService/NodeHtmlParserService.ts.LOCAL.d.ts +11 -0
- package/dist/elements/services/htmlParserService/NodeHtmlParserService.ts.LOCAL.js +84 -0
- package/dist/elements/services/htmlParserService/NodeHtmlParserService.ts.REMOTE.d.ts +9 -0
- package/dist/elements/services/htmlParserService/NodeHtmlParserService.ts.REMOTE.js +83 -0
- package/dist/elements/services/propertiesService/services/CommonPropertiesService copy.d.ts +16 -0
- package/dist/elements/services/propertiesService/services/CommonPropertiesService copy.js +94 -0
- package/dist/elements/services/propertiesService/services/CommonPropertiesService.d.ts +1 -1
- package/dist/elements/services/propertiesService/services/CssPropertiesService.d.ts +1 -1
- package/dist/elements/services/propertiesService/services/CssPropertiesService.js +9 -1
- package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.d.ts +1 -1
- package/dist/elements/services/undoService/transactionItems/AttributeChangeAction.d.ts +1 -1
- package/dist/elements/widgets/designerView/designerView copy.d.ts +82 -0
- package/dist/elements/widgets/designerView/designerView copy.js +671 -0
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextCkEditorExtension.d.ts +14 -0
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextCkEditorExtension.js +42 -0
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextCkEditorExtensionProvider.d.ts +9 -0
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextCkEditorExtensionProvider.js +9 -0
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextTinyMceExtension.d.ts +27 -0
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextTinyMceExtension.js +61 -0
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextTinyMceExtensionProvider.d.ts +9 -0
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextTinyMceExtensionProvider.js +9 -0
- package/dist/elements/widgets/designerView/extensions/PositionExtension.js +12 -4
- package/dist/index.d.ts +4 -0
- package/dist/index.js +2 -0
- package/package.json +6 -7
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IDesignItem } from "../../../../item/IDesignItem.js";
|
|
2
|
+
import { IDesignerView } from "../../IDesignerView.js";
|
|
3
|
+
import { AbstractExtension } from "../AbstractExtension.js";
|
|
4
|
+
import { IExtensionManager } from "../IExtensionManger.js";
|
|
5
|
+
export declare class EditTextCkEditorExtension extends AbstractExtension {
|
|
6
|
+
private _contentEditedBound;
|
|
7
|
+
private _blurBound;
|
|
8
|
+
constructor(extensionManager: IExtensionManager, designerView: IDesignerView, extendedItem: IDesignItem);
|
|
9
|
+
extend(): void;
|
|
10
|
+
refresh(): void;
|
|
11
|
+
dispose(): void;
|
|
12
|
+
_contentEdited(): void;
|
|
13
|
+
_blur(): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { AbstractExtension } from "../AbstractExtension.js";
|
|
2
|
+
import { ExtensionType } from "../ExtensionType.js";
|
|
3
|
+
export class EditTextCkEditorExtension extends AbstractExtension {
|
|
4
|
+
constructor(extensionManager, designerView, extendedItem) {
|
|
5
|
+
super(extensionManager, designerView, extendedItem);
|
|
6
|
+
this._contentEditedBound = this._contentEdited.bind(this);
|
|
7
|
+
this._blurBound = this._blur.bind(this);
|
|
8
|
+
}
|
|
9
|
+
extend() {
|
|
10
|
+
//todo -> check what to do with extensions, do not loose edit on mouse click,...
|
|
11
|
+
//maybe use a html edit framework
|
|
12
|
+
this.extendedItem.instanceServiceContainer.selectionService.clearSelectedElements();
|
|
13
|
+
//this.extensionManager.removeExtension(this.extendedItem, ExtensionType.PrimarySelection);
|
|
14
|
+
//this.extensionManager.removeExtension(this.extendedItem, ExtensionType.Selection);
|
|
15
|
+
this.extendedItem.element.addEventListener('input', this._contentEditedBound);
|
|
16
|
+
this.extendedItem.element.addEventListener('blur', this._blurBound);
|
|
17
|
+
this.extendedItem.element.focus();
|
|
18
|
+
this.designerView.eatEvents = this.extendedItem.element;
|
|
19
|
+
//@ts-ignore
|
|
20
|
+
BalloonEditor
|
|
21
|
+
.create(this.extendedItem.element)
|
|
22
|
+
.catch(error => {
|
|
23
|
+
console.error(error);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
refresh() {
|
|
27
|
+
this.dispose();
|
|
28
|
+
}
|
|
29
|
+
dispose() {
|
|
30
|
+
this.extendedItem.element.removeEventListener('input', this._contentEditedBound);
|
|
31
|
+
this.extendedItem.element.removeEventListener('blur', this._blurBound);
|
|
32
|
+
//this.designerView.disableKeyboardEvents = false;
|
|
33
|
+
}
|
|
34
|
+
_contentEdited() {
|
|
35
|
+
//todo -> save???
|
|
36
|
+
//this.extendedItem.content = this.extendedItem.element.innerHTML;
|
|
37
|
+
//console.log(this.extendedItem.element.innerHTML)
|
|
38
|
+
}
|
|
39
|
+
_blur() {
|
|
40
|
+
this.extensionManager.removeExtension(this.extendedItem, ExtensionType.Doubleclick);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IDesignerExtensionProvider } from "../IDesignerExtensionProvider";
|
|
2
|
+
import { IDesignItem } from "../../../../item/IDesignItem";
|
|
3
|
+
import { IDesignerView } from "../../IDesignerView";
|
|
4
|
+
import { IDesignerExtension } from "../IDesignerExtension";
|
|
5
|
+
import { IExtensionManager } from "../IExtensionManger";
|
|
6
|
+
export declare class EditTextCkEditorExtensionProvider implements IDesignerExtensionProvider {
|
|
7
|
+
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerView, designItem: IDesignItem): boolean;
|
|
8
|
+
getExtension(extensionManager: IExtensionManager, designerView: IDesignerView, designItem: IDesignItem): IDesignerExtension;
|
|
9
|
+
}
|
package/dist/elements/widgets/designerView/extensions/EditText/EditTextCkEditorExtensionProvider.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EditTextCkEditorExtension } from "./EditTextCkEditorExtension.js";
|
|
2
|
+
export class EditTextCkEditorExtensionProvider {
|
|
3
|
+
shouldExtend(extensionManager, designerView, designItem) {
|
|
4
|
+
return true;
|
|
5
|
+
}
|
|
6
|
+
getExtension(extensionManager, designerView, designItem) {
|
|
7
|
+
return new EditTextCkEditorExtension(extensionManager, designerView, designItem);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { IDesignItem } from "../../../../item/IDesignItem";
|
|
2
|
+
import { IDesignerView } from "../../IDesignerView";
|
|
3
|
+
import { AbstractExtension } from '../AbstractExtension';
|
|
4
|
+
import { IExtensionManager } from "../IExtensionManger";
|
|
5
|
+
export declare class EditTextTinyMceExtension extends AbstractExtension {
|
|
6
|
+
private _contentEditedBound;
|
|
7
|
+
private _blurBound;
|
|
8
|
+
constructor(extensionManager: IExtensionManager, designerView: IDesignerView, extendedItem: IDesignItem);
|
|
9
|
+
tinyMceConfig: {
|
|
10
|
+
target: any;
|
|
11
|
+
menubar: boolean;
|
|
12
|
+
inline: boolean;
|
|
13
|
+
plugins: string[];
|
|
14
|
+
toolbar: string[];
|
|
15
|
+
valid_elements: string;
|
|
16
|
+
valid_styles: {
|
|
17
|
+
'*': string;
|
|
18
|
+
};
|
|
19
|
+
powerpaste_word_import: string;
|
|
20
|
+
powerpaste_html_import: string;
|
|
21
|
+
};
|
|
22
|
+
extend(): void;
|
|
23
|
+
refresh(): void;
|
|
24
|
+
dispose(): void;
|
|
25
|
+
_contentEdited(): void;
|
|
26
|
+
_blur(): void;
|
|
27
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { AbstractExtension } from '../AbstractExtension';
|
|
2
|
+
import { ExtensionType } from "../ExtensionType.js";
|
|
3
|
+
export class EditTextTinyMceExtension extends AbstractExtension {
|
|
4
|
+
constructor(extensionManager, designerView, extendedItem) {
|
|
5
|
+
super(extensionManager, designerView, extendedItem);
|
|
6
|
+
this.tinyMceConfig = {
|
|
7
|
+
target: null,
|
|
8
|
+
menubar: false,
|
|
9
|
+
inline: true,
|
|
10
|
+
plugins: [
|
|
11
|
+
'link',
|
|
12
|
+
'lists',
|
|
13
|
+
'powerpaste',
|
|
14
|
+
'autolink',
|
|
15
|
+
'tinymcespellchecker'
|
|
16
|
+
],
|
|
17
|
+
toolbar: [
|
|
18
|
+
'undo redo | bold italic underline | fontselect fontsizeselect',
|
|
19
|
+
'forecolor backcolor | alignleft aligncenter alignright alignfull | numlist bullist outdent indent'
|
|
20
|
+
],
|
|
21
|
+
valid_elements: 'p[style],strong,em,span[style],a[href],ul,ol,li',
|
|
22
|
+
valid_styles: {
|
|
23
|
+
'*': 'font-size,font-family,color,text-decoration,text-align'
|
|
24
|
+
},
|
|
25
|
+
powerpaste_word_import: 'clean',
|
|
26
|
+
powerpaste_html_import: 'clean',
|
|
27
|
+
};
|
|
28
|
+
this._contentEditedBound = this._contentEdited.bind(this);
|
|
29
|
+
this._blurBound = this._blur.bind(this);
|
|
30
|
+
}
|
|
31
|
+
extend() {
|
|
32
|
+
//todo -> check what to do with extensions, do not loose edit on mouse click,...
|
|
33
|
+
//maybe use a html edit framework
|
|
34
|
+
this.extendedItem.instanceServiceContainer.selectionService.clearSelectedElements();
|
|
35
|
+
//this.extensionManager.removeExtension(this.extendedItem, ExtensionType.PrimarySelection);
|
|
36
|
+
//this.extensionManager.removeExtension(this.extendedItem, ExtensionType.Selection);
|
|
37
|
+
this.extendedItem.element.addEventListener('input', this._contentEditedBound);
|
|
38
|
+
this.extendedItem.element.addEventListener('blur', this._blurBound);
|
|
39
|
+
this.extendedItem.element.focus();
|
|
40
|
+
this.designerView.eatEvents = this.extendedItem.element;
|
|
41
|
+
this.tinyMceConfig.target = this.extendedItem.element;
|
|
42
|
+
//@ts-ignore
|
|
43
|
+
tinymce.init(this.tinyMceConfig);
|
|
44
|
+
}
|
|
45
|
+
refresh() {
|
|
46
|
+
this.dispose();
|
|
47
|
+
}
|
|
48
|
+
dispose() {
|
|
49
|
+
this.extendedItem.element.removeEventListener('input', this._contentEditedBound);
|
|
50
|
+
this.extendedItem.element.removeEventListener('blur', this._blurBound);
|
|
51
|
+
//this.designerView.disableKeyboardEvents = false;
|
|
52
|
+
}
|
|
53
|
+
_contentEdited() {
|
|
54
|
+
//todo -> save???
|
|
55
|
+
//this.extendedItem.content = this.extendedItem.element.innerHTML;
|
|
56
|
+
//console.log(this.extendedItem.element.innerHTML)
|
|
57
|
+
}
|
|
58
|
+
_blur() {
|
|
59
|
+
this.extensionManager.removeExtension(this.extendedItem, ExtensionType.Doubleclick);
|
|
60
|
+
}
|
|
61
|
+
}
|
package/dist/elements/widgets/designerView/extensions/EditText/EditTextTinyMceExtensionProvider.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IDesignerExtensionProvider } from "../IDesignerExtensionProvider";
|
|
2
|
+
import { IDesignItem } from "../../../../item/IDesignItem";
|
|
3
|
+
import { IDesignerView } from "../../IDesignerView";
|
|
4
|
+
import { IDesignerExtension } from "../IDesignerExtension";
|
|
5
|
+
import { IExtensionManager } from "../IExtensionManger";
|
|
6
|
+
export declare class EditTextTinyMceExtensionProvider implements IDesignerExtensionProvider {
|
|
7
|
+
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerView, designItem: IDesignItem): boolean;
|
|
8
|
+
getExtension(extensionManager: IExtensionManager, designerView: IDesignerView, designItem: IDesignItem): IDesignerExtension;
|
|
9
|
+
}
|
package/dist/elements/widgets/designerView/extensions/EditText/EditTextTinyMceExtensionProvider.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EditTextTinyMceExtension } from "./EditTextTinyMceExtension.js";
|
|
2
|
+
export class EditTextTinyMceExtensionProvider {
|
|
3
|
+
shouldExtend(extensionManager, designerView, designItem) {
|
|
4
|
+
return true;
|
|
5
|
+
}
|
|
6
|
+
getExtension(extensionManager, designerView, designItem) {
|
|
7
|
+
return new EditTextTinyMceExtension(extensionManager, designerView, designItem);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -11,10 +11,18 @@ export class PositionExtension extends AbstractExtension {
|
|
|
11
11
|
let itemRect = this.extendedItem.element.getBoundingClientRect();
|
|
12
12
|
const xOffset = itemRect.x - this.designerView.containerBoundingRect.x;
|
|
13
13
|
const yOffset = itemRect.y - this.designerView.containerBoundingRect.y;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
let left = Number.parseFloat(computedStyle.left.replace('px', ''));
|
|
15
|
+
if (isNaN(left))
|
|
16
|
+
left = 0;
|
|
17
|
+
let top = Number.parseFloat(computedStyle.top.replace('px', ''));
|
|
18
|
+
if (isNaN(top))
|
|
19
|
+
top = 0;
|
|
20
|
+
let right = Number.parseFloat(computedStyle.right.replace('px', ''));
|
|
21
|
+
if (isNaN(right))
|
|
22
|
+
right = 0;
|
|
23
|
+
let bottom = Number.parseFloat(computedStyle.bottom.replace('px', ''));
|
|
24
|
+
if (isNaN(bottom))
|
|
25
|
+
bottom = 0;
|
|
18
26
|
let tx = 0;
|
|
19
27
|
let ty = 0;
|
|
20
28
|
if (computedStyle.transform !== 'none') {
|
package/dist/index.d.ts
CHANGED
|
@@ -16,6 +16,9 @@ export type { IDesignItem } from "./elements/item/IDesignItem.js";
|
|
|
16
16
|
export * from "./elements/services/bindableObjectsService/BindableObjectType.js";
|
|
17
17
|
export type { IBindableObject } from "./elements/services/bindableObjectsService/IBindableObject.js";
|
|
18
18
|
export type { IBindableObjectsService } from "./elements/services/bindableObjectsService/IBindableObjectsService.js";
|
|
19
|
+
export type { IBindingService } from "./elements/services/bindingsService/IBindingService.js";
|
|
20
|
+
export * from "./elements/services/bindingsService/BaseCustomWebcomponentBindingsService.js";
|
|
21
|
+
export * from "./elements/services/bindingsService/SpecialTagsBindingService.js";
|
|
19
22
|
export * from "./elements/services/placementService/DefaultPlacementService.js";
|
|
20
23
|
export * from "./elements/services/placementService/FlexBoxPlacementService.js";
|
|
21
24
|
export * from "./elements/services/placementService/GridPlacementService.js";
|
|
@@ -78,6 +81,7 @@ export * from "./elements/services/ServiceContainer.js";
|
|
|
78
81
|
export * from "./elements/widgets/propertyGrid/PropertyGrid.js";
|
|
79
82
|
export * from "./elements/widgets/propertyGrid/PropertyGridPropertyList.js";
|
|
80
83
|
export type { IDesignerCanvas } from "./elements/widgets/designerView/IDesignerCanvas.js";
|
|
84
|
+
export type { IPlacementView } from "./elements/widgets/designerView/IPlacementView.js";
|
|
81
85
|
export * from "./elements/widgets/designerView/designerView.js";
|
|
82
86
|
export * from "./elements/widgets/designerView/overlayLayerView.js";
|
|
83
87
|
export * from "./elements/widgets/designerView/defaultConfiguredDesignerView.js";
|
package/dist/index.js
CHANGED
|
@@ -12,6 +12,8 @@ export * from "./elements/helper/contextMenu/ContextMenuHelper.js";
|
|
|
12
12
|
export * from "./elements/helper/Helper.js";
|
|
13
13
|
export * from "./elements/item/DesignItem.js";
|
|
14
14
|
export * from "./elements/services/bindableObjectsService/BindableObjectType.js";
|
|
15
|
+
export * from "./elements/services/bindingsService/BaseCustomWebcomponentBindingsService.js";
|
|
16
|
+
export * from "./elements/services/bindingsService/SpecialTagsBindingService.js";
|
|
15
17
|
export * from "./elements/services/placementService/DefaultPlacementService.js";
|
|
16
18
|
export * from "./elements/services/placementService/FlexBoxPlacementService.js";
|
|
17
19
|
export * from "./elements/services/placementService/GridPlacementService.js";
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"description": "A UI designer for Polymer apps",
|
|
3
3
|
"name": "@node-projects/web-component-designer",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.29",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"author": "",
|
|
@@ -11,26 +11,25 @@
|
|
|
11
11
|
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@node-projects/base-custom-webcomponent": "^0.
|
|
14
|
+
"@node-projects/base-custom-webcomponent": "^0.2.0",
|
|
15
15
|
"construct-style-sheets-polyfill": "^3.0.4"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"@node-projects/lean-he-esm": "^3.3.0",
|
|
19
|
-
"@node-projects/node-html-parser-esm": "^2.
|
|
19
|
+
"@node-projects/node-html-parser-esm": "^2.4.1",
|
|
20
20
|
"@types/codemirror": "^5.60.5",
|
|
21
21
|
"@types/jquery": "^3.5.8",
|
|
22
22
|
"@types/jquery.fancytree": "0.0.7",
|
|
23
23
|
"ace-builds": "^1.4.13",
|
|
24
|
-
"codemirror": "^5.
|
|
24
|
+
"codemirror": "^5.64.0",
|
|
25
25
|
"esprima-next": "^5.7.0",
|
|
26
26
|
"html2canvas": "*",
|
|
27
27
|
"jest": "^27.3.1",
|
|
28
28
|
"jquery": "^3.6.0",
|
|
29
29
|
"jquery.fancytree": "^2.38.0",
|
|
30
|
-
"monaco-editor": "^0.
|
|
31
|
-
"node-html-parser": "^5.0.0",
|
|
30
|
+
"monaco-editor": "^0.30.1",
|
|
32
31
|
"ts-jest": "^27.0.7",
|
|
33
|
-
"typescript": "^4.
|
|
32
|
+
"typescript": "^4.5.2",
|
|
34
33
|
"typescript-lit-html-plugin": "^0.9.0"
|
|
35
34
|
},
|
|
36
35
|
"repository": {
|