@node-projects/web-component-designer 0.1.52 → 0.1.54

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.
@@ -9,7 +9,7 @@ export function newElementFromString(text) {
9
9
  const range = document.createRange();
10
10
  range.selectNode(document.body);
11
11
  //@ts-ignore
12
- const fragment = range.createContextualFragment(text, { allowDeclarativeShadowDOM: true });
12
+ const fragment = range.createContextualFragment(text, { includeShadowRoots: true });
13
13
  return fragment.firstChild;
14
14
  }
15
15
  export var ElementDisplayType;
@@ -84,6 +84,7 @@ import { MultipleSelectionRectExtensionProvider } from '../widgets/designerView/
84
84
  import { DragDropService } from './dragDropService/DragDropService.js';
85
85
  import { EventsService } from './eventsService/EventsService.js';
86
86
  import { SimpleDemoProviderService } from './demoProviderService/SimpleDemoProviderService.js';
87
+ import { DrawElementTool } from '../widgets/designerView/tools/DrawElementTool.js';
87
88
  export function createDefaultServiceContainer() {
88
89
  let serviceContainer = new ServiceContainer();
89
90
  let defaultPlacementService = new DefaultPlacementService();
@@ -175,6 +176,7 @@ export function createDefaultServiceContainer() {
175
176
  serviceContainer.designerTools.set(NamedTools.MagicWandSelector, new MagicWandSelectorTool());
176
177
  serviceContainer.designerTools.set(NamedTools.PickColor, new PickColorTool());
177
178
  serviceContainer.designerTools.set(NamedTools.Text, new TextTool());
179
+ serviceContainer.designerTools.set(NamedTools.DrawElementTool, DrawElementTool);
178
180
  serviceContainer.designerPointerExtensions.push(
179
181
  //new CursorLinePointerExtensionProvider()
180
182
  );
@@ -94,7 +94,7 @@ export declare class ServiceContainer extends BaseServiceContainer<ServiceNameMa
94
94
  readonly options: {
95
95
  zoomDesignerBackground: boolean;
96
96
  };
97
- readonly designerTools: Map<string | NamedTools, ITool>;
97
+ readonly designerTools: Map<string | NamedTools, ITool | (new (IElementDefinition: any) => ITool)>;
98
98
  get bindingService(): IBindingService;
99
99
  get bindableObjectsServices(): IBindableObjectsService[];
100
100
  get bindableObjectDragDropService(): IBindableObjectDragDropService;
@@ -11,5 +11,5 @@ export declare enum NamedTools {
11
11
  RectangleSelector = "RectangleSelector",
12
12
  PickColor = "PickColor",
13
13
  Text = "Text",
14
- TextBoc = "TextBoc"
14
+ DrawElementTool = "DrawElementTool"
15
15
  }
@@ -12,5 +12,5 @@ export var NamedTools;
12
12
  NamedTools["RectangleSelector"] = "RectangleSelector";
13
13
  NamedTools["PickColor"] = "PickColor";
14
14
  NamedTools["Text"] = "Text";
15
- NamedTools["TextBoc"] = "TextBoc";
15
+ NamedTools["DrawElementTool"] = "DrawElementTool";
16
16
  })(NamedTools || (NamedTools = {}));
@@ -1,6 +1,6 @@
1
1
  import { dragDropFormatNameElementDefinition } from '../../../Constants.js';
2
2
  import { BaseCustomWebComponentLazyAppend, css, html } from '@node-projects/base-custom-webcomponent';
3
- import { DrawElementTool } from '../designerView/tools/DrawElementTool.js';
3
+ import { NamedTools } from '../designerView/tools/NamedTools.js';
4
4
  export class PaletteElements extends BaseCustomWebComponentLazyAppend {
5
5
  static style = css `
6
6
  :host {
@@ -125,7 +125,10 @@ export class PaletteElements extends BaseCustomWebComponentLazyAppend {
125
125
  e.preventDefault();
126
126
  };
127
127
  button.onclick = (x) => {
128
- serviceContainer.globalContext.tool = new DrawElementTool(elementDefintion);
128
+ let tool = serviceContainer.designerTools.get(elementDefintion.tool ?? NamedTools.DrawElementTool);
129
+ if (typeof tool == 'function')
130
+ tool = new tool(elementDefintion);
131
+ serviceContainer.globalContext.tool = tool;
129
132
  };
130
133
  tdEl.appendChild(button);
131
134
  tr.appendChild(tdEl);
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.1.52",
4
+ "version": "0.1.54",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "author": "jochen.kuehner@gmx.de",