@node-projects/web-component-designer 0.0.74 → 0.0.78

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 (56) hide show
  1. package/README.md +2 -2
  2. package/dist/elements/documentContainer.d.ts +3 -0
  3. package/dist/elements/documentContainer.js +13 -3
  4. package/dist/elements/helper/ElementHelper.d.ts +1 -0
  5. package/dist/elements/helper/ElementHelper.js +3 -0
  6. package/dist/elements/helper/IndentedTextWriter.d.ts +1 -0
  7. package/dist/elements/helper/IndentedTextWriter.js +3 -0
  8. package/dist/elements/services/BaseServiceContainer.d.ts +1 -0
  9. package/dist/elements/services/BaseServiceContainer.js +7 -0
  10. package/dist/elements/services/demoProviderService/DemoProviderService.d.ts +1 -1
  11. package/dist/elements/services/demoProviderService/DemoProviderService.js +3 -2
  12. package/dist/elements/services/demoProviderService/IDemoProviderService.d.ts +1 -1
  13. package/dist/elements/services/elementsService/IElementDefinition.d.ts +2 -0
  14. package/dist/elements/services/elementsService/IElementsJson.d.ts +1 -0
  15. package/dist/elements/services/htmlWriterService/HtmlWriterService copy.d.ts +12 -0
  16. package/dist/elements/services/htmlWriterService/HtmlWriterService copy.js +103 -0
  17. package/dist/elements/services/htmlWriterService/HtmlWriterService.js +27 -10
  18. package/dist/elements/services/htmlWriterService/LitElementWriterService.d.ts +12 -0
  19. package/dist/elements/services/htmlWriterService/LitElementWriterService.js +107 -0
  20. package/dist/elements/services/instanceService/DefaultInstanceService.js +1 -1
  21. package/dist/elements/services/manifestLoaders/WebcomponentManifestParserService.d.ts +26 -0
  22. package/dist/elements/services/manifestLoaders/WebcomponentManifestParserService.js +69 -0
  23. package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.d.ts +23 -0
  24. package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.js +80 -0
  25. package/dist/elements/services/propertiesService/DefaultEditorTypesService.js +0 -1
  26. package/dist/elements/services/propertiesService/IPropertiesService.d.ts +0 -1
  27. package/dist/elements/services/propertiesService/IProperty.d.ts +5 -1
  28. package/dist/elements/services/propertiesService/PropertyType.d.ts +6 -0
  29. package/dist/elements/services/propertiesService/PropertyType.js +7 -0
  30. package/dist/elements/services/propertiesService/services/AbstractBasePropertiesService.js +7 -6
  31. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.js +3 -2
  32. package/dist/elements/services/propertiesService/services/CommonPropertiesService.js +11 -4
  33. package/dist/elements/services/propertiesService/services/CssPropertiesService.js +81 -41
  34. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinition.d.ts +4 -0
  35. package/dist/elements/services/propertiesService/services/ListPropertiesService.js +5 -1
  36. package/dist/elements/services/propertiesService/services/Lit2PropertiesService.js +7 -6
  37. package/dist/elements/services/propertiesService/services/NativeElementsPropertiesService.js +25 -12
  38. package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.d.ts +1 -2
  39. package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.js +1 -1
  40. package/dist/elements/services/webcomponentManifestParserService/WebcomponentManifestParserService.1.d.ts +0 -0
  41. package/dist/elements/services/webcomponentManifestParserService/WebcomponentManifestParserService.1.js +1 -0
  42. package/dist/elements/services/webcomponentManifestParserService/webcomponentManifestParserService.d.ts +26 -0
  43. package/dist/elements/services/webcomponentManifestParserService/webcomponentManifestParserService.js +69 -0
  44. package/dist/elements/widgets/demoView/IDemoView.d.ts +1 -1
  45. package/dist/elements/widgets/demoView/demoView.d.ts +1 -1
  46. package/dist/elements/widgets/demoView/demoView.js +2 -2
  47. package/dist/elements/widgets/designerView/designerCanvas.js +6 -0
  48. package/dist/elements/widgets/paletteView/paletteTreeView.js +13 -8
  49. package/dist/elements/widgets/paletteView/paletteView.js +10 -5
  50. package/dist/index.d.ts +3 -0
  51. package/dist/index.js +3 -0
  52. package/package.json +2 -1
  53. package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction copy.d.ts +0 -16
  54. package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction copy.js +0 -32
  55. package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction.d.ts +0 -16
  56. package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction.js +0 -31
