@node-projects/web-component-designer 0.0.72 → 0.0.76

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 (57) hide show
  1. package/README.md +2 -2
  2. package/dist/elements/item/DesignItem.d.ts +5 -1
  3. package/dist/elements/item/DesignItem.js +56 -29
  4. package/dist/elements/item/IDesignItem.d.ts +4 -0
  5. package/dist/elements/services/BaseServiceContainer.d.ts +1 -0
  6. package/dist/elements/services/BaseServiceContainer.js +7 -0
  7. package/dist/elements/services/demoProviderService/DemoProviderService.js +1 -1
  8. package/dist/elements/services/elementsService/IElementDefinition.d.ts +2 -0
  9. package/dist/elements/services/elementsService/IElementsJson.d.ts +1 -0
  10. package/dist/elements/services/htmlParserService/NodeHtmlParserService.js +1 -1
  11. package/dist/elements/services/instanceService/DefaultInstanceService.js +1 -1
  12. package/dist/elements/services/manifestLoaders/WebcomponentManifestParserService.d.ts +26 -0
  13. package/dist/elements/services/manifestLoaders/WebcomponentManifestParserService.js +69 -0
  14. package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.d.ts +23 -0
  15. package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.js +80 -0
  16. package/dist/elements/services/modelCommandService/DefaultModelCommandService.js +12 -8
  17. package/dist/elements/services/placementService/SnaplinesProviderService.d.ts +2 -0
  18. package/dist/elements/services/placementService/SnaplinesProviderService.js +10 -0
  19. package/dist/elements/services/propertiesService/DefaultEditorTypesService.js +0 -1
  20. package/dist/elements/services/propertiesService/IPropertiesService.d.ts +0 -1
  21. package/dist/elements/services/propertiesService/IProperty.d.ts +5 -1
  22. package/dist/elements/services/propertiesService/PropertyType.d.ts +6 -0
  23. package/dist/elements/services/propertiesService/PropertyType.js +7 -0
  24. package/dist/elements/services/propertiesService/services/AbstractBasePropertiesService.js +7 -6
  25. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.js +3 -2
  26. package/dist/elements/services/propertiesService/services/CommonPropertiesService.js +11 -4
  27. package/dist/elements/services/propertiesService/services/CssPropertiesService.js +81 -41
  28. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinition.d.ts +4 -0
  29. package/dist/elements/services/propertiesService/services/ListPropertiesService.js +5 -1
  30. package/dist/elements/services/propertiesService/services/Lit2PropertiesService.js +7 -6
  31. package/dist/elements/services/propertiesService/services/NativeElementsPropertiesService.js +25 -12
  32. package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.d.ts +1 -2
  33. package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.js +1 -1
  34. package/dist/elements/services/undoService/transactionItems/DeleteAction.d.ts +1 -3
  35. package/dist/elements/services/undoService/transactionItems/DeleteAction.js +2 -5
  36. package/dist/elements/services/undoService/transactionItems/InsertAction.js +1 -1
  37. package/dist/elements/services/undoService/transactionItems/InsertChildAction.d.ts +16 -0
  38. package/dist/elements/services/undoService/transactionItems/InsertChildAction.js +31 -0
  39. package/dist/elements/services/webcomponentManifestParserService/WebcomponentManifestParserService.1.d.ts +0 -0
  40. package/dist/elements/services/webcomponentManifestParserService/WebcomponentManifestParserService.1.js +1 -0
  41. package/dist/elements/services/webcomponentManifestParserService/webcomponentManifestParserService.d.ts +26 -0
  42. package/dist/elements/services/webcomponentManifestParserService/webcomponentManifestParserService.js +69 -0
  43. package/dist/elements/widgets/bindableObjectsBrowser/bindable-objects-browser.js +2 -3
  44. package/dist/elements/widgets/codeView/code-view-code-mirror.js +6 -7
  45. package/dist/elements/widgets/codeView/code-view-monaco.js +6 -4
  46. package/dist/elements/widgets/designerView/designerCanvas.js +8 -2
  47. package/dist/elements/widgets/designerView/tools/PointerTool.js +1 -1
  48. package/dist/elements/widgets/paletteView/paletteTreeView.js +15 -11
  49. package/dist/elements/widgets/paletteView/paletteView.js +10 -5
  50. package/dist/elements/widgets/treeView/treeViewExtended.js +2 -8
  51. package/dist/index.d.ts +5 -1
  52. package/dist/index.js +4 -1
  53. package/dist/interfaces/ICommandHandler.d.ts +5 -0
  54. package/dist/interfaces/ICommandHandler.js +1 -0
  55. package/package.json +2 -1
  56. package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction.d.ts +0 -16
  57. package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction.js +0 -31
