@node-projects/web-component-designer 0.0.70 → 0.0.74
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/dist/elements/helper/CssCombiner.js +1 -0
- package/dist/elements/item/DesignItem.d.ts +5 -1
- package/dist/elements/item/DesignItem.js +56 -29
- package/dist/elements/item/IDesignItem.d.ts +4 -0
- package/dist/elements/services/bindingsService/BaseCustomWebcomponentBindingsService.d.ts +2 -0
- package/dist/elements/services/bindingsService/BaseCustomWebcomponentBindingsService.js +3 -0
- package/dist/elements/services/bindingsService/IBindingService.d.ts +2 -0
- package/dist/elements/services/bindingsService/SpecialTagsBindingService.d.ts +2 -0
- package/dist/elements/services/bindingsService/SpecialTagsBindingService.js +3 -0
- package/dist/elements/services/htmlParserService/NodeHtmlParserService.js +1 -1
- package/dist/elements/services/modelCommandService/DefaultModelCommandService.js +12 -8
- package/dist/elements/services/placementService/SnaplinesProviderService.d.ts +2 -0
- package/dist/elements/services/placementService/SnaplinesProviderService.js +10 -0
- package/dist/elements/services/propertiesService/IPropertiesService.d.ts +2 -0
- package/dist/elements/services/propertiesService/services/AttributesPropertiesService.d.ts +2 -0
- package/dist/elements/services/propertiesService/services/AttributesPropertiesService.js +4 -0
- package/dist/elements/services/propertiesService/services/CommonPropertiesService.d.ts +2 -0
- package/dist/elements/services/propertiesService/services/CommonPropertiesService.js +13 -0
- package/dist/elements/services/propertiesService/services/CssPropertiesService.d.ts +2 -0
- package/dist/elements/services/propertiesService/services/CssPropertiesService.js +6 -0
- package/dist/elements/services/propertiesService/services/PropertiesHelper.js +1 -1
- package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.d.ts +2 -0
- package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.js +7 -0
- package/dist/elements/services/undoService/transactionItems/DeleteAction.d.ts +1 -3
- package/dist/elements/services/undoService/transactionItems/DeleteAction.js +2 -5
- package/dist/elements/services/undoService/transactionItems/InsertAction.js +1 -1
- package/dist/elements/services/undoService/transactionItems/InsertChildAction.d.ts +16 -0
- package/dist/elements/services/undoService/transactionItems/InsertChildAction.js +31 -0
- package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction copy.d.ts +16 -0
- package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction copy.js +32 -0
- package/dist/elements/widgets/bindableObjectsBrowser/bindable-objects-browser.js +2 -3
- package/dist/elements/widgets/codeView/code-view-code-mirror.js +6 -7
- package/dist/elements/widgets/codeView/code-view-monaco.js +6 -4
- package/dist/elements/widgets/designerView/designerCanvas.js +2 -2
- package/dist/elements/widgets/designerView/tools/PointerTool.js +1 -1
- package/dist/elements/widgets/paletteView/paletteTreeView.js +2 -3
- package/dist/elements/widgets/treeView/treeViewExtended.js +2 -8
- package/dist/index.d.ts +3 -1
- package/dist/index.js +2 -1
- package/dist/interfaces/ICommandHandler.d.ts +5 -0
- package/dist/interfaces/ICommandHandler.js +1 -0
- package/package.json +1 -1
- package/dist/elements/widgets/designerView/DesignerViewUseOverlayScollbars.d.ts +0 -7
- package/dist/elements/widgets/designerView/DesignerViewUseOverlayScollbars.js +0 -13
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export class CssCombiner {
|
|
2
2
|
static _helperElement = document.createElement('div');
|
|
3
3
|
//todo: inset, flex flow, place content...
|
|
4
|
+
//flex => flex-grow, flex-shrink, flex-basis
|
|
4
5
|
static combine(styles, globalStyles) {
|
|
5
6
|
let e = CssCombiner._helperElement;
|
|
6
7
|
e.setAttribute('style', '');
|
|
@@ -24,12 +24,14 @@ export declare class DesignItem implements IDesignItem {
|
|
|
24
24
|
get id(): string;
|
|
25
25
|
set id(value: string);
|
|
26
26
|
get isRootItem(): boolean;
|
|
27
|
-
|
|
27
|
+
_childArray: IDesignItem[];
|
|
28
28
|
get hasChildren(): boolean;
|
|
29
29
|
children(): IterableIterator<IDesignItem>;
|
|
30
30
|
get childCount(): number;
|
|
31
31
|
get firstChild(): IDesignItem;
|
|
32
32
|
get parent(): IDesignItem;
|
|
33
|
+
indexOf(designItem: IDesignItem): number;
|
|
34
|
+
insertAdjacentElement(designItem: IDesignItem, where: InsertPosition): void;
|
|
33
35
|
insertChild(designItem: IDesignItem, index?: number): void;
|
|
34
36
|
removeChild(designItem: IDesignItem): void;
|
|
35
37
|
remove(): void;
|
|
@@ -57,4 +59,6 @@ export declare class DesignItem implements IDesignItem {
|
|
|
57
59
|
removeStyle(name: string): void;
|
|
58
60
|
setAttribute(name: string, value?: string | null): void;
|
|
59
61
|
removeAttribute(name: string): void;
|
|
62
|
+
_insertChildInternal(designItem: IDesignItem, index?: number): void;
|
|
63
|
+
_removeChildInternal(designItem: IDesignItem): void;
|
|
60
64
|
}
|
|
@@ -2,9 +2,10 @@ import { CssStyleChangeAction } from '../services/undoService/transactionItems/C
|
|
|
2
2
|
import { NodeType } from './NodeType';
|
|
3
3
|
import { AttributeChangeAction } from '../services/undoService/transactionItems/AttributeChangeAction';
|
|
4
4
|
import { ExtensionType } from '../widgets/designerView/extensions/ExtensionType';
|
|
5
|
-
import { DomHelper } from '@node-projects/base-custom-webcomponent/dist/DomHelper';
|
|
6
5
|
import { CssAttributeParser } from '../helper/CssAttributeParser.js';
|
|
7
6
|
import { PropertiesHelper } from '../services/propertiesService/services/PropertiesHelper.js';
|
|
7
|
+
import { InsertChildAction } from '../services/undoService/transactionItems/InsertChildAction';
|
|
8
|
+
import { DeleteAction } from '../..';
|
|
8
9
|
const hideAtDesignTimeAttributeName = 'node-projects-hide-at-design-time';
|
|
9
10
|
const hideAtRunTimeAttributeName = 'node-projects-hide-at-run-time';
|
|
10
11
|
const lockAtDesignTimeAttributeName = 'node-projects-lock-at-design-time';
|
|
@@ -69,44 +70,41 @@ export class DesignItem {
|
|
|
69
70
|
get parent() {
|
|
70
71
|
return this.getOrCreateDesignItem(this.element.parentNode);
|
|
71
72
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
if (
|
|
77
|
-
|
|
73
|
+
indexOf(designItem) {
|
|
74
|
+
return this._childArray.indexOf(designItem);
|
|
75
|
+
}
|
|
76
|
+
insertAdjacentElement(designItem, where) {
|
|
77
|
+
if (where == 'afterbegin') {
|
|
78
|
+
this._insertChildInternal(designItem, 0);
|
|
78
79
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
this._childArray.push(designItem);
|
|
82
|
-
this.element.appendChild(designItem.node);
|
|
80
|
+
else if (where == 'beforeend') {
|
|
81
|
+
this._insertChildInternal(designItem);
|
|
83
82
|
}
|
|
84
|
-
else {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
83
|
+
else if (where == 'beforebegin') {
|
|
84
|
+
this.parent._insertChildInternal(designItem, this.parent.indexOf(this));
|
|
85
|
+
}
|
|
86
|
+
else if (where == 'afterend') {
|
|
87
|
+
this.parent._insertChildInternal(designItem, this.parent.indexOf(this) + 1);
|
|
88
88
|
}
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
}
|
|
90
|
+
insertChild(designItem, index) {
|
|
91
|
+
const action = new InsertChildAction(designItem, this, index);
|
|
92
|
+
this.instanceServiceContainer.undoService.execute(action);
|
|
91
93
|
}
|
|
92
94
|
removeChild(designItem) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
designItem.instanceServiceContainer.designerCanvas.extensionManager.removeExtension(designItem.parent, ExtensionType.PrimarySelectionContainer);
|
|
96
|
-
const index = this._childArray.indexOf(designItem);
|
|
97
|
-
if (index > -1) {
|
|
98
|
-
this._childArray.splice(index, 1);
|
|
99
|
-
designItem.element.remove();
|
|
100
|
-
}
|
|
95
|
+
const action = new DeleteAction([designItem]);
|
|
96
|
+
this.instanceServiceContainer.undoService.execute(action);
|
|
101
97
|
}
|
|
102
98
|
remove() {
|
|
103
|
-
this.parent.
|
|
99
|
+
this.parent._removeChildInternal(this);
|
|
104
100
|
}
|
|
105
101
|
clearChildren() {
|
|
106
|
-
this._childArray
|
|
107
|
-
|
|
102
|
+
for (let i = this._childArray.length - 1; i >= 0; i--) {
|
|
103
|
+
let di = this._childArray[i];
|
|
104
|
+
di.remove();
|
|
105
|
+
}
|
|
108
106
|
}
|
|
109
|
-
//abstract text content to own property. so only
|
|
107
|
+
//abstract text content to own property. so only change via designer api will use it.
|
|
110
108
|
get hasContent() {
|
|
111
109
|
return this.nodeType == NodeType.TextNode || (this._childArray.length === 0 && this.content !== null);
|
|
112
110
|
}
|
|
@@ -259,4 +257,33 @@ export class DesignItem {
|
|
|
259
257
|
const action = new AttributeChangeAction(this, name, null, this.attributes.get(name));
|
|
260
258
|
this.instanceServiceContainer.undoService.execute(action);
|
|
261
259
|
}
|
|
260
|
+
// Internal implementations wich don't use undo/redo
|
|
261
|
+
_insertChildInternal(designItem, index) {
|
|
262
|
+
if (designItem.parent && this.instanceServiceContainer.selectionService.primarySelection == designItem)
|
|
263
|
+
designItem.instanceServiceContainer.designerCanvas.extensionManager.removeExtension(designItem.parent, ExtensionType.PrimarySelectionContainer);
|
|
264
|
+
if (designItem.parent) {
|
|
265
|
+
designItem.parent._removeChildInternal(designItem);
|
|
266
|
+
}
|
|
267
|
+
if (index == null || this._childArray.length == 0 || index >= this._childArray.length) {
|
|
268
|
+
this._childArray.push(designItem);
|
|
269
|
+
this.element.appendChild(designItem.node);
|
|
270
|
+
}
|
|
271
|
+
else {
|
|
272
|
+
let el = this._childArray[index];
|
|
273
|
+
this.node.insertBefore(designItem.node, el.element);
|
|
274
|
+
this._childArray.splice(index, 0, designItem);
|
|
275
|
+
}
|
|
276
|
+
if (this.instanceServiceContainer.selectionService.primarySelection == designItem)
|
|
277
|
+
designItem.instanceServiceContainer.designerCanvas.extensionManager.applyExtension(designItem.parent, ExtensionType.PrimarySelectionContainer);
|
|
278
|
+
}
|
|
279
|
+
_removeChildInternal(designItem) {
|
|
280
|
+
if (designItem.parent && this.instanceServiceContainer.selectionService.primarySelection == designItem)
|
|
281
|
+
designItem.instanceServiceContainer.designerCanvas.extensionManager.removeExtension(designItem.parent, ExtensionType.PrimarySelectionContainer);
|
|
282
|
+
designItem.instanceServiceContainer.designerCanvas.extensionManager.removeExtensions([designItem]);
|
|
283
|
+
const index = this._childArray.indexOf(designItem);
|
|
284
|
+
if (index > -1) {
|
|
285
|
+
this._childArray.splice(index, 1);
|
|
286
|
+
designItem.element.remove();
|
|
287
|
+
}
|
|
288
|
+
}
|
|
262
289
|
}
|
|
@@ -21,6 +21,10 @@ export interface IDesignItem {
|
|
|
21
21
|
readonly childCount: number;
|
|
22
22
|
readonly firstChild: IDesignItem;
|
|
23
23
|
readonly parent: IDesignItem;
|
|
24
|
+
_insertChildInternal(designItem: IDesignItem, index?: number): any;
|
|
25
|
+
_removeChildInternal(designItem: IDesignItem): any;
|
|
26
|
+
indexOf(designItem: IDesignItem): number;
|
|
27
|
+
insertAdjacentElement(designItem: IDesignItem, where: InsertPosition): any;
|
|
24
28
|
insertChild(designItem: IDesignItem, index?: number): any;
|
|
25
29
|
removeChild(designItem: IDesignItem): any;
|
|
26
30
|
remove(): any;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { IDesignItem } from "../../item/IDesignItem";
|
|
2
2
|
import { IBinding } from '../../item/IBinding';
|
|
3
3
|
import { IBindingService } from "./IBindingService";
|
|
4
|
+
import { BindingTarget } from "../../item/BindingTarget.js";
|
|
4
5
|
export declare class BaseCustomWebcomponentBindingsService implements IBindingService {
|
|
5
6
|
static type: string;
|
|
6
7
|
getBindings(designItem: IDesignItem): IBinding[];
|
|
7
8
|
setBinding(designItem: IDesignItem, binding: IBinding): boolean;
|
|
9
|
+
clearBinding(designItem: IDesignItem, propertyName: string, propertyTarget: BindingTarget): boolean;
|
|
8
10
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IDesignItem } from "../../item/IDesignItem";
|
|
2
2
|
import { IBinding } from "../../item/IBinding";
|
|
3
|
+
import { BindingTarget } from "../../item/BindingTarget";
|
|
3
4
|
/**
|
|
4
5
|
* Can be used to parse bindings wich are done via special HTML Attributes or special Elements
|
|
5
6
|
* If your Bindings are to special, or HTML is not valid with them, maybe you need to parse the Bindings already in the
|
|
@@ -8,4 +9,5 @@ import { IBinding } from "../../item/IBinding";
|
|
|
8
9
|
export interface IBindingService {
|
|
9
10
|
getBindings(designItem: IDesignItem): IBinding[];
|
|
10
11
|
setBinding(designItem: IDesignItem, binding: IBinding): boolean;
|
|
12
|
+
clearBinding(designItem: IDesignItem, propertyName: string, propertyTarget: BindingTarget): boolean;
|
|
11
13
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IDesignItem } from "../../item/IDesignItem";
|
|
2
2
|
import { IBinding } from "../../item/IBinding";
|
|
3
3
|
import { IBindingService } from "./IBindingService";
|
|
4
|
+
import { BindingTarget } from "../../item/BindingTarget.js";
|
|
4
5
|
export declare class SpecialTagsBindingService implements IBindingService {
|
|
5
6
|
static type: string;
|
|
6
7
|
_bindingTagName: string;
|
|
@@ -11,4 +12,5 @@ export declare class SpecialTagsBindingService implements IBindingService {
|
|
|
11
12
|
getBindings(designItem: IDesignItem): IBinding[];
|
|
12
13
|
private _parseBindingElement;
|
|
13
14
|
setBinding(designItem: IDesignItem, binding: IBinding): boolean;
|
|
15
|
+
clearBinding(designItem: IDesignItem, propertyName: string, propertyTarget: BindingTarget): boolean;
|
|
14
16
|
}
|
|
@@ -70,7 +70,7 @@ export class NodeHtmlParserService {
|
|
|
70
70
|
element.draggable = false; //even if it should be true, for better designer exp.
|
|
71
71
|
for (let c of item.childNodes) {
|
|
72
72
|
let di = this._createDesignItemsRecursive(c, serviceContainer, instanceServiceContainer, element instanceof SVGElement ? 'http://www.w3.org/2000/svg' : null);
|
|
73
|
-
designItem.
|
|
73
|
+
designItem._insertChildInternal(di);
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
else if (item.nodeType == 3) {
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { CommandType } from "../../../commandHandling/CommandType.js";
|
|
2
|
-
import { DesignItem } from "../../item/DesignItem.js";
|
|
3
|
-
import { MoveElementInDomAction } from "../undoService/transactionItems/MoveElementInDomAction.js";
|
|
4
2
|
export class DefaultModelCommandService {
|
|
5
3
|
canExecuteCommand(designerCanvas, command) {
|
|
6
4
|
if (command.type == CommandType.moveBackward ||
|
|
@@ -21,14 +19,20 @@ export class DefaultModelCommandService {
|
|
|
21
19
|
}
|
|
22
20
|
async executeCommand(designerCanvas, command) {
|
|
23
21
|
let sel = designerCanvas.instanceServiceContainer.selectionService.primarySelection;
|
|
24
|
-
if (command.type == CommandType.moveBackward)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
if (command.type == CommandType.moveBackward) {
|
|
23
|
+
let idx = sel.parent.indexOf(sel) - 1;
|
|
24
|
+
if (idx >= 0)
|
|
25
|
+
sel.parent.insertChild(sel, idx);
|
|
26
|
+
}
|
|
27
|
+
else if (command.type == CommandType.moveForward) {
|
|
28
|
+
let idx = sel.parent.indexOf(sel) + 1;
|
|
29
|
+
if (idx < sel.parent.childCount)
|
|
30
|
+
sel.parent.insertChild(sel, idx);
|
|
31
|
+
}
|
|
28
32
|
else if (command.type == CommandType.moveToBack)
|
|
29
|
-
|
|
33
|
+
sel.parent.insertChild(sel, 0);
|
|
30
34
|
else if (command.type == CommandType.moveToFront)
|
|
31
|
-
|
|
35
|
+
sel.parent.insertChild(sel);
|
|
32
36
|
else if (command.type == CommandType.arrangeLeft) {
|
|
33
37
|
const grp = designerCanvas.instanceServiceContainer.selectionService.primarySelection.openGroup('arrangeLeft');
|
|
34
38
|
const left = designerCanvas.instanceServiceContainer.selectionService.primarySelection.styles.get('left');
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { IRect } from '../../../interfaces/IRect.js';
|
|
2
2
|
import type { IDesignItem } from '../../item/IDesignItem.js';
|
|
3
3
|
import { ISnaplinesProviderService } from './ISnaplinesProviderService.js';
|
|
4
|
+
export declare const provideSnaplinesWithDistance = "provideSnaplinesWithDistance";
|
|
5
|
+
export declare const provideSnaplinesWithDistanceDistance = "provideSnaplinesWithDistanceDistance";
|
|
4
6
|
export declare class SnaplinesProviderService implements ISnaplinesProviderService {
|
|
5
7
|
provideSnaplines(containerItem: IDesignItem, ignoredItems: IDesignItem[]): {
|
|
6
8
|
outerRect: DOMRect;
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { DomHelper } from '@node-projects/base-custom-webcomponent';
|
|
2
|
+
export const provideSnaplinesWithDistance = 'provideSnaplinesWithDistance';
|
|
3
|
+
export const provideSnaplinesWithDistanceDistance = 'provideSnaplinesWithDistanceDistance';
|
|
2
4
|
export class SnaplinesProviderService {
|
|
3
5
|
provideSnaplines(containerItem, ignoredItems) {
|
|
4
6
|
{
|
|
5
7
|
const canvas = containerItem.instanceServiceContainer.designerCanvas;
|
|
6
8
|
const ignMap = new Map(ignoredItems.map(i => [i.element, i]));
|
|
7
9
|
const outerRect = containerItem.element.getBoundingClientRect();
|
|
10
|
+
const provideWithDist = canvas.instanceServiceContainer.designContext.extensionOptions[provideSnaplinesWithDistance] !== false;
|
|
11
|
+
const provideWithDistDist = canvas.instanceServiceContainer.designContext.extensionOptions[provideSnaplinesWithDistanceDistance] ?? 5;
|
|
8
12
|
const positionsH = [];
|
|
9
13
|
const positionsMiddleH = [];
|
|
10
14
|
const positionsV = [];
|
|
@@ -20,16 +24,22 @@ export class SnaplinesProviderService {
|
|
|
20
24
|
const pMidV = (p.y - outerRect.y + p.height / 2) / canvas.scaleFactor;
|
|
21
25
|
const pBottom = (p.y - outerRect.y + p.height) / canvas.scaleFactor;
|
|
22
26
|
const transformedP = { x: pLeft + outerRect.x, y: pTop + outerRect.y, width: p.width / canvas.scaleFactor, height: p.height / canvas.scaleFactor };
|
|
27
|
+
if (provideWithDist)
|
|
28
|
+
positionsH.push([pLeft - provideWithDistDist, transformedP]);
|
|
23
29
|
positionsH.push([pLeft, transformedP]);
|
|
24
30
|
positionsMiddleH.push([pMidH, transformedP]);
|
|
25
31
|
positionsH.push([pRight, transformedP]);
|
|
32
|
+
if (provideWithDist)
|
|
33
|
+
positionsH.push([pRight + provideWithDistDist, transformedP]);
|
|
26
34
|
positionsV.push([pTop, transformedP]);
|
|
27
35
|
positionsMiddleV.push([pMidV, transformedP]);
|
|
28
36
|
positionsV.push([pBottom, transformedP]);
|
|
29
37
|
}
|
|
30
38
|
}
|
|
39
|
+
positionsH.push([0, { x: 0, y: 0, width: 0, height: 0 }]);
|
|
31
40
|
positionsH.sort((a, b) => a[0] - b[0]);
|
|
32
41
|
positionsMiddleH.sort((a, b) => a[0] - b[0]);
|
|
42
|
+
positionsV.push([0, { x: 0, y: 0, width: 0, height: 0 }]);
|
|
33
43
|
positionsV.sort((a, b) => a[0] - b[0]);
|
|
34
44
|
positionsMiddleV.sort((a, b) => a[0] - b[0]);
|
|
35
45
|
return { outerRect, positionsH, positionsMiddleH, positionsV, positionsMiddleV };
|
|
@@ -2,11 +2,13 @@ import { IProperty } from './IProperty';
|
|
|
2
2
|
import { IService } from '../IService';
|
|
3
3
|
import { IDesignItem } from '../../item/IDesignItem';
|
|
4
4
|
import { ValueType } from './ValueType';
|
|
5
|
+
import { BindingTarget } from '../../item/BindingTarget';
|
|
5
6
|
export interface IPropertiesService extends IService {
|
|
6
7
|
readonly name: string;
|
|
7
8
|
isHandledElement(designItem: IDesignItem): boolean;
|
|
8
9
|
getProperties(designItem: IDesignItem): IProperty[];
|
|
9
10
|
getProperty(designItem: IDesignItem, name: string): IProperty;
|
|
11
|
+
getPropertyTarget(designItem: IDesignItem, property: IProperty): BindingTarget;
|
|
10
12
|
setValue(designItems: IDesignItem[], property: IProperty, value: any): any;
|
|
11
13
|
clearValue(designItems: IDesignItem[], property: IProperty): any;
|
|
12
14
|
isSet(designItems: IDesignItem[], property: IProperty): ValueType;
|
|
@@ -2,12 +2,14 @@ import { IPropertiesService } from "../IPropertiesService";
|
|
|
2
2
|
import { IProperty } from '../IProperty';
|
|
3
3
|
import { IDesignItem } from '../../../item/IDesignItem';
|
|
4
4
|
import { ValueType } from "../ValueType";
|
|
5
|
+
import { BindingTarget } from "../../../item/BindingTarget";
|
|
5
6
|
export declare class AttributesPropertiesService implements IPropertiesService {
|
|
6
7
|
name: string;
|
|
7
8
|
isHandledElement(designItem: IDesignItem): boolean;
|
|
8
9
|
getProperty(designItem: IDesignItem, name: string): IProperty;
|
|
9
10
|
getProperties(designItem: IDesignItem): IProperty[];
|
|
10
11
|
setValue(designItems: IDesignItem[], property: IProperty, value: any): void;
|
|
12
|
+
getPropertyTarget(designItem: IDesignItem, property: IProperty): BindingTarget;
|
|
11
13
|
clearValue(designItems: IDesignItem[], property: IProperty): void;
|
|
12
14
|
isSet(designItems: IDesignItem[], property: IProperty): ValueType;
|
|
13
15
|
getValue(designItems: IDesignItem[], property: IProperty): string;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ValueType } from "../ValueType";
|
|
2
|
+
import { BindingTarget } from "../../../item/BindingTarget";
|
|
2
3
|
export class AttributesPropertiesService {
|
|
3
4
|
name = "attributes";
|
|
4
5
|
isHandledElement(designItem) {
|
|
@@ -19,6 +20,9 @@ export class AttributesPropertiesService {
|
|
|
19
20
|
}
|
|
20
21
|
setValue(designItems, property, value) {
|
|
21
22
|
}
|
|
23
|
+
getPropertyTarget(designItem, property) {
|
|
24
|
+
return BindingTarget.attribute;
|
|
25
|
+
}
|
|
22
26
|
clearValue(designItems, property) {
|
|
23
27
|
}
|
|
24
28
|
isSet(designItems, property) {
|
|
@@ -2,6 +2,7 @@ import { IPropertiesService } from "../IPropertiesService";
|
|
|
2
2
|
import { IProperty } from '../IProperty';
|
|
3
3
|
import { IDesignItem } from '../../../item/IDesignItem';
|
|
4
4
|
import { ValueType } from "../ValueType";
|
|
5
|
+
import { BindingTarget } from "../../../item/BindingTarget";
|
|
5
6
|
export declare class CommonPropertiesService implements IPropertiesService {
|
|
6
7
|
private commonProperties;
|
|
7
8
|
name: string;
|
|
@@ -9,6 +10,7 @@ export declare class CommonPropertiesService implements IPropertiesService {
|
|
|
9
10
|
getProperty(designItem: IDesignItem, name: string): IProperty;
|
|
10
11
|
getProperties(designItem: IDesignItem): IProperty[];
|
|
11
12
|
setValue(designItems: IDesignItem[], property: IProperty, value: any): void;
|
|
13
|
+
getPropertyTarget(designItem: IDesignItem, property: IProperty): BindingTarget;
|
|
12
14
|
clearValue(designItems: IDesignItem[], property: IProperty): void;
|
|
13
15
|
isSet(designItems: IDesignItem[], property: IProperty): ValueType;
|
|
14
16
|
getValue(designItems: IDesignItem[], property: IProperty): string | boolean;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ValueType } from "../ValueType";
|
|
2
|
+
import { BindingTarget } from "../../../item/BindingTarget";
|
|
2
3
|
export class CommonPropertiesService {
|
|
3
4
|
//@ts-ignore
|
|
4
5
|
commonProperties = [
|
|
@@ -46,10 +47,16 @@ export class CommonPropertiesService {
|
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
49
|
}
|
|
50
|
+
getPropertyTarget(designItem, property) {
|
|
51
|
+
return BindingTarget.property;
|
|
52
|
+
}
|
|
49
53
|
clearValue(designItems, property) {
|
|
50
54
|
for (let d of designItems) {
|
|
51
55
|
d.attributes.delete(property.name);
|
|
52
56
|
d.element.removeAttribute(property.name);
|
|
57
|
+
d.serviceContainer.forSomeServicesTillResult('bindingService', (s) => {
|
|
58
|
+
return s.clearBinding(d, property.name, this.getPropertyTarget(d, property));
|
|
59
|
+
});
|
|
53
60
|
}
|
|
54
61
|
}
|
|
55
62
|
isSet(designItems, property) {
|
|
@@ -62,6 +69,12 @@ export class CommonPropertiesService {
|
|
|
62
69
|
all = all && has;
|
|
63
70
|
some = some || has;
|
|
64
71
|
});
|
|
72
|
+
//todo: optimize perf, do not call bindings service for each property.
|
|
73
|
+
const bindings = designItems[0].serviceContainer.forSomeServicesTillResult('bindingService', (s) => {
|
|
74
|
+
return s.getBindings(designItems[0]);
|
|
75
|
+
});
|
|
76
|
+
if (bindings && bindings.find(x => x.target == BindingTarget.property && x.targetName == property.name))
|
|
77
|
+
return ValueType.bound;
|
|
65
78
|
}
|
|
66
79
|
else
|
|
67
80
|
return ValueType.none;
|
|
@@ -2,6 +2,7 @@ import { IPropertiesService } from '../IPropertiesService';
|
|
|
2
2
|
import { IProperty } from '../IProperty';
|
|
3
3
|
import { IDesignItem } from '../../../item/IDesignItem';
|
|
4
4
|
import { ValueType } from '../ValueType';
|
|
5
|
+
import { BindingTarget } from '../../../item/BindingTarget.js';
|
|
5
6
|
export declare class CssPropertiesService implements IPropertiesService {
|
|
6
7
|
private styles;
|
|
7
8
|
private alignment;
|
|
@@ -13,6 +14,7 @@ export declare class CssPropertiesService implements IPropertiesService {
|
|
|
13
14
|
getProperty(designItem: IDesignItem, name: string): IProperty;
|
|
14
15
|
getProperties(designItem: IDesignItem): IProperty[];
|
|
15
16
|
setValue(designItems: IDesignItem[], property: IProperty, value: any): void;
|
|
17
|
+
getPropertyTarget(designItem: IDesignItem, property: IProperty): BindingTarget;
|
|
16
18
|
clearValue(designItems: IDesignItem[], property: IProperty): void;
|
|
17
19
|
isSet(designItems: IDesignItem[], property: IProperty): ValueType;
|
|
18
20
|
getValue(designItems: IDesignItem[], property: IProperty): string;
|
|
@@ -226,10 +226,16 @@ export class CssPropertiesService {
|
|
|
226
226
|
}
|
|
227
227
|
cg.commit();
|
|
228
228
|
}
|
|
229
|
+
getPropertyTarget(designItem, property) {
|
|
230
|
+
return BindingTarget.css;
|
|
231
|
+
}
|
|
229
232
|
clearValue(designItems, property) {
|
|
230
233
|
for (let d of designItems) {
|
|
231
234
|
d.styles.delete(property.name);
|
|
232
235
|
d.element.style[property.name] = '';
|
|
236
|
+
d.serviceContainer.forSomeServicesTillResult('bindingService', (s) => {
|
|
237
|
+
return s.clearBinding(d, property.name, this.getPropertyTarget(d, property));
|
|
238
|
+
});
|
|
233
239
|
}
|
|
234
240
|
}
|
|
235
241
|
isSet(designItems, property) {
|
|
@@ -22,6 +22,6 @@ export class PropertiesHelper {
|
|
|
22
22
|
return text.replace(/([A-Z])/g, (g) => `-${g[0].toLowerCase()}`);
|
|
23
23
|
}
|
|
24
24
|
static dashToCamelCase(text) {
|
|
25
|
-
return text.replace(/-([a-z])/
|
|
25
|
+
return text.replace(/-([a-z])/g, (i) => i[1].toUpperCase());
|
|
26
26
|
}
|
|
27
27
|
}
|
package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { IPropertiesService } from "../IPropertiesService";
|
|
|
2
2
|
import { IProperty } from '../IProperty';
|
|
3
3
|
import { IDesignItem } from '../../../item/IDesignItem';
|
|
4
4
|
import { ValueType } from "../ValueType";
|
|
5
|
+
import { BindingTarget } from "../../../item/BindingTarget";
|
|
5
6
|
export declare class UnkownElementPropertiesService implements IPropertiesService {
|
|
6
7
|
readonly name: string;
|
|
7
8
|
isHandledElement(designItem: IDesignItem): boolean;
|
|
@@ -9,6 +10,7 @@ export declare class UnkownElementPropertiesService implements IPropertiesServic
|
|
|
9
10
|
getProperty(designItem: IDesignItem, name: string): IProperty;
|
|
10
11
|
getProperties(designItem: IDesignItem): IProperty[];
|
|
11
12
|
setValue(designItems: IDesignItem[], property: IProperty, value: any): void;
|
|
13
|
+
getPropertyTarget(designItem: IDesignItem, property: IProperty): BindingTarget;
|
|
12
14
|
clearValue(designItems: IDesignItem[], property: IProperty): void;
|
|
13
15
|
isSet(designItems: IDesignItem[], property: IProperty): ValueType;
|
|
14
16
|
getValue(designItems: IDesignItem[], property: IProperty): string | boolean;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ValueType } from "../ValueType";
|
|
2
2
|
import { PropertiesHelper } from './PropertiesHelper';
|
|
3
|
+
import { BindingTarget } from "../../../item/BindingTarget";
|
|
3
4
|
export class UnkownElementPropertiesService {
|
|
4
5
|
name = "unkown";
|
|
5
6
|
isHandledElement(designItem) {
|
|
@@ -44,11 +45,17 @@ export class UnkownElementPropertiesService {
|
|
|
44
45
|
cg.undo();
|
|
45
46
|
}
|
|
46
47
|
}
|
|
48
|
+
getPropertyTarget(designItem, property) {
|
|
49
|
+
return BindingTarget.property;
|
|
50
|
+
}
|
|
47
51
|
clearValue(designItems, property) {
|
|
48
52
|
const attributeName = PropertiesHelper.camelToDashCase(property.name);
|
|
49
53
|
for (let d of designItems) {
|
|
50
54
|
d.attributes.delete(attributeName);
|
|
51
55
|
d.element.removeAttribute(attributeName);
|
|
56
|
+
d.serviceContainer.forSomeServicesTillResult('bindingService', (s) => {
|
|
57
|
+
return s.clearBinding(d, property.name, this.getPropertyTarget(d, property));
|
|
58
|
+
});
|
|
52
59
|
this._notifyChangedProperty(d, property, undefined);
|
|
53
60
|
}
|
|
54
61
|
}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { ITransactionItem } from '../ITransactionItem';
|
|
2
2
|
import { IDesignItem } from '../../../item/IDesignItem';
|
|
3
|
-
import { IExtensionManager } from '../../../widgets/designerView/extensions/IExtensionManger';
|
|
4
3
|
export declare class DeleteAction implements ITransactionItem {
|
|
5
|
-
constructor(deletedItems: IDesignItem[]
|
|
4
|
+
constructor(deletedItems: IDesignItem[]);
|
|
6
5
|
title?: string;
|
|
7
6
|
get affectedItems(): IDesignItem[];
|
|
8
7
|
undo(): void;
|
|
9
8
|
do(): void;
|
|
10
9
|
deletedItems: IDesignItem[];
|
|
11
|
-
extensionManager: IExtensionManager;
|
|
12
10
|
private _parentItems;
|
|
13
11
|
private _parentIndexes;
|
|
14
12
|
mergeWith(other: ITransactionItem): boolean;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { DomHelper } from '@node-projects/base-custom-webcomponent/dist/DomHelper';
|
|
2
2
|
export class DeleteAction {
|
|
3
|
-
constructor(deletedItems
|
|
3
|
+
constructor(deletedItems) {
|
|
4
4
|
this.title = "Delete Items";
|
|
5
5
|
this.deletedItems = deletedItems;
|
|
6
|
-
this.extensionManager = extensionManager;
|
|
7
6
|
}
|
|
8
7
|
title;
|
|
9
8
|
get affectedItems() {
|
|
@@ -11,7 +10,7 @@ export class DeleteAction {
|
|
|
11
10
|
}
|
|
12
11
|
undo() {
|
|
13
12
|
for (let n = 0; n < this.deletedItems.length; n++) {
|
|
14
|
-
this._parentItems[n].
|
|
13
|
+
this._parentItems[n]._insertChildInternal(this.deletedItems[n], this._parentIndexes[n]);
|
|
15
14
|
}
|
|
16
15
|
this.affectedItems[0].instanceServiceContainer.contentService.onContentChanged.emit({ changeType: 'added', designItems: this.deletedItems });
|
|
17
16
|
}
|
|
@@ -25,11 +24,9 @@ export class DeleteAction {
|
|
|
25
24
|
for (let n = 0; n < this.deletedItems.length; n++) {
|
|
26
25
|
this.deletedItems[n].remove();
|
|
27
26
|
}
|
|
28
|
-
this.extensionManager.removeExtensions(this.deletedItems);
|
|
29
27
|
this.affectedItems[0].instanceServiceContainer.contentService.onContentChanged.emit({ changeType: 'removed', designItems: this.deletedItems });
|
|
30
28
|
}
|
|
31
29
|
deletedItems;
|
|
32
|
-
extensionManager;
|
|
33
30
|
_parentItems;
|
|
34
31
|
_parentIndexes;
|
|
35
32
|
mergeWith(other) {
|
|
@@ -14,7 +14,7 @@ export class InsertAction {
|
|
|
14
14
|
this.affectedItems[0].instanceServiceContainer.contentService.onContentChanged.emit({ changeType: 'removed', designItems: [this.newItem] });
|
|
15
15
|
}
|
|
16
16
|
do() {
|
|
17
|
-
this.designItem.
|
|
17
|
+
this.designItem._insertChildInternal(this.newItem, this.index);
|
|
18
18
|
const prepService = this.designItem.serviceContainer.prepareElementsForDesignerService;
|
|
19
19
|
if (prepService)
|
|
20
20
|
requestAnimationFrame(() => prepService.prepareElementsForDesigner(this.newItem));
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ITransactionItem } from '../ITransactionItem';
|
|
2
|
+
import { IDesignItem } from '../../../item/IDesignItem';
|
|
3
|
+
export declare class InsertChildAction implements ITransactionItem {
|
|
4
|
+
constructor(designItem: IDesignItem, newParent: IDesignItem, newIndex: number);
|
|
5
|
+
title?: string;
|
|
6
|
+
get affectedItems(): IDesignItem[];
|
|
7
|
+
undo(): void;
|
|
8
|
+
do(): void;
|
|
9
|
+
designItem: IDesignItem;
|
|
10
|
+
newParent: IDesignItem;
|
|
11
|
+
newIndex: number;
|
|
12
|
+
oldParent: IDesignItem;
|
|
13
|
+
oldIndex: number;
|
|
14
|
+
newItem: IDesignItem;
|
|
15
|
+
mergeWith(other: ITransactionItem): boolean;
|
|
16
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export class InsertChildAction {
|
|
2
|
+
constructor(designItem, newParent, newIndex) {
|
|
3
|
+
this.title = "Move Item";
|
|
4
|
+
this.designItem = designItem;
|
|
5
|
+
this.newParent = newParent;
|
|
6
|
+
this.newIndex = newIndex;
|
|
7
|
+
}
|
|
8
|
+
title;
|
|
9
|
+
get affectedItems() {
|
|
10
|
+
return [this.designItem, this.newParent, this.oldParent];
|
|
11
|
+
}
|
|
12
|
+
undo() {
|
|
13
|
+
this.oldParent._insertChildInternal(this.designItem, this.newIndex);
|
|
14
|
+
this.affectedItems[0].instanceServiceContainer.contentService.onContentChanged.emit({ changeType: 'moved', designItems: [this.designItem] });
|
|
15
|
+
}
|
|
16
|
+
do() {
|
|
17
|
+
this.oldParent = this.designItem.parent;
|
|
18
|
+
this.oldIndex = this.designItem.parent.indexOf(this.designItem);
|
|
19
|
+
this.newParent._insertChildInternal(this.designItem, this.newIndex);
|
|
20
|
+
this.affectedItems[0].instanceServiceContainer.contentService.onContentChanged.emit({ changeType: 'moved', designItems: [this.designItem] });
|
|
21
|
+
}
|
|
22
|
+
designItem;
|
|
23
|
+
newParent;
|
|
24
|
+
newIndex;
|
|
25
|
+
oldParent;
|
|
26
|
+
oldIndex;
|
|
27
|
+
newItem;
|
|
28
|
+
mergeWith(other) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
}
|
|
@@ -29,9 +29,8 @@ export class BindableObjectsBrowser extends BaseCustomWebComponentLazyAppend {
|
|
|
29
29
|
`;
|
|
30
30
|
constructor() {
|
|
31
31
|
super();
|
|
32
|
-
|
|
33
|
-
|
|
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
|
|
19
|
-
<div
|
|
20
|
-
|
|
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
|
-
<
|
|
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 => {
|
|
@@ -290,7 +290,7 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
|
|
|
290
290
|
}
|
|
291
291
|
handleDeleteCommand() {
|
|
292
292
|
let items = this.instanceServiceContainer.selectionService.selectedElements;
|
|
293
|
-
this.instanceServiceContainer.undoService.execute(new DeleteAction(items
|
|
293
|
+
this.instanceServiceContainer.undoService.execute(new DeleteAction(items));
|
|
294
294
|
this.instanceServiceContainer.selectionService.setSelectedElements(null);
|
|
295
295
|
}
|
|
296
296
|
initialize(serviceContainer) {
|
|
@@ -362,7 +362,7 @@ export class DesignerCanvas extends BaseCustomWebComponentLazyAppend {
|
|
|
362
362
|
addDesignItems(designItems) {
|
|
363
363
|
if (designItems) {
|
|
364
364
|
for (let di of designItems) {
|
|
365
|
-
this.rootDesignItem.
|
|
365
|
+
this.rootDesignItem._insertChildInternal(di);
|
|
366
366
|
}
|
|
367
367
|
}
|
|
368
368
|
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.
|
|
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
|
-
|
|
59
|
-
|
|
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;
|
|
@@ -89,9 +89,8 @@ export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
|
|
|
89
89
|
</div>`;
|
|
90
90
|
constructor() {
|
|
91
91
|
super();
|
|
92
|
-
|
|
93
|
-
|
|
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
|
@@ -59,6 +59,7 @@ export * from "./elements/services/propertiesService/DefaultEditorTypesService.j
|
|
|
59
59
|
export type { IEditorTypesService } from "./elements/services/propertiesService/IEditorTypesService.js";
|
|
60
60
|
export type { IPropertiesService } from "./elements/services/propertiesService/IPropertiesService.js";
|
|
61
61
|
export type { IProperty } from "./elements/services/propertiesService/IProperty.js";
|
|
62
|
+
export * from "./elements/services/propertiesService/services/PropertiesHelper.js";
|
|
62
63
|
export * from "./elements/services/propertiesService/services/BaseCustomWebComponentPropertiesService.js";
|
|
63
64
|
export * from "./elements/services/propertiesService/services/CommonPropertiesService.js";
|
|
64
65
|
export * from "./elements/services/propertiesService/services/CssPropertiesService.js";
|
|
@@ -79,7 +80,7 @@ export * from "./elements/services/undoService/transactionItems/AttributeChangeA
|
|
|
79
80
|
export * from "./elements/services/undoService/transactionItems/CssStyleChangeAction.js";
|
|
80
81
|
export * from "./elements/services/undoService/transactionItems/DeleteAction.js";
|
|
81
82
|
export * from "./elements/services/undoService/transactionItems/InsertAction.js";
|
|
82
|
-
export * from "./elements/services/undoService/transactionItems/
|
|
83
|
+
export * from "./elements/services/undoService/transactionItems/InsertChildAction.js";
|
|
83
84
|
export * from "./elements/services/undoService/transactionItems/PropertyChangeAction.js";
|
|
84
85
|
export * from "./elements/services/BaseServiceContainer.js";
|
|
85
86
|
export * from "./elements/services/InstanceServiceContainer.js";
|
|
@@ -172,3 +173,4 @@ export type { IDisposable } from "./interfaces/IDisposable.js";
|
|
|
172
173
|
export type { IPoint } from "./interfaces/IPoint.js";
|
|
173
174
|
export type { IRect } from "./interfaces/IRect.js";
|
|
174
175
|
export type { ISize } from "./interfaces/ISize.js";
|
|
176
|
+
export type { ICommandHandler } from "./interfaces/ICommandHandler.js";
|
package/dist/index.js
CHANGED
|
@@ -32,6 +32,7 @@ export * from "./elements/services/instanceService/DefaultInstanceService.js";
|
|
|
32
32
|
export * from "./elements/services/instanceService/PrepareElementsForDesignerService.js";
|
|
33
33
|
export * from "./elements/services/modelCommandService/DefaultModelCommandService.js";
|
|
34
34
|
export * from "./elements/services/propertiesService/DefaultEditorTypesService.js";
|
|
35
|
+
export * from "./elements/services/propertiesService/services/PropertiesHelper.js";
|
|
35
36
|
export * from "./elements/services/propertiesService/services/BaseCustomWebComponentPropertiesService.js";
|
|
36
37
|
export * from "./elements/services/propertiesService/services/CommonPropertiesService.js";
|
|
37
38
|
export * from "./elements/services/propertiesService/services/CssPropertiesService.js";
|
|
@@ -48,7 +49,7 @@ export * from "./elements/services/undoService/transactionItems/AttributeChangeA
|
|
|
48
49
|
export * from "./elements/services/undoService/transactionItems/CssStyleChangeAction.js";
|
|
49
50
|
export * from "./elements/services/undoService/transactionItems/DeleteAction.js";
|
|
50
51
|
export * from "./elements/services/undoService/transactionItems/InsertAction.js";
|
|
51
|
-
export * from "./elements/services/undoService/transactionItems/
|
|
52
|
+
export * from "./elements/services/undoService/transactionItems/InsertChildAction.js";
|
|
52
53
|
export * from "./elements/services/undoService/transactionItems/PropertyChangeAction.js";
|
|
53
54
|
export * from "./elements/services/BaseServiceContainer.js";
|
|
54
55
|
export * from "./elements/services/InstanceServiceContainer.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { IDesignerCanvas } from "./IDesignerCanvas.js";
|
|
2
|
-
import { IDesignViewConfigButtonsProvider } from "./IDesignViewConfigButtonsProvider.js";
|
|
3
|
-
import { DesignerView } from './designerView';
|
|
4
|
-
export declare class DesignerViewUseOverlayScollbars implements IDesignViewConfigButtonsProvider {
|
|
5
|
-
constructor();
|
|
6
|
-
provideButtons(designerView: DesignerView, designerCanvas: IDesignerCanvas): HTMLElement[];
|
|
7
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
//todo, element moving does not work atm, needs to be fixed
|
|
2
|
-
export class DesignerViewUseOverlayScollbars {
|
|
3
|
-
constructor() {
|
|
4
|
-
}
|
|
5
|
-
provideButtons(designerView, designerCanvas) {
|
|
6
|
-
let externalCss = document.createElement('style');
|
|
7
|
-
externalCss.innerHTML = '@import url("./node_modules/overlayscrollbars/css/OverlayScrollbars.min.css");';
|
|
8
|
-
designerCanvas.shadowRoot.appendChild(externalCss);
|
|
9
|
-
//@ts-ignore
|
|
10
|
-
setTimeout(() => OverlayScrollbars([designerCanvas._outercanvas2], {}), 5000);
|
|
11
|
-
return [];
|
|
12
|
-
}
|
|
13
|
-
}
|