@node-projects/web-component-designer 0.0.262 → 0.0.263

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.
@@ -13,7 +13,7 @@ export declare abstract class AbstractPropertiesService implements IPropertiesSe
13
13
  abstract getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
14
14
  setValue(designItems: IDesignItem[], property: IProperty, value: any): void;
15
15
  getPropertyTarget(designItem: IDesignItem, property: IProperty): BindingTarget;
16
- clearValue(designItems: IDesignItem[], property: IProperty, clearType?: 'all' | 'binding' | 'value'): void;
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;
19
19
  getBinding(designItems: IDesignItem[], property: IProperty): IBinding;
@@ -60,7 +60,7 @@ export class AbstractPropertiesService {
60
60
  getPropertyTarget(designItem, property) {
61
61
  return BindingTarget.property;
62
62
  }
63
- clearValue(designItems, property, clearType = 'all') {
63
+ clearValue(designItems, property, clearType) {
64
64
  const cg = designItems[0].openGroup("property cleared: " + property.name);
65
65
  for (let d of designItems) {
66
66
  if (clearType != 'binding') {
@@ -12,7 +12,7 @@ export declare class ContentAndIdPropertiesService extends AbstractPropertiesSer
12
12
  isHandledElement(designItem: IDesignItem): boolean;
13
13
  getProperty(designItem: IDesignItem, name: string): IProperty;
14
14
  getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
15
- clearValue(designItems: IDesignItem[], property: IProperty): void;
15
+ clearValue(designItems: IDesignItem[], property: IProperty, clearType?: 'all' | 'binding' | 'value'): void;
16
16
  isSet(designItems: IDesignItem[], property: IProperty): ValueType;
17
17
  getValue(designItems: IDesignItem[], property: IProperty): string | boolean;
18
18
  }
@@ -29,12 +29,22 @@ export class ContentAndIdPropertiesService extends AbstractPropertiesService {
29
29
  getProperties(designItem) {
30
30
  return [this.idProperty, this.contentProperty];
31
31
  }
32
- clearValue(designItems, property) {
32
+ clearValue(designItems, property, clearType = 'all') {
33
33
  if (property.name == this.contentProperty.name) {
34
- designItems[0].clearChildren();
34
+ for (let d of designItems) {
35
+ if (clearType != 'binding') {
36
+ d.clearChildren();
37
+ }
38
+ if (clearType != 'value') {
39
+ d.serviceContainer.forSomeServicesTillResult('bindingService', (s) => {
40
+ return s.clearBinding(d, property.name, this.getPropertyTarget(d, property));
41
+ });
42
+ }
43
+ this._notifyChangedProperty(d, property, undefined);
44
+ }
35
45
  }
36
46
  else {
37
- super.clearValue(designItems, property);
47
+ super.clearValue(designItems, property, clearType);
38
48
  }
39
49
  }
40
50
  isSet(designItems, property) {
@@ -18,7 +18,7 @@ export declare class CssCurrentPropertiesService extends CommonPropertiesService
18
18
  clearValue(designItems: IDesignItem[], property: IProperty & {
19
19
  styleRule: IStyleRule;
20
20
  styleDeclaration: IStyleDeclaration;
21
- }): void;
21
+ }, clearType: 'all' | 'binding' | 'value'): void;
22
22
  getValue(designItems: IDesignItem[], property: IProperty & {
23
23
  styleRule: IStyleRule;
24
24
  styleDeclaration: IStyleDeclaration;
@@ -76,12 +76,12 @@ export class CssCurrentPropertiesService extends CommonPropertiesService {
76
76
  d.element.setAttribute('style', d.element.getAttribute('style'));
77
77
  }
78
78
  }
79
- clearValue(designItems, property) {
79
+ clearValue(designItems, property, clearType) {
80
80
  if (property.styleRule?.selector !== null && property.styleDeclaration) {
81
81
  designItems[0].instanceServiceContainer.stylesheetService.removeDeclarationFromRule(property.styleRule, property.styleDeclaration.name);
82
82
  return;
83
83
  }
84
- super.clearValue(designItems, property);
84
+ super.clearValue(designItems, property, clearType);
85
85
  }
86
86
  getValue(designItems, property) {
87
87
  if (property.styleRule?.selector && property.styleDeclaration)
@@ -251,7 +251,7 @@ export class PropertyGridPropertyList extends BaseCustomWebComponentLazyAppend {
251
251
  }
252
252
  }
253
253
  static refreshIsSetElementAndEditorForDesignItems(isSetElement, property, items, propertiesService, editor) {
254
- if (items) {
254
+ if (items && items.length) {
255
255
  let s = propertiesService.isSet(items, property);
256
256
  let v = propertiesService.getValue(items, property);
257
257
  isSetElement.title = s;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "description": "A UI designer for Polymer apps",
3
3
  "name": "@node-projects/web-component-designer",
4
- "version": "0.0.262",
4
+ "version": "0.0.263",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "author": "",