@node-projects/web-component-designer 0.1.178 → 0.1.179

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.
Files changed (43) hide show
  1. package/dist/elements/item/DesignItem.d.ts +1 -1
  2. package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.d.ts +2 -2
  3. package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.js +2 -2
  4. package/dist/elements/services/propertiesService/IPropertiesService.d.ts +2 -2
  5. package/dist/elements/services/propertiesService/services/AbstractPolymerLikePropertiesService.d.ts +1 -1
  6. package/dist/elements/services/propertiesService/services/AbstractPolymerLikePropertiesService.js +1 -1
  7. package/dist/elements/services/propertiesService/services/AbstractPropertiesService.d.ts +2 -2
  8. package/dist/elements/services/propertiesService/services/AbstractPropertiesService.js +2 -2
  9. package/dist/elements/services/propertiesService/services/AttachedPropertiesService.d.ts +1 -1
  10. package/dist/elements/services/propertiesService/services/AttachedPropertiesService.js +1 -1
  11. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.d.ts +2 -2
  12. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.js +2 -2
  13. package/dist/elements/services/propertiesService/services/BasicWebcomponentPropertiesService.d.ts +2 -2
  14. package/dist/elements/services/propertiesService/services/BasicWebcomponentPropertiesService.js +3 -3
  15. package/dist/elements/services/propertiesService/services/CommonPropertiesService.d.ts +2 -2
  16. package/dist/elements/services/propertiesService/services/CommonPropertiesService.js +2 -2
  17. package/dist/elements/services/propertiesService/services/ContentAndIdPropertiesService.d.ts +2 -2
  18. package/dist/elements/services/propertiesService/services/ContentAndIdPropertiesService.js +2 -2
  19. package/dist/elements/services/propertiesService/services/CssCurrentPropertiesService.d.ts +2 -2
  20. package/dist/elements/services/propertiesService/services/CssCurrentPropertiesService.js +2 -2
  21. package/dist/elements/services/propertiesService/services/CssCustomPropertiesService.d.ts +2 -2
  22. package/dist/elements/services/propertiesService/services/CssCustomPropertiesService.js +2 -2
  23. package/dist/elements/services/propertiesService/services/CssPropertiesService.d.ts +2 -2
  24. package/dist/elements/services/propertiesService/services/CssPropertiesService.js +2 -2
  25. package/dist/elements/services/propertiesService/services/ListPropertiesService.d.ts +1 -1
  26. package/dist/elements/services/propertiesService/services/ListPropertiesService.js +1 -1
  27. package/dist/elements/services/propertiesService/services/Lit2PropertiesService.d.ts +1 -1
  28. package/dist/elements/services/propertiesService/services/Lit2PropertiesService.js +1 -1
  29. package/dist/elements/services/propertiesService/services/MathMLElementsPropertiesService.d.ts +2 -2
  30. package/dist/elements/services/propertiesService/services/MathMLElementsPropertiesService.js +3 -3
  31. package/dist/elements/services/propertiesService/services/NativeElementsPropertiesService.d.ts +2 -2
  32. package/dist/elements/services/propertiesService/services/NativeElementsPropertiesService.js +3 -3
  33. package/dist/elements/services/propertiesService/services/SVGElementsPropertiesService.d.ts +2 -2
  34. package/dist/elements/services/propertiesService/services/SVGElementsPropertiesService.js +3 -3
  35. package/dist/elements/services/propertiesService/services/UnkownElementsPropertiesService.d.ts +1 -1
  36. package/dist/elements/services/propertiesService/services/UnkownElementsPropertiesService.js +1 -1
  37. package/dist/elements/services/propertiesService/services/WebcomponentManifestPropertiesService.d.ts +2 -2
  38. package/dist/elements/services/propertiesService/services/WebcomponentManifestPropertiesService.js +2 -2
  39. package/dist/elements/widgets/propertyGrid/PropertyGrid.d.ts +1 -0
  40. package/dist/elements/widgets/propertyGrid/PropertyGrid.js +54 -51
  41. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.d.ts +1 -1
  42. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.js +2 -2
  43. package/package.json +1 -1
