@focus.matters/diagrams 0.0.7
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.
- package/dist/Diagrams/DiagramEditor.d.ts +11 -0
- package/dist/Diagrams/components/Canvas.d.ts +6 -0
- package/dist/Diagrams/components/extra/AlignmentSuggestions.d.ts +3 -0
- package/dist/Diagrams/components/extra/GatewayRender.d.ts +5 -0
- package/dist/Diagrams/components/extra/Measurement.d.ts +3 -0
- package/dist/Diagrams/components/extra/MouseTracker.d.ts +3 -0
- package/dist/Diagrams/components/extra/NodesConnectorRenderer.d.ts +3 -0
- package/dist/Diagrams/components/extra/PathFindingRenderer.d.ts +3 -0
- package/dist/Diagrams/components/extra/Selection.d.ts +3 -0
- package/dist/Diagrams/components/extra/Stats.d.ts +3 -0
- package/dist/Diagrams/components/extra/Svg.d.ts +2 -0
- package/dist/Diagrams/components/extra/Theme.d.ts +8 -0
- package/dist/Diagrams/components/extra/ToolsState.d.ts +5 -0
- package/dist/Diagrams/components/nodes/NodeTools.d.ts +4 -0
- package/dist/Diagrams/components/objects/Cross.d.ts +9 -0
- package/dist/Diagrams/components/objects/CustomRenderers.d.ts +6 -0
- package/dist/Diagrams/components/objects/Grid.d.ts +1 -0
- package/dist/Diagrams/components/objects/RenderEdge/EdgeMarker.d.ts +12 -0
- package/dist/Diagrams/components/objects/RenderEdge/EdgeMidpoints.d.ts +11 -0
- package/dist/Diagrams/components/objects/RenderEdge/debugEdges.d.ts +14 -0
- package/dist/Diagrams/components/objects/RenderEdge/index.d.ts +4 -0
- package/dist/Diagrams/components/objects/RenderEdge/types.d.ts +29 -0
- package/dist/Diagrams/components/objects/RenderEdge/util.d.ts +6 -0
- package/dist/Diagrams/components/objects/Shape.d.ts +49 -0
- package/dist/Diagrams/components/objects/Shapes.d.ts +1 -0
- package/dist/Diagrams/components/objects/customRendererProps.d.ts +7 -0
- package/dist/Diagrams/components/objects/makeScalableComponent.d.ts +2 -0
- package/dist/Diagrams/context-menu/ContextMenu.d.ts +22 -0
- package/dist/Diagrams/context-menu/buildDiagramContextMenu.d.ts +6 -0
- package/dist/Diagrams/context-menu/index.d.ts +3 -0
- package/dist/Diagrams/context-menu/types.d.ts +12 -0
- package/dist/Diagrams/custom/agent/AgentDiagram.d.ts +5 -0
- package/dist/Diagrams/custom/agent/edges/AgentEdge.d.ts +32 -0
- package/dist/Diagrams/custom/agent/index.d.ts +2 -0
- package/dist/Diagrams/custom/agent/nodes/ActionNode.d.ts +14 -0
- package/dist/Diagrams/custom/agent/nodes/AgentNode.d.ts +58 -0
- package/dist/Diagrams/custom/agent/nodes/ConditionNode.d.ts +14 -0
- package/dist/Diagrams/custom/agent/nodes/OutcomeNode.d.ts +14 -0
- package/dist/Diagrams/custom/agent/nodes/TriggerNode.d.ts +14 -0
- package/dist/Diagrams/custom/agent/types.d.ts +54 -0
- package/dist/Diagrams/custom/bpmn/BPMDiagram.d.ts +5 -0
- package/dist/Diagrams/custom/bpmn/bpmnEvents.d.ts +3 -0
- package/dist/Diagrams/custom/bpmn/edges/EdgeWithLoad.d.ts +4 -0
- package/dist/Diagrams/custom/bpmn/nodes/BPMNNodeContext.d.ts +3 -0
- package/dist/Diagrams/custom/bpmn/nodes/BPMNode.d.ts +6 -0
- package/dist/Diagrams/custom/bpmn/nodes/EventNode.d.ts +58 -0
- package/dist/Diagrams/custom/bpmn/nodes/GateNode.d.ts +58 -0
- package/dist/Diagrams/custom/bpmn/nodes/Lanes/LanesResizer.d.ts +6 -0
- package/dist/Diagrams/custom/bpmn/nodes/Lanes/index.d.ts +66 -0
- package/dist/Diagrams/custom/bpmn/nodes/TaskNode.d.ts +9 -0
- package/dist/Diagrams/custom/bpmn/nodes/UnknownBPMNNode.d.ts +51 -0
- package/dist/Diagrams/custom/communication/CommunicationDiagram.d.ts +15 -0
- package/dist/Diagrams/custom/communication/CommunicationNode.d.ts +12 -0
- package/dist/Diagrams/custom/communication/edges/CommunicationEdge.d.ts +35 -0
- package/dist/Diagrams/custom/communication/nodes/CommunicationActorNode.d.ts +10 -0
- package/dist/Diagrams/custom/communication/nodes/CommunicationControllerNode.d.ts +10 -0
- package/dist/Diagrams/custom/communication/nodes/CommunicationObjectNode.d.ts +10 -0
- package/dist/Diagrams/custom/communication/types.d.ts +1 -0
- package/dist/Diagrams/custom/editable/EditableDiagram.d.ts +4 -0
- package/dist/Diagrams/custom/editable/EditableLabel.d.ts +3 -0
- package/dist/Diagrams/custom/editable/EditableNode.d.ts +15 -0
- package/dist/Diagrams/custom/editable/EditableNodeContext.d.ts +3 -0
- package/dist/Diagrams/custom/editable/EditionMode.d.ts +10 -0
- package/dist/Diagrams/custom/editable/events.d.ts +9 -0
- package/dist/Diagrams/layout/HStack.d.ts +4 -0
- package/dist/Diagrams/store/Canvas.d.ts +69 -0
- package/dist/Diagrams/store/Diagram.d.ts +134 -0
- package/dist/Diagrams/store/elements/Edge.d.ts +42 -0
- package/dist/Diagrams/store/elements/EdgePoint.d.ts +19 -0
- package/dist/Diagrams/store/elements/Element.d.ts +19 -0
- package/dist/Diagrams/store/elements/Events.d.ts +244 -0
- package/dist/Diagrams/store/elements/EventsMouseInformation.d.ts +10 -0
- package/dist/Diagrams/store/elements/Gateway.d.ts +57 -0
- package/dist/Diagrams/store/elements/Node.d.ts +73 -0
- package/dist/Diagrams/store/elements/TextNode.d.ts +4 -0
- package/dist/Diagrams/store/extensions/Creator.d.ts +9 -0
- package/dist/Diagrams/store/extensions/Debugger.d.ts +6 -0
- package/dist/Diagrams/store/extensions/DiagramExtension.d.ts +13 -0
- package/dist/Diagrams/store/extensions/DistancesBalancer.d.ts +13 -0
- package/dist/Diagrams/store/extensions/Dragger.d.ts +46 -0
- package/dist/Diagrams/store/extensions/EdgesDragger.d.ts +101 -0
- package/dist/Diagrams/store/extensions/GridSnap.d.ts +5 -0
- package/dist/Diagrams/store/extensions/History.d.ts +15 -0
- package/dist/Diagrams/store/extensions/Hotkeys.d.ts +22 -0
- package/dist/Diagrams/store/extensions/Measurer.d.ts +17 -0
- package/dist/Diagrams/store/extensions/NodesAligner.d.ts +19 -0
- package/dist/Diagrams/store/extensions/NodesConnector.d.ts +27 -0
- package/dist/Diagrams/store/extensions/NodesResizer.d.ts +4 -0
- package/dist/Diagrams/store/extensions/PathFindingRenderer.d.ts +9 -0
- package/dist/Diagrams/store/extensions/Priorities.d.ts +26 -0
- package/dist/Diagrams/store/extensions/Rules.d.ts +11 -0
- package/dist/Diagrams/store/extensions/Selector.d.ts +50 -0
- package/dist/Diagrams/store/extensions/StraightDrag.d.ts +8 -0
- package/dist/Diagrams/store/primitives/Coordinates.d.ts +45 -0
- package/dist/Diagrams/store/primitives/Dimensions.d.ts +58 -0
- package/dist/Diagrams/store/primitives/DirectedPoint.d.ts +12 -0
- package/dist/Diagrams/store/types.d.ts +61 -0
- package/dist/Diagrams/util/ClassList.d.ts +8 -0
- package/dist/Diagrams/util/Mouse.d.ts +9 -0
- package/dist/Diagrams/util/Mutex.d.ts +5 -0
- package/dist/Diagrams/util/PriorityQueue.d.ts +19 -0
- package/dist/Diagrams/util/Semaphore.d.ts +37 -0
- package/dist/Diagrams/util/TasksQueue.d.ts +7 -0
- package/dist/Diagrams/util/arrayOrArray.d.ts +1 -0
- package/dist/Diagrams/util/awaitTime.d.ts +1 -0
- package/dist/Diagrams/util/binders.d.ts +17 -0
- package/dist/Diagrams/util/bpmn/applyBPMNImportPlan.d.ts +3 -0
- package/dist/Diagrams/util/bpmn/buildBPMNImportPlan.d.ts +3 -0
- package/dist/Diagrams/util/bpmn/importBPMNXmlIntoDiagram.d.ts +6 -0
- package/dist/Diagrams/util/bpmn/index.d.ts +5 -0
- package/dist/Diagrams/util/bpmn/parseBPMNXml.d.ts +2 -0
- package/dist/Diagrams/util/bpmn/types.d.ts +103 -0
- package/dist/Diagrams/util/cloneDeep.d.ts +1 -0
- package/dist/Diagrams/util/downloadFile.d.ts +1 -0
- package/dist/Diagrams/util/getEnumStr.d.ts +3 -0
- package/dist/Diagrams/util/getIdForNode.d.ts +2 -0
- package/dist/Diagrams/util/getUniqueId.d.ts +1 -0
- package/dist/Diagrams/util/insertSorted.d.ts +1 -0
- package/dist/Diagrams/util/paths/PathsGrid.d.ts +43 -0
- package/dist/Diagrams/util/paths/findBestPathBetweenNodes.d.ts +8 -0
- package/dist/Diagrams/util/paths/orthogonalRouter.d.ts +7 -0
- package/dist/Diagrams/util/paths/stepBackFromGateway.d.ts +5 -0
- package/dist/Diagrams/util/readFile.d.ts +8 -0
- package/dist/Diagrams/util/shapes.d.ts +13 -0
- package/dist/Diagrams/util/throttle.d.ts +1 -0
- package/dist/DirectedPoint-HRgiLZeU.js +53 -0
- package/dist/DirectedPoint-HRgiLZeU.js.map +1 -0
- package/dist/diagrams.css +1 -0
- package/dist/index-DZNvKq1b.js +6657 -0
- package/dist/index-DZNvKq1b.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.es.js +10 -0
- package/dist/index.es.js.map +1 -0
- package/dist/index.umd.js +6 -0
- package/dist/index.umd.js.map +1 -0
- package/package.json +45 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Element } from '../../../store/elements/Element';
|
|
2
|
+
import { TNodeConstructorProps } from '../../../store/elements/Node';
|
|
3
|
+
import { BPMNode } from './BPMNode';
|
|
4
|
+
export declare enum GateTypes {
|
|
5
|
+
inclusive = 0,
|
|
6
|
+
exclusive = 1,
|
|
7
|
+
parallel = 2,
|
|
8
|
+
eventBased = 3
|
|
9
|
+
}
|
|
10
|
+
export declare class GateNode extends BPMNode {
|
|
11
|
+
type: GateTypes;
|
|
12
|
+
constructor(parent: Element | null, state: TNodeConstructorProps & {
|
|
13
|
+
type?: GateTypes;
|
|
14
|
+
});
|
|
15
|
+
setType(type: GateTypes): void;
|
|
16
|
+
serialize(): {
|
|
17
|
+
type: GateTypes;
|
|
18
|
+
box: [number, number, number, number];
|
|
19
|
+
id: string;
|
|
20
|
+
label: string;
|
|
21
|
+
movable: boolean | undefined;
|
|
22
|
+
selectable: boolean | undefined;
|
|
23
|
+
selected: boolean | undefined;
|
|
24
|
+
gateways: {
|
|
25
|
+
coordinates: [number, number];
|
|
26
|
+
fill: string | undefined;
|
|
27
|
+
id: string;
|
|
28
|
+
orientation: import('../../../store/types').TOrientation;
|
|
29
|
+
radius: number;
|
|
30
|
+
stroke: string | undefined;
|
|
31
|
+
strokeWidth: number;
|
|
32
|
+
outEdges: {
|
|
33
|
+
arrowHeadEnd: import('../../../store/types').EdgeArrowHead | undefined;
|
|
34
|
+
arrowHeadStart: import('../../../store/types').EdgeArrowHead | undefined;
|
|
35
|
+
displacementEnd: [number, number] | undefined;
|
|
36
|
+
displacementStart: [number, number] | undefined;
|
|
37
|
+
lineStyle: import('../../../store/types').EdgeLineStyle | undefined;
|
|
38
|
+
pathType: import('../../../store/types').EdgePathType | undefined;
|
|
39
|
+
steps: import('../../../store/elements/EdgePoint').TSerializedEdgePoint[];
|
|
40
|
+
stroke: string | undefined;
|
|
41
|
+
strokeWidth: number | undefined;
|
|
42
|
+
to: string;
|
|
43
|
+
toParentId: string;
|
|
44
|
+
class: string;
|
|
45
|
+
}[];
|
|
46
|
+
class: string;
|
|
47
|
+
}[];
|
|
48
|
+
fill: string | undefined;
|
|
49
|
+
labelFontSize: number | undefined;
|
|
50
|
+
stroke: string | undefined;
|
|
51
|
+
strokewWidth: number | undefined;
|
|
52
|
+
class: string;
|
|
53
|
+
};
|
|
54
|
+
deserialize(o: ReturnType<this['serialize']>): void;
|
|
55
|
+
protected Render: (() => import("react").JSX.Element) & {
|
|
56
|
+
displayName: string;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { BPMNode } from '../BPMNode';
|
|
3
|
+
import { Element } from '../../../../store/elements/Element';
|
|
4
|
+
import { Dimensions } from '../../../../store/primitives/Dimensions';
|
|
5
|
+
export type TPool = {
|
|
6
|
+
name: string;
|
|
7
|
+
label: string;
|
|
8
|
+
};
|
|
9
|
+
export declare class Lanes extends BPMNode {
|
|
10
|
+
static readonly laneHeaderWidth = 50;
|
|
11
|
+
static readonly laneHeight = 250;
|
|
12
|
+
static readonly lanePadding = 25;
|
|
13
|
+
static readonly laneHeaderFontSize = 14;
|
|
14
|
+
constructor(parent: Element | null, state: {
|
|
15
|
+
id: string;
|
|
16
|
+
});
|
|
17
|
+
get box(): Dimensions;
|
|
18
|
+
addPool(): TPool;
|
|
19
|
+
protected editionIndex: number;
|
|
20
|
+
protected previousPools: TPool[];
|
|
21
|
+
cancel(): void;
|
|
22
|
+
confirm(): boolean;
|
|
23
|
+
edit(): void;
|
|
24
|
+
resetPools(): void;
|
|
25
|
+
deserialize(o: ReturnType<this['serialize']>): void;
|
|
26
|
+
serialize(): {
|
|
27
|
+
pools: TPool[];
|
|
28
|
+
box: [number, number, number, number];
|
|
29
|
+
id: string;
|
|
30
|
+
label: string;
|
|
31
|
+
movable: boolean | undefined;
|
|
32
|
+
selectable: boolean | undefined;
|
|
33
|
+
selected: boolean | undefined;
|
|
34
|
+
gateways: {
|
|
35
|
+
coordinates: [number, number];
|
|
36
|
+
fill: string | undefined;
|
|
37
|
+
id: string;
|
|
38
|
+
orientation: import('../../../../store/types').TOrientation;
|
|
39
|
+
radius: number;
|
|
40
|
+
stroke: string | undefined;
|
|
41
|
+
strokeWidth: number;
|
|
42
|
+
outEdges: {
|
|
43
|
+
arrowHeadEnd: import('../../../../store/types').EdgeArrowHead | undefined;
|
|
44
|
+
arrowHeadStart: import('../../../../store/types').EdgeArrowHead | undefined;
|
|
45
|
+
displacementEnd: [number, number] | undefined;
|
|
46
|
+
displacementStart: [number, number] | undefined;
|
|
47
|
+
lineStyle: import('../../../../store/types').EdgeLineStyle | undefined;
|
|
48
|
+
pathType: import('../../../../store/types').EdgePathType | undefined;
|
|
49
|
+
steps: import('../../../../store/elements/EdgePoint').TSerializedEdgePoint[];
|
|
50
|
+
stroke: string | undefined;
|
|
51
|
+
strokeWidth: number | undefined;
|
|
52
|
+
to: string;
|
|
53
|
+
toParentId: string;
|
|
54
|
+
class: string;
|
|
55
|
+
}[];
|
|
56
|
+
class: string;
|
|
57
|
+
}[];
|
|
58
|
+
fill: string | undefined;
|
|
59
|
+
labelFontSize: number | undefined;
|
|
60
|
+
stroke: string | undefined;
|
|
61
|
+
strokewWidth: number | undefined;
|
|
62
|
+
class: string;
|
|
63
|
+
};
|
|
64
|
+
pools: TPool[];
|
|
65
|
+
Render: FC;
|
|
66
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BPMNode } from './BPMNode';
|
|
2
|
+
import { Element } from '../../../store/elements/Element';
|
|
3
|
+
import { TNodeConstructorProps } from '../../../store/elements/Node';
|
|
4
|
+
export declare class TaskNode extends BPMNode {
|
|
5
|
+
constructor(parent: Element | null, state: TNodeConstructorProps);
|
|
6
|
+
protected Render: (() => import("react").JSX.Element) & {
|
|
7
|
+
displayName: string;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Element } from '../../../store/elements/Element';
|
|
2
|
+
import { TNodeConstructorProps } from '../../../store/elements/Node';
|
|
3
|
+
import { BPMNode } from './BPMNode';
|
|
4
|
+
export declare class UnknownBPMNNode extends BPMNode {
|
|
5
|
+
sourceType: string;
|
|
6
|
+
constructor(parent: Element | null, state: TNodeConstructorProps & {
|
|
7
|
+
sourceType?: string;
|
|
8
|
+
});
|
|
9
|
+
serialize(): {
|
|
10
|
+
sourceType: string;
|
|
11
|
+
box: [number, number, number, number];
|
|
12
|
+
id: string;
|
|
13
|
+
label: string;
|
|
14
|
+
movable: boolean | undefined;
|
|
15
|
+
selectable: boolean | undefined;
|
|
16
|
+
selected: boolean | undefined;
|
|
17
|
+
gateways: {
|
|
18
|
+
coordinates: [number, number];
|
|
19
|
+
fill: string | undefined;
|
|
20
|
+
id: string;
|
|
21
|
+
orientation: import('../../../store/types').TOrientation;
|
|
22
|
+
radius: number;
|
|
23
|
+
stroke: string | undefined;
|
|
24
|
+
strokeWidth: number;
|
|
25
|
+
outEdges: {
|
|
26
|
+
arrowHeadEnd: import('../../../store/types').EdgeArrowHead | undefined;
|
|
27
|
+
arrowHeadStart: import('../../../store/types').EdgeArrowHead | undefined;
|
|
28
|
+
displacementEnd: [number, number] | undefined;
|
|
29
|
+
displacementStart: [number, number] | undefined;
|
|
30
|
+
lineStyle: import('../../../store/types').EdgeLineStyle | undefined;
|
|
31
|
+
pathType: import('../../../store/types').EdgePathType | undefined;
|
|
32
|
+
steps: import('../../../store/elements/EdgePoint').TSerializedEdgePoint[];
|
|
33
|
+
stroke: string | undefined;
|
|
34
|
+
strokeWidth: number | undefined;
|
|
35
|
+
to: string;
|
|
36
|
+
toParentId: string;
|
|
37
|
+
class: string;
|
|
38
|
+
}[];
|
|
39
|
+
class: string;
|
|
40
|
+
}[];
|
|
41
|
+
fill: string | undefined;
|
|
42
|
+
labelFontSize: number | undefined;
|
|
43
|
+
stroke: string | undefined;
|
|
44
|
+
strokewWidth: number | undefined;
|
|
45
|
+
class: string;
|
|
46
|
+
};
|
|
47
|
+
deserialize(o: ReturnType<this['serialize']>): void;
|
|
48
|
+
protected Render: (() => import("react").JSX.Element) & {
|
|
49
|
+
displayName: string;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TDiagramSettings } from '../../store/Diagram';
|
|
2
|
+
import { EditableDiagram } from '../editable/EditableDiagram';
|
|
3
|
+
import { CommunicationActorNode } from './nodes/CommunicationActorNode';
|
|
4
|
+
import { CommunicationObjectNode } from './nodes/CommunicationObjectNode';
|
|
5
|
+
import { CommunicationControllerNode } from './nodes/CommunicationControllerNode';
|
|
6
|
+
import { CommunicationNodeType } from './types';
|
|
7
|
+
export declare class CommunicationDiagram extends EditableDiagram {
|
|
8
|
+
constructor(settings?: TDiagramSettings);
|
|
9
|
+
get selectedNodes(): import('../../store/elements/Node').Node<import('../../store/types').TOrientation>[];
|
|
10
|
+
get selectedEdges(): import('../../store/elements/Edge').Edge[];
|
|
11
|
+
createNodeFromClientPoint(type: CommunicationNodeType, clientX: number, clientY: number): CommunicationActorNode | CommunicationObjectNode | CommunicationControllerNode;
|
|
12
|
+
createNodeAtCanvasPoint(type: CommunicationNodeType, x: number, y: number): CommunicationActorNode | CommunicationObjectNode | CommunicationControllerNode;
|
|
13
|
+
createNodeInViewportCenter(type: CommunicationNodeType): CommunicationActorNode | CommunicationObjectNode | CommunicationControllerNode;
|
|
14
|
+
private instantiateNode;
|
|
15
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EditableNode } from '../editable/EditableNode';
|
|
2
|
+
import { Element } from '../../store/elements/Element';
|
|
3
|
+
import { TNodeConstructorProps } from '../../store/elements/Node';
|
|
4
|
+
import { Dimensions } from '../../store/primitives/Dimensions';
|
|
5
|
+
export declare abstract class CommunicationNode extends EditableNode {
|
|
6
|
+
abstract readonly communicationNodeType: string;
|
|
7
|
+
constructor(parent: Element | null, state: TNodeConstructorProps & {
|
|
8
|
+
box?: Dimensions;
|
|
9
|
+
fill?: string;
|
|
10
|
+
stroke?: string;
|
|
11
|
+
});
|
|
12
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Edge } from '../../../store/elements/Edge';
|
|
2
|
+
import { Element } from '../../../store/elements/Element';
|
|
3
|
+
import { TEdgeState } from '../../../store/types';
|
|
4
|
+
type CommunicationEdgeState = Partial<TEdgeState>;
|
|
5
|
+
type SerializedCommunicationEdge = ReturnType<Edge['serialize']> & {
|
|
6
|
+
label?: string;
|
|
7
|
+
labelPositioning?: [number, number];
|
|
8
|
+
};
|
|
9
|
+
export declare class CommunicationEdge extends Edge {
|
|
10
|
+
isEditingLabel: boolean;
|
|
11
|
+
labelDraft: string;
|
|
12
|
+
constructor(parent: Element | null, state: CommunicationEdgeState);
|
|
13
|
+
setLabel(label: string): void;
|
|
14
|
+
beginLabelEdit(): void;
|
|
15
|
+
cancelLabelEdit(): void;
|
|
16
|
+
confirmLabelEdit(): void;
|
|
17
|
+
serialize(): {
|
|
18
|
+
label: string;
|
|
19
|
+
labelPositioning: [number, number];
|
|
20
|
+
arrowHeadEnd: import('../../../store/types').EdgeArrowHead | undefined;
|
|
21
|
+
arrowHeadStart: import('../../../store/types').EdgeArrowHead | undefined;
|
|
22
|
+
displacementEnd: [number, number] | undefined;
|
|
23
|
+
displacementStart: [number, number] | undefined;
|
|
24
|
+
lineStyle: import('../../../store/types').EdgeLineStyle | undefined;
|
|
25
|
+
pathType: import('../../../store/types').EdgePathType | undefined;
|
|
26
|
+
steps: import('../../../store/elements/EdgePoint').TSerializedEdgePoint[];
|
|
27
|
+
stroke: string | undefined;
|
|
28
|
+
strokeWidth: number | undefined;
|
|
29
|
+
to: string;
|
|
30
|
+
toParentId: string;
|
|
31
|
+
class: string;
|
|
32
|
+
};
|
|
33
|
+
deserialize(o: SerializedCommunicationEdge): void;
|
|
34
|
+
}
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Element } from '../../../store/elements/Element';
|
|
2
|
+
import { TNodeConstructorProps } from '../../../store/elements/Node';
|
|
3
|
+
import { CommunicationNode } from '../CommunicationNode';
|
|
4
|
+
export declare class CommunicationActorNode extends CommunicationNode {
|
|
5
|
+
readonly communicationNodeType: "actor";
|
|
6
|
+
constructor(parent: Element | null, state: TNodeConstructorProps);
|
|
7
|
+
protected Render: (() => import("react").JSX.Element) & {
|
|
8
|
+
displayName: string;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Element } from '../../../store/elements/Element';
|
|
2
|
+
import { TNodeConstructorProps } from '../../../store/elements/Node';
|
|
3
|
+
import { CommunicationNode } from '../CommunicationNode';
|
|
4
|
+
export declare class CommunicationControllerNode extends CommunicationNode {
|
|
5
|
+
readonly communicationNodeType: "controller";
|
|
6
|
+
constructor(parent: Element | null, state: TNodeConstructorProps);
|
|
7
|
+
protected Render: (() => import("react").JSX.Element) & {
|
|
8
|
+
displayName: string;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Element } from '../../../store/elements/Element';
|
|
2
|
+
import { TNodeConstructorProps } from '../../../store/elements/Node';
|
|
3
|
+
import { CommunicationNode } from '../CommunicationNode';
|
|
4
|
+
export declare class CommunicationObjectNode extends CommunicationNode {
|
|
5
|
+
readonly communicationNodeType: "object";
|
|
6
|
+
constructor(parent: Element | null, state: TNodeConstructorProps);
|
|
7
|
+
protected Render: (() => import("react").JSX.Element) & {
|
|
8
|
+
displayName: string;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type CommunicationNodeType = 'actor' | 'object' | 'controller';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Node, TNodeConstructorProps } from '../../store/elements/Node';
|
|
2
|
+
import { Element } from '../../store/elements/Element';
|
|
3
|
+
import { FC } from 'react';
|
|
4
|
+
export declare abstract class EditableNode extends Node {
|
|
5
|
+
editionMode: boolean;
|
|
6
|
+
constructor(parent: Element | null, state: TNodeConstructorProps);
|
|
7
|
+
get label(): string;
|
|
8
|
+
private previous;
|
|
9
|
+
edit(): void;
|
|
10
|
+
cancel(): void;
|
|
11
|
+
confirm(): boolean;
|
|
12
|
+
get isChanged(): boolean;
|
|
13
|
+
protected abstract Render: FC;
|
|
14
|
+
Renderer: () => import("react").JSX.Element;
|
|
15
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DiagramExtension } from '../../store/extensions/DiagramExtension';
|
|
2
|
+
import { EditableNode } from './EditableNode';
|
|
3
|
+
export declare function allowEventInEdition(ev: KeyboardEvent): boolean;
|
|
4
|
+
export declare class EditionMode extends DiagramExtension {
|
|
5
|
+
private inEdition;
|
|
6
|
+
private cancel;
|
|
7
|
+
private confirm;
|
|
8
|
+
editNode(node: EditableNode): void;
|
|
9
|
+
init(): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DChangeEvent } from '../../store/elements/Events';
|
|
2
|
+
import { Element } from '../../store/elements/Element';
|
|
3
|
+
export declare class DEditNodeEvent extends DChangeEvent {
|
|
4
|
+
src: Element;
|
|
5
|
+
previousLabel: string;
|
|
6
|
+
nextLabel: string;
|
|
7
|
+
protected readonly __brand: void;
|
|
8
|
+
constructor(src: Element, previousLabel: string, nextLabel: string);
|
|
9
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Coordinates } from './primitives/Coordinates';
|
|
2
|
+
import { Dimensions } from './primitives/Dimensions';
|
|
3
|
+
import { Diagram } from './Diagram';
|
|
4
|
+
import { Element } from './elements/Element';
|
|
5
|
+
export type ScaleEvent = {
|
|
6
|
+
previousScale: number;
|
|
7
|
+
newScale: number;
|
|
8
|
+
displacement: Coordinates;
|
|
9
|
+
};
|
|
10
|
+
export declare class Canvas extends Element {
|
|
11
|
+
private unbindDocumentEvents;
|
|
12
|
+
private mouseSessionStartedInFrame;
|
|
13
|
+
protected _displacement: Coordinates;
|
|
14
|
+
_scale: number;
|
|
15
|
+
private gridSize;
|
|
16
|
+
size: Coordinates;
|
|
17
|
+
get scale(): number;
|
|
18
|
+
element: HTMLElement | null;
|
|
19
|
+
get elementPosition(): Coordinates;
|
|
20
|
+
get elementDimensions(): Dimensions;
|
|
21
|
+
get displacement(): Coordinates;
|
|
22
|
+
get framePosition(): Coordinates;
|
|
23
|
+
get frameDimensions(): Dimensions;
|
|
24
|
+
constructor(parent: Diagram);
|
|
25
|
+
dispose(): void;
|
|
26
|
+
markMouseSessionStartedInFrame(): void;
|
|
27
|
+
get dragging(): boolean;
|
|
28
|
+
protected _dragging: boolean;
|
|
29
|
+
displacementStart: null | Coordinates;
|
|
30
|
+
eventStart: null | Coordinates;
|
|
31
|
+
protected bound(): void;
|
|
32
|
+
centerOnPoint(c: Coordinates): void;
|
|
33
|
+
/**
|
|
34
|
+
* @returns how much it displaced
|
|
35
|
+
*/
|
|
36
|
+
displace(c: Coordinates): Coordinates;
|
|
37
|
+
setDisplacement(c: Coordinates): void;
|
|
38
|
+
setScale(newScale: number, zoomCenter?: Coordinates): void;
|
|
39
|
+
/**
|
|
40
|
+
* Given a pair of coordinates in the canvas, returns the matching coordinates in the screen
|
|
41
|
+
*/
|
|
42
|
+
fit<T extends Coordinates | Dimensions | number>(value: T): T;
|
|
43
|
+
/**
|
|
44
|
+
* Given a pair of coordinates in the screen, returns the matching coordinates in the canvas
|
|
45
|
+
*/
|
|
46
|
+
inverseFit<T extends Coordinates | Dimensions>(value: T): T;
|
|
47
|
+
getDisplacementStyles(): {
|
|
48
|
+
position: string;
|
|
49
|
+
width: string;
|
|
50
|
+
height: string;
|
|
51
|
+
transform: string;
|
|
52
|
+
transformOrigin: string;
|
|
53
|
+
willChange: string;
|
|
54
|
+
};
|
|
55
|
+
protected setDisplacementStyles(element?: HTMLElement | null): void;
|
|
56
|
+
setGridSize(gridSize: number): void;
|
|
57
|
+
useRef: (el: HTMLElement | null) => void;
|
|
58
|
+
private isInsideFrameFromTarget;
|
|
59
|
+
private isInsideFrameEvent;
|
|
60
|
+
protected handleMouseMove(originalEvent: MouseEvent): void;
|
|
61
|
+
protected handleDoubleClick(originalEvent: MouseEvent): void;
|
|
62
|
+
protected handleClick(originalEvent: MouseEvent): void;
|
|
63
|
+
protected handleMouseUp(originalEvent: MouseEvent): void;
|
|
64
|
+
protected handleMouseDown(originalEvent: MouseEvent): void;
|
|
65
|
+
protected handleKeyDown(originalEvent: KeyboardEvent): void;
|
|
66
|
+
protected handleKeyUp(originalEvent: KeyboardEvent): void;
|
|
67
|
+
protected handleKeyPress(originalEvent: KeyboardEvent): void;
|
|
68
|
+
protected handleWheel(originalEvent: WheelEvent): void;
|
|
69
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { Canvas } from './Canvas';
|
|
3
|
+
import { Node } from './elements/Node';
|
|
4
|
+
import { Coordinates } from './primitives/Coordinates';
|
|
5
|
+
import { Edge } from './elements/Edge';
|
|
6
|
+
import { Gateway } from './elements/Gateway';
|
|
7
|
+
import { Element, Class } from './elements/Element';
|
|
8
|
+
import { Priorities } from './extensions/Priorities';
|
|
9
|
+
import { Rules } from './extensions/Rules';
|
|
10
|
+
import { DiagramExtension } from './extensions/DiagramExtension';
|
|
11
|
+
import { NodesAligner } from './extensions/NodesAligner';
|
|
12
|
+
import { Creator } from './extensions/Creator';
|
|
13
|
+
import { EdgesDragger } from './extensions/EdgesDragger';
|
|
14
|
+
import { Hotkeys } from './extensions/Hotkeys';
|
|
15
|
+
import { Measurer } from './extensions/Measurer';
|
|
16
|
+
import { Selector } from './extensions/Selector';
|
|
17
|
+
import { NodesConnector } from './extensions/NodesConnector';
|
|
18
|
+
import { GridSnap } from './extensions/GridSnap';
|
|
19
|
+
import { StraightDrag } from './extensions/StraightDrag';
|
|
20
|
+
import { DistancesBalancer } from './extensions/DistancesBalancer';
|
|
21
|
+
import { NodesResizer } from './extensions/NodesResizer';
|
|
22
|
+
import { History } from './extensions/History';
|
|
23
|
+
import { Dragger } from './extensions/Dragger';
|
|
24
|
+
import { PathFindingRenderer } from './extensions/PathFindingRenderer';
|
|
25
|
+
declare const DefaultExtensions: Readonly<{
|
|
26
|
+
Creator: typeof Creator;
|
|
27
|
+
DistancesBalancer: typeof DistancesBalancer;
|
|
28
|
+
Dragger: typeof Dragger;
|
|
29
|
+
EdgesDragger: typeof EdgesDragger;
|
|
30
|
+
GridSnap: typeof GridSnap;
|
|
31
|
+
History: typeof History;
|
|
32
|
+
Hotkeys: typeof Hotkeys;
|
|
33
|
+
Measurer: typeof Measurer;
|
|
34
|
+
NodesAligner: typeof NodesAligner;
|
|
35
|
+
NodesConnector: typeof NodesConnector;
|
|
36
|
+
NodesResizer: typeof NodesResizer;
|
|
37
|
+
PathFindingRenderer: typeof PathFindingRenderer;
|
|
38
|
+
Selector: typeof Selector;
|
|
39
|
+
StraightDrag: typeof StraightDrag;
|
|
40
|
+
}>;
|
|
41
|
+
export type TDefaultExensions = {
|
|
42
|
+
[key in keyof typeof DefaultExtensions]: boolean;
|
|
43
|
+
};
|
|
44
|
+
export type TDiagramSettings = Partial<{
|
|
45
|
+
extensions: TDefaultExensions;
|
|
46
|
+
}>;
|
|
47
|
+
export declare class Diagram extends Element {
|
|
48
|
+
readonly priorities: Priorities;
|
|
49
|
+
rules: Rules;
|
|
50
|
+
private focusContentTimer;
|
|
51
|
+
private knownClasses;
|
|
52
|
+
getClass(name: string): any;
|
|
53
|
+
registerClass(clazz: any, className?: any): void;
|
|
54
|
+
edgeClass: typeof Edge;
|
|
55
|
+
setDefaultEdge(clazz: typeof Edge): void;
|
|
56
|
+
protected _extensions: Map<Class<DiagramExtension>, DiagramExtension>;
|
|
57
|
+
protected _nodes: Map<string, Node<import('./types').TOrientation>>;
|
|
58
|
+
protected _edges: Map<string, Edge>;
|
|
59
|
+
canvas: Canvas;
|
|
60
|
+
constructor(settings?: TDiagramSettings);
|
|
61
|
+
get edges(): Readonly<Edge[]>;
|
|
62
|
+
get nodes(): Readonly<Node[]>;
|
|
63
|
+
private getUniqueNodeId;
|
|
64
|
+
add<T extends Node>(node: T): T;
|
|
65
|
+
addEdge(edge: Edge): void;
|
|
66
|
+
connect(from: Gateway, to: Gateway, options?: {
|
|
67
|
+
fromDisplacement?: Coordinates;
|
|
68
|
+
toDisplacement?: Coordinates;
|
|
69
|
+
}): Edge;
|
|
70
|
+
connectWithEdge(from: Gateway, to: Gateway, existentEdge: Edge): Edge;
|
|
71
|
+
delete(node: Node<any>): void;
|
|
72
|
+
disconnect(edge: Edge): void;
|
|
73
|
+
Context: ({ children }: {
|
|
74
|
+
children: ReactNode;
|
|
75
|
+
}) => import("react").JSX.Element;
|
|
76
|
+
getEdgeById(id: string): Edge | undefined;
|
|
77
|
+
getNodeById(id: string): Node<import('./types').TOrientation> | undefined;
|
|
78
|
+
get showGrid(): boolean;
|
|
79
|
+
getExtension<T extends DiagramExtension>(e: Class<T>): T;
|
|
80
|
+
registerExtension(e: Class<DiagramExtension>): void;
|
|
81
|
+
toggleGrid(): void;
|
|
82
|
+
static use: () => Diagram;
|
|
83
|
+
export(): string;
|
|
84
|
+
reset(): Promise<boolean>;
|
|
85
|
+
serialize(): {
|
|
86
|
+
position: {
|
|
87
|
+
x: number;
|
|
88
|
+
y: number;
|
|
89
|
+
scale: number;
|
|
90
|
+
};
|
|
91
|
+
nodes: {
|
|
92
|
+
box: [number, number, number, number];
|
|
93
|
+
id: string;
|
|
94
|
+
label: string;
|
|
95
|
+
movable: boolean | undefined;
|
|
96
|
+
selectable: boolean | undefined;
|
|
97
|
+
selected: boolean | undefined;
|
|
98
|
+
gateways: {
|
|
99
|
+
coordinates: [number, number];
|
|
100
|
+
fill: string | undefined;
|
|
101
|
+
id: string;
|
|
102
|
+
orientation: import('./types').TOrientation;
|
|
103
|
+
radius: number;
|
|
104
|
+
stroke: string | undefined;
|
|
105
|
+
strokeWidth: number;
|
|
106
|
+
outEdges: {
|
|
107
|
+
arrowHeadEnd: import('./types').EdgeArrowHead | undefined;
|
|
108
|
+
arrowHeadStart: import('./types').EdgeArrowHead | undefined;
|
|
109
|
+
displacementEnd: [number, number] | undefined;
|
|
110
|
+
displacementStart: [number, number] | undefined;
|
|
111
|
+
lineStyle: import('./types').EdgeLineStyle | undefined;
|
|
112
|
+
pathType: import('./types').EdgePathType | undefined;
|
|
113
|
+
steps: import('./elements/EdgePoint').TSerializedEdgePoint[];
|
|
114
|
+
stroke: string | undefined;
|
|
115
|
+
strokeWidth: number | undefined;
|
|
116
|
+
to: string;
|
|
117
|
+
toParentId: string;
|
|
118
|
+
class: string;
|
|
119
|
+
}[];
|
|
120
|
+
class: string;
|
|
121
|
+
}[];
|
|
122
|
+
fill: string | undefined;
|
|
123
|
+
labelFontSize: number | undefined;
|
|
124
|
+
stroke: string | undefined;
|
|
125
|
+
strokewWidth: number | undefined;
|
|
126
|
+
class: string;
|
|
127
|
+
}[];
|
|
128
|
+
};
|
|
129
|
+
import(w: string): void;
|
|
130
|
+
paste(w: string): void;
|
|
131
|
+
focusContentInViewport(padding?: number): boolean;
|
|
132
|
+
focusContentInViewportWithRetry(attempts?: number, delayMs?: number): void;
|
|
133
|
+
}
|
|
134
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { TEdgeState } from '../types';
|
|
2
|
+
import { Coordinates } from '../primitives/Coordinates';
|
|
3
|
+
import { EdgePoint, TSerializedEdgePoint } from './EdgePoint';
|
|
4
|
+
import { Element } from './Element';
|
|
5
|
+
import { Midpoint } from '../../components/objects/RenderEdge';
|
|
6
|
+
import { MouseEvent } from 'react';
|
|
7
|
+
import { Dimensions } from '../primitives/Dimensions';
|
|
8
|
+
export declare class Edge extends Element {
|
|
9
|
+
state: TEdgeState;
|
|
10
|
+
id: Readonly<string>;
|
|
11
|
+
constructor(parent: Element | null, state: TEdgeState);
|
|
12
|
+
get arrowHeadEnd(): import('../types').EdgeArrowHead | undefined;
|
|
13
|
+
get arrowHeadStart(): import('../types').EdgeArrowHead | undefined;
|
|
14
|
+
get from(): import('./Gateway').Gateway;
|
|
15
|
+
get hasManualSteps(): EdgePoint | undefined;
|
|
16
|
+
get lineStyle(): import('../types').EdgeLineStyle | undefined;
|
|
17
|
+
get pathType(): import('../types').EdgePathType | undefined;
|
|
18
|
+
get steps(): EdgePoint[];
|
|
19
|
+
get stroke(): string | undefined;
|
|
20
|
+
get strokeWidth(): number | undefined;
|
|
21
|
+
collides(box: Dimensions): boolean;
|
|
22
|
+
setState<K extends keyof TEdgeState>(prop: K, value: TEdgeState[K]): void;
|
|
23
|
+
setSteps(steps: Coordinates[]): void;
|
|
24
|
+
get to(): import('./Gateway').Gateway;
|
|
25
|
+
deserialize(o: ReturnType<(typeof this)['serialize']>): void;
|
|
26
|
+
serialize(): {
|
|
27
|
+
arrowHeadEnd: import('../types').EdgeArrowHead | undefined;
|
|
28
|
+
arrowHeadStart: import('../types').EdgeArrowHead | undefined;
|
|
29
|
+
displacementEnd: [number, number] | undefined;
|
|
30
|
+
displacementStart: [number, number] | undefined;
|
|
31
|
+
lineStyle: import('../types').EdgeLineStyle | undefined;
|
|
32
|
+
pathType: import('../types').EdgePathType | undefined;
|
|
33
|
+
steps: TSerializedEdgePoint[];
|
|
34
|
+
stroke: string | undefined;
|
|
35
|
+
strokeWidth: number | undefined;
|
|
36
|
+
to: string;
|
|
37
|
+
toParentId: string;
|
|
38
|
+
class: string;
|
|
39
|
+
};
|
|
40
|
+
dragStart(midpoint: Midpoint, ev: MouseEvent): void;
|
|
41
|
+
dragEndpoint(endpoint: 'from' | 'to', ev: MouseEvent): void;
|
|
42
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Coordinates } from '../primitives/Coordinates';
|
|
2
|
+
import { Element } from './Element';
|
|
3
|
+
import { AnyMouseEvent } from './Events';
|
|
4
|
+
export type TEdgePointType = 'auto' | 'manual' | 'static';
|
|
5
|
+
export type TEdgePointManualAxes = 'none' | 'x' | 'y' | 'both';
|
|
6
|
+
export type TSerializedEdgePoint = [number, number, TEdgePointType] | [number, number, TEdgePointType, TEdgePointManualAxes];
|
|
7
|
+
export declare class EdgePoint extends Coordinates {
|
|
8
|
+
parent: Element | null;
|
|
9
|
+
mode: TEdgePointType;
|
|
10
|
+
manualAxes: TEdgePointManualAxes;
|
|
11
|
+
constructor(parent: Element | null, items?: AnyMouseEvent | Event | Coordinates | number[] | TSerializedEdgePoint);
|
|
12
|
+
get manualX(): boolean;
|
|
13
|
+
get manualY(): boolean;
|
|
14
|
+
addManualAxis(axis: 'x' | 'y' | 'both'): this;
|
|
15
|
+
hasManualAxis(axis: 'x' | 'y'): boolean;
|
|
16
|
+
markStatic(): this;
|
|
17
|
+
copy(): EdgePoint;
|
|
18
|
+
toString(includeMode?: boolean): string;
|
|
19
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Diagram } from '../Diagram';
|
|
2
|
+
import { DEvent } from './Events';
|
|
3
|
+
export type Callback<X extends DEvent> = (ev: X) => unknown;
|
|
4
|
+
export type AbstractClass<X> = abstract new (...args: any[]) => X;
|
|
5
|
+
export type Class<X> = new (...args: any[]) => X;
|
|
6
|
+
interface PrioritizedCallback<X extends DEvent = DEvent> {
|
|
7
|
+
cb: Callback<X>;
|
|
8
|
+
priority: number;
|
|
9
|
+
}
|
|
10
|
+
export declare class Element {
|
|
11
|
+
parent: Element | null;
|
|
12
|
+
constructor(parent: Element | null);
|
|
13
|
+
protected callbacks: Map<AbstractClass<any>, PrioritizedCallback<any>[]>;
|
|
14
|
+
protected emit(ev: DEvent): DEvent;
|
|
15
|
+
get diagram(): Diagram | null;
|
|
16
|
+
onEvent<X extends DEvent>(type: AbstractClass<X>, cb: Callback<X>, priority?: number): () => void;
|
|
17
|
+
offEvent<X extends DEvent = DEvent>(type: AbstractClass<X>, cb: Callback<X>): void;
|
|
18
|
+
}
|
|
19
|
+
export {};
|