@node-projects/web-component-designer 0.0.255 → 0.0.256

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.
@@ -83,6 +83,7 @@ import { DesignItemDocumentPositionService } from './designItemDocumentPositionS
83
83
  import { TransformToolButtonProvider } from '../widgets/designerView/tools/toolBar/buttons/TransformToolButtonProvider.js';
84
84
  import { MultipleSelectionRectExtensionProvider } from '../widgets/designerView/extensions/MultipleSelectionRectExtensionProvider.js';
85
85
  import { DragDropService } from './dragDropService/DragDropService.js';
86
+ import { EventsService } from './eventsService/EventsService.js';
86
87
  export function createDefaultServiceContainer() {
87
88
  let serviceContainer = new ServiceContainer();
88
89
  let defaultPlacementService = new DefaultPlacementService();
@@ -107,11 +108,11 @@ export function createDefaultServiceContainer() {
107
108
  serviceContainer.register("copyPasteService", new CopyPasteService());
108
109
  serviceContainer.register("modelCommandService", new DefaultModelCommandService());
109
110
  serviceContainer.register("demoProviderService", new DemoProviderService());
111
+ serviceContainer.register("eventsService", new EventsService());
110
112
  serviceContainer.register("undoService", (designerCanvas) => new UndoService(designerCanvas));
111
113
  serviceContainer.register("selectionService", (designerCanvas) => new SelectionService(designerCanvas, false));
112
114
  serviceContainer.register("contentService", (designerCanvas) => new ContentService(designerCanvas.rootDesignItem));
113
115
  serviceContainer.register("designItemDocumentPositionService", (designerCanvas) => new DesignItemDocumentPositionService(designerCanvas));
114
- //serviceContainer.register("stylesheetService", new DemoProviderService());
115
116
  serviceContainer.designerExtensions.set(ExtensionType.Permanent, [
116
117
  // new ResizeExtensionProvider(false),
117
118
  new InvisibleElementExtensionProvider(),
@@ -41,6 +41,7 @@ import { IDesignerCanvas } from '../widgets/designerView/IDesignerCanvas.js';
41
41
  import { IDesignItemDocumentPositionService } from './designItemDocumentPositionService/IDesignItemDocumentPositionService.js';
42
42
  import { IDragDropService } from './dragDropService/IDragDropService.js';
43
43
  import { IDesignItemService } from './designItemService/IDesignItemService.js';
44
+ import { IEventsService } from './eventsService/IEventsService.js';
44
45
  interface ServiceNameMap {
45
46
  "propertyService": IPropertiesService;
46
47
  "containerService": IPlacementService;
@@ -63,6 +64,7 @@ interface ServiceNameMap {
63
64
  "propertyGroupsService": IPropertyTabsService;
64
65
  "dragDropService": IDragDropService;
65
66
  "designItemService": IDesignItemService;
67
+ "eventsService": IEventsService;
66
68
  "undoService": (designerCanvas: IDesignerCanvas) => IUndoService;
67
69
  "selectionService": (designerCanvas: IDesignerCanvas) => ISelectionService;
68
70
  "contentService": (designerCanvas: IDesignerCanvas) => IContentService;
@@ -96,6 +98,7 @@ export declare class ServiceContainer extends BaseServiceContainer<ServiceNameMa
96
98
  get containerServices(): IPlacementService[];
97
99
  get snaplinesProviderService(): ISnaplinesProviderService;
98
100
  get elementsServices(): IElementsService[];
101
+ get eventsService(): IEventsService[];
99
102
  get instanceServices(): IInstanceService[];
100
103
  get editorTypesServices(): IEditorTypesService[];
101
104
  get htmlWriterService(): IHtmlWriterService;
@@ -55,6 +55,9 @@ export class ServiceContainer extends BaseServiceContainer {
55
55
  get elementsServices() {
56
56
  return this.getServices('elementsService');
57
57
  }
58
+ get eventsService() {
59
+ return this.getServices('eventsService');
60
+ }
58
61
  get instanceServices() {
59
62
  return this.getServices('instanceService');
60
63
  }
@@ -0,0 +1,17 @@
1
+ import { IDesignItem } from "../../item/IDesignItem.js";
2
+ import { IEvent } from "./IEvent.js";
3
+ import { IEventsService } from "./IEventsService.js";
4
+ export declare class EventsService implements IEventsService {
5
+ protected _windowEvents: string[];
6
+ protected _allElements: string[];
7
+ protected _focusableEvents: string[];
8
+ protected _form: string[];
9
+ protected _mouseEvents: string[];
10
+ protected _pointerEvents: string[];
11
+ protected _touchEvents: string[];
12
+ protected _dragEvents: string[];
13
+ protected _clipboard: string[];
14
+ protected _details: string[];
15
+ isHandledElement(designItem: IDesignItem): boolean;
16
+ getPossibleEvents(designItem: IDesignItem): IEvent[];
17
+ }
@@ -0,0 +1,91 @@
1
+ export class EventsService {
2
+ _windowEvents = [
3
+ "afterprint",
4
+ "beforeprint",
5
+ "beforeunload",
6
+ "error",
7
+ "hashchange",
8
+ "load",
9
+ "message",
10
+ "offline",
11
+ "online",
12
+ "pageshow",
13
+ "popstate",
14
+ "resize",
15
+ "storage",
16
+ "unload"
17
+ ];
18
+ _allElements = [
19
+ "contextmenu",
20
+ ];
21
+ _focusableEvents = [
22
+ "blur",
23
+ "focus",
24
+ "keydown",
25
+ "keypress",
26
+ "keyup"
27
+ ];
28
+ _form = [
29
+ "change",
30
+ "input",
31
+ "invalid",
32
+ "reset",
33
+ "search",
34
+ "select",
35
+ "submit"
36
+ ];
37
+ _mouseEvents = [
38
+ "click",
39
+ "dblclick",
40
+ "mousedown",
41
+ "mouseup",
42
+ "mousemove",
43
+ "mouseover",
44
+ "mouseout",
45
+ "mousewheel",
46
+ "wheel"
47
+ ];
48
+ _pointerEvents = [
49
+ "pointerdown",
50
+ "pointerup",
51
+ "pointerenter",
52
+ "pointerleave",
53
+ "pointermove",
54
+ "pointerover",
55
+ "pointerout",
56
+ "pointercancel"
57
+ ];
58
+ _touchEvents = [
59
+ "touchstart",
60
+ "touchend",
61
+ "touchmove",
62
+ "touchcancel"
63
+ ];
64
+ _dragEvents = [
65
+ "drag",
66
+ "dragend",
67
+ "dragenter",
68
+ "dragleave",
69
+ "dragover",
70
+ "dragstart",
71
+ "drop",
72
+ "scroll"
73
+ ];
74
+ _clipboard = [
75
+ "copy",
76
+ "cut",
77
+ "paste"
78
+ ];
79
+ _details = [
80
+ "toggle"
81
+ ];
82
+ isHandledElement(designItem) {
83
+ return true;
84
+ }
85
+ getPossibleEvents(designItem) {
86
+ //Todo: create corret events list for all std. elements
87
+ let lst = [...this._mouseEvents, ...this._allElements, ...this._focusableEvents];
88
+ let events = lst.map(x => ({ name: x, propertyName: 'on' + x }));
89
+ return events;
90
+ }
91
+ }
@@ -0,0 +1,4 @@
1
+ export interface IEvent {
2
+ name: string;
3
+ propertyName: string;
4
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export interface IEventsService {
2
+ }
@@ -0,0 +1,6 @@
1
+ import { IDesignItem } from "../../item/IDesignItem.js";
2
+ import { IEvent } from "./IEvent.js";
3
+ export interface IEventsService {
4
+ isHandledElement(designItem: IDesignItem): boolean;
5
+ getPossibleEvents(designItem: IDesignItem): IEvent[];
6
+ }
package/dist/index.d.ts CHANGED
@@ -58,6 +58,9 @@ export type { IElementsService } from "./elements/services/elementsService/IElem
58
58
  export * from "./elements/services/elementsService/JsonFileElementsService.js";
59
59
  export * from "./elements/services/elementsService/PreDefinedElementsService.js";
60
60
  export * from "./elements/services/elementsService/WebcomponentManifestElementsService.js";
61
+ export type { IEvent } from "./elements/services/eventsService/IEvent.js";
62
+ export type { IEventsService } from "./elements/services/eventsService/IEventsService.js";
63
+ export * from "./elements/services/eventsService/EventsService.js";
61
64
  export type { IHtmlWriterService } from "./elements/services/htmlWriterService/IHtmlWriterService.js";
62
65
  export type { IHtmlWriterOptions } from "./elements/services/htmlWriterService/IHtmlWriterOptions.js";
63
66
  export * from "./elements/services/htmlWriterService/AbstractHtmlWriterService.js";
package/dist/index.js CHANGED
@@ -35,6 +35,7 @@ export * from "./elements/services/dragDropService/DragDropService.js";
35
35
  export * from "./elements/services/elementsService/JsonFileElementsService.js";
36
36
  export * from "./elements/services/elementsService/PreDefinedElementsService.js";
37
37
  export * from "./elements/services/elementsService/WebcomponentManifestElementsService.js";
38
+ export * from "./elements/services/eventsService/EventsService.js";
38
39
  export * from "./elements/services/htmlWriterService/AbstractHtmlWriterService.js";
39
40
  export * from "./elements/services/htmlWriterService/FormatingHtmlWriterService.js";
40
41
  export * from "./elements/services/htmlWriterService/HtmlWriterService.js";
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.255",
4
+ "version": "0.0.256",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "author": "",