@@ -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
+ }
@@ -29,9 +29,8 @@ export class BindableObjectsBrowser extends BaseCustomWebComponentLazyAppend {
29
29
  `;
30
30
  constructor() {
31
31
  super();
32
- let externalCss = document.createElement('style');
33
- externalCss.innerHTML = '@import url("./node_modules/jquery.fancytree/dist/skin-win8/ui.fancytree.css");';
34
- this.shadowRoot.appendChild(externalCss);
32
+ //@ts-ignore
33
+ import("jquery.fancytree/dist/skin-win8/ui.fancytree.css", { assert: { type: 'css' } }).then(x => this.shadowRoot.adoptedStyleSheets = [x.default, this.constructor.style]);
35
34
  this._treeDiv = document.createElement('div');
36
35
  this._treeDiv.style.height = '100%';
37
36
  this._treeDiv.style.overflow = 'auto';
@@ -12,16 +12,15 @@ export class CodeViewCodeMirror extends BaseCustomWebComponentLazyAppend {
12
12
  display: block;
13
13
  height: 100%;
14
14
  width: 100%;
15
- }
16
- `;
15
+ }`;
17
16
  static template = html `
18
- <style>@import "./node_modules/codemirror/lib/codemirror.css";</style>
19
- <div style="width: 100%; height: 100%;">
20
- <div id="textarea"></div>
21
- </div>
22
- `;
17
+ <div style="width: 100%; height: 100%;">
18
+ <div id="textarea"></div>
19
+ </div>`;
23
20
  constructor() {
24
21
  super();
22
+ //@ts-ignore
23
+ import("codemirror/lib/codemirror.css", { assert: { type: 'css' } }).then(x => this.shadowRoot.adoptedStyleSheets = [x.default, this.constructor.style]);
25
24
  this.style.display = 'block';
26
25
  this._editor = this._getDomElement('textarea');
27
26
  }
@@ -18,8 +18,7 @@ export class CodeViewMonaco extends BaseCustomWebComponentLazyAppend {
18
18
  }
19
19
  `;
20
20
  static template = html `
21
- <style>@import "./node_modules/monaco-editor/min/vs/editor/editor.main.css";</style>
22
- <div id="container" style="width: 100%; height: 100%;"></div>
21
+ <div id="container" style="width: 100%; height: 100%; position: absolute;"></div>
23
22
  `;
24
23
  executeCommand(command) {
25
24
  switch (command.type) {
@@ -54,6 +53,9 @@ export class CodeViewMonaco extends BaseCustomWebComponentLazyAppend {
54
53
  return false;
55
54
  }
56
55
  async ready() {
56
+ //@ts-ignore
57
+ const style = await import("monaco-editor/min/vs/editor/editor.main.css", { assert: { type: 'css' } });
58
+ this.shadowRoot.adoptedStyleSheets = [style.default, this.constructor.style];
57
59
  this._editor = this._getDomElement('container');
58
60
  //@ts-ignore
59
61
  require.config({ paths: { 'vs': 'node_modules/monaco-editor/min/vs' } });
@@ -65,9 +67,9 @@ export class CodeViewMonaco extends BaseCustomWebComponentLazyAppend {
65
67
  value: this.code,
66
68
  language: 'html',
67
69
  minimap: {
68
- //@ts-ignore
69
70
  size: 'fill'
70
- }
71
+ },
72
+ fixedOverflowWidgets: true
71
73
  });
72
74
  this._monacoEditor.layout();
73
75
  let changeContentListener = this._monacoEditor.getModel().onDidChangeContent(e => {
@@ -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;
@@ -290,7 +296,7 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
290
296
  }
291
297
  handleDeleteCommand() {
292
298
  let items = this.instanceServiceContainer.selectionService.selectedElements;
293
- this.instanceServiceContainer.undoService.execute(new DeleteAction(items, this.extensionManager));
299
+ this.instanceServiceContainer.undoService.execute(new DeleteAction(items));
294
300
  this.instanceServiceContainer.selectionService.setSelectedElements(null);
295
301
  }
296
302
  initialize(serviceContainer) {
@@ -362,7 +368,7 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
362
368
  addDesignItems(designItems) {
363
369
  if (designItems) {
364
370
  for (let di of designItems) {
365
- this.rootDesignItem.insertChild(di);
371
+ this.rootDesignItem._insertChildInternal(di);
366
372
  }
367
373
  }
368
374
  const intializationService = this.serviceContainer.intializationService;
@@ -281,7 +281,7 @@ export class PointerTool {
281
281
  const newOffset = newContainerService.getElementOffset(newContainerElementDesignItem, this._actionStartedDesignItem);
282
282
  this._moveItemsOffset = { x: newOffset.x - oldOffset.x + this._moveItemsOffset.x, y: newOffset.y - oldOffset.y + this._moveItemsOffset.y };
283
283
  currentContainerService.leaveContainer(this._actionStartedDesignItem.parent, [this._actionStartedDesignItem]);
284
- newContainerElementDesignItem.insertChild(this._actionStartedDesignItem);
284
+ newContainerElementDesignItem._insertChildInternal(this._actionStartedDesignItem);
285
285
  const cp = { x: currentPoint.x - this._moveItemsOffset.x, y: currentPoint.y - this._moveItemsOffset.y };
286
286
  newContainerService.enterContainer(newContainerElementDesignItem, [this._actionStartedDesignItem]);
287
287
  newContainerService.place(event, designerCanvas, this._actionStartedDesignItem.parent, this._initialPoint, this._initialOffset, cp, designerCanvas.instanceServiceContainer.selectionService.selectedElements);
@@ -55,9 +55,8 @@ export class PaletteTreeView extends BaseCustomWebComponentConstructorAppend {
55
55
  </div>`;