@@ -1,4 +1,5 @@
1
1
  import { CommonPropertiesService } from "./CommonPropertiesService";
2
+ import { PropertyType } from '../PropertyType';
2
3
  export class NativeElementsPropertiesService extends CommonPropertiesService {
3
4
  //@ts-ignore
4
5
  inputProperties = [
@@ -7,23 +8,28 @@ export class NativeElementsPropertiesService extends CommonPropertiesService {
7
8
  type: "list",
8
9
  values: ["text", "number", "button", "checkbox", "color", "date", "datetime-local", "email", "file", "hidden", "image", "month", "password", "radio", "range", "reset", "search", "submit", "tel", "time", "url", "week"],
9
10
  service: this,
10
- defaultValue: "text"
11
+ defaultValue: "text",
12
+ propertyType: PropertyType.propertyAndAttribute
11
13
  }, {
12
14
  name: "value",
13
15
  type: "string",
14
- service: this
16
+ service: this,
17
+ propertyType: PropertyType.propertyAndAttribute
15
18
  }, {
16
19
  name: "checked",
17
20
  type: "boolean",
18
- service: this
21
+ service: this,
22
+ propertyType: PropertyType.propertyAndAttribute
19
23
  }, {
20
24
  name: "min",
21
25
  type: "number",
22
- service: this
26
+ service: this,
27
+ propertyType: PropertyType.propertyAndAttribute
23
28
  }, {
24
29
  name: "max",
25
30
  type: "number",
26
- service: this
31
+ service: this,
32
+ propertyType: PropertyType.propertyAndAttribute
27
33
  }
28
34
  ];
29
35
  buttonProperties = [
@@ -32,43 +38,50 @@ export class NativeElementsPropertiesService extends CommonPropertiesService {
32
38
  type: "list",
33
39
  values: ["button", "submit", "reset"],
34
40
  service: this,
35
- defaultValue: "button"
41
+ defaultValue: "button",
42
+ propertyType: PropertyType.propertyAndAttribute
36
43
  }, {
37
44
  name: "value",
38
45
  type: "string",
39
- service: this
46
+ service: this,
47
+ propertyType: PropertyType.propertyAndAttribute
40
48
  }, {
41
49
  name: "disabled",
42
50
  type: "boolean",
43
- service: this
51
+ service: this,
52
+ propertyType: PropertyType.propertyAndAttribute
44
53
  }
45
54
  ];
46
55
  anchorProperties = [
47
56
  {
48
57
  name: "href",
49
58
  type: "string",
50
- service: this
59
+ service: this,
60
+ propertyType: PropertyType.propertyAndAttribute
51
61
  }
52
62
  ];
53
63
  divProperties = [
54
64
  {
55
65
  name: "title",
56
66
  type: "string",
57
- service: this
67
+ service: this,
68
+ propertyType: PropertyType.propertyAndAttribute
58
69
  }
59
70
  ];
60
71
  imgProperties = [
61
72
  {
62
73
  name: "src",
63
74
  type: "string",
64
- service: this
75
+ service: this,
76
+ propertyType: PropertyType.propertyAndAttribute
65
77
  }
66
78
  ];
67
79
  iframeProperties = [
68
80
  {
69
81
  name: "src",
70
82
  type: "string",
71
- service: this
83
+ service: this,
84
+ propertyType: PropertyType.propertyAndAttribute
72
85
  }
73
86
  ];
74
87
  name = "native";
@@ -3,8 +3,7 @@ import { IProperty } from '../IProperty';
3
3
  import { IDesignItem } from '../../../item/IDesignItem';
4
4
  import { ValueType } from "../ValueType";
5
5
  import { BindingTarget } from "../../../item/BindingTarget";
6
- export declare class UnkownElementPropertiesService implements IPropertiesService {
7
- readonly name: string;
6
+ export declare abstract class UnkownElementPropertiesService implements IPropertiesService {
8
7
  isHandledElement(designItem: IDesignItem): boolean;
9
8
  protected _notifyChangedProperty(designItem: IDesignItem, property: IProperty, value: any): void;
10
9
  getProperty(designItem: IDesignItem, name: string): IProperty;
@@ -1,8 +1,8 @@
1
1
  import { ValueType } from "../ValueType";
2
2
  import { PropertiesHelper } from './PropertiesHelper';
3
3
  import { BindingTarget } from "../../../item/BindingTarget";
4
+ //@ts-ignore
4
5
  export class UnkownElementPropertiesService {
5
- name = "unkown";
6
6
  isHandledElement(designItem) {
7
7
  return true;
8
8
  }
@@ -0,0 +1,26 @@
1
+ import { IDesignItem } from "../../..";
2
+ import { BindingTarget } from "../../item/BindingTarget";
3
+ import { IElementDefinition } from "../elementsService/IElementDefinition";
4
+ import { IElementsService } from "../elementsService/IElementsService";
5
+ import { IPropertiesService } from "../propertiesService/IPropertiesService";
6
+ import { IProperty } from "../propertiesService/IProperty";
7
+ import { ValueType } from "../propertiesService/ValueType";
8
+ export declare class WebcomponentManifestParserService implements IElementsService, IPropertiesService {
9
+ private _name;
10
+ get name(): string;
11
+ private _packageData;
12
+ private _elementList;
13
+ private _resolveStored;
14
+ private _rejectStored;
15
+ constructor(name: string, file: string);
16
+ getElements(): Promise<IElementDefinition[]>;
17
+ isHandledElement(designItem: IDesignItem): boolean;
18
+ getProperties(designItem: IDesignItem): IProperty[];
19
+ getProperty(designItem: IDesignItem, name: string): IProperty;
20
+ getPropertyTarget(designItem: IDesignItem, property: IProperty): BindingTarget;
21
+ setValue(designItems: IDesignItem[], property: IProperty, value: any): void;
22
+ clearValue(designItems: IDesignItem[], property: IProperty): void;
23
+ isSet(designItems: IDesignItem[], property: IProperty): ValueType;
24
+ getValue(designItems: IDesignItem[], property: IProperty): void;
25
+ getUnsetValue(designItems: IDesignItem[], property: IProperty): void;
26
+ }
@@ -0,0 +1,69 @@
1
+ export class WebcomponentManifestParserService {
2
+ _name;
3
+ get name() { return this._name; }
4
+ _packageData;
5
+ _elementList;
6
+ _resolveStored;
7
+ _rejectStored;
8
+ constructor(name, file) {
9
+ this._name = name;
10
+ import(file, { assert: { type: 'json' } }).then(module => {
11
+ this._packageData = module.default;
12
+ this._elementList = [];
13
+ for (let m of this._packageData.modules) {
14
+ for (let e of m.exports) {
15
+ if (e.kind == 'custom-element-definition') {
16
+ this._elementList.push({ tag: e.name });
17
+ }
18
+ }
19
+ if (this._resolveStored) {
20
+ this._resolveStored.forEach(x => x(this._elementList));
21
+ this._resolveStored = null;
22
+ this._rejectStored = null;
23
+ }
24
+ }
25
+ }).catch(err => {
26
+ if (this._rejectStored) {
27
+ this._rejectStored.forEach(x => x(err));
28
+ this._resolveStored = null;
29
+ this._rejectStored = null;
30
+ }
31
+ });
32
+ }
33
+ async getElements() {
34
+ if (this._packageData)
35
+ return Promise.resolve(this._elementList);
36
+ if (!this._resolveStored) {
37
+ this._resolveStored = [];
38
+ this._rejectStored = [];
39
+ }
40
+ return new Promise((resolve, reject) => { this._resolveStored.push(resolve); this._rejectStored.push(reject); });
41
+ }
42
+ isHandledElement(designItem) {
43
+ throw new Error("Method not implemented.");
44
+ }
45
+ getProperties(designItem) {
46
+ throw new Error("Method not implemented.");
47
+ }
48
+ getProperty(designItem, name) {
49
+ throw new Error("Method not implemented.");
50
+ }
51
+ getPropertyTarget(designItem, property) {
52
+ throw new Error("Method not implemented.");
53
+ }
54
+ setValue(designItems, property, value) {
55
+ throw new Error("Method not implemented.");
56
+ }
57
+ clearValue(designItems, property) {
58
+ throw new Error("Method not implemented.");
59
+ }
60
+ isSet(designItems, property) {
61
+ throw new Error("Method not implemented.");
62
+ }
63
+ getValue(designItems, property) {
64
+ throw new Error("Method not implemented.");
65
+ }
66
+ getUnsetValue(designItems, property) {
67
+ throw new Error("Method not implemented.");
68
+ }
69
+ }
@@ -1,5 +1,5 @@
1
1
  import { InstanceServiceContainer } from '../../services/InstanceServiceContainer';
2
2
  import { ServiceContainer } from '../../services/ServiceContainer';
3
3
  export interface IDemoView {
4
- display(serviceContainer: ServiceContainer, instanceServiceContainer: InstanceServiceContainer, code: string): any;
4
+ display(serviceContainer: ServiceContainer, instanceServiceContainer: InstanceServiceContainer, code: string, style: string): any;
5
5
  }
@@ -7,5 +7,5 @@ export declare class DemoView extends BaseCustomWebComponentLazyAppend implement
7
7
  private _loading;
8
8
  static readonly style: CSSStyleSheet;
9
9
  constructor();
10
- display(serviceContainer: ServiceContainer, instanceServiceContainer: InstanceServiceContainer, code: string): Promise<void>;
10
+ display(serviceContainer: ServiceContainer, instanceServiceContainer: InstanceServiceContainer, code: string, style: string): Promise<void>;
11
11
  }
@@ -29,9 +29,9 @@ export class DemoView extends BaseCustomWebComponentLazyAppend {
29
29
  this._loading.textContent = '🛀 Hold on, loading...';
30
30
  this.shadowRoot.appendChild(this._loading);
31
31
  }
32
- async display(serviceContainer, instanceServiceContainer, code) {
32
+ async display(serviceContainer, instanceServiceContainer, code, style) {
33
33
  this._loading.hidden = false;
34
- await serviceContainer.demoProviderService.provideDemo(this._placeholder, serviceContainer, instanceServiceContainer, code);
34
+ await serviceContainer.demoProviderService.provideDemo(this._placeholder, serviceContainer, instanceServiceContainer, code, style);
35
35
  this._loading.hidden = true;
36
36
  }
37
37
  }
@@ -73,6 +73,12 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
73
73
  position: relative;
74
74
  transform: translateZ(0);
75
75
  overflow: hidden;
76
+
77
+ font-family: initial;
78
+ font-size: initial;
79
+ font-weight: initial;
80
+ font-style: initial;
81
+ line-height: initial;
76
82
  }
77
83
  * {
78
84
  touch-action: none;
@@ -101,14 +101,19 @@ export class PaletteTreeView extends BaseCustomWebComponentConstructorAppend {
101
101
  title: s.name,
102
102
  folder: true
103
103
  });
104
- let elements = await s.getElements();
105
- for (let e of elements) {
106
- newNode.addChildren({
107
- title: e.name ?? e.tag,
108
- folder: false,
109
- //@ts-ignore
110
- ref: e
111
- });
104
+ try {
105
+ let elements = await s.getElements();
106
+ for (let e of elements) {
107
+ newNode.addChildren({
108
+ title: e.name ?? e.tag,
109
+ folder: false,
110
+ //@ts-ignore
111
+ ref: e
112
+ });
113
+ }
114
+ }
115
+ catch (err) {
116
+ console.warn('Error loading elements', err);
112
117
  }
113
118
  //@ts-ignore
114
119
  newNode.updateCounters();
@@ -20,11 +20,16 @@ export class PaletteView extends BaseCustomWebComponentLazyAppend {
20
20
  }
21
21
  async loadControls(serviceContainer, elementsServices) {
22
22
  for (const s of elementsServices) {
23
- let elements = await s.getElements();
24
- let paletteElement = new PaletteElements();
25
- paletteElement.title = s.name;
26
- this._designerTabControl.appendChild(paletteElement);
27
- paletteElement.loadElements(serviceContainer, elements);
23
+ try {
24
+ let elements = await s.getElements();
25
+ let paletteElement = new PaletteElements();
26
+ paletteElement.title = s.name;
27
+ this._designerTabControl.appendChild(paletteElement);
28
+ paletteElement.loadElements(serviceContainer, elements);
29
+ }
30
+ catch (err) {
31
+ console.warn('Error loading elements', err);
32
+ }
28
33
  }
29
34
  }
30
35
  }
package/dist/index.d.ts CHANGED
@@ -42,6 +42,7 @@ export type { IElementDefinition } from "./elements/services/elementsService/IEl
42
42
  export type { IElementsJson } from "./elements/services/elementsService/IElementsJson.js";
43
43
  export type { IElementsService } from "./elements/services/elementsService/IElementsService.js";
44
44
  export * from "./elements/services/elementsService/JsonFileElementsService.js";
45
+ export * from "./elements/services/elementsService/PreDefinedElementsService.js";
45
46
  export type { IHtmlWriterService } from "./elements/services/htmlWriterService/IHtmlWriterService.js";
46
47
  export type { IHtmlWriterOptions } from "./elements/services/htmlWriterService/IHtmlWriterOptions.js";
47
48
  export * from "./elements/services/htmlWriterService/HtmlWriterService.js";
@@ -53,6 +54,7 @@ export * from "./elements/services/instanceService/DefaultInstanceService.js";
53
54
  export type { IInstanceService } from "./elements/services/instanceService/IInstanceService.js";
54
55
  export * from "./elements/services/instanceService/PrepareElementsForDesignerService.js";
55
56
  export type { IPrepareElementsForDesignerService } from "./elements/services/instanceService/IPrepareElementsForDesignerService.js";
57
+ export * from "./elements/services/manifestParsers/WebcomponentManifestParserService.js";
56
58
  export type { IModelCommandService } from "./elements/services/modelCommandService/IModelCommandService.js";
57
59
  export * from "./elements/services/modelCommandService/DefaultModelCommandService.js";
58
60
  export * from "./elements/services/propertiesService/DefaultEditorTypesService.js";
@@ -68,6 +70,7 @@ export * from "./elements/services/propertiesService/services/LitElementProperti
68
70
  export * from "./elements/services/propertiesService/services/NativeElementsPropertiesService.js";
69
71
  export * from "./elements/services/propertiesService/services/PolymerPropertiesService.js";
70
72
  export * from "./elements/services/propertiesService/services/UnkownElementPropertiesService.js";
73
+ export * from "./elements/services/propertiesService/PropertyType.js";
71
74
  export * from "./elements/services/propertiesService/ValueType.js";
72
75
  export type { ISelectionChangedEvent } from "./elements/services/selectionService/ISelectionChangedEvent.js";
73
76
  export type { ISelectionService } from "./elements/services/selectionService/ISelectionService.js";
package/dist/index.js CHANGED
@@ -25,11 +25,13 @@ export * from "./elements/services/copyPasteService/CopyPasteService.js";
25
25
  export * from "./elements/services/demoProviderService/DemoProviderService.js";
26
26
  export * from "./elements/services/dragDropService/DragDropService.js";
27
27
  export * from "./elements/services/elementsService/JsonFileElementsService.js";
28
+ export * from "./elements/services/elementsService/PreDefinedElementsService.js";
28
29
  export * from "./elements/services/htmlWriterService/HtmlWriterService.js";
29
30
  export * from "./elements/services/htmlParserService/DefaultHtmlParserService.js";
30
31
  export * from "./elements/services/htmlParserService/NodeHtmlParserService.js";
31
32
  export * from "./elements/services/instanceService/DefaultInstanceService.js";
32
33
  export * from "./elements/services/instanceService/PrepareElementsForDesignerService.js";
34
+ export * from "./elements/services/manifestParsers/WebcomponentManifestParserService.js";
33
35
  export * from "./elements/services/modelCommandService/DefaultModelCommandService.js";
34
36
  export * from "./elements/services/propertiesService/DefaultEditorTypesService.js";
35
37
  export * from "./elements/services/propertiesService/services/PropertiesHelper.js";
@@ -41,6 +43,7 @@ export * from "./elements/services/propertiesService/services/LitElementProperti
41
43
  export * from "./elements/services/propertiesService/services/NativeElementsPropertiesService.js";
42
44
  export * from "./elements/services/propertiesService/services/PolymerPropertiesService.js";
43
45
  export * from "./elements/services/propertiesService/services/UnkownElementPropertiesService.js";
46
+ export * from "./elements/services/propertiesService/PropertyType.js";
44
47
  export * from "./elements/services/propertiesService/ValueType.js";
45
48
  export * from "./elements/services/selectionService/SelectionService.js";
46
49
  export * from "./elements/services/undoService/ChangeGroup.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.74",
4
+ "version": "0.0.78",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "author": "",
@@ -24,6 +24,7 @@
24
24
  "@types/jquery.fancytree": "0.0.7",
25
25
  "ace-builds": "^1.4.13",
26
26
  "codemirror": "^5.65.0",
27
+ "custom-elements-manifest": "^1.0.0",
27
28
  "esprima-next": "^5.7.0",
28
29
  "html2canvas": "*",
29
30
  "jest": "^27.4.5",
@@ -1,16 +0,0 @@
1
- import { ITransactionItem } from '../ITransactionItem';
2
- import { IDesignItem } from '../../../item/IDesignItem';
3
- export declare class MoveElementInDomAction implements ITransactionItem {
4
- constructor(designItem: IDesignItem, newTarget: IDesignItem, newPosition: InsertPosition, oldTarget: IDesignItem, oldPosition: InsertPosition);
5
- title?: string;
6
- get affectedItems(): IDesignItem[];
7
- undo(): void;
8
- do(): void;
9
- designItem: IDesignItem;
10
- newTarget: IDesignItem;
11
- newPosition: InsertPosition;
12
- oldTarget: IDesignItem;
13
- oldPosition: InsertPosition;
14
- newItem: IDesignItem;
15
- mergeWith(other: ITransactionItem): boolean;
16
- }
@@ -1,32 +0,0 @@
1
- export class MoveElementInDomAction {
2
- constructor(designItem, newTarget, newPosition, oldTarget, oldPosition) {
3
- this.title = "Move Item";
4
- this.designItem = designItem;
5
- this.newTarget = newTarget;
6
- this.newPosition = newPosition;
7
- this.oldTarget = oldTarget;
8
- this.oldPosition = oldPosition;
9
- }
10
- title;
11
- get affectedItems() {
12
- return [this.designItem, this.newTarget, this.oldTarget];
13
- }
14
- undo() {
15
- this.oldTarget.element.insertAdjacentElement(this.oldPosition, this.designItem.element);
16
- this.affectedItems[0].instanceServiceContainer.contentService.onContentChanged.emit({ changeType: 'moved', designItems: [this.designItem] });
17
- }
18
- do() {
19
- //this.newTarget.insertChild(this.designItem, )
20
- this.newTarget.element.insertAdjacentElement(this.newPosition, this.designItem.element);
21
- this.affectedItems[0].instanceServiceContainer.contentService.onContentChanged.emit({ changeType: 'moved', designItems: [this.designItem] });
22
- }
23
- designItem;
24
- newTarget;
25
- newPosition;
26
- oldTarget;
27
- oldPosition;
28
- newItem;
29
- mergeWith(other) {
30
- return false;
31
- }
32
- }
@@ -1,16 +0,0 @@
1
- import { ITransactionItem } from '../ITransactionItem';
2
- import { IDesignItem } from '../../../item/IDesignItem';
3
- export declare class MoveElementInDomAction implements ITransactionItem {
4
- constructor(designItem: IDesignItem, newTarget: IDesignItem, newPosition: InsertPosition, oldTarget: IDesignItem, oldPosition: InsertPosition);
5
- title?: string;
6
- get affectedItems(): IDesignItem[];
7
- undo(): void;
8
- do(): void;
9
- designItem: IDesignItem;
10
- newTarget: IDesignItem;
11
- newPosition: InsertPosition;
12
- oldTarget: IDesignItem;
13
- oldPosition: InsertPosition;
14
- newItem: IDesignItem;
15
- mergeWith(other: ITransactionItem): boolean;
16
- }
@@ -1,31 +0,0 @@
1
- export class MoveElementInDomAction {
2
- constructor(designItem, newTarget, newPosition, oldTarget, oldPosition) {
3
- this.title = "Move Item";
4
- this.designItem = designItem;
5
- this.newTarget = newTarget;
6
- this.newPosition = newPosition;
7
- this.oldTarget = oldTarget;
8
- this.oldPosition = oldPosition;
9
- }
10
- title;
11
- get affectedItems() {
12
- return [this.designItem, this.newTarget, this.oldTarget];
13
- }
14
- undo() {
15
- this.oldTarget.element.insertAdjacentElement(this.oldPosition, this.designItem.element);
16
- this.affectedItems[0].instanceServiceContainer.contentService.onContentChanged.emit({ changeType: 'moved', designItems: [this.designItem] });
17
- }
18
- do() {
19
- this.newTarget.element.insertAdjacentElement(this.newPosition, this.designItem.element);
20
- this.affectedItems[0].instanceServiceContainer.contentService.onContentChanged.emit({ changeType: 'moved', designItems: [this.designItem] });
21
- }
22
- designItem;
23
- newTarget;
24
- newPosition;
25
- oldTarget;
26
- oldPosition;
27
- newItem;
28
- mergeWith(other) {
29
- return false;
30
- }
31
- }