@node-projects/web-component-designer 0.1.131 → 0.1.132
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/widgets/designerView/extensions/AltToEnterContainerExtensionProvider.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider.js +1 -1
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider.js +1 -1
- package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtensionProvider.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtensionProvider.js +1 -1
- package/dist/elements/widgets/designerView/extensions/GrayOutDragOverContainerExtensionProvider.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/GrayOutDragOverContainerExtensionProvider.js +1 -1
- package/dist/elements/widgets/designerView/extensions/HighlightElementExtensionProvider.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/HighlightElementExtensionProvider.js +1 -1
- package/dist/elements/widgets/designerView/extensions/IDesignerExtensionProvider.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/InvisibleElementExtensionProvider.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/InvisibleElementExtensionProvider.js +1 -1
- package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtensionProvider.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtensionProvider.js +1 -1
- package/dist/elements/widgets/designerView/extensions/PaddingExtensionProvider.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/PaddingExtensionProvider.js +1 -1
- package/dist/elements/widgets/designerView/extensions/PlacementExtensionProvider.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/PlacementExtensionProvider.js +1 -1
- package/dist/elements/widgets/designerView/extensions/PositionExtensionProvider.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/PositionExtensionProvider.js +1 -1
- package/dist/elements/widgets/designerView/extensions/ResizeExtensionProvider.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/ResizeExtensionProvider.js +1 -1
- package/dist/elements/widgets/designerView/extensions/RotateExtensionProvider.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/RotateExtensionProvider.js +1 -1
- package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.js +1 -1
- package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js +1 -1
- package/dist/elements/widgets/designerView/extensions/grid/DisplayGridExtensionProvider.d.ts +2 -2
- package/dist/elements/widgets/designerView/extensions/grid/DisplayGridExtensionProvider.js +2 -2
- package/dist/elements/widgets/designerView/extensions/grid/EditGridColumnRowSizesExtensionProvider.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/grid/EditGridColumnRowSizesExtensionProvider.js +1 -1
- package/dist/elements/widgets/designerView/extensions/grid/GridChildResizeExtension.d.ts +1 -3
- package/dist/elements/widgets/designerView/extensions/grid/GridChildResizeExtension.js +16 -128
- package/dist/elements/widgets/designerView/extensions/grid/GridChildResizeExtensionProvider.d.ts +1 -1
- package/dist/elements/widgets/designerView/extensions/grid/GridChildResizeExtensionProvider.js +2 -2
- package/dist/elements/widgets/designerView/extensions/logic/ApplyFirstMachingExtensionProvider.d.ts +1 -0
- package/dist/elements/widgets/designerView/extensions/logic/ApplyFirstMachingExtensionProvider.js +25 -0
- package/dist/elements/widgets/designerView/extensions/logic/ConditionExtensionProvider.d.ts +1 -0
- package/dist/elements/widgets/designerView/extensions/logic/ConditionExtensionProvider.js +3 -1
- package/dist/elements/widgets/designerView/overlayLayerView.js +56 -6
- package/dist/polyfill/globals.d.ts +1 -0
- package/package.json +1 -1
package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider.d.ts
CHANGED
|
@@ -6,5 +6,5 @@ import { IExtensionManager } from './IExtensionManger.js';
|
|
|
6
6
|
export declare class AltToEnterContainerExtensionProvider implements IDesignerExtensionProvider {
|
|
7
7
|
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
8
8
|
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
9
|
-
readonly style: CSSStyleSheet;
|
|
9
|
+
static readonly style: CSSStyleSheet;
|
|
10
10
|
}
|
package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider.js
CHANGED
|
@@ -7,7 +7,7 @@ export class AltToEnterContainerExtensionProvider {
|
|
|
7
7
|
getExtension(extensionManager, designerView, designItem) {
|
|
8
8
|
return new AltToEnterContainerExtension(extensionManager, designerView, designItem);
|
|
9
9
|
}
|
|
10
|
-
style = css `
|
|
10
|
+
static style = css `
|
|
11
11
|
.svg-text-enter-container { stroke: none; fill: black; stroke-width: 1; font-weight:800; font-family: monospace; }
|
|
12
12
|
`;
|
|
13
13
|
}
|
package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider.d.ts
CHANGED
|
@@ -6,5 +6,5 @@ import { IExtensionManager } from '../IExtensionManger.js';
|
|
|
6
6
|
export declare class EditTextExtensionProvider implements IDesignerExtensionProvider {
|
|
7
7
|
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
8
8
|
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
9
|
-
readonly style: CSSStyleSheet;
|
|
9
|
+
static readonly style: CSSStyleSheet;
|
|
10
10
|
}
|
|
@@ -11,7 +11,7 @@ export class EditTextExtensionProvider {
|
|
|
11
11
|
getExtension(extensionManager, designerView, designItem) {
|
|
12
12
|
return new EditTextExtension(extensionManager, designerView, designItem);
|
|
13
13
|
}
|
|
14
|
-
style = css `
|
|
14
|
+
static style = css `
|
|
15
15
|
.svg-edit-text-clickoutside { stroke: transparent; fill: lightgray; opacity: 0.7 }
|
|
16
16
|
`;
|
|
17
17
|
}
|
package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtensionProvider.d.ts
CHANGED
|
@@ -6,5 +6,5 @@ import { IExtensionManager } from './IExtensionManger.js';
|
|
|
6
6
|
export declare class ElementDragTitleExtensionProvider implements IDesignerExtensionProvider {
|
|
7
7
|
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
8
8
|
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
9
|
-
readonly style: CSSStyleSheet;
|
|
9
|
+
static readonly style: CSSStyleSheet;
|
|
10
10
|
}
|
|
@@ -7,7 +7,7 @@ export class ElementDragTitleExtensionProvider {
|
|
|
7
7
|
getExtension(extensionManager, designerView, designItem) {
|
|
8
8
|
return new ElementDragTitleExtension(extensionManager, designerView, designItem);
|
|
9
9
|
}
|
|
10
|
-
style = css `
|
|
10
|
+
static style = css `
|
|
11
11
|
.svg-text-primary { stroke: none; color: white; font-family: monospace; }
|
|
12
12
|
`;
|
|
13
13
|
}
|
package/dist/elements/widgets/designerView/extensions/GrayOutDragOverContainerExtensionProvider.d.ts
CHANGED
|
@@ -6,5 +6,5 @@ import { IExtensionManager } from './IExtensionManger.js';
|
|
|
6
6
|
export declare class GrayOutDragOverContainerExtensionProvider implements IDesignerExtensionProvider {
|
|
7
7
|
shouldExtend(extensionManager: IExtensionManager, designerCanvas: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
8
8
|
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
9
|
-
readonly style: CSSStyleSheet;
|
|
9
|
+
static readonly style: CSSStyleSheet;
|
|
10
10
|
}
|
package/dist/elements/widgets/designerView/extensions/GrayOutDragOverContainerExtensionProvider.js
CHANGED
|
@@ -7,7 +7,7 @@ export class GrayOutDragOverContainerExtensionProvider {
|
|
|
7
7
|
getExtension(extensionManager, designerView, designItem) {
|
|
8
8
|
return new GrayOutDragOverContainerExtension(extensionManager, designerView, designItem);
|
|
9
9
|
}
|
|
10
|
-
style = css `
|
|
10
|
+
static style = css `
|
|
11
11
|
.svg-rect-enter-container { stroke: none; fill: #aa00ff2e; }
|
|
12
12
|
`;
|
|
13
13
|
}
|
package/dist/elements/widgets/designerView/extensions/HighlightElementExtensionProvider.d.ts
CHANGED
|
@@ -6,5 +6,5 @@ import { IExtensionManager } from './IExtensionManger.js';
|
|
|
6
6
|
export declare class HighlightElementExtensionProvider implements IDesignerExtensionProvider {
|
|
7
7
|
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
8
8
|
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
9
|
-
readonly style: CSSStyleSheet;
|
|
9
|
+
static readonly style: CSSStyleSheet;
|
|
10
10
|
}
|
|
@@ -7,7 +7,7 @@ export class HighlightElementExtensionProvider {
|
|
|
7
7
|
getExtension(extensionManager, designerView, designItem) {
|
|
8
8
|
return new HighlightElementExtension(extensionManager, designerView, designItem);
|
|
9
9
|
}
|
|
10
|
-
style = css `
|
|
10
|
+
static style = css `
|
|
11
11
|
.svg-hover { stroke: #90caf9; fill: none; }
|
|
12
12
|
`;
|
|
13
13
|
}
|
|
@@ -6,5 +6,5 @@ export interface IDesignerExtensionProvider {
|
|
|
6
6
|
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
7
7
|
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
8
8
|
style?: CSSStyleSheet | CSSStyleSheet[];
|
|
9
|
-
svgDefs?: string;
|
|
9
|
+
svgDefs?: string | string[];
|
|
10
10
|
}
|
package/dist/elements/widgets/designerView/extensions/InvisibleElementExtensionProvider.d.ts
CHANGED
|
@@ -9,5 +9,5 @@ export declare class InvisibleElementExtensionProvider implements IDesignerExten
|
|
|
9
9
|
constructor(elementFilter?: (designItem: IDesignItem) => boolean);
|
|
10
10
|
shouldExtend(extensionManager: IExtensionManager, designerCanvas: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
11
11
|
getExtension(extensionManager: IExtensionManager, designerCanvas: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
12
|
-
readonly style: CSSStyleSheet;
|
|
12
|
+
static readonly style: CSSStyleSheet;
|
|
13
13
|
}
|
|
@@ -18,7 +18,7 @@ export class InvisibleElementExtensionProvider {
|
|
|
18
18
|
getExtension(extensionManager, designerCanvas, designItem) {
|
|
19
19
|
return new InvisibleElementExtension(extensionManager, designerCanvas, designItem);
|
|
20
20
|
}
|
|
21
|
-
style = css `
|
|
21
|
+
static style = css `
|
|
22
22
|
.svg-invisible-div { stroke: lightgray; fill: transparent; stroke-width: 1;
|
|
23
23
|
`;
|
|
24
24
|
}
|
package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtensionProvider.d.ts
CHANGED
|
@@ -6,5 +6,5 @@ import { IExtensionManager } from './IExtensionManger.js';
|
|
|
6
6
|
export declare class MultipleSelectionRectExtensionProvider implements IDesignerExtensionProvider {
|
|
7
7
|
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
8
8
|
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
9
|
-
readonly style: CSSStyleSheet;
|
|
9
|
+
static readonly style: CSSStyleSheet;
|
|
10
10
|
}
|
package/dist/elements/widgets/designerView/extensions/MultipleSelectionRectExtensionProvider.js
CHANGED
|
@@ -7,7 +7,7 @@ export class MultipleSelectionRectExtensionProvider {
|
|
|
7
7
|
getExtension(extensionManager, designerView, designItem) {
|
|
8
8
|
return new MultipleSelectionRectExtension(extensionManager, designerView, designItem);
|
|
9
9
|
}
|
|
10
|
-
style = css `
|
|
10
|
+
static style = css `
|
|
11
11
|
.svg-multiple-rect-selection { stroke: #909090; stroke-dasharray: 3; fill: transparent; stroke-width: 2; /*pointer-events: all;*/ }
|
|
12
12
|
`;
|
|
13
13
|
}
|
|
@@ -6,5 +6,5 @@ import { IExtensionManager } from './IExtensionManger.js';
|
|
|
6
6
|
export declare class PaddingExtensionProvider implements IDesignerExtensionProvider {
|
|
7
7
|
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
8
8
|
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
9
|
-
readonly style: CSSStyleSheet;
|
|
9
|
+
static readonly style: CSSStyleSheet;
|
|
10
10
|
}
|
|
@@ -10,7 +10,7 @@ export class PaddingExtensionProvider {
|
|
|
10
10
|
getExtension(extensionManager, designerView, designItem) {
|
|
11
11
|
return new PaddingExtension(extensionManager, designerView, designItem);
|
|
12
12
|
}
|
|
13
|
-
style = css `
|
|
13
|
+
static style = css `
|
|
14
14
|
.svg-padding { fill: #32cd3266; }
|
|
15
15
|
`;
|
|
16
16
|
}
|
|
@@ -6,5 +6,5 @@ import { IExtensionManager } from './IExtensionManger.js';
|
|
|
6
6
|
export declare class PlacementExtensionProvider implements IDesignerExtensionProvider {
|
|
7
7
|
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
8
8
|
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
9
|
-
readonly style: CSSStyleSheet;
|
|
9
|
+
static readonly style: CSSStyleSheet;
|
|
10
10
|
}
|
|
@@ -7,7 +7,7 @@ export class PlacementExtensionProvider {
|
|
|
7
7
|
getExtension(extensionManager, designerView, designItem) {
|
|
8
8
|
return new PlacementExtension(extensionManager, designerView, designItem);
|
|
9
9
|
}
|
|
10
|
-
style = css `
|
|
10
|
+
static style = css `
|
|
11
11
|
.svg-hover { stroke: #90caf9; fill: none; }
|
|
12
12
|
`;
|
|
13
13
|
}
|
|
@@ -6,5 +6,5 @@ import { IExtensionManager } from './IExtensionManger.js';
|
|
|
6
6
|
export declare class PositionExtensionProvider implements IDesignerExtensionProvider {
|
|
7
7
|
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
8
8
|
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
9
|
-
readonly style: CSSStyleSheet;
|
|
9
|
+
static readonly style: CSSStyleSheet;
|
|
10
10
|
}
|
|
@@ -12,7 +12,7 @@ export class PositionExtensionProvider {
|
|
|
12
12
|
getExtension(extensionManager, designerView, designItem) {
|
|
13
13
|
return new PositionExtension(extensionManager, designerView, designItem);
|
|
14
14
|
}
|
|
15
|
-
style = css `
|
|
15
|
+
static style = css `
|
|
16
16
|
.svg-position-text { text-anchor: middle; alignment-baseline: central; }
|
|
17
17
|
`;
|
|
18
18
|
}
|
|
@@ -8,5 +8,5 @@ export declare class ResizeExtensionProvider implements IDesignerExtensionProvid
|
|
|
8
8
|
constructor(resizeAllSelected?: boolean);
|
|
9
9
|
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
10
10
|
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
11
|
-
readonly style: CSSStyleSheet;
|
|
11
|
+
static readonly style: CSSStyleSheet;
|
|
12
12
|
}
|
|
@@ -14,7 +14,7 @@ export class ResizeExtensionProvider {
|
|
|
14
14
|
getExtension(extensionManager, designerView, designItem) {
|
|
15
15
|
return new ResizeExtension(extensionManager, designerView, designItem, this.resizeAllSelected);
|
|
16
16
|
}
|
|
17
|
-
style = css `
|
|
17
|
+
static style = css `
|
|
18
18
|
.svg-primary-resizer { stroke: #3899ec; fill: white; pointer-events: all }
|
|
19
19
|
`;
|
|
20
20
|
}
|
|
@@ -6,5 +6,5 @@ import { IExtensionManager } from './IExtensionManger.js';
|
|
|
6
6
|
export declare class RotateExtensionProvider implements IDesignerExtensionProvider {
|
|
7
7
|
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
8
8
|
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
9
|
-
readonly style: CSSStyleSheet;
|
|
9
|
+
static readonly style: CSSStyleSheet;
|
|
10
10
|
}
|
|
@@ -10,7 +10,7 @@ export class RotateExtensionProvider {
|
|
|
10
10
|
getExtension(extensionManager, designerView, designItem) {
|
|
11
11
|
return new RotateExtension(extensionManager, designerView, designItem);
|
|
12
12
|
}
|
|
13
|
-
style = css `
|
|
13
|
+
static style = css `
|
|
14
14
|
.svg-primary-rotate { stroke: #3899ec; fill: #3899ec; pointer-events: all }
|
|
15
15
|
.svg-rotate-text { text-anchor: middle; alignment-baseline: central; }
|
|
16
16
|
`;
|
package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.d.ts
CHANGED
|
@@ -6,5 +6,5 @@ import { IExtensionManager } from './IExtensionManger.js';
|
|
|
6
6
|
export declare class SelectionDefaultExtensionProvider implements IDesignerExtensionProvider {
|
|
7
7
|
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
8
8
|
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
9
|
-
readonly style: CSSStyleSheet;
|
|
9
|
+
static readonly style: CSSStyleSheet;
|
|
10
10
|
}
|
|
@@ -8,7 +8,7 @@ export class SelectionDefaultExtensionProvider {
|
|
|
8
8
|
getExtension(extensionManager, designerView, designItem) {
|
|
9
9
|
return new SelectionDefaultExtension(extensionManager, designerView, designItem);
|
|
10
10
|
}
|
|
11
|
-
style = css `
|
|
11
|
+
static style = css `
|
|
12
12
|
.svg-selection { stroke: #3899ec; fill: transparent; stroke-width: 2; /*pointer-events: all;*/ }
|
|
13
13
|
`;
|
|
14
14
|
}
|
|
@@ -8,5 +8,5 @@ export declare class TransformOriginExtensionProvider implements IDesignerExtens
|
|
|
8
8
|
constructor(showOnlyWhenSet?: boolean);
|
|
9
9
|
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
10
10
|
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
11
|
-
readonly style: CSSStyleSheet;
|
|
11
|
+
static readonly style: CSSStyleSheet;
|
|
12
12
|
}
|
|
@@ -26,7 +26,7 @@ export class TransformOriginExtensionProvider {
|
|
|
26
26
|
getExtension(extensionManager, designerView, designItem) {
|
|
27
27
|
return new TransformOriginExtension(extensionManager, designerView, designItem);
|
|
28
28
|
}
|
|
29
|
-
style = css `
|
|
29
|
+
static style = css `
|
|
30
30
|
.svg-transform-origin { stroke: #3899ec; fill: black; pointer-events: all }
|
|
31
31
|
`;
|
|
32
32
|
}
|
package/dist/elements/widgets/designerView/extensions/grid/DisplayGridExtensionProvider.d.ts
CHANGED
|
@@ -10,6 +10,6 @@ export declare class DisplayGridExtensionProvider implements IDesignerExtensionP
|
|
|
10
10
|
constructor(gridColor?: string, gridFillColor?: string);
|
|
11
11
|
shouldExtend(extensionManager: IExtensionManager, designerCanvas: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
12
12
|
getExtension(extensionManager: IExtensionManager, designerCanvas: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
13
|
-
readonly style: CSSStyleSheet;
|
|
14
|
-
readonly svgDefs = "\n <pattern id=\"pattern-stripe\" \n width=\"4\" height=\"4\" \n patternUnits=\"userSpaceOnUse\"\n patternTransform=\"rotate(45)\">\n <rect width=\"1\" height=\"4\" transform=\"translate(0,0)\" fill=\"white\"></rect>\n </pattern>\n <mask id=\"mask-stripe\">\n <rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" fill=\"url(#pattern-stripe)\" />\n </mask>";
|
|
13
|
+
static readonly style: CSSStyleSheet;
|
|
14
|
+
static readonly svgDefs = "\n <pattern id=\"pattern-stripe\" \n width=\"4\" height=\"4\" \n patternUnits=\"userSpaceOnUse\"\n patternTransform=\"rotate(45)\">\n <rect width=\"1\" height=\"4\" transform=\"translate(0,0)\" fill=\"white\"></rect>\n </pattern>\n <mask id=\"mask-stripe\">\n <rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" fill=\"url(#pattern-stripe)\" />\n </mask>";
|
|
15
15
|
}
|
|
@@ -17,7 +17,7 @@ export class DisplayGridExtensionProvider {
|
|
|
17
17
|
getExtension(extensionManager, designerCanvas, designItem) {
|
|
18
18
|
return new DisplayGridExtension(extensionManager, designerCanvas, designItem, this.gridColor, this.gridFillColor);
|
|
19
19
|
}
|
|
20
|
-
style = css `
|
|
20
|
+
static style = css `
|
|
21
21
|
.svg-grid { stroke: var(--svg-grid-stroke-color); stroke-dasharray: 5; fill: var(--svg-grid-fill-color); }
|
|
22
22
|
.svg-grid-current-cell { stroke: var(--svg-grid-stroke-color); stroke-dasharray: 5; fill: #e3ff4722; }
|
|
23
23
|
.svg-grid-area { font-size: 8px; }
|
|
@@ -25,7 +25,7 @@ export class DisplayGridExtensionProvider {
|
|
|
25
25
|
.svg-grid-header { fill: var(--svg-grid-fill-color); stroke: var(--svg-grid-stroke-color); }
|
|
26
26
|
.svg-grid-plus-sign { stroke: black; }
|
|
27
27
|
`;
|
|
28
|
-
svgDefs = `
|
|
28
|
+
static svgDefs = `
|
|
29
29
|
<pattern id="pattern-stripe"
|
|
30
30
|
width="4" height="4"
|
|
31
31
|
patternUnits="userSpaceOnUse"
|
|
@@ -6,5 +6,5 @@ import { IExtensionManager } from '../IExtensionManger.js';
|
|
|
6
6
|
export declare class EditGridColumnRowSizesExtensionProvider implements IDesignerExtensionProvider {
|
|
7
7
|
shouldExtend(extensionManager: IExtensionManager, designerCanvas: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
8
8
|
getExtension(extensionManager: IExtensionManager, designerCanvas: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
9
|
-
readonly style: CSSStyleSheet;
|
|
9
|
+
static readonly style: CSSStyleSheet;
|
|
10
10
|
}
|
|
@@ -11,7 +11,7 @@ export class EditGridColumnRowSizesExtensionProvider {
|
|
|
11
11
|
getExtension(extensionManager, designerCanvas, designItem) {
|
|
12
12
|
return new EditGridColumnRowSizesExtension(extensionManager, designerCanvas, designItem);
|
|
13
13
|
}
|
|
14
|
-
style = css `
|
|
14
|
+
static style = css `
|
|
15
15
|
.svg-grid-resizer-v { fill: transparent; cursor: ew-resize; pointer-events: all; }
|
|
16
16
|
.svg-grid-resizer-v:hover { fill: #ff7f5052; }
|
|
17
17
|
.svg-grid-resizer-h { fill: transparent; cursor: ns-resize; pointer-events: all; }
|
|
@@ -3,10 +3,8 @@ import { IDesignerCanvas } from "../../IDesignerCanvas.js";
|
|
|
3
3
|
import { AbstractExtension } from "../AbstractExtension.js";
|
|
4
4
|
import { IExtensionManager } from "../IExtensionManger.js";
|
|
5
5
|
export declare class GridChildResizeExtension extends AbstractExtension {
|
|
6
|
-
private _initialSizes;
|
|
7
6
|
private _actionModeStarted;
|
|
8
7
|
private _initialPoint;
|
|
9
|
-
private _offsetPoint;
|
|
10
8
|
private _circle1;
|
|
11
9
|
private _circle2;
|
|
12
10
|
private _circle3;
|
|
@@ -17,11 +15,11 @@ export declare class GridChildResizeExtension extends AbstractExtension {
|
|
|
17
15
|
private _circle8;
|
|
18
16
|
private _initialComputedTransformOrigins;
|
|
19
17
|
private _initialTransformOrigins;
|
|
18
|
+
private _styleBackup;
|
|
20
19
|
constructor(extensionManager: IExtensionManager, designerCanvas: IDesignerCanvas, extendedItem: IDesignItem);
|
|
21
20
|
extend(cache: Record<string | symbol, any>, event?: Event): void;
|
|
22
21
|
refresh(cache: Record<string | symbol, any>, event?: Event): void;
|
|
23
22
|
_drawResizerOverlay(x: number, y: number, cursor: string, oldCircle?: SVGCircleElement): SVGCircleElement;
|
|
24
23
|
_pointerActionTypeResize(circle: SVGCircleElement, event: PointerEvent, actionMode: string): void;
|
|
25
|
-
private prepareResize;
|
|
26
24
|
dispose(): void;
|
|
27
25
|
}
|
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
import { EventNames } from "../../../../../enums/EventNames.js";
|
|
2
|
-
import { getContentBoxContentOffsets } from "../../../../helper/ElementHelper.js";
|
|
3
2
|
import { calculateGridInformation } from "../../../../helper/GridHelper.js";
|
|
4
|
-
import {
|
|
5
|
-
import { getDesignerCanvasNormalizedTransformedCornerDOMPoints, getElementCombinedTransform, transformPointByInverseMatrix, normalizeToAbsolutePosition } from "../../../../helper/TransformHelper.js";
|
|
3
|
+
import { getDesignerCanvasNormalizedTransformedCornerDOMPoints } from "../../../../helper/TransformHelper.js";
|
|
6
4
|
import { AbstractExtension } from "../AbstractExtension.js";
|
|
7
|
-
// also when elment aligned to bottom, will it later also be?
|
|
8
5
|
export class GridChildResizeExtension extends AbstractExtension {
|
|
9
|
-
_initialSizes;
|
|
10
6
|
_actionModeStarted;
|
|
11
7
|
_initialPoint;
|
|
12
|
-
_offsetPoint;
|
|
13
8
|
_circle1;
|
|
14
9
|
_circle2;
|
|
15
10
|
_circle3;
|
|
@@ -20,6 +15,7 @@ export class GridChildResizeExtension extends AbstractExtension {
|
|
|
20
15
|
_circle8;
|
|
21
16
|
_initialComputedTransformOrigins;
|
|
22
17
|
_initialTransformOrigins;
|
|
18
|
+
_styleBackup;
|
|
23
19
|
constructor(extensionManager, designerCanvas, extendedItem) {
|
|
24
20
|
super(extensionManager, designerCanvas, extendedItem);
|
|
25
21
|
}
|
|
@@ -61,47 +57,19 @@ export class GridChildResizeExtension extends AbstractExtension {
|
|
|
61
57
|
const currentPoint = this.designerCanvas.getNormalizedEventCoordinates(event);
|
|
62
58
|
switch (event.type) {
|
|
63
59
|
case EventNames.PointerDown:
|
|
64
|
-
|
|
65
|
-
const cy = parseFloat(circle.getAttribute('cy'));
|
|
66
|
-
this._offsetPoint = { x: cx - currentPoint.x, y: cy - currentPoint.y };
|
|
60
|
+
this._styleBackup = this.extendedItem.element.getAttribute('style');
|
|
67
61
|
event.target.setPointerCapture(event.pointerId);
|
|
68
62
|
this._initialPoint = currentPoint;
|
|
69
|
-
this._initialSizes = [];
|
|
70
63
|
this._actionModeStarted = actionMode;
|
|
71
64
|
this._initialComputedTransformOrigins = [];
|
|
72
65
|
this._initialTransformOrigins = [];
|
|
73
|
-
//#region Calc elements' dimension
|
|
74
|
-
const transformBackup = this.extendedItem.element.style.transform;
|
|
75
|
-
this.extendedItem.element.style.transform = '';
|
|
76
|
-
let rect = this.extendedItem.element.getBoundingClientRect();
|
|
77
|
-
this.extendedItem.element.style.transform = transformBackup;
|
|
78
|
-
//#endregion Calc element's dimension
|
|
79
|
-
let contentBoxOffset = { x: 0, y: 0 };
|
|
80
|
-
if (getComputedStyle(this.extendedItem.element).boxSizing == 'content-box') {
|
|
81
|
-
contentBoxOffset = getContentBoxContentOffsets(this.extendedItem.element);
|
|
82
|
-
}
|
|
83
|
-
this._initialSizes.push({ width: (rect.width - contentBoxOffset.x * this.designerCanvas.scaleFactor) / this.designerCanvas.scaleFactor, height: (rect.height - contentBoxOffset.y * this.designerCanvas.scaleFactor) / this.designerCanvas.scaleFactor });
|
|
84
66
|
const toArr = getComputedStyle(this.extendedItem.element).transformOrigin.split(' ').map(x => parseFloat(x.replace('px', '')));
|
|
85
67
|
const transformOrigin = new DOMPoint(toArr[0], toArr[1]);
|
|
86
68
|
this._initialComputedTransformOrigins.push(transformOrigin);
|
|
87
69
|
this._initialTransformOrigins.push(this.extendedItem.element.style.transformOrigin);
|
|
88
|
-
this.prepareResize(this.extendedItem, this._actionModeStarted);
|
|
89
70
|
break;
|
|
90
71
|
case EventNames.PointerMove:
|
|
91
72
|
if (this._initialPoint) {
|
|
92
|
-
const containerStyle = getComputedStyle(this.extendedItem.parent.element);
|
|
93
|
-
const containerService = this.designerCanvas.serviceContainer.getLastServiceWhere('containerService', x => x.serviceForContainer(this.extendedItem.parent, containerStyle));
|
|
94
|
-
const diff = containerService.placePoint(event, this.designerCanvas, this.extendedItem.parent, this._initialPoint, { x: 0, y: 0 }, currentPoint, this.designerCanvas.instanceServiceContainer.selectionService.selectedElements);
|
|
95
|
-
let trackX = Math.round(diff.x - this._initialPoint.x - this._offsetPoint.x);
|
|
96
|
-
let trackY = Math.round(diff.y - this._initialPoint.y - this._offsetPoint.y);
|
|
97
|
-
let matrix = getElementCombinedTransform(this.extendedItem.element);
|
|
98
|
-
let transformedTrack = transformPointByInverseMatrix(new DOMPoint(trackX, trackY, 0, 0), matrix);
|
|
99
|
-
let deltaX = transformedTrack.x;
|
|
100
|
-
let deltaY = transformedTrack.y;
|
|
101
|
-
if (event.shiftKey) {
|
|
102
|
-
deltaX = deltaX < deltaY ? deltaX : deltaY;
|
|
103
|
-
deltaY = deltaX;
|
|
104
|
-
}
|
|
105
73
|
let posX = 0;
|
|
106
74
|
let posY = 0;
|
|
107
75
|
let cellX = 0;
|
|
@@ -164,105 +132,25 @@ export class GridChildResizeExtension extends AbstractExtension {
|
|
|
164
132
|
break;
|
|
165
133
|
case EventNames.PointerUp:
|
|
166
134
|
event.target.releasePointerCapture(event.pointerId);
|
|
135
|
+
const cs = getComputedStyle(this.extendedItem.element);
|
|
136
|
+
const gridColumnStart = cs.gridColumnStart;
|
|
137
|
+
const gridColumnEnd = cs.gridColumnEnd;
|
|
138
|
+
const gridRowStart = cs.gridRowStart;
|
|
139
|
+
const gridRowEnd = cs.gridRowEnd;
|
|
140
|
+
if (this._styleBackup)
|
|
141
|
+
this.extendedItem.element.setAttribute('style', this._styleBackup);
|
|
142
|
+
else
|
|
143
|
+
this.extendedItem.element.removeAttribute('style');
|
|
167
144
|
let cg = this.extendedItem.openGroup("Resize <" + this.extendedItem.name + ">");
|
|
168
|
-
this.extendedItem.setStyle(
|
|
169
|
-
this.extendedItem.setStyle(
|
|
170
|
-
this.extendedItem.setStyle(
|
|
171
|
-
this.extendedItem.setStyle(
|
|
172
|
-
let p3Abs = new DOMPoint(this.extendedItem.element.offsetLeft + parseFloat(getComputedStyle(this.extendedItem.element).transformOrigin.split(' ')[0].replace('px', '')), this.extendedItem.element.offsetTop + parseFloat(getComputedStyle(this.extendedItem.element).transformOrigin.split(' ')[1].replace('px', '')));
|
|
173
|
-
this.extendedItem.element.style.transformOrigin = this._initialTransformOrigins[0];
|
|
174
|
-
let p1Abs = new DOMPoint(this.extendedItem.element.offsetLeft + parseFloat(getComputedStyle(this.extendedItem.element).transformOrigin.split(' ')[0].replace('px', '')), this.extendedItem.element.offsetTop + parseFloat(getComputedStyle(this.extendedItem.element).transformOrigin.split(' ')[1].replace('px', '')));
|
|
175
|
-
let p1 = new DOMPoint(p1Abs.x - p3Abs.x, -(p1Abs.y - p3Abs.y));
|
|
176
|
-
let matrix = new DOMMatrix(getComputedStyle(this.extendedItem.element).transform);
|
|
177
|
-
let deltaX = 0;
|
|
178
|
-
let deltaY = 0;
|
|
179
|
-
let p1transformed = transformPointByInverseMatrix(p1, matrix);
|
|
180
|
-
let p2Abs = new DOMPoint(p3Abs.x + p1transformed.x, p3Abs.y - p1transformed.y);
|
|
181
|
-
let p1p2 = new DOMPoint(p2Abs.x - p1Abs.x, -(p2Abs.y - p1Abs.y));
|
|
182
|
-
let p1p2transformed = p1p2.matrixTransform(matrix);
|
|
183
|
-
let p4Abs = new DOMPoint(p1Abs.x + p1p2transformed.x, p1Abs.y - p1p2transformed.y);
|
|
184
|
-
deltaX = p4Abs.x - p1Abs.x;
|
|
185
|
-
deltaY = p4Abs.y - p1Abs.y;
|
|
186
|
-
this.extendedItem.element.style.transform = matrix.translate(deltaX, deltaY).toString();
|
|
187
|
-
if (matrix.isIdentity) {
|
|
188
|
-
this.extendedItem.element.style.transform = '';
|
|
189
|
-
}
|
|
190
|
-
this.extendedItem.setStyle('transform', this.extendedItem.element.style.transform);
|
|
145
|
+
this.extendedItem.setStyle("gridColumnStart", gridColumnStart);
|
|
146
|
+
this.extendedItem.setStyle("gridColumnEnd", gridColumnEnd);
|
|
147
|
+
this.extendedItem.setStyle("gridRowStart", gridRowStart);
|
|
148
|
+
this.extendedItem.setStyle("gridRowEnd", gridRowEnd);
|
|
191
149
|
cg.commit();
|
|
192
|
-
this._initialSizes = null;
|
|
193
150
|
this._initialPoint = null;
|
|
194
151
|
break;
|
|
195
152
|
}
|
|
196
153
|
}
|
|
197
|
-
prepareResize(designItem, mode) {
|
|
198
|
-
let i = 0;
|
|
199
|
-
let top = null;
|
|
200
|
-
let bottom = null;
|
|
201
|
-
let left = null;
|
|
202
|
-
let right = null;
|
|
203
|
-
switch (this._actionModeStarted) {
|
|
204
|
-
case 'e-resize':
|
|
205
|
-
left = getComputedStyle(designItem.element).left;
|
|
206
|
-
designItem.element.style.removeProperty('right');
|
|
207
|
-
designItem.element.style.left = left;
|
|
208
|
-
designItem.element.style.transformOrigin = this._initialComputedTransformOrigins[i].x + 'px ' + this._initialComputedTransformOrigins[i].y + 'px';
|
|
209
|
-
break;
|
|
210
|
-
case 'se-resize':
|
|
211
|
-
top = getComputedStyle(designItem.element).top;
|
|
212
|
-
designItem.element.style.removeProperty('bottom');
|
|
213
|
-
designItem.element.style.top = top;
|
|
214
|
-
left = getComputedStyle(designItem.element).left;
|
|
215
|
-
designItem.element.style.removeProperty('right');
|
|
216
|
-
designItem.element.style.left = left;
|
|
217
|
-
designItem.element.style.transformOrigin = this._initialComputedTransformOrigins[i].x + 'px ' + this._initialComputedTransformOrigins[i].y + 'px';
|
|
218
|
-
break;
|
|
219
|
-
case 's-resize':
|
|
220
|
-
top = getComputedStyle(designItem.element).top;
|
|
221
|
-
designItem.element.style.removeProperty('bottom');
|
|
222
|
-
designItem.element.style.top = top;
|
|
223
|
-
designItem.element.style.transformOrigin = this._initialComputedTransformOrigins[i].x + 'px ' + this._initialComputedTransformOrigins[i].y + 'px';
|
|
224
|
-
break;
|
|
225
|
-
case 'sw-resize':
|
|
226
|
-
top = getComputedStyle(designItem.element).top;
|
|
227
|
-
designItem.element.style.removeProperty('bottom');
|
|
228
|
-
designItem.element.style.top = top;
|
|
229
|
-
right = getComputedStyle(designItem.element).right;
|
|
230
|
-
designItem.element.style.removeProperty('left');
|
|
231
|
-
designItem.element.style.right = right;
|
|
232
|
-
designItem.element.style.transformOrigin = 'calc(100% - ' + this._initialComputedTransformOrigins[i].x + 'px) ' + this._initialComputedTransformOrigins[i].y + 'px';
|
|
233
|
-
break;
|
|
234
|
-
case 'w-resize':
|
|
235
|
-
right = getComputedStyle(designItem.element).right;
|
|
236
|
-
designItem.element.style.removeProperty('left');
|
|
237
|
-
designItem.element.style.right = right;
|
|
238
|
-
designItem.element.style.transformOrigin = 'calc(100% - ' + this._initialComputedTransformOrigins[i].x + 'px) ' + this._initialComputedTransformOrigins[i].y + 'px';
|
|
239
|
-
break;
|
|
240
|
-
case 'nw-resize':
|
|
241
|
-
bottom = getComputedStyle(designItem.element).bottom;
|
|
242
|
-
designItem.element.style.removeProperty('top');
|
|
243
|
-
designItem.element.style.bottom = bottom;
|
|
244
|
-
right = getComputedStyle(designItem.element).right;
|
|
245
|
-
designItem.element.style.removeProperty('left');
|
|
246
|
-
designItem.element.style.right = right;
|
|
247
|
-
designItem.element.style.transformOrigin = 'calc(100% - ' + this._initialComputedTransformOrigins[i].x + 'px) ' + 'calc(100% - ' + this._initialComputedTransformOrigins[i].y + 'px)';
|
|
248
|
-
break;
|
|
249
|
-
case 'n-resize':
|
|
250
|
-
bottom = getComputedStyle(designItem.element).bottom;
|
|
251
|
-
designItem.element.style.removeProperty('top');
|
|
252
|
-
designItem.element.style.bottom = bottom;
|
|
253
|
-
designItem.element.style.transformOrigin = 'calc(100% - ' + this._initialComputedTransformOrigins[i].x + 'px) ' + 'calc(100% - ' + this._initialComputedTransformOrigins[i].y + 'px)';
|
|
254
|
-
break;
|
|
255
|
-
case 'ne-resize':
|
|
256
|
-
bottom = getComputedStyle(designItem.element).bottom;
|
|
257
|
-
designItem.element.style.removeProperty('top');
|
|
258
|
-
designItem.element.style.bottom = bottom;
|
|
259
|
-
left = getComputedStyle(designItem.element).left;
|
|
260
|
-
designItem.element.style.removeProperty('right');
|
|
261
|
-
designItem.element.style.left = left;
|
|
262
|
-
designItem.element.style.transformOrigin = this._initialComputedTransformOrigins[i].x + 'px ' + 'calc(100% - ' + this._initialComputedTransformOrigins[i].y + 'px)';
|
|
263
|
-
break;
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
154
|
dispose() {
|
|
267
155
|
this._removeAllOverlays();
|
|
268
156
|
}
|
package/dist/elements/widgets/designerView/extensions/grid/GridChildResizeExtensionProvider.d.ts
CHANGED
|
@@ -6,5 +6,5 @@ import { IExtensionManager } from "../IExtensionManger.js";
|
|
|
6
6
|
export declare class GridChildResizeExtensionProvider implements IDesignerExtensionProvider {
|
|
7
7
|
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
8
8
|
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
9
|
-
readonly style: CSSStyleSheet;
|
|
9
|
+
static readonly style: CSSStyleSheet;
|
|
10
10
|
}
|
package/dist/elements/widgets/designerView/extensions/grid/GridChildResizeExtensionProvider.js
CHANGED
|
@@ -3,14 +3,14 @@ import { NodeType } from "../../../../item/NodeType.js";
|
|
|
3
3
|
import { GridChildResizeExtension } from "./GridChildResizeExtension.js";
|
|
4
4
|
export class GridChildResizeExtensionProvider {
|
|
5
5
|
shouldExtend(extensionManager, designerView, designItem) {
|
|
6
|
-
if (designItem.nodeType === NodeType.Element && getComputedStyle(designItem.parent.element).display === 'grid')
|
|
6
|
+
if (designItem.nodeType === NodeType.Element && designItem.parent?.nodeType === NodeType.Element && getComputedStyle(designItem.parent.element).display === 'grid')
|
|
7
7
|
return true;
|
|
8
8
|
return false;
|
|
9
9
|
}
|
|
10
10
|
getExtension(extensionManager, designerView, designItem) {
|
|
11
11
|
return new GridChildResizeExtension(extensionManager, designerView, designItem);
|
|
12
12
|
}
|
|
13
|
-
style = css `
|
|
13
|
+
static style = css `
|
|
14
14
|
.svg-grid-resizer { stroke: #3899ec; fill: white; pointer-events: all }
|
|
15
15
|
`;
|
|
16
16
|
}
|
package/dist/elements/widgets/designerView/extensions/logic/ApplyFirstMachingExtensionProvider.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare class ApplyFirstMachingExtensionProvider implements IDesignerExte
|
|
|
7
7
|
private extensions;
|
|
8
8
|
private extIndex;
|
|
9
9
|
style: CSSStyleSheet[];
|
|
10
|
+
svgDefs: string[];
|
|
10
11
|
constructor(...extensions: IDesignerExtensionProvider[]);
|
|
11
12
|
shouldExtend(extensionManager: IExtensionManager, designerCanvas: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
12
13
|
getExtension(extensionManager: IExtensionManager, designerCanvas: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
package/dist/elements/widgets/designerView/extensions/logic/ApplyFirstMachingExtensionProvider.js
CHANGED
|
@@ -2,6 +2,7 @@ export class ApplyFirstMachingExtensionProvider {
|
|
|
2
2
|
extensions;
|
|
3
3
|
extIndex;
|
|
4
4
|
style;
|
|
5
|
+
svgDefs;
|
|
5
6
|
constructor(...extensions) {
|
|
6
7
|
this.extensions = extensions;
|
|
7
8
|
for (let e of extensions) {
|
|
@@ -13,6 +14,30 @@ export class ApplyFirstMachingExtensionProvider {
|
|
|
13
14
|
else
|
|
14
15
|
this.style.push(e.style);
|
|
15
16
|
}
|
|
17
|
+
if (e.constructor.style) {
|
|
18
|
+
if (!this.style)
|
|
19
|
+
this.style = [];
|
|
20
|
+
if (Array.isArray(e.constructor.style))
|
|
21
|
+
this.style.push(...e.constructor.style);
|
|
22
|
+
else
|
|
23
|
+
this.style.push(e.constructor.style);
|
|
24
|
+
}
|
|
25
|
+
if (e.svgDefs) {
|
|
26
|
+
if (!this.svgDefs)
|
|
27
|
+
this.svgDefs = [];
|
|
28
|
+
if (Array.isArray(e.svgDefs))
|
|
29
|
+
this.svgDefs.push(...e.svgDefs);
|
|
30
|
+
else
|
|
31
|
+
this.svgDefs.push(e.svgDefs);
|
|
32
|
+
}
|
|
33
|
+
if (e.constructor.svgDefs) {
|
|
34
|
+
if (!this.svgDefs)
|
|
35
|
+
this.svgDefs = [];
|
|
36
|
+
if (Array.isArray(e.constructor.svgDefs))
|
|
37
|
+
this.svgDefs.push(...e.svgDefs);
|
|
38
|
+
else
|
|
39
|
+
this.svgDefs.push(e.constructor.svgDefs);
|
|
40
|
+
}
|
|
16
41
|
}
|
|
17
42
|
}
|
|
18
43
|
shouldExtend(extensionManager, designerCanvas, designItem) {
|
|
@@ -8,6 +8,7 @@ export declare class ConditionExtensionProvider implements IDesignerExtensionPro
|
|
|
8
8
|
extensionProvider: IDesignerExtensionProvider;
|
|
9
9
|
condition: (designItem: IDesignItem) => boolean;
|
|
10
10
|
style: CSSStyleSheet;
|
|
11
|
+
svgDefs: string;
|
|
11
12
|
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
12
13
|
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
13
14
|
}
|
|
@@ -2,11 +2,13 @@ export class ConditionExtensionProvider {
|
|
|
2
2
|
constructor(extensionProvider, condition) {
|
|
3
3
|
this.extensionProvider = extensionProvider;
|
|
4
4
|
this.condition = condition;
|
|
5
|
-
this.style = extensionProvider.style;
|
|
5
|
+
this.style = extensionProvider.style ?? extensionProvider.constructor.style;
|
|
6
|
+
this.svgDefs = extensionProvider.svgDefs ?? extensionProvider.constructor.svgDefs;
|
|
6
7
|
}
|
|
7
8
|
extensionProvider;
|
|
8
9
|
condition;
|
|
9
10
|
style;
|
|
11
|
+
svgDefs;
|
|
10
12
|
shouldExtend(extensionManager, designerView, designItem) {
|
|
11
13
|
if (!this.condition(designItem))
|
|
12
14
|
return false;
|
|
@@ -63,17 +63,47 @@ export class OverlayLayerView extends BaseCustomWebComponentConstructorAppend {
|
|
|
63
63
|
const alreadyApplied = new Set();
|
|
64
64
|
for (const extList of this._serviceContainer.designerExtensions) {
|
|
65
65
|
for (const ext of extList[1]) {
|
|
66
|
+
if (ext.constructor.style) {
|
|
67
|
+
if (Array.isArray(ext.constructor.style)) {
|
|
68
|
+
for (const s of ext.constructor.style) {
|
|
69
|
+
if (!alreadyApplied.has(s)) {
|
|
70
|
+
alreadyApplied.add(s);
|
|
71
|
+
styles.push(s);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
else if (!alreadyApplied.has(ext.constructor.style)) {
|
|
76
|
+
alreadyApplied.add(ext.constructor.style);
|
|
77
|
+
styles.push(ext.constructor.style);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
66
80
|
if (ext.style) {
|
|
67
|
-
if (
|
|
81
|
+
if (Array.isArray(ext.style)) {
|
|
82
|
+
for (const s of ext.style) {
|
|
83
|
+
if (!alreadyApplied.has(s)) {
|
|
84
|
+
alreadyApplied.add(s);
|
|
85
|
+
styles.push(s);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
else if (!alreadyApplied.has(ext.style)) {
|
|
68
90
|
alreadyApplied.add(ext.style);
|
|
69
|
-
|
|
70
|
-
styles.push(...ext.style);
|
|
71
|
-
else
|
|
72
|
-
styles.push(ext.style);
|
|
91
|
+
styles.push(ext.style);
|
|
73
92
|
}
|
|
74
93
|
}
|
|
75
94
|
if (ext.svgDefs) {
|
|
76
|
-
if (
|
|
95
|
+
if (Array.isArray(ext.svgDefs)) {
|
|
96
|
+
for (const s of ext.svgDefs) {
|
|
97
|
+
if (!alreadyApplied.has(s)) {
|
|
98
|
+
alreadyApplied.add(s);
|
|
99
|
+
const a = document.createElementNS("http://www.w3.org/2000/svg", "defs");
|
|
100
|
+
a.innerHTML = s;
|
|
101
|
+
for (let n of [...a.children])
|
|
102
|
+
this._defs.appendChild(n);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
else if (!alreadyApplied.has(ext.svgDefs)) {
|
|
77
107
|
alreadyApplied.add(ext.svgDefs);
|
|
78
108
|
const a = document.createElementNS("http://www.w3.org/2000/svg", "defs");
|
|
79
109
|
a.innerHTML = ext.svgDefs;
|
|
@@ -81,6 +111,26 @@ export class OverlayLayerView extends BaseCustomWebComponentConstructorAppend {
|
|
|
81
111
|
this._defs.appendChild(n);
|
|
82
112
|
}
|
|
83
113
|
}
|
|
114
|
+
if (ext.constructor.svgDefs) {
|
|
115
|
+
if (Array.isArray(ext.constructor.svgDefs)) {
|
|
116
|
+
for (const s of ext.constructor.svgDefs) {
|
|
117
|
+
if (!alreadyApplied.has(s)) {
|
|
118
|
+
alreadyApplied.add(s);
|
|
119
|
+
const a = document.createElementNS("http://www.w3.org/2000/svg", "defs");
|
|
120
|
+
a.innerHTML = s;
|
|
121
|
+
for (let n of [...a.children])
|
|
122
|
+
this._defs.appendChild(n);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
else if (!alreadyApplied.has(ext.constructor.svgDefs)) {
|
|
127
|
+
alreadyApplied.add(ext.constructor.svgDefs);
|
|
128
|
+
const a = document.createElementNS("http://www.w3.org/2000/svg", "defs");
|
|
129
|
+
a.innerHTML = ext.constructor.svgDefs;
|
|
130
|
+
for (let n of [...a.children])
|
|
131
|
+
this._defs.appendChild(n);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
84
134
|
}
|
|
85
135
|
}
|
|
86
136
|
for (const ext of this._serviceContainer.designerPointerExtensions) {
|
package/package.json
CHANGED