@node-projects/web-component-designer 0.0.72 → 0.0.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- 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/BaseServiceContainer.d.ts +1 -0
- package/dist/elements/services/BaseServiceContainer.js +7 -0
- package/dist/elements/services/demoProviderService/DemoProviderService.js +1 -1
- package/dist/elements/services/elementsService/IElementDefinition.d.ts +2 -0
- package/dist/elements/services/elementsService/IElementsJson.d.ts +1 -0
- package/dist/elements/services/htmlParserService/NodeHtmlParserService.js +1 -1
- package/dist/elements/services/instanceService/DefaultInstanceService.js +1 -1
- package/dist/elements/services/manifestLoaders/WebcomponentManifestParserService.d.ts +26 -0
- package/dist/elements/services/manifestLoaders/WebcomponentManifestParserService.js +69 -0
- package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.d.ts +23 -0
- package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.js +80 -0
- 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/DefaultEditorTypesService.js +0 -1
- package/dist/elements/services/propertiesService/IPropertiesService.d.ts +0 -1
- package/dist/elements/services/propertiesService/IProperty.d.ts +5 -1
- package/dist/elements/services/propertiesService/PropertyType.d.ts +6 -0
- package/dist/elements/services/propertiesService/PropertyType.js +7 -0
- package/dist/elements/services/propertiesService/services/AbstractBasePropertiesService.js +7 -6
- package/dist/elements/services/propertiesService/services/AttributesPropertiesService.js +3 -2
- package/dist/elements/services/propertiesService/services/CommonPropertiesService.js +11 -4
- package/dist/elements/services/propertiesService/services/CssPropertiesService.js +81 -41
- package/dist/elements/services/propertiesService/services/IJsonPropertyDefinition.d.ts +4 -0
- package/dist/elements/services/propertiesService/services/ListPropertiesService.js +5 -1
- package/dist/elements/services/propertiesService/services/Lit2PropertiesService.js +7 -6
- package/dist/elements/services/propertiesService/services/NativeElementsPropertiesService.js +25 -12
- package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.d.ts +1 -2
- package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.js +1 -1
- 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/webcomponentManifestParserService/WebcomponentManifestParserService.1.d.ts +0 -0
- package/dist/elements/services/webcomponentManifestParserService/WebcomponentManifestParserService.1.js +1 -0
- package/dist/elements/services/webcomponentManifestParserService/webcomponentManifestParserService.d.ts +26 -0
- package/dist/elements/services/webcomponentManifestParserService/webcomponentManifestParserService.js +69 -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 +8 -2
- package/dist/elements/widgets/designerView/tools/PointerTool.js +1 -1
- package/dist/elements/widgets/paletteView/paletteTreeView.js +15 -11
- package/dist/elements/widgets/paletteView/paletteView.js +10 -5
- package/dist/elements/widgets/treeView/treeViewExtended.js +2 -8
- package/dist/index.d.ts +5 -1
- package/dist/index.js +4 -1
- package/dist/interfaces/ICommandHandler.d.ts +5 -0
- package/dist/interfaces/ICommandHandler.js +1 -0
- package/package.json +2 -1
- package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction.d.ts +0 -16
- package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction.js +0 -31
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { ValueType } from "../ValueType";
|
|
2
2
|
import { BindingTarget } from "../../../item/BindingTarget";
|
|
3
|
+
import { PropertyType } from "../PropertyType";
|
|
3
4
|
export class AttributesPropertiesService {
|
|
4
5
|
name = "attributes";
|
|
5
6
|
isHandledElement(designItem) {
|
|
6
7
|
return true;
|
|
7
8
|
}
|
|
8
9
|
getProperty(designItem, name) {
|
|
9
|
-
return { name: name, type: 'string', service: this };
|
|
10
|
+
return { name: name, type: 'string', service: this, propertyType: PropertyType.propertyAndAttribute };
|
|
10
11
|
}
|
|
11
12
|
getProperties(designItem) {
|
|
12
13
|
if (designItem) {
|
|
13
14
|
let p = [];
|
|
14
15
|
for (let a of designItem.attributes.keys()) {
|
|
15
|
-
p.push({ name: a, type: 'string', service: this });
|
|
16
|
+
p.push({ name: a, type: 'string', service: this, propertyType: PropertyType.propertyAndAttribute });
|
|
16
17
|
}
|
|
17
18
|
return p;
|
|
18
19
|
}
|
|
@@ -1,24 +1,31 @@
|
|
|
1
1
|
import { ValueType } from "../ValueType";
|
|
2
2
|
import { BindingTarget } from "../../../item/BindingTarget";
|
|
3
|
+
import { PropertyType } from "../PropertyType";
|
|
3
4
|
export class CommonPropertiesService {
|
|
4
5
|
//@ts-ignore
|
|
5
6
|
commonProperties = [
|
|
6
7
|
{
|
|
7
8
|
name: "id",
|
|
8
9
|
type: "string",
|
|
9
|
-
service: this
|
|
10
|
+
service: this,
|
|
11
|
+
propertyType: PropertyType.propertyAndAttribute
|
|
10
12
|
}, {
|
|
11
13
|
name: "class",
|
|
12
14
|
type: "string",
|
|
13
|
-
service: this
|
|
15
|
+
service: this,
|
|
16
|
+
attributeName: "class",
|
|
17
|
+
propertyName: "className",
|
|
18
|
+
propertyType: PropertyType.propertyAndAttribute
|
|
14
19
|
}, {
|
|
15
20
|
name: "title",
|
|
16
21
|
type: "string",
|
|
17
|
-
service: this
|
|
22
|
+
service: this,
|
|
23
|
+
propertyType: PropertyType.propertyAndAttribute
|
|
18
24
|
}, {
|
|
19
25
|
name: "tabindex",
|
|
20
26
|
type: "number",
|
|
21
|
-
service: this
|
|
27
|
+
service: this,
|
|
28
|
+
propertyType: PropertyType.propertyAndAttribute
|
|
22
29
|
}
|
|
23
30
|
];
|
|
24
31
|
name = "common";
|
|
@@ -1,85 +1,103 @@
|
|
|
1
1
|
import { ValueType } from '../ValueType';
|
|
2
2
|
import { NodeType } from '../../../item/NodeType';
|
|
3
3
|
import { BindingTarget } from '../../../item/BindingTarget.js';
|
|
4
|
+
import { PropertyType } from '../PropertyType';
|
|
4
5
|
export class CssPropertiesService {
|
|
5
6
|
//@ts-ignore
|
|
6
7
|
styles = [
|
|
7
8
|
{
|
|
8
9
|
name: "color",
|
|
9
10
|
type: "color",
|
|
10
|
-
service: this
|
|
11
|
+
service: this,
|
|
12
|
+
propertyType: PropertyType.cssValue
|
|
11
13
|
}, {
|
|
12
14
|
name: "background-color",
|
|
13
15
|
type: "color",
|
|
14
|
-
service: this
|
|
16
|
+
service: this,
|
|
17
|
+
propertyType: PropertyType.cssValue
|
|
15
18
|
}, {
|
|
16
19
|
name: "box-sizing",
|
|
17
20
|
type: "list",
|
|
18
21
|
values: ["border-box", "content-box"],
|
|
19
|
-
service: this
|
|
22
|
+
service: this,
|
|
23
|
+
propertyType: PropertyType.cssValue
|
|
20
24
|
}, {
|
|
21
25
|
name: "border",
|
|
22
26
|
type: "string",
|
|
23
27
|
default: "0px none rbg(0,0,0)",
|
|
24
|
-
service: this
|
|
28
|
+
service: this,
|
|
29
|
+
propertyType: PropertyType.cssValue
|
|
25
30
|
}, {
|
|
26
31
|
name: "box-shadow",
|
|
27
32
|
type: "string",
|
|
28
33
|
default: "none",
|
|
29
|
-
service: this
|
|
34
|
+
service: this,
|
|
35
|
+
propertyType: PropertyType.cssValue
|
|
30
36
|
}, {
|
|
31
37
|
name: "opacity",
|
|
32
38
|
type: "number",
|
|
33
39
|
min: 0,
|
|
34
40
|
max: 1,
|
|
35
41
|
step: 0.1,
|
|
36
|
-
service: this
|
|
42
|
+
service: this,
|
|
43
|
+
propertyType: PropertyType.cssValue
|
|
37
44
|
}, {
|
|
38
45
|
name: "padding",
|
|
39
46
|
type: "thickness",
|
|
40
|
-
service: this
|
|
47
|
+
service: this,
|
|
48
|
+
propertyType: PropertyType.cssValue
|
|
41
49
|
}, {
|
|
42
50
|
name: "margin",
|
|
43
51
|
type: "thickness",
|
|
44
|
-
service: this
|
|
52
|
+
service: this,
|
|
53
|
+
propertyType: PropertyType.cssValue
|
|
45
54
|
}, {
|
|
46
55
|
name: "position",
|
|
47
56
|
type: "list",
|
|
48
57
|
values: ["static", "relative", "absolute"],
|
|
49
|
-
service: this
|
|
58
|
+
service: this,
|
|
59
|
+
propertyType: PropertyType.cssValue
|
|
50
60
|
}, {
|
|
51
61
|
name: "left",
|
|
52
62
|
type: "css-length",
|
|
53
|
-
service: this
|
|
63
|
+
service: this,
|
|
64
|
+
propertyType: PropertyType.cssValue
|
|
54
65
|
}, {
|
|
55
66
|
name: "top",
|
|
56
67
|
type: "css-length",
|
|
57
|
-
service: this
|
|
68
|
+
service: this,
|
|
69
|
+
propertyType: PropertyType.cssValue
|
|
58
70
|
}, {
|
|
59
71
|
name: "right",
|
|
60
72
|
type: "css-length",
|
|
61
|
-
service: this
|
|
73
|
+
service: this,
|
|
74
|
+
propertyType: PropertyType.cssValue
|
|
62
75
|
}, {
|
|
63
76
|
name: "bottom",
|
|
64
77
|
type: "css-length",
|
|
65
|
-
service: this
|
|
78
|
+
service: this,
|
|
79
|
+
propertyType: PropertyType.cssValue
|
|
66
80
|
}, {
|
|
67
81
|
name: "width",
|
|
68
82
|
type: "css-length",
|
|
69
|
-
service: this
|
|
83
|
+
service: this,
|
|
84
|
+
propertyType: PropertyType.cssValue
|
|
70
85
|
}, {
|
|
71
86
|
name: "height",
|
|
72
87
|
type: "css-length",
|
|
73
|
-
service: this
|
|
88
|
+
service: this,
|
|
89
|
+
propertyType: PropertyType.cssValue
|
|
74
90
|
}, {
|
|
75
91
|
name: "font-size",
|
|
76
92
|
type: "css-length",
|
|
77
|
-
service: this
|
|
93
|
+
service: this,
|
|
94
|
+
propertyType: PropertyType.cssValue
|
|
78
95
|
}, {
|
|
79
96
|
name: "font-weight",
|
|
80
97
|
type: "list",
|
|
81
98
|
values: ["normal", "bold", "100", "200", "300", "400", "500", "600", "700", "800", "900", "lighter", "bolder"],
|
|
82
|
-
service: this
|
|
99
|
+
service: this,
|
|
100
|
+
propertyType: PropertyType.cssValue
|
|
83
101
|
}
|
|
84
102
|
];
|
|
85
103
|
//@ts-ignore
|
|
@@ -88,24 +106,29 @@ export class CssPropertiesService {
|
|
|
88
106
|
name: "display",
|
|
89
107
|
type: "list",
|
|
90
108
|
values: ["block", "inline-block", "flex", "contents", "grid", "inherit", "initial", "none"],
|
|
91
|
-
service: this
|
|
109
|
+
service: this,
|
|
110
|
+
propertyType: PropertyType.cssValue
|
|
92
111
|
}, {
|
|
93
112
|
name: "position",
|
|
94
113
|
type: "list",
|
|
95
114
|
values: ["static", "relative", "absolute"],
|
|
96
|
-
service: this
|
|
115
|
+
service: this,
|
|
116
|
+
propertyType: PropertyType.cssValue
|
|
97
117
|
}, {
|
|
98
118
|
name: "inset",
|
|
99
119
|
type: "thickness",
|
|
100
|
-
service: this
|
|
120
|
+
service: this,
|
|
121
|
+
propertyType: PropertyType.cssValue
|
|
101
122
|
}, {
|
|
102
123
|
name: "margin",
|
|
103
124
|
type: "thickness",
|
|
104
|
-
service: this
|
|
125
|
+
service: this,
|
|
126
|
+
propertyType: PropertyType.cssValue
|
|
105
127
|
}, {
|
|
106
128
|
name: "padding",
|
|
107
129
|
type: "thickness",
|
|
108
|
-
service: this
|
|
130
|
+
service: this,
|
|
131
|
+
propertyType: PropertyType.cssValue
|
|
109
132
|
}
|
|
110
133
|
];
|
|
111
134
|
//@ts-ignore
|
|
@@ -114,48 +137,58 @@ export class CssPropertiesService {
|
|
|
114
137
|
name: "display",
|
|
115
138
|
type: "list",
|
|
116
139
|
values: ["block", "inline-block", "flex", "contents", "grid", "inherit", "initial", "none"],
|
|
117
|
-
service: this
|
|
140
|
+
service: this,
|
|
141
|
+
propertyType: PropertyType.cssValue
|
|
118
142
|
}, {
|
|
119
143
|
name: "position",
|
|
120
144
|
type: "list",
|
|
121
145
|
values: ["static", "relative", "absolute"],
|
|
122
|
-
service: this
|
|
146
|
+
service: this,
|
|
147
|
+
propertyType: PropertyType.cssValue
|
|
123
148
|
}, {
|
|
124
149
|
name: "grid-template-columns",
|
|
125
150
|
type: "string",
|
|
126
|
-
service: this
|
|
151
|
+
service: this,
|
|
152
|
+
propertyType: PropertyType.cssValue
|
|
127
153
|
}, {
|
|
128
154
|
name: "grid-template-rows",
|
|
129
155
|
type: "string",
|
|
130
|
-
service: this
|
|
156
|
+
service: this,
|
|
157
|
+
propertyType: PropertyType.cssValue
|
|
131
158
|
}, {
|
|
132
159
|
name: "column-gap",
|
|
133
160
|
type: "css-length",
|
|
134
|
-
service: this
|
|
161
|
+
service: this,
|
|
162
|
+
propertyType: PropertyType.cssValue
|
|
135
163
|
}, {
|
|
136
164
|
name: "row-gap",
|
|
137
165
|
type: "css-length",
|
|
138
|
-
service: this
|
|
166
|
+
service: this,
|
|
167
|
+
propertyType: PropertyType.cssValue
|
|
139
168
|
}, {
|
|
140
169
|
name: "align-content",
|
|
141
170
|
type: "img-list",
|
|
142
171
|
values: ["center", "space-between", "space-around", "space-evenly", "stretch"],
|
|
143
|
-
service: this
|
|
172
|
+
service: this,
|
|
173
|
+
propertyType: PropertyType.cssValue
|
|
144
174
|
}, {
|
|
145
175
|
name: "justify-content",
|
|
146
176
|
type: "img-list",
|
|
147
177
|
values: ["center", "start", "end", "space-between", "space-around", "space-evenly"],
|
|
148
|
-
service: this
|
|
178
|
+
service: this,
|
|
179
|
+
propertyType: PropertyType.cssValue
|
|
149
180
|
}, {
|
|
150
181
|
name: "align-items",
|
|
151
182
|
type: "img-list",
|
|
152
183
|
values: ["center", "start", "end", "stretch", "baseline"],
|
|
153
|
-
service: this
|
|
184
|
+
service: this,
|
|
185
|
+
propertyType: PropertyType.cssValue
|
|
154
186
|
}, {
|
|
155
187
|
name: "justify-items",
|
|
156
188
|
type: "img-list",
|
|
157
189
|
values: ["center", "start", "end", "stretch"],
|
|
158
|
-
service: this
|
|
190
|
+
service: this,
|
|
191
|
+
propertyType: PropertyType.cssValue
|
|
159
192
|
}
|
|
160
193
|
];
|
|
161
194
|
//@ts-ignore
|
|
@@ -164,37 +197,44 @@ export class CssPropertiesService {
|
|
|
164
197
|
name: "display",
|
|
165
198
|
type: "list",
|
|
166
199
|
values: ["block", "inline-block", "flex", "contents", "grid", "inherit", "initial", "none"],
|
|
167
|
-
service: this
|
|
200
|
+
service: this,
|
|
201
|
+
propertyType: PropertyType.cssValue
|
|
168
202
|
}, {
|
|
169
203
|
name: "position",
|
|
170
204
|
type: "list",
|
|
171
205
|
values: ["static", "relative", "absolute"],
|
|
172
|
-
service: this
|
|
206
|
+
service: this,
|
|
207
|
+
propertyType: PropertyType.cssValue
|
|
173
208
|
}, {
|
|
174
209
|
name: "flex-direction",
|
|
175
210
|
type: "img-list",
|
|
176
211
|
values: ["row", "column"],
|
|
177
|
-
service: this
|
|
212
|
+
service: this,
|
|
213
|
+
propertyType: PropertyType.cssValue
|
|
178
214
|
}, {
|
|
179
215
|
name: "flex-wrap",
|
|
180
216
|
type: "img-list",
|
|
181
217
|
values: ["nowrap", "wrap"],
|
|
182
|
-
service: this
|
|
218
|
+
service: this,
|
|
219
|
+
propertyType: PropertyType.cssValue
|
|
183
220
|
}, {
|
|
184
221
|
name: "align-content",
|
|
185
222
|
type: "img-list",
|
|
186
223
|
values: ["center", "flex-start", "flex-end", "space-between", "space-around", "stretch"],
|
|
187
|
-
service: this
|
|
224
|
+
service: this,
|
|
225
|
+
propertyType: PropertyType.cssValue
|
|
188
226
|
}, {
|
|
189
227
|
name: "justify-content",
|
|
190
228
|
type: "img-list",
|
|
191
229
|
values: ["center", "flex-start", "flex-end", "space-between", "space-around", "space-evenly"],
|
|
192
|
-
service: this
|
|
230
|
+
service: this,
|
|
231
|
+
propertyType: PropertyType.cssValue
|
|
193
232
|
}, {
|
|
194
233
|
name: "align-items",
|
|
195
234
|
type: "img-list",
|
|
196
235
|
values: ["center", "flex-start", "flex-end", "stretch", "baseline"],
|
|
197
|
-
service: this
|
|
236
|
+
service: this,
|
|
237
|
+
propertyType: PropertyType.cssValue
|
|
198
238
|
}
|
|
199
239
|
];
|
|
200
240
|
name;
|
|
@@ -206,7 +246,7 @@ export class CssPropertiesService {
|
|
|
206
246
|
}
|
|
207
247
|
getProperty(designItem, name) {
|
|
208
248
|
if (this.name == 'set-styles') {
|
|
209
|
-
return { name: name, type: 'string', service: this };
|
|
249
|
+
return { name: name, type: 'string', service: this, propertyType: PropertyType.cssValue };
|
|
210
250
|
}
|
|
211
251
|
return this[this.name][name];
|
|
212
252
|
}
|
|
@@ -214,7 +254,7 @@ export class CssPropertiesService {
|
|
|
214
254
|
if (this.name == 'set-styles') {
|
|
215
255
|
if (!designItem)
|
|
216
256
|
return [];
|
|
217
|
-
return Array.from(designItem.styles.keys(), x => ({ name: x, type: 'string', service: this }));
|
|
257
|
+
return Array.from(designItem.styles.keys(), x => ({ name: x, type: 'string', service: this, propertyType: PropertyType.cssValue }));
|
|
218
258
|
}
|
|
219
259
|
return this[this.name];
|
|
220
260
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import { PropertyType } from "../PropertyType";
|
|
1
2
|
export interface IJsonPropertyDefinition {
|
|
2
3
|
name: string;
|
|
4
|
+
propertyName?: string;
|
|
5
|
+
attributeName?: string;
|
|
3
6
|
description?: string;
|
|
4
7
|
type?: string;
|
|
5
8
|
default?: any;
|
|
@@ -10,4 +13,5 @@ export interface IJsonPropertyDefinition {
|
|
|
10
13
|
enumValues?: [name: string, value: string | number][];
|
|
11
14
|
value?: any;
|
|
12
15
|
defaultValue?: any;
|
|
16
|
+
propertyType?: PropertyType.cssValue;
|
|
13
17
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { UnkownElementPropertiesService } from './UnkownElementPropertiesService';
|
|
2
|
+
import { PropertyType } from '../PropertyType';
|
|
2
3
|
export class ListPropertiesService extends UnkownElementPropertiesService {
|
|
3
4
|
name = "list";
|
|
4
5
|
_propertys = new Map();
|
|
@@ -11,6 +12,8 @@ export class ListPropertiesService extends UnkownElementPropertiesService {
|
|
|
11
12
|
let pdef = propertyDefinitions[e][p];
|
|
12
13
|
parr.push({
|
|
13
14
|
name: pdef.name,
|
|
15
|
+
propertyName: pdef.propertyName,
|
|
16
|
+
attributeName: pdef.attributeName,
|
|
14
17
|
description: pdef.description,
|
|
15
18
|
type: pdef.type,
|
|
16
19
|
default: pdef.default,
|
|
@@ -21,7 +24,8 @@ export class ListPropertiesService extends UnkownElementPropertiesService {
|
|
|
21
24
|
enumValues: pdef.enumValues,
|
|
22
25
|
value: pdef.value,
|
|
23
26
|
defaultValue: pdef.defaultValue,
|
|
24
|
-
service: this
|
|
27
|
+
service: this,
|
|
28
|
+
propertyType: pdef.propertyType ?? PropertyType.propertyAndAttribute
|
|
25
29
|
});
|
|
26
30
|
}
|
|
27
31
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AbstractBasePropertiesService } from "./AbstractBasePropertiesService";
|
|
2
2
|
import { PropertiesHelper } from './PropertiesHelper';
|
|
3
|
+
import { PropertyType } from '../PropertyType';
|
|
3
4
|
export class Lit2PropertiesService extends AbstractBasePropertiesService {
|
|
4
5
|
name = "lit2";
|
|
5
6
|
isHandledElement(designItem) {
|
|
@@ -19,27 +20,27 @@ export class Lit2PropertiesService extends AbstractBasePropertiesService {
|
|
|
19
20
|
if (litProperty.type)
|
|
20
21
|
type = litProperty.type;
|
|
21
22
|
if (type === String) {
|
|
22
|
-
let property = { name: name, type: "string", service: this };
|
|
23
|
+
let property = { name: name, type: "string", service: this, propertyType: PropertyType.propertyAndAttribute };
|
|
23
24
|
properties.push(property);
|
|
24
25
|
}
|
|
25
26
|
else if (type === Object) {
|
|
26
|
-
let property = { name: name, type: "string", service: this };
|
|
27
|
+
let property = { name: name, type: "string", service: this, propertyType: PropertyType.propertyAndAttribute };
|
|
27
28
|
properties.push(property);
|
|
28
29
|
}
|
|
29
30
|
else if (type === Number) {
|
|
30
|
-
let property = { name: name, type: "number", service: this };
|
|
31
|
+
let property = { name: name, type: "number", service: this, propertyType: PropertyType.propertyAndAttribute };
|
|
31
32
|
properties.push(property);
|
|
32
33
|
}
|
|
33
34
|
else if (type === Date) {
|
|
34
|
-
let property = { name: name, type: "date", service: this };
|
|
35
|
+
let property = { name: name, type: "date", service: this, propertyType: PropertyType.propertyAndAttribute };
|
|
35
36
|
properties.push(property);
|
|
36
37
|
}
|
|
37
38
|
else if (type === Boolean) {
|
|
38
|
-
let property = { name: name, type: "boolean", service: this };
|
|
39
|
+
let property = { name: name, type: "boolean", service: this, propertyType: PropertyType.propertyAndAttribute };
|
|
39
40
|
properties.push(property);
|
|
40
41
|
}
|
|
41
42
|
else if (PropertiesHelper.isTypescriptEnum(type)) {
|
|
42
|
-
let property = { name: name, type: "enum", enumValues: PropertiesHelper.getTypescriptEnumEntries(type), service: this };
|
|
43
|
+
let property = { name: name, type: "enum", enumValues: PropertiesHelper.getTypescriptEnumEntries(type), service: this, propertyType: PropertyType.propertyAndAttribute };
|
|
43
44
|
properties.push(property);
|
|
44
45
|
}
|
|
45
46
|
}
|
package/dist/elements/services/propertiesService/services/NativeElementsPropertiesService.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CommonPropertiesService } from "./CommonPropertiesService";
|
|
2
|
+
import { PropertyType } from '../PropertyType';
|
|
2
3
|
export class NativeElementsPropertiesService extends CommonPropertiesService {
|
|
3
4
|
//@ts-ignore
|
|
4
5
|
inputProperties = [
|
|
@@ -7,23 +8,28 @@ export class NativeElementsPropertiesService extends CommonPropertiesService {
|
|
|
7
8
|
type: "list",
|
|
8
9
|
values: ["text", "number", "button", "checkbox", "color", "date", "datetime-local", "email", "file", "hidden", "image", "month", "password", "radio", "range", "reset", "search", "submit", "tel", "time", "url", "week"],
|
|
9
10
|
service: this,
|
|
10
|
-
defaultValue: "text"
|
|
11
|
+
defaultValue: "text",
|
|
12
|
+
propertyType: PropertyType.propertyAndAttribute
|
|
11
13
|
}, {
|
|
12
14
|
name: "value",
|
|
13
15
|
type: "string",
|
|
14
|
-
service: this
|
|
16
|
+
service: this,
|
|
17
|
+
propertyType: PropertyType.propertyAndAttribute
|
|
15
18
|
}, {
|
|
16
19
|
name: "checked",
|
|
17
20
|
type: "boolean",
|
|
18
|
-
service: this
|
|
21
|
+
service: this,
|
|
22
|
+
propertyType: PropertyType.propertyAndAttribute
|
|
19
23
|
}, {
|
|
20
24
|
name: "min",
|
|
21
25
|
type: "number",
|
|
22
|
-
service: this
|
|
26
|
+
service: this,
|
|
27
|
+
propertyType: PropertyType.propertyAndAttribute
|
|
23
28
|
}, {
|
|
24
29
|
name: "max",
|
|
25
30
|
type: "number",
|
|
26
|
-
service: this
|
|
31
|
+
service: this,
|
|
32
|
+
propertyType: PropertyType.propertyAndAttribute
|
|
27
33
|
}
|
|
28
34
|
];
|
|
29
35
|
buttonProperties = [
|
|
@@ -32,43 +38,50 @@ export class NativeElementsPropertiesService extends CommonPropertiesService {
|
|
|
32
38
|
type: "list",
|
|
33
39
|
values: ["button", "submit", "reset"],
|
|
34
40
|
service: this,
|
|
35
|
-
defaultValue: "button"
|
|
41
|
+
defaultValue: "button",
|
|
42
|
+
propertyType: PropertyType.propertyAndAttribute
|
|
36
43
|
}, {
|
|
37
44
|
name: "value",
|
|
38
45
|
type: "string",
|
|
39
|
-
service: this
|
|
46
|
+
service: this,
|
|
47
|
+
propertyType: PropertyType.propertyAndAttribute
|
|
40
48
|
}, {
|
|
41
49
|
name: "disabled",
|
|
42
50
|
type: "boolean",
|
|
43
|
-
service: this
|
|
51
|
+
service: this,
|
|
52
|
+
propertyType: PropertyType.propertyAndAttribute
|
|
44
53
|
}
|
|
45
54
|
];
|
|
46
55
|
anchorProperties = [
|
|
47
56
|
{
|
|
48
57
|
name: "href",
|
|
49
58
|
type: "string",
|
|
50
|
-
service: this
|
|
59
|
+
service: this,
|
|
60
|
+
propertyType: PropertyType.propertyAndAttribute
|
|
51
61
|
}
|
|
52
62
|
];
|
|
53
63
|
divProperties = [
|
|
54
64
|
{
|
|
55
65
|
name: "title",
|
|
56
66
|
type: "string",
|
|
57
|
-
service: this
|
|
67
|
+
service: this,
|
|
68
|
+
propertyType: PropertyType.propertyAndAttribute
|
|
58
69
|
}
|
|
59
70
|
];
|
|
60
71
|
imgProperties = [
|
|
61
72
|
{
|
|
62
73
|
name: "src",
|
|
63
74
|
type: "string",
|
|
64
|
-
service: this
|
|
75
|
+
service: this,
|
|
76
|
+
propertyType: PropertyType.propertyAndAttribute
|
|
65
77
|
}
|
|
66
78
|
];
|
|
67
79
|
iframeProperties = [
|
|
68
80
|
{
|
|
69
81
|
name: "src",
|
|
70
82
|
type: "string",
|
|
71
|
-
service: this
|
|
83
|
+
service: this,
|
|
84
|
+
propertyType: PropertyType.propertyAndAttribute
|
|
72
85
|
}
|
|
73
86
|
];
|
|
74
87
|
name = "native";
|
package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.d.ts
CHANGED
|
@@ -3,8 +3,7 @@ import { IProperty } from '../IProperty';
|
|
|
3
3
|
import { IDesignItem } from '../../../item/IDesignItem';
|
|
4
4
|
import { ValueType } from "../ValueType";
|
|
5
5
|
import { BindingTarget } from "../../../item/BindingTarget";
|
|
6
|
-
export declare class UnkownElementPropertiesService implements IPropertiesService {
|
|
7
|
-
readonly name: string;
|
|
6
|
+
export declare abstract class UnkownElementPropertiesService implements IPropertiesService {
|
|
8
7
|
isHandledElement(designItem: IDesignItem): boolean;
|
|
9
8
|
protected _notifyChangedProperty(designItem: IDesignItem, property: IProperty, value: any): void;
|
|
10
9
|
getProperty(designItem: IDesignItem, name: string): IProperty;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ValueType } from "../ValueType";
|
|
2
2
|
import { PropertiesHelper } from './PropertiesHelper';
|
|
3
3
|
import { BindingTarget } from "../../../item/BindingTarget";
|
|
4
|
+
//@ts-ignore
|
|
4
5
|
export class UnkownElementPropertiesService {
|
|
5
|
-
name = "unkown";
|
|
6
6
|
isHandledElement(designItem) {
|
|
7
7
|
return true;
|
|
8
8
|
}
|
|
@@ -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
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|