@@ -24,7 +24,7 @@ export declare class DesignItem implements IDesignItem {
24
24
  nodeReplaced: TypedEvent<void>;
25
25
  get window(): Window & typeof globalThis;
26
26
  get document(): Document;
27
- get usableContainer(): Element | ShadowRoot | Document;
27
+ get usableContainer(): Element | Document | ShadowRoot;
28
28
  clone(): Promise<IDesignItem>;
29
29
  allMatching(selectors: string): Generator<IDesignItem, void, undefined>;
30
30
  replaceNode(newNode: Node): void;
@@ -19,7 +19,7 @@ export declare class WebcomponentManifestParserService extends AbstractPropertie
19
19
  private _parseManifest;
20
20
  getElements(): Promise<IElementDefinition[]>;
21
21
  isHandledElement(designItem: IDesignItem): boolean;
22
- getProperties(designItem: IDesignItem): IProperty[];
23
- getProperty(designItem: IDesignItem, name: string): IProperty;
22
+ getProperties(designItem: IDesignItem): Promise<IProperty[]>;
23
+ getProperty(designItem: IDesignItem, name: string): Promise<IProperty>;
24
24
  getPropertyTarget(designItem: IDesignItem, property: IProperty): BindingTarget;
25
25
  }
@@ -88,10 +88,10 @@ export class WebcomponentManifestParserService extends AbstractPropertiesService
88
88
  return this._elementList.find(x => x.tag == designItem.name) != null;
89
89
  return false;
90
90
  }
