@node-projects/web-component-designer 0.0.189 → 0.0.191

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.
@@ -1,6 +1,8 @@
1
1
  export async function copyTextToClipboard(text) {
2
2
  copyToClipboard(['text/plain', text]);
3
3
  }
4
+ //used, so you could copy internal if you have no clipboard access
5
+ let internalClipboard = null;
4
6
  export async function copyToClipboard(items) {
5
7
  if (navigator.clipboard) {
6
8
  try {
@@ -12,10 +14,12 @@ export async function copyToClipboard(items) {
12
14
  }
13
15
  catch (err) {
14
16
  await navigator.clipboard.writeText(items[0][1]);
17
+ internalClipboard = items[0][1];
15
18
  }
16
19
  console.info('Copy to clipboard successful');
17
20
  }
18
21
  else {
22
+ internalClipboard = items[0][1];
19
23
  const textArea = document.createElement('textarea');
20
24
  textArea.style.position = 'fixed';
21
25
  textArea.style.top = '0';
@@ -69,6 +73,8 @@ export async function getTextFromClipboard() {
69
73
  textArea.select();
70
74
  document.execCommand('paste');
71
75
  let value = textArea.value;
76
+ if (!value)
77
+ value = internalClipboard;
72
78
  document.body.removeChild(textArea);
73
79
  resolve(value);
74
80
  });
@@ -407,7 +407,7 @@ export class DesignItem {
407
407
  _removeChildInternal(designItem) {
408
408
  if (designItem.parent && this.instanceServiceContainer.selectionService.primarySelection == designItem)
409
409
  designItem.instanceServiceContainer.designerCanvas.extensionManager.removeExtension(designItem.parent, ExtensionType.PrimarySelectionContainer);
410
- designItem.instanceServiceContainer.designerCanvas.extensionManager.removeExtensions([designItem]);
410
+ designItem.instanceServiceContainer.designerCanvas.extensionManager.removeExtensions([designItem], true);
411
411
  const index = this._childArray.indexOf(designItem);
412
412
  if (index > -1) {
413
413
  this._childArray.splice(index, 1);
@@ -12,7 +12,7 @@ export declare class ExtensionManager implements IExtensionManager {
12
12
  applyExtension(designItem: IDesignItem, extensionType: ExtensionType, recursive?: boolean): IDesignerExtension[];
13
13
  applyExtensions(designItems: IDesignItem[], extensionType: ExtensionType, recursive?: boolean): void;
14
14
  removeExtension(designItem: IDesignItem, extensionType?: ExtensionType): void;
15
- removeExtensions(designItems: IDesignItem[], extensionType?: ExtensionType): void;
15
+ removeExtensions(designItems: IDesignItem[], includeChildren: boolean, extensionType?: ExtensionType): void;
16
16
  refreshExtension(designItem: IDesignItem, extensionType?: ExtensionType): void;
17
17
  refreshExtensions(designItems: IDesignItem[], extensionType?: ExtensionType, ignoredExtension?: any): void;
18
18
  refreshAllExtensions(designItems: IDesignItem[], ignoredExtension?: any): void;
@@ -22,7 +22,7 @@ export class ExtensionManager {
22
22
  this.applyExtensions(Array.from(this.designerCanvas.rootDesignItem.children()), ExtensionType.Permanent, true);
23
23
  break;
24
24
  case 'removed':
25
- this.removeExtensions(contentChanged.designItems, ExtensionType.Permanent);
25
+ this.removeExtensions(contentChanged.designItems, true, ExtensionType.Permanent);
26
26
  break;
27
27
  }
28
28
  });
@@ -33,7 +33,7 @@ export class ExtensionManager {
33
33
  const primaryContainer = DesignItem.GetOrCreateDesignItem(selectionChangedEvent.oldSelectedElements[0].parent.element, this.designerCanvas.serviceContainer, this.designerCanvas.instanceServiceContainer);
34
34
  this.removeExtension(primaryContainer, ExtensionType.PrimarySelectionContainer);
35
35
  this.removeExtension(selectionChangedEvent.oldSelectedElements[0], ExtensionType.PrimarySelection);
36
- this.removeExtensions(selectionChangedEvent.oldSelectedElements, ExtensionType.Selection);
36
+ this.removeExtensions(selectionChangedEvent.oldSelectedElements, false, ExtensionType.Selection);
37
37
  }
38
38
  }
39
39
  if (selectionChangedEvent.selectedElements && selectionChangedEvent.selectedElements.length) {
@@ -154,10 +154,13 @@ export class ExtensionManager {
154
154
  }
155
155
  }
156
156
  }
157
- removeExtensions(designItems, extensionType) {
157
+ removeExtensions(designItems, includeChildren, extensionType) {
158
158
  if (designItems) {
159
159
  if (extensionType) {
160
160
  for (let i of designItems) {
161
+ if (includeChildren && i.hasChildren) {
162
+ this.removeExtensions([...i.children()], true, extensionType);
163
+ }
161
164
  i.shouldAppliedDesignerExtensions.delete(extensionType);
162
165
  let exts = i.appliedDesignerExtensions.get(extensionType);
163
166
  if (exts) {
@@ -177,6 +180,9 @@ export class ExtensionManager {
177
180
  }
178
181
  else {
179
182
  for (let i of designItems) {
183
+ if (includeChildren && i.hasChildren) {
184
+ this.removeExtensions([...i.children()], true, extensionType);
185
+ }
180
186
  i.shouldAppliedDesignerExtensions.clear();
181
187
  for (let appE of i.appliedDesignerExtensions) {
182
188
  for (let e of appE[1]) {
@@ -5,7 +5,7 @@ export interface IExtensionManager {
5
5
  applyExtension(designItem: IDesignItem, extensionType: ExtensionType, recursive?: boolean): IDesignerExtension[];
6
6
  applyExtensions(designItems: IDesignItem[], extensionType: ExtensionType, recursive?: boolean): any;
7
7
  removeExtension(designItem: IDesignItem, extensionType?: ExtensionType): any;
8
- removeExtensions(designItems: IDesignItem[], extensionType?: ExtensionType): any;
8
+ removeExtensions(designItems: IDesignItem[], includeChildren: boolean, extensionType?: ExtensionType): any;
9
9
  refreshExtension(designItem: IDesignItem, extensionType?: ExtensionType): any;
10
10
  refreshExtensions(designItems: IDesignItem[], extensionType?: ExtensionType): any;
11
11
  refreshAllExtensions(designItems: IDesignItem[], ignoredExtension?: any): any;
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.189",
4
+ "version": "0.0.191",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "author": "",