@node-projects/web-component-designer 0.0.48 → 0.0.52

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.
Files changed (125) hide show
  1. package/dist/elements/helper/GridHelper.d.ts +16 -0
  2. package/dist/elements/helper/GridHelper.js +107 -0
  3. package/dist/elements/helper/Helper.d.ts +3 -0
  4. package/dist/elements/helper/Helper.js +3 -0
  5. package/dist/elements/helper/LayoutHelper.d.ts +3 -0
  6. package/dist/elements/helper/LayoutHelper.js +47 -1
  7. package/dist/elements/helper/TransformHelper.d.ts +1 -0
  8. package/dist/elements/helper/TransformHelper.js +12 -0
  9. package/dist/elements/item/DesignItem.d.ts +4 -2
  10. package/dist/elements/item/DesignItem.js +6 -3
  11. package/dist/elements/item/IDesignItem.d.ts +4 -2
  12. package/dist/elements/services/htmlWriterService/HtmlWriterService.js +1 -6
  13. package/dist/elements/services/placementService/DefaultPlacementService.js +20 -8
  14. package/dist/elements/services/placementService/FlexBoxPlacementService.js +15 -1
  15. package/dist/elements/services/placementService/GridPlacementService.js +52 -1
  16. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.d.ts +2 -2
  17. package/dist/elements/widgets/designerView/DomConverter.d.ts +1 -1
  18. package/dist/elements/widgets/designerView/DomConverter.js +2 -0
  19. package/dist/elements/widgets/designerView/IDesignerCanvas.d.ts +2 -0
  20. package/dist/elements/widgets/designerView/designerCanvas.d.ts +2 -1
  21. package/dist/elements/widgets/designerView/designerCanvas.js +2 -2
  22. package/dist/elements/widgets/designerView/extensions/GridExtension.js +11 -97
  23. package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.js +2 -2
  24. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.d.ts +2 -2
  25. package/dist/elements/widgets/designerView/extensions/contextMenu/CopyPasteContextMenu.js +1 -1
  26. package/dist/elements/widgets/designerView/extensions/contextMenu/IContextMenuExtension.d.ts +2 -1
  27. package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.d.ts +2 -2
  28. package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu.js +4 -3
  29. package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.d.ts +2 -2
  30. package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js +1 -1
  31. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.d.ts +2 -2
  32. package/dist/elements/widgets/designerView/extensions/contextMenu/ZMoveContextMenu.js +1 -1
  33. package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.js +1 -1
  34. package/dist/elements/widgets/treeView/treeViewExtended.d.ts +2 -0
  35. package/dist/elements/widgets/treeView/treeViewExtended.js +13 -0
  36. package/dist/index.d.ts +1 -1
  37. package/package.json +1 -1
  38. package/dist/elements/controls/ImageButtonListSelector copy.d.ts +0 -17
  39. package/dist/elements/controls/ImageButtonListSelector copy.js +0 -82
  40. package/dist/elements/controls/NumericInput.d.ts +0 -0
  41. package/dist/elements/controls/NumericInput.js +0 -1
  42. package/dist/elements/controls/ThicknessEditor copy.d.ts +0 -33
  43. package/dist/elements/controls/ThicknessEditor copy.js +0 -145
  44. package/dist/elements/helper/CssPropertiesList.d.ts +0 -0
  45. package/dist/elements/helper/CssPropertiesList.js +0 -1
  46. package/dist/elements/item/Binding.d.ts +0 -14
  47. package/dist/elements/item/Binding.js +0 -4
  48. package/dist/elements/item/IBinding copy.d.ts +0 -14
  49. package/dist/elements/item/IBinding copy.js +0 -1
  50. package/dist/elements/services/bindingsService/BaseCustomeWebcomponentBindingsService copy.d.ts +0 -9
  51. package/dist/elements/services/bindingsService/BaseCustomeWebcomponentBindingsService copy.js +0 -31
  52. package/dist/elements/services/bindingsService/BaseCustomeWebcomponentBindingsService.d.ts +0 -11
  53. package/dist/elements/services/bindingsService/BaseCustomeWebcomponentBindingsService.js +0 -34
  54. package/dist/elements/services/bindingsService/BindingMode.d.ts +0 -4
  55. package/dist/elements/services/bindingsService/BindingMode.js +0 -5
  56. package/dist/elements/services/bindingsService/BindingTarget.d.ts +0 -6
  57. package/dist/elements/services/bindingsService/BindingTarget.js +0 -7
  58. package/dist/elements/services/bindingsService/IBinding.d.ts +0 -14
  59. package/dist/elements/services/bindingsService/IBinding.js +0 -1
  60. package/dist/elements/services/bindingsService/PolymerBindingsService copy.d.ts +0 -9
  61. package/dist/elements/services/bindingsService/PolymerBindingsService copy.js +0 -31
  62. package/dist/elements/services/bindingsService/PolymerBindingsService.d.ts +0 -0
  63. package/dist/elements/services/bindingsService/PolymerBindingsService.js +0 -38
  64. package/dist/elements/services/copyPasteService/ICopyPasteService copy.d.ts +0 -0
  65. package/dist/elements/services/copyPasteService/ICopyPasteService copy.js +0 -1
  66. package/dist/elements/services/htmlParserService/NodeHtmlParserService.ts.BASE.d.ts +0 -9
  67. package/dist/elements/services/htmlParserService/NodeHtmlParserService.ts.BASE.js +0 -100
  68. package/dist/elements/services/htmlParserService/NodeHtmlParserService.ts.LOCAL.d.ts +0 -11
  69. package/dist/elements/services/htmlParserService/NodeHtmlParserService.ts.LOCAL.js +0 -84
  70. package/dist/elements/services/htmlParserService/NodeHtmlParserService.ts.REMOTE.d.ts +0 -9
  71. package/dist/elements/services/htmlParserService/NodeHtmlParserService.ts.REMOTE.js +0 -83
  72. package/dist/elements/services/modelCommandService/DefaultInstanceService.d.ts +0 -8
  73. package/dist/elements/services/modelCommandService/DefaultInstanceService.js +0 -14
  74. package/dist/elements/services/modelCommandService/IInstanceService.d.ts +0 -8
  75. package/dist/elements/services/modelCommandService/IInstanceService.js +0 -1
  76. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor copy.d.ts +0 -8
  77. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor copy.js +0 -40
  78. package/dist/elements/services/propertiesService/services/CommonPropertiesService copy.d.ts +0 -16
  79. package/dist/elements/services/propertiesService/services/CommonPropertiesService copy.js +0 -94
  80. package/dist/elements/widgets/designerView/IDesignerView.d.ts +0 -30
  81. package/dist/elements/widgets/designerView/IDesignerView.js +0 -1
  82. package/dist/elements/widgets/designerView/designerView copy.d.ts +0 -82
  83. package/dist/elements/widgets/designerView/designerView copy.js +0 -671
  84. package/dist/elements/widgets/designerView/extensions/AbstractExtension copy.d.ts +0 -22
  85. package/dist/elements/widgets/designerView/extensions/AbstractExtension copy.js +0 -52
  86. package/dist/elements/widgets/designerView/extensions/CanvasExtension copy.d.ts +0 -10
  87. package/dist/elements/widgets/designerView/extensions/CanvasExtension copy.js +0 -29
  88. package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider copy.d.ts +0 -10
  89. package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider copy.js +0 -15
  90. package/dist/elements/widgets/designerView/extensions/EditText/EditTextCkEditorExtension.d.ts +0 -14
  91. package/dist/elements/widgets/designerView/extensions/EditText/EditTextCkEditorExtension.js +0 -42
  92. package/dist/elements/widgets/designerView/extensions/EditText/EditTextCkEditorExtensionProvider.d.ts +0 -9
  93. package/dist/elements/widgets/designerView/extensions/EditText/EditTextCkEditorExtensionProvider.js +0 -9
  94. package/dist/elements/widgets/designerView/extensions/EditText/EditTextTinyMceExtension.d.ts +0 -27
  95. package/dist/elements/widgets/designerView/extensions/EditText/EditTextTinyMceExtension.js +0 -61
  96. package/dist/elements/widgets/designerView/extensions/EditText/EditTextTinyMceExtensionProvider.d.ts +0 -9
  97. package/dist/elements/widgets/designerView/extensions/EditText/EditTextTinyMceExtensionProvider.js +0 -9
  98. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtension.d.ts +0 -10
  99. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtension.js +0 -29
  100. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtensionProvider copy.d.ts +0 -10
  101. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtensionProvider copy.js +0 -15
  102. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtensionProvider.d.ts +0 -10
  103. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtensionProvider.js +0 -15
  104. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractExtension.d.ts +0 -22
  105. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractExtension.js +0 -78
  106. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtension copy.d.ts +0 -13
  107. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtension copy.js +0 -27
  108. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectangleExtension.d.ts +0 -7
  109. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectangleExtension.js +0 -20
  110. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectanglePointerExtension copy.d.ts +0 -13
  111. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectanglePointerExtension copy.js +0 -27
  112. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectanglePointerExtension.d.ts +0 -7
  113. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectanglePointerExtension.js +0 -20
  114. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerExtension.d.ts +0 -5
  115. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerExtension.js +0 -1
  116. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerExtensionProvider.d.ts +0 -9
  117. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerExtensionProvider.js +0 -1
  118. package/dist/elements/widgets/designerView/extensions/pointerExtensions/RulerExtension.d.ts +0 -7
  119. package/dist/elements/widgets/designerView/extensions/pointerExtensions/RulerExtension.js +0 -20
  120. package/dist/elements/widgets/designerView/extensions/pointerExtensions/RulerPointerExtension.d.ts +0 -7
  121. package/dist/elements/widgets/designerView/extensions/pointerExtensions/RulerPointerExtension.js +0 -20
  122. package/dist/elements/widgets/propertyGrid/PropertyGrid copy.d.ts +0 -17
  123. package/dist/elements/widgets/propertyGrid/PropertyGrid copy.js +0 -143
  124. package/dist/interfaces/IDesignerMousePoint.d.ts +0 -11
  125. package/dist/interfaces/IDesignerMousePoint.js +0 -1
