@node-projects/web-component-designer 0.1.92 → 0.1.94
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/helper/Helper.d.ts +1 -0
- package/dist/elements/helper/Helper.js +3 -0
- package/dist/elements/services/propertiesService/services/AbstractPropertiesService.d.ts +3 -0
- package/dist/elements/services/propertiesService/services/AbstractPropertiesService.js +28 -0
- package/dist/elements/services/propertiesService/services/CssCurrentPropertiesService.js +1 -1
- package/dist/elements/services/propertiesService/services/CssCustomPropertiesService.js +1 -1
- package/dist/elements/services/propertiesService/services/CssPropertiesService.js +1 -1
- package/dist/elements/services/propertiesService/services/ListPropertiesService.d.ts +1 -1
- package/dist/elements/services/propertiesService/services/ListPropertiesService.js +2 -2
- package/dist/elements/services/propertiesService/services/WebcomponentManifestPropertiesService.d.ts +1 -1
- package/dist/elements/services/propertiesService/services/WebcomponentManifestPropertiesService.js +2 -2
- package/package.json +1 -1
|
@@ -6,3 +6,4 @@ export declare function dataURItoBlob(dataURI: any): Blob;
|
|
|
6
6
|
export declare function pointInRect(point: IPoint, rect: IRect): boolean;
|
|
7
7
|
export declare function removeTrailing(text: string, char: string): string;
|
|
8
8
|
export declare function removeLeading(text: string, char: string): string;
|
|
9
|
+
export declare function requestAnimationFramePromise(): Promise<unknown>;
|
|
@@ -6,6 +6,8 @@ import { BindingTarget } from '../../../item/BindingTarget.js';
|
|
|
6
6
|
import { IBinding } from '../../../item/IBinding.js';
|
|
7
7
|
import { IPropertyGroup } from '../IPropertyGroup.js';
|
|
8
8
|
export declare abstract class AbstractPropertiesService implements IPropertiesService {
|
|
9
|
+
constructor(recreateElementsOnPropertyChange?: boolean);
|
|
10
|
+
protected _recreateElementsOnPropertyChange: boolean;
|
|
9
11
|
private static _stylesCache;
|
|
10
12
|
private _cssCacheClearTimer;
|
|
11
13
|
private static _bindingsCache;
|
|
@@ -22,4 +24,5 @@ export declare abstract class AbstractPropertiesService implements IPropertiesSe
|
|
|
22
24
|
getValue(designItems: IDesignItem[], property: IProperty): string | boolean;
|
|
23
25
|
getBinding(designItems: IDesignItem[], property: IProperty): IBinding;
|
|
24
26
|
getUnsetValue(designItems: IDesignItem[], property: IProperty): any;
|
|
27
|
+
protected static recreateElements(service: IPropertiesService, designItems: IDesignItem[]): void;
|
|
25
28
|
}
|
|
@@ -3,7 +3,12 @@ import { PropertiesHelper } from './PropertiesHelper.js';
|
|
|
3
3
|
import { BindingTarget } from '../../../item/BindingTarget.js';
|
|
4
4
|
import { PropertyType } from '../PropertyType.js';
|
|
5
5
|
import { NodeType } from '../../../item/NodeType.js';
|
|
6
|
+
import { newElementFromString } from '../../../helper/ElementHelper.js';
|
|
6
7
|
export class AbstractPropertiesService {
|
|
8
|
+
constructor(recreateElementsOnPropertyChange) {
|
|
9
|
+
this._recreateElementsOnPropertyChange = recreateElementsOnPropertyChange;
|
|
10
|
+
}
|
|
11
|
+
_recreateElementsOnPropertyChange = false;
|
|
7
12
|
static _stylesCache = new Map;
|
|
8
13
|
_cssCacheClearTimer;
|
|
9
14
|
static _bindingsCache = new Map;
|
|
@@ -64,6 +69,8 @@ export class AbstractPropertiesService {
|
|
|
64
69
|
this._notifyChangedProperty(d, property, value);
|
|
65
70
|
}
|
|
66
71
|
cg.commit();
|
|
72
|
+
if (this._recreateElementsOnPropertyChange)
|
|
73
|
+
AbstractPropertiesService.recreateElements(this, designItems);
|
|
67
74
|
}
|
|
68
75
|
getPropertyTarget(designItem, property) {
|
|
69
76
|
if (property.propertyType == PropertyType.attribute)
|
|
@@ -94,6 +101,8 @@ export class AbstractPropertiesService {
|
|
|
94
101
|
this._notifyChangedProperty(d, property, undefined);
|
|
95
102
|
}
|
|
96
103
|
cg.commit();
|
|
104
|
+
if (this._recreateElementsOnPropertyChange)
|
|
105
|
+
AbstractPropertiesService.recreateElements(this, designItems);
|
|
97
106
|
}
|
|
98
107
|
isSet(designItems, property) {
|
|
99
108
|
let all = true;
|
|
@@ -233,4 +242,23 @@ export class AbstractPropertiesService {
|
|
|
233
242
|
else
|
|
234
243
|
return property.defaultValue;
|
|
235
244
|
}
|
|
245
|
+
static recreateElements(service, designItems) {
|
|
246
|
+
for (let d of designItems) {
|
|
247
|
+
if (!service.isHandledElement(d))
|
|
248
|
+
continue;
|
|
249
|
+
let txt = '<' + d.name + ' ';
|
|
250
|
+
for (let a of d.element.attributes) {
|
|
251
|
+
txt += a.name + '="' + a.value.replaceAll('"', '"') + '" ';
|
|
252
|
+
}
|
|
253
|
+
txt += '></' + d.name + '>';
|
|
254
|
+
let element = newElementFromString(txt); // some custom elements only parse attributes during constructor call
|
|
255
|
+
for (let c of [...d.element.childNodes])
|
|
256
|
+
element.appendChild(c);
|
|
257
|
+
element.style.pointerEvents = 'auto';
|
|
258
|
+
d.node.insertAdjacentElement('beforebegin', element);
|
|
259
|
+
if (d.node.parentNode)
|
|
260
|
+
d.node.parentNode.removeChild(d.node);
|
|
261
|
+
d.replaceNode(element);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
236
264
|
}
|
|
@@ -6,7 +6,7 @@ import { BindingTarget } from '../../../item/BindingTarget.js';
|
|
|
6
6
|
export class CssCustomPropertiesService extends CommonPropertiesService {
|
|
7
7
|
removeInheritedCustomProperties;
|
|
8
8
|
constructor(removeInheritedCustomProperties = true) {
|
|
9
|
-
super();
|
|
9
|
+
super(false);
|
|
10
10
|
this.name = 'customProperties';
|
|
11
11
|
this.removeInheritedCustomProperties = removeInheritedCustomProperties;
|
|
12
12
|
}
|
|
@@ -8,7 +8,7 @@ export declare class ListPropertiesService extends AbstractPropertiesService {
|
|
|
8
8
|
getRefreshMode(designItem: IDesignItem): RefreshMode;
|
|
9
9
|
name: string;
|
|
10
10
|
private _propertys;
|
|
11
|
-
constructor(propertyDefinitions: IJsonPropertyDefinitions);
|
|
11
|
+
constructor(propertyDefinitions: IJsonPropertyDefinitions, recreateElementsOnPropertyChange?: boolean);
|
|
12
12
|
isHandledElement(designItem: IDesignItem): boolean;
|
|
13
13
|
protected _notifyChangedProperty(designItem: IDesignItem, property: IProperty, value: any): void;
|
|
14
14
|
getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
|
|
@@ -7,8 +7,8 @@ export class ListPropertiesService extends AbstractPropertiesService {
|
|
|
7
7
|
}
|
|
8
8
|
name = "list";
|
|
9
9
|
_propertys = new Map();
|
|
10
|
-
constructor(propertyDefinitions) {
|
|
11
|
-
super();
|
|
10
|
+
constructor(propertyDefinitions, recreateElementsOnPropertyChange) {
|
|
11
|
+
super(recreateElementsOnPropertyChange);
|
|
12
12
|
for (let e in propertyDefinitions) {
|
|
13
13
|
let parr = [];
|
|
14
14
|
this._propertys.set(e, parr);
|
package/dist/elements/services/propertiesService/services/WebcomponentManifestPropertiesService.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export declare class WebcomponentManifestPropertiesService extends AbstractPrope
|
|
|
9
9
|
private _name;
|
|
10
10
|
get name(): string;
|
|
11
11
|
private _propertiesList;
|
|
12
|
-
constructor(name: string, manifest: any);
|
|
12
|
+
constructor(name: string, manifest: any, recreateElementsOnPropertyChange?: boolean);
|
|
13
13
|
private _parseManifest;
|
|
14
14
|
static manifestClassPropertyTypeToEditorPropertyType(type: string, editor: string): [type: string, values?: string[]];
|
|
15
15
|
isHandledElement(designItem: IDesignItem): boolean;
|
package/dist/elements/services/propertiesService/services/WebcomponentManifestPropertiesService.js
CHANGED
|
@@ -9,8 +9,8 @@ export class WebcomponentManifestPropertiesService extends AbstractPropertiesSer
|
|
|
9
9
|
_name;
|
|
10
10
|
get name() { return this._name; }
|
|
11
11
|
_propertiesList;
|
|
12
|
-
constructor(name, manifest) {
|
|
13
|
-
super();
|
|
12
|
+
constructor(name, manifest, recreateElementsOnPropertyChange) {
|
|
13
|
+
super(recreateElementsOnPropertyChange);
|
|
14
14
|
this._name = name;
|
|
15
15
|
this._parseManifest(manifest);
|
|
16
16
|
}
|