@node-projects/web-component-designer 0.1.194 → 0.1.196
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/services/eventsService/EventsService.d.ts +15 -15
- package/dist/elements/services/eventsService/EventsService.js +18 -19
- package/dist/elements/services/eventsService/EventsService.js.map +1 -1
- package/dist/elements/services/eventsService/IEventsService.d.ts +2 -2
- package/dist/elements/services/eventsService/WebcomponentManifestEventsService.d.ts +11 -0
- package/dist/elements/services/eventsService/WebcomponentManifestEventsService.js +47 -0
- package/dist/elements/services/eventsService/WebcomponentManifestEventsService.js.map +1 -0
- package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.d.ts +5 -0
- package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.js +22 -0
- package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/elements/services/propertiesService/services/BasicWebcomponentPropertiesService copy.d.ts +0 -21
- package/dist/elements/services/propertiesService/services/BasicWebcomponentPropertiesService copy.js +0 -243
- package/dist/elements/services/propertiesService/services/CssPropertiesService copy.d.ts +0 -25
- package/dist/elements/services/propertiesService/services/CssPropertiesService copy.js +0 -126
- package/dist/elements/services/propertiesService/services/NativeElementsPropertiesService copy.d.ts +0 -21
- package/dist/elements/services/propertiesService/services/NativeElementsPropertiesService copy.js +0 -243
- package/dist/elements/services/selectionService/ISelectionChangedEvent copy.d.ts +0 -6
- package/dist/elements/services/selectionService/ISelectionChangedEvent copy.js +0 -1
- package/dist/elements/services/stylesheetService/ISpecifity.d.ts +0 -0
- package/dist/elements/services/stylesheetService/ISpecifity.js +0 -1
- package/dist/elements/services/stylesheetService/SpecifityCalculator.d.ts +0 -3
- package/dist/elements/services/stylesheetService/SpecifityCalculator.js +0 -123
- package/dist/elements/widgets/designerView/extensions/AbstractToolbarExtension.d.ts +0 -9
- package/dist/elements/widgets/designerView/extensions/AbstractToolbarExtension.js +0 -30
- package/dist/elements/widgets/designerView/extensions/BasicDisplayToolbarExtension.d.ts +0 -20
- package/dist/elements/widgets/designerView/extensions/BasicDisplayToolbarExtension.js +0 -68
- package/dist/elements/widgets/designerView/extensions/BlockToolbarExtension.d.ts +0 -12
- package/dist/elements/widgets/designerView/extensions/BlockToolbarExtension.js +0 -40
- package/dist/elements/widgets/designerView/extensions/CanvasExtension.d.ts +0 -10
- package/dist/elements/widgets/designerView/extensions/CanvasExtension.js +0 -31
- package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider.d.ts +0 -10
- package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider.js +0 -15
- package/dist/elements/widgets/designerView/extensions/ConditionExtensionProvider.d.ts +0 -13
- package/dist/elements/widgets/designerView/extensions/ConditionExtensionProvider.js +0 -18
- package/dist/elements/widgets/designerView/extensions/EditTextExtension.d.ts +0 -18
- package/dist/elements/widgets/designerView/extensions/EditTextExtension.js +0 -107
- package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtension copy.d.ts +0 -15
- package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtension copy.js +0 -68
- package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtensionProvider copy.d.ts +0 -10
- package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtensionProvider copy.js +0 -13
- package/dist/elements/widgets/designerView/extensions/GridToolbarExtension.d.ts +0 -12
- package/dist/elements/widgets/designerView/extensions/GridToolbarExtension.js +0 -58
- package/dist/elements/widgets/designerView/extensions/block/FlexToolbarExtension.d.ts +0 -12
- package/dist/elements/widgets/designerView/extensions/block/FlexToolbarExtension.js +0 -34
- package/dist/elements/widgets/designerView/extensions/block/FlexToolbarExtensionProvider.d.ts +0 -9
- package/dist/elements/widgets/designerView/extensions/block/FlexToolbarExtensionProvider.js +0 -12
- package/dist/elements/widgets/designerView/extensions/buttons/GridExtensionDesignViewConfigButtons copy.d.ts +0 -4
- package/dist/elements/widgets/designerView/extensions/buttons/GridExtensionDesignViewConfigButtons copy.js +0 -7
- package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu copy.d.ts +0 -9
- package/dist/elements/widgets/designerView/extensions/contextMenu/ItemsBelowContextMenu copy.js +0 -17
- package/dist/elements/widgets/designerView/extensions/contextMenu/RotateLeftAndRightContextMenu copy.d.ts +0 -8
- package/dist/elements/widgets/designerView/extensions/contextMenu/RotateLeftAndRightContextMenu copy.js +0 -13
- package/dist/elements/widgets/designerView/extensions/flex/GridToolbarExtension.d.ts +0 -12
- package/dist/elements/widgets/designerView/extensions/flex/GridToolbarExtension.js +0 -66
- package/dist/elements/widgets/designerView/extensions/flex/GridToolbarExtensionProvider.d.ts +0 -10
- package/dist/elements/widgets/designerView/extensions/flex/GridToolbarExtensionProvider.js +0 -17
- package/dist/elements/widgets/designerView/extensions/grid/GridToolbarExtension copy.d.ts +0 -12
- package/dist/elements/widgets/designerView/extensions/grid/GridToolbarExtension copy.js +0 -66
- package/dist/elements/widgets/designerView/extensions/grid/GridToolbarExtensionProvider copy.d.ts +0 -10
- package/dist/elements/widgets/designerView/extensions/grid/GridToolbarExtensionProvider copy.js +0 -17
- package/dist/elements/widgets/designerView/extensions/grid/ResizeExtension.d.ts +0 -28
- package/dist/elements/widgets/designerView/extensions/grid/ResizeExtension.js +0 -355
- package/dist/elements/widgets/designerView/extensions/grid/ResizeExtensionProvider.d.ts +0 -12
- package/dist/elements/widgets/designerView/extensions/grid/ResizeExtensionProvider.js +0 -20
- package/dist/elements/widgets/designerView/extensions/svg/RectExtensionProvider copy.d.ts +0 -9
- package/dist/elements/widgets/designerView/extensions/svg/RectExtensionProvider copy.js +0 -14
- package/dist/elements/widgets/designerView/extensions/svg/SvgBaseExtension.d.ts +0 -30
- package/dist/elements/widgets/designerView/extensions/svg/SvgBaseExtension.js +0 -181
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
var ParseState;
|
|
2
|
-
(function (ParseState) {
|
|
3
|
-
ParseState[ParseState["none"] = 0] = "none";
|
|
4
|
-
ParseState[ParseState["parseName"] = 1] = "parseName";
|
|
5
|
-
ParseState[ParseState["parseAttribute"] = 2] = "parseAttribute";
|
|
6
|
-
ParseState[ParseState["parseInFunc"] = 3] = "parseInFunc";
|
|
7
|
-
//parseInFuncSubSel = 4,
|
|
8
|
-
})(ParseState || (ParseState = {}));
|
|
9
|
-
//todo special cases:
|
|
10
|
-
//:not :is :has = inner selector specifity
|
|
11
|
-
//:where = 0 specifity
|
|
12
|
-
//:nth-child :nth-last-child = inner sel. ?
|
|
13
|
-
export function calculateSpecificity(selector) {
|
|
14
|
-
return calculateSpecificityInternal(selector, 0);
|
|
15
|
-
}
|
|
16
|
-
function calculateSpecificityInternal(selector, startIndex) {
|
|
17
|
-
let s = { A: 0, B: 0, C: 0 };
|
|
18
|
-
let parseState = ParseState.none;
|
|
19
|
-
for (let n = startIndex; n < selector.length; n++) {
|
|
20
|
-
let c = selector[n];
|
|
21
|
-
if (parseState === ParseState.parseInFunc) {
|
|
22
|
-
if (c == ')') {
|
|
23
|
-
parseState = ParseState.none;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
else if (parseState === ParseState.parseAttribute) {
|
|
27
|
-
if (c == ']') {
|
|
28
|
-
parseState = ParseState.none;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
switch (c) {
|
|
33
|
-
case '#':
|
|
34
|
-
s.A++;
|
|
35
|
-
parseState = ParseState.parseName;
|
|
36
|
-
break;
|
|
37
|
-
case '.':
|
|
38
|
-
s.B++;
|
|
39
|
-
parseState = ParseState.parseName;
|
|
40
|
-
break;
|
|
41
|
-
case '[':
|
|
42
|
-
s.B++;
|
|
43
|
-
parseState = ParseState.parseAttribute;
|
|
44
|
-
break;
|
|
45
|
-
case '(':
|
|
46
|
-
parseState = ParseState.parseInFunc;
|
|
47
|
-
break;
|
|
48
|
-
case ')':
|
|
49
|
-
parseState = ParseState.none;
|
|
50
|
-
break;
|
|
51
|
-
case ':':
|
|
52
|
-
if (selector[n + 1] !== ':') {
|
|
53
|
-
s.B++;
|
|
54
|
-
parseState = ParseState.parseName;
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
s.C++;
|
|
58
|
-
parseState = ParseState.parseName;
|
|
59
|
-
n++;
|
|
60
|
-
}
|
|
61
|
-
if (selector[n + 1] === ':') {
|
|
62
|
-
s.C++;
|
|
63
|
-
parseState = ParseState.parseName;
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
if (selector.substring(n + 1, 3) === 'is(') { //todo: selectors inside of here could be , seperated and only the most specific one counts (even if it is not the matching one)...
|
|
67
|
-
n += 3; // functions also can be nested so we need al the prev selectors..
|
|
68
|
-
}
|
|
69
|
-
else if (selector.substring(n + 1, 4) === 'has(') { //same...
|
|
70
|
-
n += 4;
|
|
71
|
-
}
|
|
72
|
-
else if (selector.substring(n + 1, 4) === 'not(') { //same...
|
|
73
|
-
n += 4;
|
|
74
|
-
}
|
|
75
|
-
else if (selector.substring(n + 1, 10) === 'nth-child(') { //same...
|
|
76
|
-
s.B++;
|
|
77
|
-
n += 10;
|
|
78
|
-
}
|
|
79
|
-
else if (selector.substring(n + 1, 15) === 'nth-last-child(') { //same...
|
|
80
|
-
s.B++;
|
|
81
|
-
n += 15;
|
|
82
|
-
}
|
|
83
|
-
else if (selector.substring(n + 1, 5) === 'host(') { //same... can only contain a simnple selector
|
|
84
|
-
s.B++;
|
|
85
|
-
n += 5;
|
|
86
|
-
}
|
|
87
|
-
else if (selector.substring(n + 1, 13) === 'host-context(') { //same... can only contain a simple selector
|
|
88
|
-
s.B++;
|
|
89
|
-
n += 13;
|
|
90
|
-
}
|
|
91
|
-
else if (selector.substring(n + 1, 8) === 'slotted(') { //same... can only contain a simple selector
|
|
92
|
-
s.B++;
|
|
93
|
-
n += 8;
|
|
94
|
-
}
|
|
95
|
-
else if (selector.substring(n + 1, 6) === 'where(') { //where does not add specificity
|
|
96
|
-
parseState = ParseState.parseInFunc;
|
|
97
|
-
n += 6;
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
s.B++;
|
|
101
|
-
parseState = ParseState.parseName;
|
|
102
|
-
n++;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
break;
|
|
106
|
-
case '>':
|
|
107
|
-
case ' ':
|
|
108
|
-
case '~':
|
|
109
|
-
case '+':
|
|
110
|
-
parseState = ParseState.none;
|
|
111
|
-
break;
|
|
112
|
-
case '*':
|
|
113
|
-
break;
|
|
114
|
-
default:
|
|
115
|
-
if (parseState === ParseState.none) {
|
|
116
|
-
s.C++;
|
|
117
|
-
parseState = ParseState.parseName;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
return s;
|
|
123
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { AbstractExtension } from "./AbstractExtension.js";
|
|
2
|
-
import { IPoint } from "../../../../interfaces/IPoint.js";
|
|
3
|
-
export declare abstract class AbstractToolbarExtension extends AbstractExtension {
|
|
4
|
-
abstract template: HTMLTemplateElement;
|
|
5
|
-
protected _toolbarContainer: SVGForeignObjectElement;
|
|
6
|
-
extend(cache: Record<string | symbol, any>, event: MouseEvent): void;
|
|
7
|
-
refresh(cache: Record<string | symbol, any>, event?: MouseEvent): void;
|
|
8
|
-
protected updateToolbarPosition(position: IPoint): void;
|
|
9
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { OverlayLayer } from "../OverlayLayer.js";
|
|
2
|
-
import { AbstractExtension } from "./AbstractExtension.js";
|
|
3
|
-
export class AbstractToolbarExtension extends AbstractExtension {
|
|
4
|
-
_toolbarContainer;
|
|
5
|
-
extend(cache, event) {
|
|
6
|
-
const element = this.template.content.cloneNode(true);
|
|
7
|
-
element.querySelectorAll('*').forEach(x => x.onpointerdown = (e) => {
|
|
8
|
-
this.designerCanvas.ignoreEvent(e);
|
|
9
|
-
});
|
|
10
|
-
const foreignObject = document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject');
|
|
11
|
-
this._toolbarContainer = foreignObject;
|
|
12
|
-
foreignObject.classList.add('svg-toolbar-container');
|
|
13
|
-
foreignObject.setAttribute('width', '1');
|
|
14
|
-
foreignObject.setAttribute('height', '1');
|
|
15
|
-
foreignObject.appendChild(element);
|
|
16
|
-
this.refresh(cache, event);
|
|
17
|
-
this._addOverlay(foreignObject, OverlayLayer.Foreground);
|
|
18
|
-
}
|
|
19
|
-
refresh(cache, event) {
|
|
20
|
-
if (event) {
|
|
21
|
-
const pos = this.designerCanvas.getNormalizedEventCoordinates(event);
|
|
22
|
-
this._toolbarContainer.setAttribute('x', '' + (pos.x - 16));
|
|
23
|
-
this._toolbarContainer.setAttribute('y', '' + (pos.y - 36));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
updateToolbarPosition(position) {
|
|
27
|
-
this._toolbarContainer.setAttribute('x', '' + position.x);
|
|
28
|
-
this._toolbarContainer.setAttribute('y', '' + position.y);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { AbstractExtension, toolbarObject } from "./AbstractExtension.js";
|
|
2
|
-
import { IExtensionManager } from "./IExtensionManger.js";
|
|
3
|
-
import { IDesignerCanvas } from "../IDesignerCanvas.js";
|
|
4
|
-
import { IDesignItem } from "../../../item/IDesignItem.js";
|
|
5
|
-
export declare class BasicStackedToolbarExtension extends AbstractExtension {
|
|
6
|
-
protected static basicTemplate: string;
|
|
7
|
-
protected _toolbar: toolbarObject;
|
|
8
|
-
protected _size: {
|
|
9
|
-
width: number;
|
|
10
|
-
height: number;
|
|
11
|
-
};
|
|
12
|
-
protected _display: string;
|
|
13
|
-
protected _inline: string;
|
|
14
|
-
constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
|
|
15
|
-
extend(cache: Record<string | symbol, any>, event: MouseEvent): void;
|
|
16
|
-
updateDisplayValue(): Promise<void>;
|
|
17
|
-
refresh(cache: Record<string | symbol, any>, event?: MouseEvent): void;
|
|
18
|
-
protected _addStyleButton(styleAndControlName: string): void;
|
|
19
|
-
dispose(): void;
|
|
20
|
-
}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { assetsPath } from "../../../../Constants.js";
|
|
2
|
-
import { AbstractExtension } from "./AbstractExtension.js";
|
|
3
|
-
export class BasicStackedToolbarExtension extends AbstractExtension {
|
|
4
|
-
static basicTemplate = `
|
|
5
|
-
<node-projects-image-button-list-selector id="inline" no-value-in-header property="inline">
|
|
6
|
-
<img data-value="block" title="block" src="${assetsPath}images/display/block.svg">
|
|
7
|
-
<img data-value="inline" title="inline" src="${assetsPath}images/display/inline.svg">
|
|
8
|
-
</node-projects-image-button-list-selector>
|
|
9
|
-
<select title="display" id="displayType" style="pointer-events: all; height: 24px; width: 70px; padding: 0; font-weight: 900; text-transform: uppercase; margin-left: 5px; margin-right: 10px;">
|
|
10
|
-
<option>block</option>
|
|
11
|
-
<option>flex</option>
|
|
12
|
-
<option>grid</option>
|
|
13
|
-
</select>
|
|
14
|
-
`;
|
|
15
|
-
_toolbar;
|
|
16
|
-
_size = { width: 200, height: 30 };
|
|
17
|
-
_display;
|
|
18
|
-
_inline;
|
|
19
|
-
constructor(extensionManager, designerView, extendedItem) {
|
|
20
|
-
super(extensionManager, designerView, extendedItem);
|
|
21
|
-
}
|
|
22
|
-
extend(cache, event) {
|
|
23
|
-
const cs = getComputedStyle(this.extendedItem.element);
|
|
24
|
-
this._display = cs.display.replace('inline-', '').replace('inline', 'block');
|
|
25
|
-
this._inline = cs.display.startsWith('inline') ? 'inline' : 'block';
|
|
26
|
-
//@ts-ignore
|
|
27
|
-
this._toolbar = this.createToolbar(this.constructor.template, this._size.width, this._size.height);
|
|
28
|
-
const displayTypeEl = this._toolbar.getById('displayType');
|
|
29
|
-
displayTypeEl.value = this._display;
|
|
30
|
-
displayTypeEl.onchange = async () => {
|
|
31
|
-
this._display = displayTypeEl.value;
|
|
32
|
-
await this.updateDisplayValue();
|
|
33
|
-
this.extensionManager.reapplyAllAppliedExtentions([this.extendedItem]);
|
|
34
|
-
};
|
|
35
|
-
const inlineEl = this._toolbar.getById('inline');
|
|
36
|
-
inlineEl.value = this._inline;
|
|
37
|
-
inlineEl.addEventListener('value-changed', async () => {
|
|
38
|
-
this._inline = inlineEl.value;
|
|
39
|
-
if (this._inline && cs.position === 'absolute')
|
|
40
|
-
this.extendedItem.setStyle('position', 'static');
|
|
41
|
-
await this.updateDisplayValue();
|
|
42
|
-
this.extensionManager.reapplyAllAppliedExtentions([this.extendedItem]);
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
async updateDisplayValue() {
|
|
46
|
-
let v = (this._inline == 'inline' ? 'inline ' : '') + this._display;
|
|
47
|
-
if (v === 'inline block')
|
|
48
|
-
v = 'inline';
|
|
49
|
-
await this.extendedItem.updateStyleInSheetOrLocalAsync('display', v);
|
|
50
|
-
}
|
|
51
|
-
refresh(cache, event) {
|
|
52
|
-
if (event) {
|
|
53
|
-
const pos = this.designerCanvas.getNormalizedEventCoordinates(event);
|
|
54
|
-
this._toolbar.updatePosition({ x: (pos.x - (16 / this.designerCanvas.zoomFactor)), y: (pos.y - (44 / this.designerCanvas.zoomFactor)) });
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
_addStyleButton(styleAndControlName) {
|
|
58
|
-
const cs = getComputedStyle(this.extendedItem.element);
|
|
59
|
-
const ctl = this._toolbar.getById(styleAndControlName);
|
|
60
|
-
ctl.addEventListener('value-changed', async () => {
|
|
61
|
-
await this.extendedItem.updateStyleInSheetOrLocalAsync(styleAndControlName, ctl.value);
|
|
62
|
-
});
|
|
63
|
-
ctl.value = cs[styleAndControlName];
|
|
64
|
-
}
|
|
65
|
-
dispose() {
|
|
66
|
-
this._removeAllOverlays();
|
|
67
|
-
}
|
|
68
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { IDesignItem } from '../../../../item/IDesignItem.js';
|
|
2
|
-
import { IDesignerCanvas } from '../../IDesignerCanvas.js';
|
|
3
|
-
import { AbstractExtension } from "../AbstractExtension.js";
|
|
4
|
-
import { IExtensionManager } from '../IExtensionManger.js';
|
|
5
|
-
export declare class BlockToolbarExtension extends AbstractExtension {
|
|
6
|
-
private static template;
|
|
7
|
-
private _toolbar;
|
|
8
|
-
constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
|
|
9
|
-
extend(cache: Record<string | symbol, any>, event: MouseEvent): void;
|
|
10
|
-
refresh(cache: Record<string | symbol, any>, event?: MouseEvent): void;
|
|
11
|
-
dispose(): void;
|
|
12
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { html } from "@node-projects/base-custom-webcomponent";
|
|
2
|
-
import { AbstractExtension } from "../AbstractExtension.js";
|
|
3
|
-
import { assetsPath } from "../../../../../Constants.js";
|
|
4
|
-
export class BlockToolbarExtension extends AbstractExtension {
|
|
5
|
-
static template = html `
|
|
6
|
-
<div style="height: 100%; width: 100%;">
|
|
7
|
-
<node-projects-image-button-list-selector>
|
|
8
|
-
<img data-value="block" title="block" src="${assetsPath}images/display/block.svg">
|
|
9
|
-
<img data-value="inline" title="inline" src="${assetsPath}images/display/inline.svg">
|
|
10
|
-
</node-projects-image-button-list-selector>
|
|
11
|
-
<select title="display" id="displayType" style="pointer-events: all; height: 24px; width: 70px; padding: 0; font-weight: 900; text-transform: uppercase; margin-right: 10px;">
|
|
12
|
-
<option selected>block</option>
|
|
13
|
-
<option>flex</option>
|
|
14
|
-
<option>grid</option>
|
|
15
|
-
</select>
|
|
16
|
-
</div>
|
|
17
|
-
`;
|
|
18
|
-
_toolbar;
|
|
19
|
-
constructor(extensionManager, designerView, extendedItem) {
|
|
20
|
-
super(extensionManager, designerView, extendedItem);
|
|
21
|
-
}
|
|
22
|
-
extend(cache, event) {
|
|
23
|
-
this._toolbar = this.createToolbar(BlockToolbarExtension.template, 200, 30);
|
|
24
|
-
const displayTypeEl = this._toolbar.getById('displayType');
|
|
25
|
-
displayTypeEl.onchange = () => {
|
|
26
|
-
this.extendedItem.updateStyleInSheetOrLocal('display', displayTypeEl.value);
|
|
27
|
-
this.extensionManager.reapplyAllAppliedExtentions([this.extendedItem]);
|
|
28
|
-
};
|
|
29
|
-
this.refresh(cache, event);
|
|
30
|
-
}
|
|
31
|
-
refresh(cache, event) {
|
|
32
|
-
if (event) {
|
|
33
|
-
const pos = this.designerCanvas.getNormalizedEventCoordinates(event);
|
|
34
|
-
this._toolbar.updatePosition({ x: (pos.x - (16 / this.designerCanvas.zoomFactor)), y: (pos.y - (44 / this.designerCanvas.zoomFactor)) });
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
dispose() {
|
|
38
|
-
this._removeAllOverlays();
|
|
39
|
-
}
|
|
40
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { IDesignItem } from '../../../item/IDesignItem.js';
|
|
2
|
-
import { IDesignerCanvas } from '../IDesignerCanvas.js';
|
|
3
|
-
import { AbstractExtension } from './AbstractExtension.js';
|
|
4
|
-
import { IExtensionManager } from './IExtensionManger.js';
|
|
5
|
-
export declare class CanvasExtension extends AbstractExtension {
|
|
6
|
-
constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
|
|
7
|
-
extend(): void;
|
|
8
|
-
refresh(): void;
|
|
9
|
-
dispose(): void;
|
|
10
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { AbstractExtension } from './AbstractExtension.js';
|
|
2
|
-
export class CanvasExtension extends AbstractExtension {
|
|
3
|
-
constructor(extensionManager, designerView, extendedItem) {
|
|
4
|
-
super(extensionManager, designerView, extendedItem);
|
|
5
|
-
}
|
|
6
|
-
extend() {
|
|
7
|
-
this.refresh();
|
|
8
|
-
}
|
|
9
|
-
refresh() {
|
|
10
|
-
const itemRect = this.designerCanvas.getNormalizedElementCoordinates(this.extendedItem.element);
|
|
11
|
-
const computedStyle = getComputedStyle(this.extendedItem.element);
|
|
12
|
-
if (computedStyle.margin !== '0px') {
|
|
13
|
-
const left = Number.parseFloat(computedStyle.marginLeft.replace('px', ''));
|
|
14
|
-
const top = Number.parseFloat(computedStyle.marginTop.replace('px', ''));
|
|
15
|
-
const right = Number.parseFloat(computedStyle.marginRight.replace('px', ''));
|
|
16
|
-
const bottom = Number.parseFloat(computedStyle.marginBottom.replace('px', ''));
|
|
17
|
-
if (!isNaN(left) && !isNaN(top) && !isNaN(right) && !isNaN(bottom)) {
|
|
18
|
-
if (this._valuesHaveChanges(left, top, right, bottom, itemRect.x, itemRect.y, itemRect.width, itemRect.height)) {
|
|
19
|
-
this._removeAllOverlays();
|
|
20
|
-
this._drawRect(itemRect.x - left, itemRect.y - top, left + itemRect.width + right, top, 'svg-margin');
|
|
21
|
-
this._drawRect(itemRect.x - left, itemRect.y, left, itemRect.height, 'svg-margin');
|
|
22
|
-
this._drawRect(itemRect.x + itemRect.width, itemRect.y, right, itemRect.height, 'svg-margin');
|
|
23
|
-
this._drawRect(itemRect.x - left, itemRect.y + itemRect.height, left + itemRect.width + right, bottom, 'svg-margin');
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
dispose() {
|
|
29
|
-
this._removeAllOverlays();
|
|
30
|
-
}
|
|
31
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { IDesignerExtensionProvider } from './IDesignerExtensionProvider.js';
|
|
2
|
-
import { IDesignItem } from '../../../item/IDesignItem.js';
|
|
3
|
-
import { IDesignerCanvas } from '../IDesignerCanvas.js';
|
|
4
|
-
import { IDesignerExtension } from './IDesignerExtension.js';
|
|
5
|
-
import { IExtensionManager } from './IExtensionManger.js';
|
|
6
|
-
export declare class CanvasExtensionProvider implements IDesignerExtensionProvider {
|
|
7
|
-
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
8
|
-
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
9
|
-
readonly style: CSSStyleSheet;
|
|
10
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { CanvasExtension } from './CanvasExtension.js';
|
|
2
|
-
import { css } from "@node-projects/base-custom-webcomponent";
|
|
3
|
-
export class CanvasExtensionProvider {
|
|
4
|
-
shouldExtend(extensionManager, designerView, designItem) {
|
|
5
|
-
if (getComputedStyle(designItem.element).display == 'block')
|
|
6
|
-
return true;
|
|
7
|
-
return false;
|
|
8
|
-
}
|
|
9
|
-
getExtension(extensionManager, designerView, designItem) {
|
|
10
|
-
return new CanvasExtension(extensionManager, designerView, designItem);
|
|
11
|
-
}
|
|
12
|
-
style = css `
|
|
13
|
-
.svg-margin { fill: #ff944722; }
|
|
14
|
-
`;
|
|
15
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { IDesignerExtensionProvider } from './IDesignerExtensionProvider.js';
|
|
2
|
-
import { IDesignItem } from '../../../item/IDesignItem.js';
|
|
3
|
-
import { IDesignerCanvas } from '../IDesignerCanvas.js';
|
|
4
|
-
import { IDesignerExtension } from './IDesignerExtension.js';
|
|
5
|
-
import { IExtensionManager } from './IExtensionManger.js';
|
|
6
|
-
export declare class ConditionExtensionProvider implements IDesignerExtensionProvider {
|
|
7
|
-
constructor(extensionProvider: IDesignerExtensionProvider, condition: (designItem: IDesignItem) => boolean);
|
|
8
|
-
extensionProvider: IDesignerExtensionProvider;
|
|
9
|
-
condition: (designItem: IDesignItem) => boolean;
|
|
10
|
-
style: CSSStyleSheet;
|
|
11
|
-
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
12
|
-
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
13
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export class ConditionExtensionProvider {
|
|
2
|
-
constructor(extensionProvider, condition) {
|
|
3
|
-
this.extensionProvider = extensionProvider;
|
|
4
|
-
this.condition = condition;
|
|
5
|
-
this.style = extensionProvider.style;
|
|
6
|
-
}
|
|
7
|
-
extensionProvider;
|
|
8
|
-
condition;
|
|
9
|
-
style;
|
|
10
|
-
shouldExtend(extensionManager, designerView, designItem) {
|
|
11
|
-
if (!this.condition(designItem))
|
|
12
|
-
return false;
|
|
13
|
-
return this.extensionProvider.shouldExtend(extensionManager, designerView, designItem);
|
|
14
|
-
}
|
|
15
|
-
getExtension(extensionManager, designerView, designItem) {
|
|
16
|
-
return this.extensionProvider.getExtension(extensionManager, designerView, designItem);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { IDesignItem } from '../../../../item/IDesignItem.js';
|
|
2
|
-
import { IDesignerCanvas } from '../../IDesignerCanvas.js';
|
|
3
|
-
import { AbstractExtension } from "../AbstractExtension.js";
|
|
4
|
-
import { IExtensionManager } from '../IExtensionManger.js';
|
|
5
|
-
export type handlesPointerEvent = {
|
|
6
|
-
handlesPointerEvent(designerCanvas: IDesignerCanvas, event: PointerEvent, currentElement: Element): boolean;
|
|
7
|
-
};
|
|
8
|
-
export declare class EditTextExtension extends AbstractExtension implements handlesPointerEvent {
|
|
9
|
-
private static template;
|
|
10
|
-
private _foreignObject;
|
|
11
|
-
private _path;
|
|
12
|
-
constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
|
|
13
|
-
extend(): void;
|
|
14
|
-
refresh(): void;
|
|
15
|
-
dispose(): void;
|
|
16
|
-
handlesPointerEvent(designerCanvas: IDesignerCanvas, event: PointerEvent, currentElement: Element): boolean;
|
|
17
|
-
_formatSelection(type: string, value?: string): void;
|
|
18
|
-
}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { html } from "@node-projects/base-custom-webcomponent";
|
|
2
|
-
import { AbstractExtension } from "../AbstractExtension.js";
|
|
3
|
-
import { OverlayLayer } from "../OverlayLayer.js";
|
|
4
|
-
import { getDesignerCanvasNormalizedTransformedCornerDOMPoints } from "../../../../helper/TransformHelper.js";
|
|
5
|
-
import { shadowrootGetSelection, wrapSelectionInSpans } from "../../../../helper/SelectionHelper.js";
|
|
6
|
-
import { FontPropertyEditor } from "../../../../services/propertiesService/propertyEditors/FontPropertyEditor.js";
|
|
7
|
-
export class EditTextExtension extends AbstractExtension {
|
|
8
|
-
static template = html `
|
|
9
|
-
<div style="height: 24px; display: flex; gap: 2px;">
|
|
10
|
-
<button data-command="font-weight" data-command-parameter="800" style="pointer-events: all; height: 24px; width: 24px; padding: 0; font-weight: 900;">b</button>
|
|
11
|
-
<button data-command="font-style" data-command-parameter="italic" style="pointer-events: all; height: 24px; width: 24px; padding: 0;"><em>i</em></button>
|
|
12
|
-
<button data-command="text-decoration" data-command-parameter="underline" style="pointer-events: all; height: 24px; width: 24px; padding: 0;"><ins>u</ins></button>
|
|
13
|
-
<button data-command="text-decoration" data-command-parameter="line-through" style="pointer-events: all; height: 24px; width: 24px; padding: 0;"><del>s</del></button>
|
|
14
|
-
<button data-command="text-decoration" data-command-parameter="overline" style="pointer-events: all; height: 24px; width: 24px; padding: 0;"><span style="text-decoration: overline">o</span></button>
|
|
15
|
-
<select data-command="fontSize" style="pointer-events: all; height: 24px; width: 60px; padding: 0;">
|
|
16
|
-
<option>8px</option>
|
|
17
|
-
<option>9px</option>
|
|
18
|
-
<option>10px</option>
|
|
19
|
-
<option>11px</option>
|
|
20
|
-
<option>12px</option>
|
|
21
|
-
<option>14px</option>
|
|
22
|
-
<option>16px</option>
|
|
23
|
-
<option>18px</option>
|
|
24
|
-
<option>20px</option>
|
|
25
|
-
<option>24px</option>
|
|
26
|
-
<option>28px</option>
|
|
27
|
-
<option>32px</option>
|
|
28
|
-
<option>36px</option>
|
|
29
|
-
</select>
|
|
30
|
-
<select id="fontFamily" data-command="font-family" style="pointer-events: all; height: 24px; width: 90px; padding: 0;">
|
|
31
|
-
|
|
32
|
-
</select>
|
|
33
|
-
</div>
|
|
34
|
-
`;
|
|
35
|
-
_foreignObject;
|
|
36
|
-
_path;
|
|
37
|
-
constructor(extensionManager, designerView, extendedItem) {
|
|
38
|
-
super(extensionManager, designerView, extendedItem);
|
|
39
|
-
}
|
|
40
|
-
extend() {
|
|
41
|
-
//TODO: -> check what to do with extensions, do not loose edit on mouse click,...
|
|
42
|
-
//maybe use a html edit framework
|
|
43
|
-
this.extendedItem.instanceServiceContainer.selectionService.clearSelectedElements();
|
|
44
|
-
this.extendedItem.removeDesignerAttributesAndStylesFromChildren();
|
|
45
|
-
this.extendedItem.element.setAttribute('contenteditable', '');
|
|
46
|
-
this.extendedItem.element.focus();
|
|
47
|
-
let itemRect = this.extendedItem.element.getBoundingClientRect();
|
|
48
|
-
const elements = EditTextExtension.template.content.cloneNode(true);
|
|
49
|
-
FontPropertyEditor.addFontsToSelect(elements.querySelector('#fontFamily'));
|
|
50
|
-
elements.querySelectorAll('button').forEach(x => x.onpointerdown = (e) => {
|
|
51
|
-
this.designerCanvas.ignoreEvent(e);
|
|
52
|
-
this._formatSelection(x.dataset['command'], x.dataset['commandParameter']);
|
|
53
|
-
});
|
|
54
|
-
elements.querySelectorAll('select').forEach(x => x.onpointerdown = (e) => this.designerCanvas.ignoreEvent(e));
|
|
55
|
-
elements.querySelectorAll('select').forEach(x => x.onchange = () => this._formatSelection(x.dataset['command'], x.value));
|
|
56
|
-
//Button overlay
|
|
57
|
-
const foreignObject = document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject');
|
|
58
|
-
this._foreignObject = foreignObject;
|
|
59
|
-
foreignObject.setAttribute('x', '' + (itemRect.x - this.designerCanvas.containerBoundingRect.x) / this.designerCanvas.scaleFactor);
|
|
60
|
-
foreignObject.setAttribute('y', '' + ((itemRect.y - this.designerCanvas.containerBoundingRect.y) / this.designerCanvas.scaleFactor - 30));
|
|
61
|
-
foreignObject.setAttribute('width', '300');
|
|
62
|
-
foreignObject.setAttribute('height', '24');
|
|
63
|
-
foreignObject.appendChild(elements);
|
|
64
|
-
this._addOverlay(foreignObject, OverlayLayer.Foreground);
|
|
65
|
-
//TODO - nice way to disable click overlay
|
|
66
|
-
this.designerCanvas.clickOverlay.style.pointerEvents = 'none';
|
|
67
|
-
//overlay to detect click outside
|
|
68
|
-
this._path = document.createElementNS("http://www.w3.org/2000/svg", "path");
|
|
69
|
-
this._path.setAttribute('class', 'svg-edit-text-clickoutside');
|
|
70
|
-
this._path.setAttribute('fill-rule', 'evenodd');
|
|
71
|
-
this._path.style.pointerEvents = 'auto';
|
|
72
|
-
this._path.onpointerdown = (e) => {
|
|
73
|
-
this.extensionManager.removeExtensionInstance(this.extendedItem, this);
|
|
74
|
-
};
|
|
75
|
-
this._addOverlay(this._path, OverlayLayer.Background);
|
|
76
|
-
let points = getDesignerCanvasNormalizedTransformedCornerDOMPoints(this.extendedItem.element, null, this.designerCanvas);
|
|
77
|
-
let outsideRect = { width: this.designerCanvas.containerBoundingRect.width / this.designerCanvas.scaleFactor, height: this.designerCanvas.containerBoundingRect.height / this.designerCanvas.scaleFactor };
|
|
78
|
-
let data = "M0 0 L" + outsideRect.width + " 0 L" + outsideRect.width + ' ' + outsideRect.height + " L0 " + outsideRect.height + " Z ";
|
|
79
|
-
data += "M" + points[0].x + " " + points[0].y + " L" + points[1].x + " " + points[1].y + " L" + points[3].x + " " + points[3].y + " L" + points[2].x + " " + points[2].y + " Z";
|
|
80
|
-
this._path.setAttribute("d", data);
|
|
81
|
-
}
|
|
82
|
-
refresh() {
|
|
83
|
-
let points = getDesignerCanvasNormalizedTransformedCornerDOMPoints(this.extendedItem.element, null, this.designerCanvas);
|
|
84
|
-
let outsideRect = { width: this.designerCanvas.containerBoundingRect.width / this.designerCanvas.scaleFactor, height: this.designerCanvas.containerBoundingRect.height / this.designerCanvas.scaleFactor };
|
|
85
|
-
let data = "M0 0 L" + outsideRect.width + " 0 L" + outsideRect.width + ' ' + outsideRect.height + " L0 " + outsideRect.height + " Z ";
|
|
86
|
-
data += "M" + points[0].x + " " + points[0].y + " L" + points[1].x + " " + points[1].y + " L" + points[3].x + " " + points[3].y + " L" + points[2].x + " " + points[2].y + " Z";
|
|
87
|
-
this._path.setAttribute("d", data);
|
|
88
|
-
}
|
|
89
|
-
dispose() {
|
|
90
|
-
this._removeAllOverlays();
|
|
91
|
-
this.extendedItem.element.removeAttribute('contenteditable');
|
|
92
|
-
this.extendedItem.updateChildrenFromNodesChildren();
|
|
93
|
-
this.designerCanvas.clickOverlay.style.pointerEvents = 'auto';
|
|
94
|
-
}
|
|
95
|
-
handlesPointerEvent(designerCanvas, event, currentElement) {
|
|
96
|
-
const p = event.composedPath();
|
|
97
|
-
const stylo = this._foreignObject.querySelector('stylo-editor');
|
|
98
|
-
return p.indexOf(stylo) >= 0;
|
|
99
|
-
}
|
|
100
|
-
_formatSelection(type, value) {
|
|
101
|
-
const selection = shadowrootGetSelection(this.designerCanvas.rootDesignItem.element.shadowRoot);
|
|
102
|
-
const spans = wrapSelectionInSpans(selection);
|
|
103
|
-
for (const span of spans)
|
|
104
|
-
span.style[type] = value;
|
|
105
|
-
this.extendedItem.element.focus();
|
|
106
|
-
}
|
|
107
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { IDesignItem } from '../../../item/IDesignItem.js';
|
|
2
|
-
import { IDesignerCanvas } from '../IDesignerCanvas.js';
|
|
3
|
-
import { AbstractExtension } from './AbstractExtension.js';
|
|
4
|
-
import { IExtensionManager } from './IExtensionManger.js';
|
|
5
|
-
export declare class ElementDragTitleExtension extends AbstractExtension {
|
|
6
|
-
private _rect;
|
|
7
|
-
private _text;
|
|
8
|
-
private _width;
|
|
9
|
-
constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
|
|
10
|
-
extend(cache: Record<string | symbol, any>, event?: Event): void;
|
|
11
|
-
_drawMoveOverlay(itemRect: DOMRect): void;
|
|
12
|
-
refresh(cache: Record<string | symbol, any>, event?: Event): void;
|
|
13
|
-
_pointerEvent(event: PointerEvent): void;
|
|
14
|
-
dispose(): void;
|
|
15
|
-
}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { getTextWidth } from '../../../helper/TextHelper.js';
|
|
2
|
-
import { getDesignerCanvasNormalizedTransformedCornerDOMPoints } from '../../../helper/TransformHelper.js';
|
|
3
|
-
import { NamedTools } from "../tools/NamedTools.js";
|
|
4
|
-
import { AbstractExtension } from './AbstractExtension.js';
|
|
5
|
-
const extensionWidth = 60;
|
|
6
|
-
export class ElementDragTitleExtension extends AbstractExtension {
|
|
7
|
-
_rect;
|
|
8
|
-
_text;
|
|
9
|
-
_width;
|
|
10
|
-
constructor(extensionManager, designerView, extendedItem) {
|
|
11
|
-
super(extensionManager, designerView, extendedItem);
|
|
12
|
-
}
|
|
13
|
-
extend(cache, event) {
|
|
14
|
-
const transformedCornerPoints = getDesignerCanvasNormalizedTransformedCornerDOMPoints(this.extendedItem.element, null, this.designerCanvas, cache);
|
|
15
|
-
if (!isNaN(transformedCornerPoints[0].x)) {
|
|
16
|
-
const boundRect = this.extendedItem.element.getBoundingClientRect();
|
|
17
|
-
let w = getTextWidth(this.extendedItem.name, '10px monospace');
|
|
18
|
-
let elementWidth = Math.sqrt(Math.pow(transformedCornerPoints[1].x - transformedCornerPoints[0].x, 2) + Math.pow(transformedCornerPoints[1].y - transformedCornerPoints[0].y, 2));
|
|
19
|
-
let text = this.extendedItem.name;
|
|
20
|
-
if (this.extendedItem.id)
|
|
21
|
-
text = '#' + this.extendedItem.id;
|
|
22
|
-
this._width = Math.max(Math.min(elementWidth, w), extensionWidth);
|
|
23
|
-
this._rect = this._drawRect(transformedCornerPoints[0].x, transformedCornerPoints[0].y - 16, this._width, 15, 'svg-primary-selection-move', this._rect);
|
|
24
|
-
this._text = this._drawHTML('<div style="position:relative"><span style="width: 100%; position: absolute; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transform-origin: 0 0;">' + text + '</span></div>', (boundRect.x - this.designerCanvas.containerBoundingRect.x) / this.designerCanvas.scaleFactor, transformedCornerPoints[0].y - 16, this._width, 15, 'svg-text-primary', this._text);
|
|
25
|
-
this._text.style.overflow = 'visible';
|
|
26
|
-
this._rect2 = this._drawRect(transformedCornerPoints[0].x + 60, transformedCornerPoints[0].y - 16, 15, 15, 'svg-primary-selection-move', this._rect2);
|
|
27
|
-
this._path = this._drawPath('m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z', 'svg-primary-selection-move', this._path);
|
|
28
|
-
//<svg viewBox="0 0 24 24"><path d=""></path></svg>
|
|
29
|
-
this._rect.addEventListener('pointerdown', (e) => this._pointerEvent(e));
|
|
30
|
-
this._rect.addEventListener('pointermove', (e) => this._pointerEvent(e));
|
|
31
|
-
this._rect.addEventListener('pointerup', (e) => this._pointerEvent(e));
|
|
32
|
-
this.refresh(cache, event);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
_drawMoveOverlay(itemRect) {
|
|
36
|
-
}
|
|
37
|
-
refresh(cache, event) {
|
|
38
|
-
const transformedCornerPoints = getDesignerCanvasNormalizedTransformedCornerDOMPoints(this.extendedItem.element, { x: 0, y: 16 }, this.designerCanvas, cache);
|
|
39
|
-
const angle = Math.atan2((transformedCornerPoints[1].y - transformedCornerPoints[0].y), (transformedCornerPoints[1].x - transformedCornerPoints[0].x)) * 180 / Math.PI;
|
|
40
|
-
if (!isNaN(transformedCornerPoints[0].x)) {
|
|
41
|
-
if (this._valuesHaveChanges(transformedCornerPoints[0].x, transformedCornerPoints[0].y, angle)) {
|
|
42
|
-
const h = (15 / this.designerCanvas.scaleFactor);
|
|
43
|
-
const w = (this._width / this.designerCanvas.scaleFactor);
|
|
44
|
-
this._rect.setAttribute('x', '' + transformedCornerPoints[0].x);
|
|
45
|
-
this._rect.setAttribute('y', '' + transformedCornerPoints[0].y);
|
|
46
|
-
this._rect.style.rotate = angle + 'deg';
|
|
47
|
-
this._rect.style.transformBox = 'fill-box';
|
|
48
|
-
this._rect.setAttribute('height', '' + h);
|
|
49
|
-
this._rect.setAttribute('width', '' + w);
|
|
50
|
-
this._rect.style.strokeWidth = (1 / this.designerCanvas.scaleFactor).toString();
|
|
51
|
-
this._text.setAttribute('x', '' + transformedCornerPoints[0].x);
|
|
52
|
-
this._text.setAttribute('y', '' + transformedCornerPoints[0].y);
|
|
53
|
-
this._text.style.fontSize = (10 / this.designerCanvas.scaleFactor) + 'px';
|
|
54
|
-
this._text.setAttribute('height', '' + h);
|
|
55
|
-
this._text.setAttribute('width', '' + w);
|
|
56
|
-
this._text.children[0].children[0].style.rotate = angle + 'deg';
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
_pointerEvent(event) {
|
|
61
|
-
event.preventDefault();
|
|
62
|
-
event.stopPropagation();
|
|
63
|
-
this.designerCanvas.serviceContainer.designerTools.get(NamedTools.Pointer).pointerEventHandler(this.designerCanvas, event, this.extendedItem.element);
|
|
64
|
-
}
|
|
65
|
-
dispose() {
|
|
66
|
-
this._removeAllOverlays();
|
|
67
|
-
}
|
|
68
|
-
}
|
package/dist/elements/widgets/designerView/extensions/ElementDragTitleExtensionProvider copy.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { IDesignerExtensionProvider } from './IDesignerExtensionProvider.js';
|
|
2
|
-
import { IDesignItem } from '../../../item/IDesignItem.js';
|
|
3
|
-
import { IDesignerCanvas } from '../IDesignerCanvas.js';
|
|
4
|
-
import { IDesignerExtension } from './IDesignerExtension.js';
|
|
5
|
-
import { IExtensionManager } from './IExtensionManger.js';
|
|
6
|
-
export declare class ElementDragTitleExtensionProvider implements IDesignerExtensionProvider {
|
|
7
|
-
shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
|
|
8
|
-
getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
|
|
9
|
-
static readonly style: CSSStyleSheet;
|
|
10
|
-
}
|