orcasvn-react-diagrams 0.1.19 → 0.1.21

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 @@ interface PaperProps {
13
13
  elements: IElement[];
14
14
  links?: IElementLink[];
15
15
  texts: IPaperText[];
16
- onPaperClicked?: () => void;
16
+ onPaperClicked?: (position: IPosition) => void;
17
17
  onPortMoved?: (position: IPosition, port: IPort, element: IElement) => void;
18
18
  onPortSelected?: (port: IPort, element: IElement) => void;
19
19
  onElementContextMenu?: (element: IElement, mouseEvent: React.MouseEvent<SVGElement>) => void;
@@ -5,21 +5,20 @@ import IPort from "./IPort";
5
5
  import IText, { IPaperText } from "./IText";
6
6
  import IPosition from "./position";
7
7
  import ISize from "./size";
8
- export interface IEditorContext {
8
+ export default interface IEditorContext {
9
9
  elements: IElement[];
10
10
  links: IElementLink[];
11
11
  texts: IPaperText[];
12
- onPaperClicked?: () => void;
13
- onPortMoved?: (position: IPosition, port: IPort, element: IElement) => void;
14
- onPortSelected?: (port: IPort, element: IElement) => void;
15
- onElementContextMenu?: (element: IElement, mouseEvent: React.MouseEvent<SVGElement>) => void;
16
- onElementMoved?: (position: IPosition, element: IElement, index: number) => void;
17
- onElementResized?: (size: ISize, element: IElement, index: number) => void;
18
- onElementSelected?: (element: IElement) => void;
19
- onCreatingPortByLinking?: (sourceElement: IElement, sourcePort: IPort, targetElement: IElement, position: IPosition) => IPort | null;
20
- onCreatingLink?: (sourcePort: IPort, sourceElement: IElement, targetPort: IPort, targetElement: IElement) => IElementLink | null;
21
- onLinkSelected?: (link: IElementLink) => void;
22
- onTextSelected?: (text: IText) => void;
12
+ onPaperClicked?: (callback: (position: IPosition) => void) => (() => void);
13
+ onPortMoved?: (callback: (position: IPosition, port: IPort, element: IElement) => void) => (() => void);
14
+ onPortSelected?: (callback: (port: IPort, element: IElement) => void) => (() => void);
15
+ onElementContextMenu?: (callback: (element: IElement, mouseEvent: React.MouseEvent<SVGElement>) => void) => (() => void);
16
+ onElementMoved?: (callback: (position: IPosition, element: IElement) => void) => (() => void);
17
+ onElementResized?: (callback: (size: ISize, element: IElement) => void) => (() => void);
18
+ onElementSelected?: (callback: (element: IElement) => void) => (() => void);
19
+ onCreatingPortByLinkingHandler?: (sourceElement: IElement, sourcePort: IPort, targetElement: IElement, position: IPosition) => IPort | null;
20
+ onLinkSelected?: (callback: (link: IElementLink) => void) => (() => void);
21
+ onTextSelected?: (callback: (text: IText) => void) => (() => void);
23
22
  getElement(elementId: string): IElement | undefined;
24
23
  addElement(element: IElement): void;
25
24
  removeElement(elementId: string): void;
@@ -5,22 +5,14 @@ import IText, { IPaperText } from "../IText";
5
5
  import IPosition from "../position";
6
6
  import IPort from "../IPort";
7
7
  import ISize from "../size";
8
- import { IEditorContext } from "../IEditorContext";
8
+ import IEditorContext from "../IEditorContext";
9
9
  export declare class EditorContext implements IEditorContext {
10
10
  private _elements;
11
11
  private _links;
12
12
  private _texts;
13
- onPaperClicked?: () => void;
14
- onPortMoved?: (position: IPosition, port: IPort, element: IElement) => void;
15
- onPortSelected?: (port: IPort, element: IElement) => void;
16
- onElementContextMenu?: (element: IElement, mouseEvent: React.MouseEvent<SVGElement>) => void;
17
- onElementMoved?: (position: IPosition, element: IElement, index: number) => void;
18
- onElementResized?: (size: ISize, element: IElement, index: number) => void;
19
- onElementSelected?: (element: IElement) => void;
20
- onCreatingPortByLinking?: (sourceElement: IElement, sourcePort: IPort, targetElement: IElement, position: IPosition) => IPort | null;
21
- onCreatingLink?: (sourcePort: IPort, sourceElement: IElement, targetPort: IPort, targetElement: IElement) => IElementLink | null;
22
- onLinkSelected?: (link: IElementLink) => void;
23
- onTextSelected?: (text: IText) => void;
13
+ private _eventEmitter;
14
+ onCreatingPortByLinkingHandler?: ((sourceElement: IElement, sourcePort: IPort, targetElement: IElement, position: IPosition) => IPort | null) | undefined;
15
+ onCreatingLinkHandler?: ((sourcePort: IPort, sourceElement: IElement, targetPort: IPort, targetElement: IElement) => IElementLink | null) | undefined;
24
16
  constructor(elements: IElement[], links: IElementLink[], texts: IPaperText[]);
25
17
  get elements(): IElement[];
26
18
  get links(): IElementLink[];
@@ -34,6 +26,15 @@ export declare class EditorContext implements IEditorContext {
34
26
  getText(textId: string): IPaperText | undefined;
35
27
  addText(text: IPaperText): void;
36
28
  removeText(textId: string): void;
29
+ onPaperClicked(callback: (position: IPosition) => void): () => void;
30
+ onPortMoved(callback: (position: IPosition, port: IPort, element: IElement) => void): () => void;
31
+ onPortSelected(callback: (port: IPort, element: IElement) => void): () => void;
32
+ onElementContextMenu(callback: (element: IElement, mouseEvent: React.MouseEvent<SVGElement>) => void): () => void;
33
+ onElementMoved(callback: (position: IPosition, element: IElement) => void): () => void;
34
+ onElementResized(callback: (size: ISize, element: IElement) => void): () => void;
35
+ onElementSelected(callback: (element: IElement) => void): () => void;
36
+ onLinkSelected(callback: (link: IElementLink) => void): () => void;
37
+ onTextSelected(callback: (text: IText) => void): () => void;
37
38
  triggerRenderElement(elementId: string): void;
38
39
  triggerRenderPort(portId: string, elementId: string): void;
39
40
  }
@@ -10,9 +10,10 @@ import type IShape from "./IShape";
10
10
  import type ISize from "./size";
11
11
  import type IText from "./IText";
12
12
  import type ITextProps from "./ITextProps";
13
+ import type IEditorContext from "./IEditorContext";
13
14
  export * from './enums';
14
15
  export * from './implementations';
15
16
  export * from './callbackTypes';
16
17
  export * from './IText';
17
18
  export * from './IPortProps';
18
- export { IElement, IElementLink, IElementLinkProps, IElementProps, IPort, IPosition, IResizability, ISelectionFrameProps, IShape, ISize, IText, ITextProps };
19
+ export { IEditorContext, IElement, IElementLink, IElementLinkProps, IElementProps, IPort, IPosition, IResizability, ISelectionFrameProps, IShape, ISize, IText, ITextProps };
package/dist/index.d.ts CHANGED
@@ -278,6 +278,33 @@ interface ITextProps {
278
278
  onContentChanged?: (ev: React.ChangeEvent, newValue: string) => void;
279
279
  }
280
280
 
281
+ interface IEditorContext {
282
+ elements: IElement[];
283
+ links: IElementLink[];
284
+ texts: IPaperText[];
285
+ onPaperClicked?: (callback: (position: IPosition) => void) => (() => void);
286
+ onPortMoved?: (callback: (position: IPosition, port: IPort, element: IElement) => void) => (() => void);
287
+ onPortSelected?: (callback: (port: IPort, element: IElement) => void) => (() => void);
288
+ onElementContextMenu?: (callback: (element: IElement, mouseEvent: React.MouseEvent<SVGElement>) => void) => (() => void);
289
+ onElementMoved?: (callback: (position: IPosition, element: IElement) => void) => (() => void);
290
+ onElementResized?: (callback: (size: ISize, element: IElement) => void) => (() => void);
291
+ onElementSelected?: (callback: (element: IElement) => void) => (() => void);
292
+ onCreatingPortByLinkingHandler?: (sourceElement: IElement, sourcePort: IPort, targetElement: IElement, position: IPosition) => IPort | null;
293
+ onLinkSelected?: (callback: (link: IElementLink) => void) => (() => void);
294
+ onTextSelected?: (callback: (text: IText) => void) => (() => void);
295
+ getElement(elementId: string): IElement | undefined;
296
+ addElement(element: IElement): void;
297
+ removeElement(elementId: string): void;
298
+ getLink(linkId: string): IElementLink | undefined;
299
+ addLink(link: IElementLink): void;
300
+ removeLink(linkId: string): void;
301
+ getText(textId: string): IPaperText | undefined;
302
+ addText(text: IPaperText): void;
303
+ removeText(textId: string): void;
304
+ triggerRenderElement(elementId: string): void;
305
+ triggerRenderPort(portId: string, elementId: string): void;
306
+ }
307
+
281
308
  declare enum ResizingDirection {
282
309
  TopLeft = 0,
283
310
  TopCenter = 1,
@@ -377,49 +404,13 @@ declare class Text implements IText {
377
404
  get id(): string;
378
405
  }
379
406
 
380
- interface IEditorContext {
381
- elements: IElement[];
382
- links: IElementLink[];
383
- texts: IPaperText[];
384
- onPaperClicked?: () => void;
385
- onPortMoved?: (position: IPosition, port: IPort, element: IElement) => void;
386
- onPortSelected?: (port: IPort, element: IElement) => void;
387
- onElementContextMenu?: (element: IElement, mouseEvent: React.MouseEvent<SVGElement>) => void;
388
- onElementMoved?: (position: IPosition, element: IElement, index: number) => void;
389
- onElementResized?: (size: ISize, element: IElement, index: number) => void;
390
- onElementSelected?: (element: IElement) => void;
391
- onCreatingPortByLinking?: (sourceElement: IElement, sourcePort: IPort, targetElement: IElement, position: IPosition) => IPort | null;
392
- onCreatingLink?: (sourcePort: IPort, sourceElement: IElement, targetPort: IPort, targetElement: IElement) => IElementLink | null;
393
- onLinkSelected?: (link: IElementLink) => void;
394
- onTextSelected?: (text: IText) => void;
395
- getElement(elementId: string): IElement | undefined;
396
- addElement(element: IElement): void;
397
- removeElement(elementId: string): void;
398
- getLink(linkId: string): IElementLink | undefined;
399
- addLink(link: IElementLink): void;
400
- removeLink(linkId: string): void;
401
- getText(textId: string): IPaperText | undefined;
402
- addText(text: IPaperText): void;
403
- removeText(textId: string): void;
404
- triggerRenderElement(elementId: string): void;
405
- triggerRenderPort(portId: string, elementId: string): void;
406
- }
407
-
408
407
  declare class EditorContext implements IEditorContext {
409
408
  private _elements;
410
409
  private _links;
411
410
  private _texts;
412
- onPaperClicked?: () => void;
413
- onPortMoved?: (position: IPosition, port: IPort, element: IElement) => void;
414
- onPortSelected?: (port: IPort, element: IElement) => void;
415
- onElementContextMenu?: (element: IElement, mouseEvent: React.MouseEvent<SVGElement>) => void;
416
- onElementMoved?: (position: IPosition, element: IElement, index: number) => void;
417
- onElementResized?: (size: ISize, element: IElement, index: number) => void;
418
- onElementSelected?: (element: IElement) => void;
419
- onCreatingPortByLinking?: (sourceElement: IElement, sourcePort: IPort, targetElement: IElement, position: IPosition) => IPort | null;
420
- onCreatingLink?: (sourcePort: IPort, sourceElement: IElement, targetPort: IPort, targetElement: IElement) => IElementLink | null;
421
- onLinkSelected?: (link: IElementLink) => void;
422
- onTextSelected?: (text: IText) => void;
411
+ private _eventEmitter;
412
+ onCreatingPortByLinkingHandler?: ((sourceElement: IElement, sourcePort: IPort, targetElement: IElement, position: IPosition) => IPort | null) | undefined;
413
+ onCreatingLinkHandler?: ((sourcePort: IPort, sourceElement: IElement, targetPort: IPort, targetElement: IElement) => IElementLink | null) | undefined;
423
414
  constructor(elements: IElement[], links: IElementLink[], texts: IPaperText[]);
424
415
  get elements(): IElement[];
425
416
  get links(): IElementLink[];
@@ -433,6 +424,15 @@ declare class EditorContext implements IEditorContext {
433
424
  getText(textId: string): IPaperText | undefined;
434
425
  addText(text: IPaperText): void;
435
426
  removeText(textId: string): void;
427
+ onPaperClicked(callback: (position: IPosition) => void): () => void;
428
+ onPortMoved(callback: (position: IPosition, port: IPort, element: IElement) => void): () => void;
429
+ onPortSelected(callback: (port: IPort, element: IElement) => void): () => void;
430
+ onElementContextMenu(callback: (element: IElement, mouseEvent: React.MouseEvent<SVGElement>) => void): () => void;
431
+ onElementMoved(callback: (position: IPosition, element: IElement) => void): () => void;
432
+ onElementResized(callback: (size: ISize, element: IElement) => void): () => void;
433
+ onElementSelected(callback: (element: IElement) => void): () => void;
434
+ onLinkSelected(callback: (link: IElementLink) => void): () => void;
435
+ onTextSelected(callback: (text: IText) => void): () => void;
436
436
  triggerRenderElement(elementId: string): void;
437
437
  triggerRenderPort(portId: string, elementId: string): void;
438
438
  }
@@ -489,4 +489,4 @@ interface IEditorProps {
489
489
  }
490
490
  declare function Editor({ editorContext }: IEditorProps): React$1.JSX.Element;
491
491
 
492
- export { Circle as CircleRC, Crescent as CrescentRC, CustomShape as CustomShapeRC, EditorContext, Element$1 as Element, ElementLink, _default$1 as ElementLinkRC, type IElement, type IElementLink, type IElementLinkProps, type IElementProps, type IPaperText, type IPort, type IPortProps, type IPosition, type IResizability, type ISelectionFrameProps, type IShape, type ISize, type IText, type ITextProps, type OnElementLinkEnded, type OnElementLinkStarted, type OnElementSelected, type OnPortSelected, type OnTextSelected, Port$1 as Port, Port as PortRC, PositioningAnchor, Rectangle as RectangleRC, RectangularFrame as RectangularFrameRC, ResizingDirection, ShapeWrapper as ShapeWrapperRC, SubObjectDirection, Text, TextAlign, _default as TextRC, Editor as default, type onCommandDeleteSelectedHandler, type onElementMovedHandler, type onElementResizedHandler, type onPortMouseDownHandler, type onPortMouseUpHandler, type onPortMovedHandler };
492
+ export { Circle as CircleRC, Crescent as CrescentRC, CustomShape as CustomShapeRC, EditorContext, Element$1 as Element, ElementLink, _default$1 as ElementLinkRC, type IEditorContext, type IElement, type IElementLink, type IElementLinkProps, type IElementProps, type IPaperText, type IPort, type IPortProps, type IPosition, type IResizability, type ISelectionFrameProps, type IShape, type ISize, type IText, type ITextProps, type OnElementLinkEnded, type OnElementLinkStarted, type OnElementSelected, type OnPortSelected, type OnTextSelected, Port$1 as Port, Port as PortRC, PositioningAnchor, Rectangle as RectangleRC, RectangularFrame as RectangularFrameRC, ResizingDirection, ShapeWrapper as ShapeWrapperRC, SubObjectDirection, Text, TextAlign, _default as TextRC, Editor as default, type onCommandDeleteSelectedHandler, type onElementMovedHandler, type onElementResizedHandler, type onPortMouseDownHandler, type onPortMouseUpHandler, type onPortMovedHandler };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orcasvn-react-diagrams",
3
- "version": "0.1.19",
3
+ "version": "0.1.21",
4
4
  "dependencies": {
5
5
  "@types/jest": "^27.5.2",
6
6
  "@types/node": "^16.18.101",