56
56
  constructor() {
57
57
  super();
58
- let externalCss = document.createElement('style');
59
- externalCss.innerHTML = '@import url("./node_modules/jquery.fancytree/dist/skin-win8/ui.fancytree.css");';
60
- this.shadowRoot.appendChild(externalCss);
58
+ //@ts-ignore
59
+ import("jquery.fancytree/dist/skin-win8/ui.fancytree.css", { assert: { type: 'css' } }).then(x => this.shadowRoot.adoptedStyleSheets = [x.default, this.constructor.style]);
61
60
  this._filter = this._getDomElement('input');
62
61
  this._filter.onkeyup = () => {
63
62
  let match = this._filter.value;
@@ -102,14 +101,19 @@ export class PaletteTreeView extends BaseCustomWebComponentConstructorAppend {
102
101
  title: s.name,
103
102
  folder: true
104
103
  });
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
- });
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);
113
117
  }
114
118
  //@ts-ignore
115
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
  }
@@ -89,9 +89,8 @@ export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
89
89
  </div>`;
90
90
  constructor() {
91
91
  super();
92
- let externalCss = document.createElement('style');
93
- externalCss.innerHTML = '@import url("./node_modules/jquery.fancytree/dist/skin-win8/ui.fancytree.css");';
94
- this.shadowRoot.appendChild(externalCss);
92
+ //@ts-ignore
93
+ import("jquery.fancytree/dist/skin-win8/ui.fancytree.css", { assert: { type: 'css' } }).then(x => this.shadowRoot.adoptedStyleSheets = [x.default, this.constructor.style]);
95
94
  this._filter = this._getDomElement('input');
96
95
  this._filter.onkeyup = () => {
97
96
  let match = this._filter.value;
@@ -100,11 +99,6 @@ export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
100
99
  });
101
100
  };
102
101
  this._treeDiv = this._getDomElement('treetable');
103
- /*this._treeDiv = document.createElement('div');
104
- this._treeDiv.style.height = 'calc(100% - 21px)'
105
- this._treeDiv.style.overflow = 'auto';
106
- this._treeDiv.setAttribute('id', 'tree');
107
- this.shadowRoot.appendChild(this._treeDiv);*/
108
102
  }
109
103
  _showHideAtDesignTimeState(img, designItem) {
110
104
  if (designItem.hideAtDesignTime)
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";
@@ -80,7 +83,7 @@ export * from "./elements/services/undoService/transactionItems/AttributeChangeA
80
83
  export * from "./elements/services/undoService/transactionItems/CssStyleChangeAction.js";
81
84
  export * from "./elements/services/undoService/transactionItems/DeleteAction.js";
82
85
  export * from "./elements/services/undoService/transactionItems/InsertAction.js";
83
- export * from "./elements/services/undoService/transactionItems/MoveElementInDomAction.js";
86
+ export * from "./elements/services/undoService/transactionItems/InsertChildAction.js";
84
87
  export * from "./elements/services/undoService/transactionItems/PropertyChangeAction.js";
85
88
  export * from "./elements/services/BaseServiceContainer.js";
86
89
  export * from "./elements/services/InstanceServiceContainer.js";
@@ -173,3 +176,4 @@ export type { IDisposable } from "./interfaces/IDisposable.js";
173
176
  export type { IPoint } from "./interfaces/IPoint.js";
174
177
  export type { IRect } from "./interfaces/IRect.js";
175
178
  export type { ISize } from "./interfaces/ISize.js";
179
+ export type { ICommandHandler } from "./interfaces/ICommandHandler.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";
@@ -49,7 +52,7 @@ export * from "./elements/services/undoService/transactionItems/AttributeChangeA
49
52
  export * from "./elements/services/undoService/transactionItems/CssStyleChangeAction.js";
50
53
  export * from "./elements/services/undoService/transactionItems/DeleteAction.js";
51
54
  export * from "./elements/services/undoService/transactionItems/InsertAction.js";
52
- export * from "./elements/services/undoService/transactionItems/MoveElementInDomAction.js";
55
+ export * from "./elements/services/undoService/transactionItems/InsertChildAction.js";
53
56
  export * from "./elements/services/undoService/transactionItems/PropertyChangeAction.js";
54
57
  export * from "./elements/services/BaseServiceContainer.js";
55
58
  export * from "./elements/services/InstanceServiceContainer.js";
@@ -0,0 +1,5 @@
1
+ import { CommandType } from "../commandHandling/CommandType";
2
+ export interface ICommandHandler {
3
+ executeCommand(type: CommandType, parameter: any): Promise<void>;
4
+ canExecuteCommand(type: CommandType, parameter: any): boolean;
5
+ }
@@ -0,0 +1 @@
1
+ export {};
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.72",
4
+ "version": "0.0.76",
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,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
- }