@@ -1 +0,0 @@
1
- export {};
@@ -1,9 +0,0 @@
1
- import { IndentedTextWriter } from "../../helper/IndentedTextWriter";
2
- import { IDesignItem } from "../../item/IDesignItem";
3
- import { IBinding } from "./IBinding";
4
- import { IBindingService } from "./IBindingService";
5
- export declare class PolymerBindingsService implements IBindingService {
6
- writeBindingMode: 'direct';
7
- parseBindings(designItem: IDesignItem): void;
8
- writeBinding(indentedTextWriter: IndentedTextWriter, designItem: IDesignItem, type: 'style' | 'attribute', keyValuePair: [key: string, value: IBinding]): boolean;
9
- }
@@ -1,31 +0,0 @@
1
- import { DomConverter } from "../../widgets/designerView/DomConverter";
2
- import { BindingMode } from './BindingMode';
3
- export class PolymerBindingsService {
4
- constructor() {
5
- this.writeBindingMode = 'direct';
6
- }
7
- parseBindings(designItem) {
8
- for (let a of designItem.attributes.entries()) {
9
- if (typeof a[1] == 'string' && (a[1].startsWith("[[") || a[1].startsWith("{{"))) {
10
- let bnd = {};
11
- if (a[1].startsWith("[["))
12
- bnd.mode = BindingMode.oneWay;
13
- else
14
- bnd.mode = BindingMode.twoWay;
15
- bnd.invert = a[1][3] == '!';
16
- bnd.expression = a[1];
17
- let nm = a[0];
18
- if (nm.endsWith('$')) {
19
- bnd.escapeAttribute = true;
20
- nm = nm.slice(0, -1);
21
- designItem.attributes.delete(a[0]);
22
- }
23
- designItem.attributes.set(nm, bnd);
24
- }
25
- }
26
- }
27
- writeBinding(indentedTextWriter, designItem, type, keyValuePair) {
28
- indentedTextWriter.write(keyValuePair[0] + '="' + (keyValuePair[1].mode == BindingMode.oneWay ? '[[' : '{{') + DomConverter.normalizeAttributeValue(keyValuePair[1].expression) + (keyValuePair[1].mode == BindingMode.oneWay ? ']]' : ']]') + '"');
29
- return true;
30
- }
31
- }
@@ -1,11 +0,0 @@
1
- import { IndentedTextWriter } from "../../helper/IndentedTextWriter";
2
- import { IDesignItem } from "../../item/IDesignItem";
3
- import { IBinding } from "../../item/IBinding";
4
- import { IBindingService } from "./IBindingService";
5
- export declare class BaseCustomeWebcomponentBindingsService implements IBindingService {
6
- writeBindingMode: 'direct';
7
- parseBindingAttribute(attributeName: string, value: string): IBinding;
8
- parseBindingCss(attributeName: string, value: string): IBinding;
9
- serializeBinding(): void;
10
- writeBinding(indentedTextWriter: IndentedTextWriter, designItem: IDesignItem, type: 'style' | 'attribute', keyValuePair: [key: string, value: IBinding]): boolean;
11
- }
@@ -1,34 +0,0 @@
1
- import { DomConverter } from "../../widgets/designerView/DomConverter";
2
- import { BindingMode } from '../../item/BindingMode';
3
- import { BindingTarget } from './BindingTarget';
4
- export class BaseCustomeWebcomponentBindingsService {
5
- constructor() {
6
- this.writeBindingMode = 'direct';
7
- }
8
- parseBindingAttribute(attributeName, value) {
9
- if (value.startsWith("[[") || value.startsWith("{{")) {
10
- let bnd = {};
11
- bnd.rawName = attributeName;
12
- bnd.rawValue = value;
13
- bnd.target = BindingTarget.property;
14
- if (value.startsWith("[["))
15
- bnd.mode = BindingMode.oneWay;
16
- else
17
- bnd.mode = BindingMode.twoWay;
18
- bnd.invert = value[3] == '!';
19
- bnd.nullSafe = value[3] == '?';
20
- bnd.expression = value;
21
- return bnd;
22
- }
23
- return null;
24
- }
25
- parseBindingCss(attributeName, value) {
26
- return null;
27
- }
28
- serializeBinding() {
29
- }
30
- writeBinding(indentedTextWriter, designItem, type, keyValuePair) {
31
- indentedTextWriter.write(keyValuePair[0] + '="' + (keyValuePair[1].mode == BindingMode.oneWay ? '[[' : '{{') + DomConverter.normalizeAttributeValue(keyValuePair[1].expression) + (keyValuePair[1].mode == BindingMode.oneWay ? ']]' : ']]') + '"');
32
- return true;
33
- }
34
- }
@@ -1,4 +0,0 @@
1
- export declare enum BindingMode {
2
- oneWay = "oneWay",
3
- twoWay = "twoWay"
4
- }
@@ -1,5 +0,0 @@
1
- export var BindingMode;
2
- (function (BindingMode) {
3
- BindingMode["oneWay"] = "oneWay";
4
- BindingMode["twoWay"] = "twoWay";
5
- })(BindingMode || (BindingMode = {}));
@@ -1,6 +0,0 @@
1
- export declare enum BindingTarget {
2
- property = "property",
3
- attribute = "attribute",
4
- style = "style",
5
- event = "event"
6
- }
@@ -1,7 +0,0 @@
1
- export var BindingTarget;
2
- (function (BindingTarget) {
3
- BindingTarget["property"] = "property";
4
- BindingTarget["attribute"] = "attribute";
5
- BindingTarget["style"] = "style";
6
- BindingTarget["event"] = "event";
7
- })(BindingTarget || (BindingTarget = {}));
@@ -1,14 +0,0 @@
1
- import { BindingMode } from "./BindingMode";
2
- import { BindingTarget } from "./BindingTarget";
3
- export interface IBinding {
4
- bindableObjectNames?: string[];
5
- expression?: string;
6
- mode?: BindingMode;
7
- target?: BindingTarget;
8
- invert?: boolean;
9
- converter?: string;
10
- changedEvent?: string;
11
- nullSafe?: boolean;
12
- rawName?: string;
13
- rawValue?: string;
14
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,9 +0,0 @@
1
- import { IndentedTextWriter } from "../../helper/IndentedTextWriter";
2
- import { IDesignItem } from "../../item/IDesignItem";
3
- import { IBinding } from "./IBinding";
4
- import { IBindingService } from "./IBindingService";
5
- export declare class PolymerBindingsService implements IBindingService {
6
- writeBindingMode: 'direct';
7
- parseBindings(designItem: IDesignItem): void;
8
- writeBinding(indentedTextWriter: IndentedTextWriter, designItem: IDesignItem, type: 'style' | 'attribute', keyValuePair: [key: string, value: IBinding]): boolean;
9
- }
@@ -1,31 +0,0 @@
1
- import { DomConverter } from "../../widgets/designerView/DomConverter";
2
- import { BindingMode } from './BindingMode';
3
- export class PolymerBindingsService {
4
- constructor() {
5
- this.writeBindingMode = 'direct';
6
- }
7
- parseBindings(designItem) {
8
- for (let a of designItem.attributes.entries()) {
9
- if (typeof a[1] == 'string' && (a[1].startsWith("[[") || a[1].startsWith("{{"))) {
10
- let bnd = {};
11
- if (a[1].startsWith("[["))
12
- bnd.mode = BindingMode.oneWay;
13
- else
14
- bnd.mode = BindingMode.twoWay;
15
- bnd.invert = a[1][3] == '!';
16
- bnd.expression = a[1];
17
- let nm = a[0];
18
- if (nm.endsWith('$')) {
19
- bnd.escapeAttribute = true;
20
- nm = nm.slice(0, -1);
21
- designItem.attributes.delete(a[0]);
22
- }
23
- designItem.attributes.set(nm, bnd);
24
- }
25
- }
26
- }
27
- writeBinding(indentedTextWriter, designItem, type, keyValuePair) {
28
- indentedTextWriter.write(keyValuePair[0] + '="' + (keyValuePair[1].mode == BindingMode.oneWay ? '[[' : '{{') + DomConverter.normalizeAttributeValue(keyValuePair[1].expression) + (keyValuePair[1].mode == BindingMode.oneWay ? ']]' : ']]') + '"');
29
- return true;
30
- }
31
- }
@@ -1,38 +0,0 @@
1
- "use strict";
2
- /*import { IndentedTextWriter } from "../../helper/IndentedTextWriter";
3
- import { IDesignItem } from "../../item/IDesignItem";
4
- import { DomConverter } from "../../widgets/designerView/DomConverter";
5
- import { IBinding } from "./IBinding";
6
- import { IBindingService } from "./IBindingService";
7
- import { BindingMode } from './BindingMode';
8
-
9
-
10
- export class PolymerBindingsService implements IBindingService {
11
- writeBindingMode: 'direct' = 'direct';
12
-
13
- parseBindings(designItem: IDesignItem) {
14
- for (let a of designItem.attributes.entries()) {
15
- if (typeof a[1] == 'string' && (a[1].startsWith("[[") || a[1].startsWith("{{"))) {
16
- let bnd: IBinding & { escapeAttribute?: boolean } = {};
17
- if (a[1].startsWith("[["))
18
- bnd.mode = BindingMode.oneWay;
19
- else
20
- bnd.mode = BindingMode.twoWay;
21
- bnd.invert = a[1][3] == '!';
22
- bnd.expression = a[1];
23
- let nm = a[0];
24
- if (nm.endsWith('$')) {
25
- bnd.escapeAttribute = true;
26
- nm = nm.slice(0, -1);
27
- designItem.attributes.delete(a[0]);
28
- }
29
- designItem.attributes.set(nm, bnd);
30
- }
31
- }
32
- }
33
-
34
- writeBinding(indentedTextWriter: IndentedTextWriter, designItem: IDesignItem, type: 'style' | 'attribute', keyValuePair: [key: string, value: IBinding]): boolean {
35
- indentedTextWriter.write(keyValuePair[0] + '="' + (keyValuePair[1].mode == BindingMode.oneWay ? '[[' : '{{') + DomConverter.normalizeAttributeValue(keyValuePair[1].expression) + (keyValuePair[1].mode == BindingMode.oneWay ? ']]' : ']]') + '"');
36
- return true;
37
- }
38
- }*/
@@ -1,9 +0,0 @@
1
- import { InstanceServiceContainer } from "../InstanceServiceContainer";
2
- import { ServiceContainer } from "../ServiceContainer";
3
- import { IHtmlParserService } from "./IHtmlParserService";
4
- import { IDesignItem } from '../../item/IDesignItem';
5
- export declare class NodeHtmlParserService implements IHtmlParserService {
6
- parse(html: string, serviceContainer: ServiceContainer, instanceServiceContainer: InstanceServiceContainer): Promise<IDesignItem[]>;
7
- private _parseDiv;
8
- _createDesignItemsRecursive(item: any, serviceContainer: ServiceContainer, instanceServiceContainer: InstanceServiceContainer, namespace: string): IDesignItem;
9
- }
@@ -1,100 +0,0 @@
1
- import { DesignItem } from '../../item/DesignItem';
2
- import { CssAttributeParser } from "../../helper/CssAttributeParser";
3
- import { newElementFromString } from "../../helper/ElementHelper";
4
- // Alternative Parser, cause when you use the Browser, it instanciates the CusomElements, and some Elemnts remove
5
- // attributes from their DOM, so you loose Data
6
- export class NodeHtmlParserService {
7
- constructor() {
8
- this._parseDiv = document.createElement("div");
9
- }
10
- async parse(html, serviceContainer, instanceServiceContainer) {
11
- //@ts-ignore
12
- let parser = await import('../../../../../node-html-parser-esm/dist/index.js');
13
- const parsed = parser.parse(html, { comment: true });
14
- let designItems = [];
15
- for (let p of parsed.childNodes) {
16
- let di = this._createDesignItemsRecursive(p, serviceContainer, instanceServiceContainer, null);
17
- if (di != null)
18
- designItems.push(di);
19
- else
20
- console.warn("NodeHtmlParserService - could not parse element", p);
21
- }
22
- return designItems;
23
- }
24
- _createDesignItemsRecursive(item, serviceContainer, instanceServiceContainer, namespace) {
25
- let designItem = null;
26
- if (item.nodeType == 1) {
27
- let element;
28
- if (!namespace)
29
- element = newElementFromString('<' + item.rawTagName + ' ' + item.rawAttrs + '></' + item.rawTagName + '>'); // some custom elements only parse attributes during constructor call
30
- if (!element) {
31
- if (namespace)
32
- element = document.createElementNS(namespace, item.rawTagName);
33
- else
34
- element = document.createElement(item.rawTagName);
35
- }
36
- designItem = new DesignItem(element, serviceContainer, instanceServiceContainer);
37
- let hideAtDesignTime = false;
38
- let hideAtRunTime = false;
39
- let lockAtDesignTime = false;
40
- let style = '';
41
- let attr = item.attributes;
42
- for (let a in attr) {
43
- let bnd;
44
- if (serviceContainer.bindingService) {
45
- bnd = serviceContainer.bindingService.parseBindingAttribute(a, attr[a]);
46
- }
47
- if (bnd) {
48
- designItem.setAttribute(a, bnd);
49
- }
50
- else if (a !== 'style') {
51
- designItem.setAttribute(a, attr[a]);
52
- if (a === 'node-projects-hide-at-design-time')
53
- hideAtDesignTime = true;
54
- else if (a === 'node-projects-hide-at-run-time')
55
- hideAtRunTime = true;
56
- else if (a === 'node-projects-lock-at-design-time')
57
- lockAtDesignTime = true;
58
- }
59
- else {
60
- style = attr[a];
61
- }
62
- }
63
- if ((element instanceof HTMLElement || element instanceof SVGElement) && style) {
64
- let styleParser = new CssAttributeParser();
65
- styleParser.parse(style);
66
- for (let s of styleParser.entries) {
67
- let bnd;
68
- if (serviceContainer.bindingService) {
69
- bnd = serviceContainer.bindingService.parseBindingAttribute(s.name, s.value);
70
- }
71
- if (bnd) {
72
- designItem.setStyle(s.name, bnd);
73
- }
74
- else {
75
- designItem.setStyle(s.name, s.value);
76
- }
77
- //designItem.styles.set(s.name, s.value);
78
- }
79
- }
80
- designItem.hideAtDesignTime = hideAtDesignTime;
81
- designItem.hideAtRunTime = hideAtRunTime;
82
- designItem.lockAtDesignTime = lockAtDesignTime;
83
- element.draggable = false; //even if it should be true, for better designer exp.
84
- for (let c of item.childNodes) {
85
- let di = this._createDesignItemsRecursive(c, serviceContainer, instanceServiceContainer, element instanceof SVGElement ? 'http://www.w3.org/2000/svg' : null);
86
- designItem.insertChild(di);
87
- }
88
- }
89
- else if (item.nodeType == 3) {
90
- this._parseDiv.innerHTML = item.rawText;
91
- let element = this._parseDiv.childNodes[0];
92
- designItem = new DesignItem(element, serviceContainer, instanceServiceContainer);
93
- }
94
- else if (item.nodeType == 8) {
95
- let element = document.createComment(item.rawText);
96
- designItem = new DesignItem(element, serviceContainer, instanceServiceContainer);
97
- }
98
- return designItem;
99
- }
100
- }
@@ -1,11 +0,0 @@
1
- import { InstanceServiceContainer } from "../InstanceServiceContainer";
2
- import { ServiceContainer } from "../ServiceContainer";
3
- import { IHtmlParserService } from "./IHtmlParserService";
4
- import { IDesignItem } from '../../item/IDesignItem';
5
- export declare class NodeHtmlParserService implements IHtmlParserService {
6
- private _parserUrl;
7
- constructor(parserUrl?: string);
8
- parse(html: string, serviceContainer: ServiceContainer, instanceServiceContainer: InstanceServiceContainer): Promise<IDesignItem[]>;
9
- private _parseDiv;
10
- _createDesignItemsRecursive(item: any, serviceContainer: ServiceContainer, instanceServiceContainer: InstanceServiceContainer, namespace: string): IDesignItem;
11
- }
@@ -1,84 +0,0 @@
1
- import { DesignItem } from '../../item/DesignItem';
2
- import { CssAttributeParser } from "../../helper/CssAttributeParser";
3
- import { newElementFromString } from "../../helper/ElementHelper";
4
- // Alternative Parser, cause when you use the Browser, it instanciates the CusomElements, and some Elemnts remove
5
- // attributes from their DOM, so you loose Data
6
- export class NodeHtmlParserService {
7
- constructor(parserUrl = '../../../../../node-html-parser-esm/dist/index.js') {
8
- this._parseDiv = document.createElement("div");
9
- this._parserUrl = parserUrl;
10
- }
11
- async parse(html, serviceContainer, instanceServiceContainer) {
12
- //@ts-ignore
13
- let parser = await import(this._parserUrl);
14
- const parsed = parser.parse(html, { comment: true });
15
- let designItems = [];
16
- for (let p of parsed.childNodes) {
17
- let di = this._createDesignItemsRecursive(p, serviceContainer, instanceServiceContainer, null);
18
- if (di != null)
19
- designItems.push(di);
20
- else
21
- console.warn("NodeHtmlParserService - could not parse element", p);
22
- }
23
- return designItems;
24
- }
25
- _createDesignItemsRecursive(item, serviceContainer, instanceServiceContainer, namespace) {
26
- let designItem = null;
27
- if (item.nodeType == 1) {
28
- let element;
29
- if (!namespace)
30
- element = newElementFromString('<' + item.rawTagName + ' ' + item.rawAttrs + '></' + item.rawTagName + '>'); // some custom elements only parse attributes during constructor call
31
- if (!element) {
32
- if (namespace)
33
- element = document.createElementNS(namespace, item.rawTagName);
34
- else
35
- element = document.createElement(item.rawTagName);
36
- }
37
- designItem = new DesignItem(element, serviceContainer, instanceServiceContainer);
38
- let hideAtDesignTime = false;
39
- let hideAtRunTime = false;
40
- let lockAtDesignTime = false;
41
- let style = '';
42
- let attr = item.attributes;
43
- for (let a in attr) {
44
- if (a !== 'style') {
45
- designItem.setAttribute(a, attr[a]);
46
- if (a === 'node-projects-hide-at-design-time')
47
- hideAtDesignTime = true;
48
- else if (a === 'node-projects-hide-at-run-time')
49
- hideAtRunTime = true;
50
- else if (a === 'node-projects-lock-at-design-time')
51
- lockAtDesignTime = true;
52
- }
53
- else {
54
- style = attr[a];
55
- }
56
- }
57
- if ((element instanceof HTMLElement || element instanceof SVGElement) && style) {
58
- let styleParser = new CssAttributeParser();
59
- styleParser.parse(style);
60
- for (let s of styleParser.entries) {
61
- designItem.setStyle(s.name, s.value);
62
- }
63
- }
64
- designItem.hideAtDesignTime = hideAtDesignTime;
65
- designItem.hideAtRunTime = hideAtRunTime;
66
- designItem.lockAtDesignTime = lockAtDesignTime;
67
- element.draggable = false; //even if it should be true, for better designer exp.
68
- for (let c of item.childNodes) {
69
- let di = this._createDesignItemsRecursive(c, serviceContainer, instanceServiceContainer, element instanceof SVGElement ? 'http://www.w3.org/2000/svg' : null);
70
- designItem.insertChild(di);
71
- }
72
- }
73
- else if (item.nodeType == 3) {
74
- this._parseDiv.innerHTML = item.rawText;
75
- let element = this._parseDiv.childNodes[0];
76
- designItem = new DesignItem(element, serviceContainer, instanceServiceContainer);
77
- }
78
- else if (item.nodeType == 8) {
79
- let element = document.createComment(item.rawText);
80
- designItem = new DesignItem(element, serviceContainer, instanceServiceContainer);
81
- }
82
- return designItem;
83
- }
84
- }
@@ -1,9 +0,0 @@
1
- import { InstanceServiceContainer } from "../InstanceServiceContainer";
2
- import { ServiceContainer } from "../ServiceContainer";
3
- import { IHtmlParserService } from "./IHtmlParserService";
4
- import { IDesignItem } from '../../item/IDesignItem';
5
- export declare class NodeHtmlParserService implements IHtmlParserService {
6
- parse(html: string, serviceContainer: ServiceContainer, instanceServiceContainer: InstanceServiceContainer): Promise<IDesignItem[]>;
7
- private _parseDiv;
8
- _createDesignItemsRecursive(item: any, serviceContainer: ServiceContainer, instanceServiceContainer: InstanceServiceContainer, namespace: string): IDesignItem;
9
- }
@@ -1,83 +0,0 @@
1
- import { DesignItem } from '../../item/DesignItem';
2
- import { CssAttributeParser } from "../../helper/CssAttributeParser";
3
- import { newElementFromString } from "../../helper/ElementHelper";
4
- // Alternative Parser, cause when you use the Browser, it instanciates the CusomElements, and some Elemnts remove
5
- // attributes from their DOM, so you loose Data
6
- export class NodeHtmlParserService {
7
- constructor() {
8
- this._parseDiv = document.createElement("div");
9
- }
10
- async parse(html, serviceContainer, instanceServiceContainer) {
11
- //@ts-ignore
12
- let parser = await import('../../../../../node-html-parser-esm/dist/index.js');
13
- const parsed = parser.parse(html, { comment: true });
14
- let designItems = [];
15
- for (let p of parsed.childNodes) {
16
- let di = this._createDesignItemsRecursive(p, serviceContainer, instanceServiceContainer, null);
17
- if (di != null)
18
- designItems.push(di);
19
- else
20
- console.warn("NodeHtmlParserService - could not parse element", p);
21
- }
22
- return designItems;
23
- }
24
- _createDesignItemsRecursive(item, serviceContainer, instanceServiceContainer, namespace) {
25
- let designItem = null;
26
- if (item.nodeType == 1) {
27
- let element;
28
- if (!namespace)
29
- element = newElementFromString('<' + item.rawTagName + ' ' + item.rawAttrs + '></' + item.rawTagName + '>'); // some custom elements only parse attributes during constructor call
30
- if (!element) {
31
- if (namespace)
32
- element = document.createElementNS(namespace, item.rawTagName);
33
- else
34
- element = document.createElement(item.rawTagName);
35
- }
36
- designItem = new DesignItem(element, serviceContainer, instanceServiceContainer);
37
- let hideAtDesignTime = false;
38
- let hideAtRunTime = false;
39
- let lockAtDesignTime = false;
40
- let style = '';
41
- let attr = item.attributes;
42
- for (let a in attr) {
43
- if (a !== 'style') {
44
- designItem.setAttribute(a, attr[a]);
45
- if (a === 'node-projects-hide-at-design-time')
46
- hideAtDesignTime = true;
47
- else if (a === 'node-projects-hide-at-run-time')
48
- hideAtRunTime = true;
49
- else if (a === 'node-projects-lock-at-design-time')
50
- lockAtDesignTime = true;
51
- }
52
- else {
53
- style = attr[a];
54
- }
55
- }
56
- if ((element instanceof HTMLElement || element instanceof SVGElement) && style) {
57
- let styleParser = new CssAttributeParser();
58
- styleParser.parse(style);
59
- for (let s of styleParser.entries) {
60
- designItem.setStyle(s.name, s.value);
61
- }
62
- }
63
- designItem.hideAtDesignTime = hideAtDesignTime;
64
- designItem.hideAtRunTime = hideAtRunTime;
65
- designItem.lockAtDesignTime = lockAtDesignTime;
66
- element.draggable = false; //even if it should be true, for better designer exp.
67
- for (let c of item.childNodes) {
68
- let di = this._createDesignItemsRecursive(c, serviceContainer, instanceServiceContainer, element instanceof SVGElement ? 'http://www.w3.org/2000/svg' : null);
69
- designItem.insertChild(di);
70
- }
71
- }
72
- else if (item.nodeType == 3) {
73
- this._parseDiv.innerHTML = item.rawText;
74
- let element = this._parseDiv.childNodes[0];
75
- designItem = new DesignItem(element, serviceContainer, instanceServiceContainer);
76
- }
77
- else if (item.nodeType == 8) {
78
- let element = document.createComment(item.rawText);
79
- designItem = new DesignItem(element, serviceContainer, instanceServiceContainer);
80
- }
81
- return designItem;
82
- }
83
- }
@@ -1,8 +0,0 @@
1
- import { IInstanceService } from './IInstanceService';
2
- import { IElementDefinition } from '../elementsService/IElementDefinition';
3
- import type { ServiceContainer } from '../ServiceContainer';
4
- import type { InstanceServiceContainer } from '../InstanceServiceContainer';
5
- import { IDesignItem } from '../../item/IDesignItem';
6
- export declare class DefaultInstanceService implements IInstanceService {
7
- getElement(definition: IElementDefinition, serviceContainer: ServiceContainer, instanceServiceContainer: InstanceServiceContainer): Promise<IDesignItem>;
8
- }
@@ -1,14 +0,0 @@
1
- import { DesignItem } from '../../item/DesignItem';
2
- export class DefaultInstanceService {
3
- handleMoveCommand(command) {
4
- let sel = this.instanceServiceContainer.selectionService.primarySelection;
5
- if (command == CommandType.moveBackward)
6
- this.instanceServiceContainer.undoService.execute(new MoveElementInDomAction(sel, DesignItem.GetDesignItem(sel.element.previousElementSibling), 'beforebegin', DesignItem.GetDesignItem(sel.element.previousElementSibling), 'afterend'));
7
- else if (command == CommandType.moveForward)
8
- this.instanceServiceContainer.undoService.execute(new MoveElementInDomAction(sel, DesignItem.GetDesignItem(sel.element.nextElementSibling), 'afterend', DesignItem.GetDesignItem(sel.element.nextElementSibling), 'beforebegin'));
9
- else if (command == CommandType.moveToBack)
10
- this.instanceServiceContainer.undoService.execute(new MoveElementInDomAction(sel, DesignItem.GetDesignItem(sel.element.parentElement), 'afterbegin', DesignItem.GetDesignItem(sel.element.previousElementSibling), 'afterend'));
11
- else if (command == CommandType.moveToFront)
12
- this.instanceServiceContainer.undoService.execute(new MoveElementInDomAction(sel, DesignItem.GetDesignItem(sel.element.parentElement), 'beforeend', DesignItem.GetDesignItem(sel.element.nextElementSibling), 'beforebegin'));
13
- }
14
- }
@@ -1,8 +0,0 @@
1
- import { IService } from '../IService';
2
- import { IElementDefinition } from '../elementsService/IElementDefinition';
3
- import type { ServiceContainer } from '../ServiceContainer';
4
- import type { InstanceServiceContainer } from '../InstanceServiceContainer';
5
- import { IDesignItem } from '../../item/IDesignItem';
6
- export interface IInstanceService extends IService {
7
- getElement(definition: IElementDefinition, serviceContainer: ServiceContainer, instanceServiceContainer: InstanceServiceContainer): Promise<IDesignItem>;
8
- }
@@ -1,8 +0,0 @@
1
- import { IProperty } from "../IProperty";
2
- import { BasePropertyEditor } from './BasePropertyEditor';
3
- import { ValueType } from "../ValueType";
4
- import { ImageButtonListSelector } from "../../../controls/ImageButtonListSelector.js";
5
- export declare class ImageButtonListPropertyEditor extends BasePropertyEditor<ImageButtonListSelector> {
6
- constructor(property: IProperty);
7
- refreshValue(valueType: ValueType, value: any): void;
8
- }
@@ -1,40 +0,0 @@
1
- import { BasePropertyEditor } from './BasePropertyEditor';
2
- import { ImageButtonListSelector } from "../../../controls/ImageButtonListSelector.js";
3
- import { PropertiesHelper } from "../services/PropertiesHelper.js";
4
- import { assetsPath } from "../../../../Constants.js";
5
- export class ImageButtonListPropertyEditor extends BasePropertyEditor {
6
- constructor(property) {
7
- super(property);
8
- const selector = new ImageButtonListSelector();
9
- selector.property = property.name;
10
- selector.unsetValue = property.defaultValue;
11
- const propName = PropertiesHelper.camelToDashCase(property.name);
12
- if (property.type == 'enum') {
13
- for (let v of property.enumValues) {
14
- let button = document.createElement("button");
15
- button.dataset.value = v[1];
16
- let img = document.createElement("img");
17
- img.title = v[1];
18
- img.src = assetsPath + 'images/chromeDevtools/' + propName + '-' + v[1] + '-icon.svg';
19
- button.appendChild(img);
20
- selector.appendChild(button);
21
- }
22
- }
23
- else {
24
- for (let v of property.values) {
25
- let button = document.createElement("button");
26
- button.dataset.value = v;
27
- let img = document.createElement("img");
28
- img.title = v;
29
- img.src = assetsPath + 'images/chromeDevtools/' + propName + '-' + v + '-icon.svg';
30
- button.appendChild(img);
31
- selector.appendChild(button);
32
- }
33
- }
34
- selector.valueChanged.on((e) => this._valueChanged(e.newValue));
35
- this.element = selector;
36
- }
37
- refreshValue(valueType, value) {
38
- this.element.value = value;
39
- }
40
- }
@@ -1,16 +0,0 @@
1
- import { IPropertiesService } from "../IPropertiesService";
2
- import { IProperty } from '../IProperty';
3
- import { IDesignItem } from '../../../item/IDesignItem';
4
- import { ValueType } from "../ValueType";
5
- export declare class CommonPropertiesService implements IPropertiesService {
6
- private commonProperties;
7
- name: string;
8
- isHandledElement(designItem: IDesignItem): boolean;
9
- getProperty(designItem: IDesignItem, name: string): IProperty;
10
- getProperties(designItem: IDesignItem): IProperty[];
11
- setValue(designItems: IDesignItem[], property: IProperty, value: any): void;
12
- clearValue(designItems: IDesignItem[], property: IProperty): void;
13
- isSet(designItems: IDesignItem[], property: IProperty): ValueType;
14
- getValue(designItems: IDesignItem[], property: IProperty): string | boolean | import("../../bindingsService/IBinding").IBinding;
15
- getUnsetValue(designItems: IDesignItem[], property: IProperty): any;
16
- }