91
- getProperties(designItem) {
91
+ async getProperties(designItem) {
92
92
  return this._propertiesList[designItem.name];
93
93
  }
94
- getProperty(designItem, name) {
94
+ async getProperty(designItem, name) {
95
95
  return this._propertiesList[designItem.name].find(x => x.name == name);
96
96
  }
97
97
  getPropertyTarget(designItem, property) {
@@ -14,8 +14,8 @@ export declare enum RefreshMode {
14
14
  export interface IPropertiesService extends IService {
15
15
  getRefreshMode(designItem: IDesignItem): RefreshMode;
16
16
  isHandledElement(designItem: IDesignItem): boolean;
17
- getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
18
- getProperty(designItem: IDesignItem, name: string): IProperty;
17
+ getProperties(designItem: IDesignItem): Promise<IProperty[] | IPropertyGroup[]>;
18
+ getProperty(designItem: IDesignItem, name: string): Promise<IProperty>;
19
19
  getBinding(designItems: IDesignItem[], property: IProperty): IBinding;
20
20
  getPropertyTarget(designItem: IDesignItem, property: IProperty): BindingTarget;
21
21
  setValue(designItems: IDesignItem[], property: IProperty, value: any): Promise<void>;
@@ -5,7 +5,7 @@ import { RefreshMode } from '../IPropertiesService.js';
5
5
  import { IPropertyGroup } from '../IPropertyGroup.js';
6
6
  export declare abstract class AbstractPolymerLikePropertiesService extends AbstractPropertiesService {
7
7
  getRefreshMode(designItem: IDesignItem): RefreshMode;
8
- getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
8
+ getProperties(designItem: IDesignItem): Promise<IProperty[] | IPropertyGroup[]>;
9
9
  protected parseProperties(list: any): IProperty[];
10
10
  getUnsetValue(designItems: IDesignItem[], property: IProperty): any;
11
11
  }
@@ -6,7 +6,7 @@ export class AbstractPolymerLikePropertiesService extends AbstractPropertiesServ
6
6
  getRefreshMode(designItem) {
7
7
  return RefreshMode.full;
8
8
  }
9
- getProperties(designItem) {
9
+ async getProperties(designItem) {
10
10
  if (!this.isHandledElement(designItem))
11
11
  return null;
12
12
  return this.parseProperties(designItem.element.constructor.properties);
@@ -16,8 +16,8 @@ export declare abstract class AbstractPropertiesService implements IPropertiesSe
16
16
  abstract getRefreshMode(designItem: IDesignItem): RefreshMode;
17
17
  abstract isHandledElement(designItem: IDesignItem): boolean;
18
18
  protected _notifyChangedProperty(designItem: IDesignItem, property: IProperty, value: any): void;
19
- getProperty(designItem: IDesignItem, name: string): IProperty;
20
- abstract getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
19
+ getProperty(designItem: IDesignItem, name: string): Promise<IProperty>;
20
+ abstract getProperties(designItem: IDesignItem): Promise<IProperty[] | IPropertyGroup[]>;
21
21
  setValue(designItems: IDesignItem[], property: IProperty, value: any): Promise<void>;
22
22
  getPropertyTarget(designItem: IDesignItem, property: IProperty): BindingTarget;
23
23
  clearValue(designItems: IDesignItem[], property: IProperty, clearType: 'all' | 'binding' | 'value'): void;
@@ -15,8 +15,8 @@ export class AbstractPropertiesService {
15
15
  static _bindingsCacheClearTimer;
16
16
  _notifyChangedProperty(designItem, property, value) {
17
17
  }
18
- getProperty(designItem, name) {
19
- let properties = this.getProperties(designItem);
18
+ async getProperty(designItem, name) {
19
+ let properties = await this.getProperties(designItem);
20
20
  if ('properties' in properties[0]) {
21
21
  return properties.flatMap(x => x.properties).find(x => x.name == name);
22
22
  }
@@ -7,5 +7,5 @@ export declare class AttachedPropertiesService extends AbstractPropertiesService
7
7
  name: string;
8
8
  getRefreshMode(designItem: IDesignItem): RefreshMode;
9
9
  isHandledElement(designItem: IDesignItem): boolean;
10
- getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
10
+ getProperties(designItem: IDesignItem): Promise<IProperty[] | IPropertyGroup[]>;
11
11
  }
@@ -8,7 +8,7 @@ export class AttachedPropertiesService extends AbstractPropertiesService {
8
8
  isHandledElement(designItem) {
9
9
  return designItem.serviceContainer.forSomeServicesTillResult('attachedPropertyService', x => x.isHandledElement(designItem));
10
10
  }
11
- getProperties(designItem) {
11
+ async getProperties(designItem) {
12
12
  let p = [];
13
13
  if (designItem.serviceContainer.attachedPropertyServices) {
14
14
  for (let s of designItem.serviceContainer.attachedPropertyServices) {
@@ -10,8 +10,8 @@ export declare class AttributesPropertiesService extends AbstractPropertiesServi
10
10
  name: string;
11
11
  getRefreshMode(designItem: IDesignItem): RefreshMode;
12
12
  isHandledElement(designItem: IDesignItem): boolean;
13
- getProperty(designItem: IDesignItem, name: string): IProperty;
14
- getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
13
+ getProperty(designItem: IDesignItem, name: string): Promise<IProperty>;
14
+ getProperties(designItem: IDesignItem): Promise<IProperty[] | IPropertyGroup[]>;
15
15
  setValue(designItems: IDesignItem[], property: IProperty, value: any): Promise<void>;
16
16
  getPropertyTarget(designItem: IDesignItem, property: IProperty): BindingTarget;
17
17
  clearValue(designItems: IDesignItem[], property: IProperty): void;
@@ -12,10 +12,10 @@ export class AttributesPropertiesService extends AbstractPropertiesService {
12
12
  isHandledElement(designItem) {
13
13
  return !designItem.isRootItem;
14
14
  }
15
- getProperty(designItem, name) {
15
+ async getProperty(designItem, name) {
16
16
  return { name: name, type: 'string', service: this, propertyType: PropertyType.attribute };
17
17
  }
18
- getProperties(designItem) {
18
+ async getProperties(designItem) {
19
19
  if (designItem) {
20
20
  let p = [];
21
21
  for (let a of designItem.attributes()) {
@@ -7,6 +7,6 @@ export declare class BasicWebcomponentPropertiesService extends AbstractProperti
7
7
  name: string;
8
8
  getRefreshMode(designItem: IDesignItem): RefreshMode;
9
9
  isHandledElement(designItem: IDesignItem): boolean;
10
- getProperty(designItem: IDesignItem, name: string): IProperty;
11
- getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
10
+ getProperty(designItem: IDesignItem, name: string): Promise<IProperty>;
11
+ getProperties(designItem: IDesignItem): Promise<IProperty[] | IPropertyGroup[]>;
12
12
  }
@@ -15,10 +15,10 @@ export class BasicWebcomponentPropertiesService extends AbstractPropertiesServic
15
15
  }
16
16
  return false;
17
17
  }
18
- getProperty(designItem, name) {
19
- return this.getProperties(designItem).find(x => x.name == name);
18
+ async getProperty(designItem, name) {
19
+ return (await this.getProperties(designItem)).find(x => x.name == name);
20
20
  }
21
- getProperties(designItem) {
21
+ async getProperties(designItem) {
22
22
  //@ts-ignore
23
23
  const attr = designItem.element.constructor?.observedAttributes;
24
24
  return attr.map(x => ({
@@ -8,6 +8,6 @@ export declare class CommonPropertiesService extends AbstractPropertiesService {
8
8
  private commonProperties;
9
9
  name: string;
10
10
  isHandledElement(designItem: IDesignItem): boolean;
11
- getProperty(designItem: IDesignItem, name: string): IProperty;
12
- getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
11
+ getProperty(designItem: IDesignItem, name: string): Promise<IProperty>;
12
+ getProperties(designItem: IDesignItem): Promise<IProperty[] | IPropertyGroup[]>;
13
13
  }
@@ -35,10 +35,10 @@ export class CommonPropertiesService extends AbstractPropertiesService {
35
35
  isHandledElement(designItem) {
36
36
  return !designItem.isRootItem;
37
37
  }
38
- getProperty(designItem, name) {
38
+ async getProperty(designItem, name) {
39
39
  return this.commonProperties.find(x => x.name == name);
40
40
  }
41
- getProperties(designItem) {
41
+ async getProperties(designItem) {
42
42
  return this.commonProperties;
43
43
  }
44
44
  }
@@ -11,8 +11,8 @@ export declare class ContentAndIdPropertiesService extends AbstractPropertiesSer
11
11
  innerHtmlProperty: IProperty;
12
12
  name: string;
13
13
  isHandledElement(designItem: IDesignItem): boolean;
14
- getProperty(designItem: IDesignItem, name: string): IProperty;
15
- getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
14
+ getProperty(designItem: IDesignItem, name: string): Promise<IProperty>;
15
+ getProperties(designItem: IDesignItem): Promise<IProperty[] | IPropertyGroup[]>;
16
16
  clearValue(designItems: IDesignItem[], property: IProperty, clearType?: 'all' | 'binding' | 'value'): void;
17
17
  isSet(designItems: IDesignItem[], property: IProperty): ValueType;
18
18
  getValue(designItems: IDesignItem[], property: IProperty): string | boolean;
@@ -29,10 +29,10 @@ export class ContentAndIdPropertiesService extends AbstractPropertiesService {
29
29
  isHandledElement(designItem) {
30
30
  return true;
31
31
  }
32
- getProperty(designItem, name) {
32
+ async getProperty(designItem, name) {
33
33
  return name == 'id' ? this.idProperty : this.contentProperty;
34
34
  }
35
- getProperties(designItem) {
35
+ async getProperties(designItem) {
36
36
  return [this.idProperty, this.contentProperty, this.innerHtmlProperty];
37
37
  }
38
38
  clearValue(designItems, property, clearType = 'all') {
@@ -10,8 +10,8 @@ export declare class CssCurrentPropertiesService extends AbstractCssPropertiesSe
10
10
  getRefreshMode(designItem: IDesignItem): RefreshMode;
11
11
  constructor();
12
12
  isHandledElement(designItem: IDesignItem): boolean;
13
- getProperty(designItem: IDesignItem, name: string): IProperty;
14
- getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
13
+ getProperty(designItem: IDesignItem, name: string): Promise<IProperty>;
14
+ getProperties(designItem: IDesignItem): Promise<IProperty[] | IPropertyGroup[]>;
15
15
  setValue(designItems: IDesignItem[], property: (IProperty & {
16
16
  styleRule: IStyleRule;
17
17
  styleDeclaration: IStyleDeclaration;
@@ -17,10 +17,10 @@ export class CssCurrentPropertiesService extends AbstractCssPropertiesService {
17
17
  isHandledElement(designItem) {
18
18
  return true;
19
19
  }
20
- getProperty(designItem, name) {
20
+ async getProperty(designItem, name) {
21
21
  return { name: name, type: 'string', service: this, propertyType: PropertyType.cssValue };
22
22
  }
23
- getProperties(designItem) {
23
+ async getProperties(designItem) {
24
24
  if (!designItem || designItem.nodeType != NodeType.Element)
25
25
  return [];
26
26
  let styles = designItem.getAllStyles();
@@ -10,8 +10,8 @@ export declare class CssCustomPropertiesService extends AbstractCssPropertiesSer
10
10
  constructor(removeInheritedCustomProperties?: boolean);
11
11
  getRefreshMode(designItem: IDesignItem): RefreshMode;
12
12
  isHandledElement(designItem: IDesignItem): boolean;
13
- getProperty(designItem: IDesignItem, name: string): IProperty;
14
- getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
13
+ getProperty(designItem: IDesignItem, name: string): Promise<IProperty>;
14
+ getProperties(designItem: IDesignItem): Promise<IProperty[] | IPropertyGroup[]>;
15
15
  clearValue(designItems: IDesignItem[], property: IProperty, clearType: 'all' | 'binding' | 'value'): void;
16
16
  getValue(designItems: IDesignItem[], property: IProperty): string;
17
17
  getUnsetValue(designItems: IDesignItem[], property: IProperty): any;
@@ -16,10 +16,10 @@ export class CssCustomPropertiesService extends AbstractCssPropertiesService {
16
16
  isHandledElement(designItem) {
17
17
  return true;
18
18
  }
19
- getProperty(designItem, name) {
19
+ async getProperty(designItem, name) {
20
20
  return { name: name, type: 'string', service: this, propertyType: PropertyType.cssValue };
21
21
  }
22
- getProperties(designItem) {
22
+ async getProperties(designItem) {
23
23
  if (!designItem?.element?.computedStyleMap)
24
24
  return null;
25
25
  let rootMap = Array.from(designItem.instanceServiceContainer.designerCanvas.computedStyleMap()).map(x => x[0]).filter(key => key.startsWith("--"));
@@ -18,8 +18,8 @@ export declare class CssPropertiesService extends AbstractCssPropertiesService {
18
18
  svg: string[];
19
19
  constructor(name: 'layout' | 'grid' | 'gridChild' | 'flex' | 'flexChild' | 'svg');
20
20
  isHandledElement(designItem: IDesignItem): boolean;
21
- getProperty(designItem: IDesignItem, name: string): IProperty;
22
- getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
21
+ getProperty(designItem: IDesignItem, name: string): Promise<IProperty>;
22
+ getProperties(designItem: IDesignItem): Promise<IProperty[] | IPropertyGroup[]>;
23
23
  _getPropertyDef(name: string): IProperty;
24
24
  getPropertyTarget(designItem: IDesignItem, property: IProperty): BindingTarget;
25
25
  }
@@ -85,10 +85,10 @@ export class CssPropertiesService extends AbstractCssPropertiesService {
85
85
  isHandledElement(designItem) {
86
86
  return true;
87
87
  }
88
- getProperty(designItem, name) {
88
+ async getProperty(designItem, name) {
89
89
  return this._getPropertyDef(name);
90
90
  }
91
- getProperties(designItem) {
91
+ async getProperties(designItem) {
92
92
  const propNames = this[this.name];
93
93
  if (Array.isArray(propNames)) {
94
94
  const propertiesList = propNames.map(x => this._getPropertyDef(x));
@@ -11,5 +11,5 @@ export declare class ListPropertiesService extends AbstractPropertiesService {
11
11
  constructor(propertyDefinitions: IJsonPropertyDefinitions, recreateElementsOnPropertyChange?: boolean);
12
12
  isHandledElement(designItem: IDesignItem): boolean;
13
13
  protected _notifyChangedProperty(designItem: IDesignItem, property: IProperty, value: any): void;
14
- getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
14
+ getProperties(designItem: IDesignItem): Promise<IProperty[] | IPropertyGroup[]>;
15
15
  }
@@ -39,7 +39,7 @@ export class ListPropertiesService extends AbstractPropertiesService {
39
39
  }
40
40
  _notifyChangedProperty(designItem, property, value) {
41
41
  }
42
- getProperties(designItem) {
42
+ async getProperties(designItem) {
43
43
  return this._propertys.get(designItem.element.localName);
44
44
  }
45
45
  }
@@ -5,6 +5,6 @@ import { IPropertyGroup } from '../IPropertyGroup.js';
5
5
  export declare class Lit2PropertiesService extends AbstractPolymerLikePropertiesService {
6
6
  name: string;
7
7
  isHandledElement(designItem: IDesignItem): boolean;
8
- getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
8
+ getProperties(designItem: IDesignItem): Promise<IProperty[] | IPropertyGroup[]>;
9
9
  protected _notifyChangedProperty(designItem: IDesignItem, property: IProperty, value: any): void;
10
10
  }
@@ -9,7 +9,7 @@ export class Lit2PropertiesService extends AbstractPolymerLikePropertiesService
9
9
  return true;
10
10
  return false;
11
11
  }
12
- getProperties(designItem) {
12
+ async getProperties(designItem) {
13
13
  if (!this.isHandledElement(designItem))
14
14
  return null;
15
15
  let properties = [];
@@ -10,6 +10,6 @@ export declare class MathMLElementsPropertiesService extends CommonPropertiesSer
10
10
  name: string;
11
11
  getRefreshMode(designItem: IDesignItem): RefreshMode;
12
12
  isHandledElement(designItem: IDesignItem): boolean;
13
- getProperty(designItem: IDesignItem, name: string): IProperty;
14
- getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
13
+ getProperty(designItem: IDesignItem, name: string): Promise<IProperty>;
14
+ getProperties(designItem: IDesignItem): Promise<IProperty[] | IPropertyGroup[]>;
15
15
  }
@@ -52,10 +52,10 @@ export class MathMLElementsPropertiesService extends CommonPropertiesService {
52
52
  isHandledElement(designItem) {
53
53
  return designItem.element instanceof designItem.window.MathMLElement;
54
54
  }
55
- getProperty(designItem, name) {
56
- return this.getProperties(designItem).find(x => x.name == name);
55
+ async getProperty(designItem, name) {
56
+ return (await this.getProperties(designItem)).find(x => x.name == name);
57
57
  }
58
- getProperties(designItem) {
58
+ async getProperties(designItem) {
59
59
  if (!this.isHandledElement(designItem))
60
60
  return null;
61
61
  switch (designItem.element.localName) {
@@ -16,6 +16,6 @@ export declare class NativeElementsPropertiesService extends AbstractPropertiesS
16
16
  name: string;
17
17
  getRefreshMode(designItem: IDesignItem): RefreshMode;
18
18
  isHandledElement(designItem: IDesignItem): boolean;
19
- getProperty(designItem: IDesignItem, name: string): IProperty;
20
- getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
19
+ getProperty(designItem: IDesignItem, name: string): Promise<IProperty>;
20
+ getProperties(designItem: IDesignItem): Promise<IProperty[] | IPropertyGroup[]>;
21
21
  }
@@ -212,10 +212,10 @@ export class NativeElementsPropertiesService extends AbstractPropertiesService {
212
212
  }
213
213
  return false;
214
214
  }
215
- getProperty(designItem, name) {
216
- return this.getProperties(designItem).find(x => x.name == name);
215
+ async getProperty(designItem, name) {
216
+ return (await this.getProperties(designItem)).find(x => x.name == name);
217
217
  }
218
- getProperties(designItem) {
218
+ async getProperties(designItem) {
219
219
  if (!this.isHandledElement(designItem))
220
220
  return null;
221
221
  switch (designItem.element.localName) {
@@ -11,6 +11,6 @@ export declare class SVGElementsPropertiesService extends CommonPropertiesServic
11
11
  private defaultProperties;
12
12
  name: string;
13
13
  isHandledElement(designItem: IDesignItem): boolean;
14
- getProperty(designItem: IDesignItem, name: string): IProperty;
15
- getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
14
+ getProperty(designItem: IDesignItem, name: string): Promise<IProperty>;
15
+ getProperties(designItem: IDesignItem): Promise<IProperty[] | IPropertyGroup[]>;
16
16
  }
@@ -236,10 +236,10 @@ export class SVGElementsPropertiesService extends CommonPropertiesService {
236
236
  }
237
237
  return false;
238
238
  }
239
- getProperty(designItem, name) {
240
- return this.getProperties(designItem).find(x => x.name == name);
239
+ async getProperty(designItem, name) {
240
+ return (await this.getProperties(designItem)).find(x => x.name == name);
241
241
  }
242
- getProperties(designItem) {
242
+ async getProperties(designItem) {
243
243
  if (!this.isHandledElement(designItem))
244
244
  return null;
245
245
  switch (designItem.element.localName) {
@@ -6,5 +6,5 @@ import { RefreshMode } from '../IPropertiesService.js';
6
6
  export declare class UnkownElementsPropertiesService extends AbstractPropertiesService {
7
7
  getRefreshMode(designItem: IDesignItem): RefreshMode;
8
8
  isHandledElement(designItem: IDesignItem): boolean;
9
- getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
9
+ getProperties(designItem: IDesignItem): Promise<IProperty[] | IPropertyGroup[]>;
10
10
  }
@@ -8,7 +8,7 @@ export class UnkownElementsPropertiesService extends AbstractPropertiesService {
8
8
  isHandledElement(designItem) {
9
9
  return true;
10
10
  }
11
- getProperties(designItem) {
11
+ async getProperties(designItem) {
12
12
  let list = Object.getOwnPropertyNames(Object.getPrototypeOf(designItem.element));
13
13
  let props = [];
14
14
  for (let p of list) {
@@ -13,8 +13,8 @@ export declare class WebcomponentManifestPropertiesService extends AbstractPrope
13
13
  private _parseManifest;
14
14
  static manifestClassPropertyTypeToEditorPropertyType(type: string, editor: string): [type: string, values?: string[]];
15
15
  isHandledElement(designItem: IDesignItem): boolean;
16
- getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
17
- getProperty(designItem: IDesignItem, name: string): IProperty;
16
+ getProperties(designItem: IDesignItem): Promise<IProperty[] | IPropertyGroup[]>;
17
+ getProperty(designItem: IDesignItem, name: string): Promise<IProperty>;
18
18
  getPropertyTarget(designItem: IDesignItem, property: IProperty): BindingTarget;
19
19
  getUnsetValue(designItems: IDesignItem[], property: IProperty): any;
20
20
  }
@@ -70,10 +70,10 @@ export class WebcomponentManifestPropertiesService extends AbstractPropertiesSer
70
70
  isHandledElement(designItem) {
71
71
  return this._propertiesList[designItem.name] != null;
72
72
  }
73
- getProperties(designItem) {
73
+ async getProperties(designItem) {
74
74
  return this._propertiesList[designItem.name];
75
75
  }
76
- getProperty(designItem, name) {
76
+ async getProperty(designItem, name) {
77
77
  return this._propertiesList[designItem.name].find(x => x.name == name);
78
78
  }
79
79
  getPropertyTarget(designItem, property) {
@@ -33,6 +33,7 @@ export declare class PropertyGrid extends BaseCustomWebComponentLazyAppend {
33
33
  set instanceServiceContainer(value: InstanceServiceContainer);
34
34
  get selectedItems(): IDesignItem[];
35
35
  set selectedItems(items: IDesignItem[]);
36
+ _selectedItemsSet(): Promise<void>;
36
37
  _mutationOccured(): void;
37
38
  private _observePrimarySelectionForChanges;
38
39
  }
@@ -70,60 +70,63 @@ export class PropertyGrid extends BaseCustomWebComponentLazyAppend {
70
70
  set selectedItems(items) {
71
71
  if (this._selectedItems != items) {
72
72
  this._selectedItems = items;
73
- const pgGroups = this._serviceContainer.propertyGroupService.getPropertygroups(items);
74
- const visibleDict = new Set();
75
- for (let p of pgGroups) {
76
- let lst = this._propertyGridPropertyListsDict[p.name];
77
- if (!lst) {
78
- lst = new PropertyGridPropertyList(this.serviceContainer);
79
- lst.title = p.name;
80
- lst.propertyGroupHover = this.propertyGroupHover;
81
- lst.propertyGroupClick = this.propertyGroupClick;
82
- lst.propertyContextMenuProvider = this.propertyContextMenuProvider;
83
- this._designerTabControl.appendChild(lst);
84
- this._propertyGridPropertyLists.push(lst);
85
- this._propertyGridPropertyListsDict[p.name] = lst;
86
- }
87
- lst.setPropertiesService(p.propertiesService);
88
- if (lst.createElements(items[0]))
89
- visibleDict.add(p.name);
90
- }
91
- let parentEl = this._designerTabControl;
92
- for (const v of visibleDict) {
93
- let el = this._propertyGridPropertyListsDict[v];
94
- if (parentEl === this._designerTabControl)
95
- parentEl.insertAdjacentElement('afterbegin', el);
96
- else
97
- parentEl.insertAdjacentElement('afterend', el);
98
- parentEl = el;
99
- }
100
- for (let p of this._propertyGridPropertyLists) {
101
- if (visibleDict.has(p.title))
102
- p.style.display = 'block';
103
- else
104
- p.style.display = 'none';
105
- }
106
- this._designerTabControl.refreshItems();
107
- if (this._designerTabControl.selectedIndex < 0)
108
- this._designerTabControl.selectedIndex = 0;
109
- for (const a of this._propertyGridPropertyLists) {
110
- if (visibleDict.has(a.title))
111
- a.designItemsChanged(items);
73
+ this._selectedItemsSet();
74
+ }
75
+ }
76
+ async _selectedItemsSet() {
77
+ const pgGroups = this._serviceContainer.propertyGroupService.getPropertygroups(this._selectedItems);
78
+ const visibleDict = new Set();
79
+ for (let p of pgGroups) {
80
+ let lst = this._propertyGridPropertyListsDict[p.name];
81
+ if (!lst) {
82
+ lst = new PropertyGridPropertyList(this.serviceContainer);
83
+ lst.title = p.name;
84
+ lst.propertyGroupHover = this.propertyGroupHover;
85
+ lst.propertyGroupClick = this.propertyGroupClick;
86
+ lst.propertyContextMenuProvider = this.propertyContextMenuProvider;
87
+ this._designerTabControl.appendChild(lst);
88
+ this._propertyGridPropertyLists.push(lst);
89
+ this._propertyGridPropertyListsDict[p.name] = lst;
112
90
  }
113
- if (items) {
114
- if (items.length == 1) {
115
- for (const a of this._propertyGridPropertyLists) {
116
- if (visibleDict.has(a.title))
117
- a.refreshForDesignItems(items);
118
- }
119
- this._observePrimarySelectionForChanges();
91
+ lst.setPropertiesService(p.propertiesService);
92
+ if (await lst.createElements(this._selectedItems[0]))
93
+ visibleDict.add(p.name);
94
+ }
95
+ let parentEl = this._designerTabControl;
96
+ for (const v of visibleDict) {
97
+ let el = this._propertyGridPropertyListsDict[v];
98
+ if (parentEl === this._designerTabControl)
99
+ parentEl.insertAdjacentElement('afterbegin', el);
100
+ else
101
+ parentEl.insertAdjacentElement('afterend', el);
102
+ parentEl = el;
103
+ }
104
+ for (let p of this._propertyGridPropertyLists) {
105
+ if (visibleDict.has(p.title))
106
+ p.style.display = 'block';
107
+ else
108
+ p.style.display = 'none';
109
+ }
110
+ this._designerTabControl.refreshItems();
111
+ if (this._designerTabControl.selectedIndex < 0)
112
+ this._designerTabControl.selectedIndex = 0;
113
+ for (const a of this._propertyGridPropertyLists) {
114
+ if (visibleDict.has(a.title))
115
+ a.designItemsChanged(this._selectedItems);
116
+ }
117
+ if (this._selectedItems) {
118
+ if (this._selectedItems.length == 1) {
119
+ for (const a of this._propertyGridPropertyLists) {
120
+ if (visibleDict.has(a.title))
121
+ a.refreshForDesignItems(this._selectedItems);
120
122
  }
123
+ this._observePrimarySelectionForChanges();
121
124
  }
122
- else {
123
- this._itemsObserver.disconnect();
124
- this._nodeReplacedCb?.dispose();
125
- this._nodeReplacedCb = null;
126
- }
125
+ }
126
+ else {
127
+ this._itemsObserver.disconnect();
128
+ this._nodeReplacedCb?.dispose();
129
+ this._nodeReplacedCb = null;
127
130
  }
128
131
  }
129
132
  _mutationOccured() {
@@ -19,7 +19,7 @@ export declare class PropertyGridPropertyList extends BaseCustomWebComponentLazy
19
19
  static get style(): CSSStyleSheet;
20
20
  constructor(serviceContainer: ServiceContainer);
21
21
  setPropertiesService(propertiesService: IPropertiesService): void;
22
- createElements(designItem: IDesignItem): boolean;
22
+ createElements(designItem: IDesignItem): Promise<boolean>;
23
23
  private createPropertyGroups;
24
24
  private createPropertyEditors;
25
25
  private _onDragLeave;
@@ -125,12 +125,12 @@ export class PropertyGridPropertyList extends BaseCustomWebComponentLazyAppend {
125
125
  this._propertyMap.clear();
126
126
  }
127
127
  }
128
- createElements(designItem) {
128
+ async createElements(designItem) {
129
129
  if (this._propertiesService && (this._propertiesService.getRefreshMode(designItem) != RefreshMode.none) || this._propertyMap.size == 0) {
130
130
  DomHelper.removeAllChildnodes(this._div);
131
131
  this._propertyMap.clear();
132
132
  if (this._propertiesService) {
133
- let properties = this._propertiesService.getProperties(designItem);
133
+ let properties = await this._propertiesService.getProperties(designItem);
134
134
  if (properties?.length) {
135
135
  if ('properties' in properties[0])
136
136
  this.createPropertyGroups(properties);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "description": "A WYSIWYG designer webcomponent for html components",
3
3
  "name": "@node-projects/web-component-designer",
4
- "version": "0.1.178",
4
+ "version": "0.1.179",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "author": "jochen.kuehner@gmx.de",