@finos/legend-extension-dsl-diagram 2.0.3 → 4.0.1
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/DSLDiagram_Extension.d.ts +0 -2
- package/lib/DSLDiagram_Extension.d.ts.map +1 -1
- package/lib/DSLDiagram_Extension.js +8 -9
- package/lib/DSLDiagram_Extension.js.map +1 -1
- package/lib/DiagramRenderer.d.ts +8 -8
- package/lib/DiagramRenderer.d.ts.map +1 -1
- package/lib/DiagramRenderer.js +26 -30
- package/lib/DiagramRenderer.js.map +1 -1
- package/lib/components/studio/ClassDiagramPreview.d.ts +1 -0
- package/lib/components/studio/ClassDiagramPreview.d.ts.map +1 -1
- package/lib/components/studio/ClassDiagramPreview.js +2 -2
- package/lib/components/studio/ClassDiagramPreview.js.map +1 -1
- package/lib/components/studio/DSLDiagram_LegendStudioDocumentation.d.ts +4 -14
- package/lib/components/studio/DSLDiagram_LegendStudioDocumentation.d.ts.map +1 -1
- package/lib/components/studio/DSLDiagram_LegendStudioDocumentation.js +8 -6
- package/lib/components/studio/DSLDiagram_LegendStudioDocumentation.js.map +1 -1
- package/lib/components/studio/DSLDiagram_LegendStudioPlugin.d.ts.map +1 -1
- package/lib/components/studio/DSLDiagram_LegendStudioPlugin.js +10 -10
- package/lib/components/studio/DSLDiagram_LegendStudioPlugin.js.map +1 -1
- package/lib/components/studio/DSLDiagram_LegendStudioPlugin_Extension.d.ts +3 -3
- package/lib/components/studio/DSLDiagram_LegendStudioPlugin_Extension.d.ts.map +1 -1
- package/lib/components/studio/DSLDiagram_TestID.js +1 -1
- package/lib/components/studio/DSLDiagram_TestID.js.map +1 -1
- package/lib/components/studio/DiagramEditor.d.ts +1 -0
- package/lib/components/studio/DiagramEditor.d.ts.map +1 -1
- package/lib/components/studio/DiagramEditor.js +5 -5
- package/lib/components/studio/DiagramEditor.js.map +1 -1
- package/lib/components/studio/InheritanceDiagramRenderer.d.ts +1 -1
- package/lib/components/studio/InheritanceDiagramRenderer.d.ts.map +1 -1
- package/lib/components/studio/InheritanceDiagramRenderer.js +3 -3
- package/lib/components/studio/InheritanceDiagramRenderer.js.map +1 -1
- package/lib/graph/DSLDiagram_PureGraphPlugin.js +2 -2
- package/lib/graph/DSLDiagram_PureGraphPlugin.js.map +1 -1
- package/lib/graphManager/DSLDiagram_GraphManagerHelper.d.ts +1 -1
- package/lib/graphManager/DSLDiagram_GraphManagerHelper.d.ts.map +1 -1
- package/lib/graphManager/DSLDiagram_GraphManagerHelper.js +1 -1
- package/lib/graphManager/DSLDiagram_GraphManagerHelper.js.map +1 -1
- package/lib/graphManager/DSLDiagram_PureGraphManagerPlugin.js +2 -2
- package/lib/graphManager/DSLDiagram_PureGraphManagerPlugin.js.map +1 -1
- package/lib/graphManager/action/changeDetection/DSLDiagram_ObserverHelper.d.ts +10 -10
- package/lib/graphManager/action/changeDetection/DSLDiagram_ObserverHelper.d.ts.map +1 -1
- package/lib/graphManager/action/changeDetection/DSLDiagram_ObserverHelper.js +1 -1
- package/lib/graphManager/action/changeDetection/DSLDiagram_ObserverHelper.js.map +1 -1
- package/lib/helpers/{DiagramHelper.d.ts → DSLDiagram_Helper.d.ts} +28 -6
- package/lib/helpers/DSLDiagram_Helper.d.ts.map +1 -0
- package/lib/helpers/{DiagramHelper.js → DSLDiagram_Helper.js} +56 -9
- package/lib/helpers/{DiagramHelper.js.map → DSLDiagram_Helper.js.map} +1 -1
- package/lib/index.css +1 -1
- package/lib/index.d.ts +18 -18
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +18 -18
- package/lib/index.js.map +1 -1
- package/lib/models/DSLDiagram_ModelUtils.js +1 -1
- package/lib/models/DSLDiagram_ModelUtils.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_AssociationView.d.ts +3 -3
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_AssociationView.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_AssociationView.js +2 -2
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_AssociationView.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView.d.ts +2 -2
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView.js +4 -4
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassViewReference.d.ts +2 -2
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassViewReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram.d.ts +4 -4
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram.js +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_GeneralizationView.d.ts +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_GeneralizationView.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_GeneralizationView.js +2 -2
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_GeneralizationView.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyHolderView.d.ts +3 -3
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyHolderView.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyHolderView.js +2 -2
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyHolderView.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyView.d.ts +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyView.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyView.js +2 -2
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyView.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipView.d.ts +6 -6
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipView.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipView.js +18 -10
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipView.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/{DSLDiagram_RelationshipEdgeView.d.ts → DSLDiagram_RelationshipViewEnd.d.ts} +6 -6
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipViewEnd.d.ts.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/diagram/{DSLDiagram_RelationshipEdgeView.js → DSLDiagram_RelationshipViewEnd.js} +5 -5
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipViewEnd.js.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Point.d.ts +0 -2
- package/lib/models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Point.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Point.js +1 -7
- package/lib/models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Point.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_PositionedRectangle.d.ts +3 -9
- package/lib/models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_PositionedRectangle.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_PositionedRectangle.js +11 -22
- package/lib/models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_PositionedRectangle.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Rectangle.js +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Rectangle.js.map +1 -1
- package/lib/models/protocols/pure/DSLDiagram_PureProtocolProcessorPlugin.js +6 -6
- package/lib/models/protocols/pure/DSLDiagram_PureProtocolProcessorPlugin.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_ClassView.d.ts +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_ClassView.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_ClassView.js +2 -2
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_ClassView.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_Diagram.d.ts +3 -3
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_Diagram.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_Diagram.js +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_Diagram.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_GeneralizationView.d.ts +2 -2
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_GeneralizationView.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_GeneralizationView.js +2 -2
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_GeneralizationView.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_PropertyHolderView.d.ts +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_PropertyHolderView.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_PropertyHolderView.js +2 -2
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_PropertyHolderView.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_PropertyView.d.ts +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_PropertyView.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_PropertyView.js +2 -2
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_PropertyView.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_RelationshipView.d.ts +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_RelationshipView.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_RelationshipView.js +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_RelationshipView.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/geometry/V1_DSLDiagram_Line.d.ts +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/geometry/V1_DSLDiagram_Line.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/geometry/V1_DSLDiagram_Point.js +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/geometry/V1_DSLDiagram_Point.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/geometry/V1_DSLDiagram_PositionedRectangle.d.ts +2 -2
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/geometry/V1_DSLDiagram_PositionedRectangle.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/geometry/V1_DSLDiagram_PositionedRectangle.js +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/geometry/V1_DSLDiagram_PositionedRectangle.js.map +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/geometry/V1_DSLDiagram_Rectangle.js +1 -1
- package/lib/models/protocols/pure/v1/model/packageableElements/diagram/geometry/V1_DSLDiagram_Rectangle.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/V1_DSLDiagram_GraphBuilderHelper.d.ts +7 -7
- package/lib/models/protocols/pure/v1/transformation/pureGraph/V1_DSLDiagram_GraphBuilderHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/V1_DSLDiagram_GraphBuilderHelper.js +7 -7
- package/lib/models/protocols/pure/v1/transformation/pureGraph/V1_DSLDiagram_GraphBuilderHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/V1_DSLDiagram_TransformerHelper.d.ts +2 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/V1_DSLDiagram_TransformerHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureGraph/V1_DSLDiagram_TransformerHelper.js +7 -7
- package/lib/models/protocols/pure/v1/transformation/pureGraph/V1_DSLDiagram_TransformerHelper.js.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_DSLDiagram_ProtocolHelper.d.ts +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_DSLDiagram_ProtocolHelper.d.ts.map +1 -1
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_DSLDiagram_ProtocolHelper.js +7 -7
- package/lib/models/protocols/pure/v1/transformation/pureProtocol/V1_DSLDiagram_ProtocolHelper.js.map +1 -1
- package/lib/package.json +12 -11
- package/lib/stores/studio/DSLDiagram_GraphModifierHelper.d.ts +12 -12
- package/lib/stores/studio/DSLDiagram_GraphModifierHelper.d.ts.map +1 -1
- package/lib/stores/studio/DSLDiagram_GraphModifierHelper.js +8 -8
- package/lib/stores/studio/DSLDiagram_GraphModifierHelper.js.map +1 -1
- package/lib/stores/studio/DiagramEditorState.d.ts +4 -4
- package/lib/stores/studio/DiagramEditorState.d.ts.map +1 -1
- package/lib/stores/studio/DiagramEditorState.js +3 -3
- package/lib/stores/studio/DiagramEditorState.js.map +1 -1
- package/package.json +19 -18
- package/src/DSLDiagram_Extension.ts +8 -11
- package/src/DiagramRenderer.ts +39 -36
- package/src/components/studio/ClassDiagramPreview.tsx +2 -2
- package/src/components/studio/DSLDiagram_LegendStudioDocumentation.ts +13 -6
- package/src/components/studio/DSLDiagram_LegendStudioPlugin.tsx +14 -13
- package/src/components/studio/DSLDiagram_LegendStudioPlugin_Extension.tsx +2 -2
- package/src/components/studio/DiagramEditor.tsx +6 -6
- package/src/components/studio/InheritanceDiagramRenderer.ts +3 -3
- package/src/graph/DSLDiagram_PureGraphPlugin.ts +2 -2
- package/src/graphManager/DSLDiagram_GraphManagerHelper.ts +1 -1
- package/src/graphManager/DSLDiagram_PureGraphManagerPlugin.ts +2 -2
- package/src/graphManager/action/changeDetection/DSLDiagram_ObserverHelper.ts +11 -11
- package/src/helpers/{DiagramHelper.ts → DSLDiagram_Helper.ts} +102 -11
- package/src/index.ts +21 -18
- package/src/models/metamodels/pure/packageableElements/diagram/DSLDiagram_AssociationView.ts +4 -4
- package/src/models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView.ts +5 -5
- package/src/models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassViewReference.ts +2 -2
- package/src/models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram.ts +5 -5
- package/src/models/metamodels/pure/packageableElements/diagram/DSLDiagram_GeneralizationView.ts +2 -2
- package/src/models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyHolderView.ts +4 -4
- package/src/models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyView.ts +2 -2
- package/src/models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipView.ts +23 -15
- package/src/models/metamodels/pure/packageableElements/diagram/{DSLDiagram_RelationshipEdgeView.ts → DSLDiagram_RelationshipViewEnd.ts} +6 -5
- package/src/models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Point.ts +1 -9
- package/src/models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_PositionedRectangle.ts +12 -42
- package/src/models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Rectangle.ts +1 -1
- package/src/models/protocols/pure/DSLDiagram_PureProtocolProcessorPlugin.ts +6 -6
- package/src/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_ClassView.ts +2 -2
- package/src/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_Diagram.ts +4 -4
- package/src/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_GeneralizationView.ts +3 -3
- package/src/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_PropertyHolderView.ts +2 -2
- package/src/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_PropertyView.ts +2 -2
- package/src/models/protocols/pure/v1/model/packageableElements/diagram/V1_DSLDiagram_RelationshipView.ts +2 -2
- package/src/models/protocols/pure/v1/model/packageableElements/diagram/geometry/V1_DSLDiagram_Line.ts +1 -1
- package/src/models/protocols/pure/v1/model/packageableElements/diagram/geometry/V1_DSLDiagram_Point.ts +1 -1
- package/src/models/protocols/pure/v1/model/packageableElements/diagram/geometry/V1_DSLDiagram_PositionedRectangle.ts +3 -3
- package/src/models/protocols/pure/v1/model/packageableElements/diagram/geometry/V1_DSLDiagram_Rectangle.ts +1 -1
- package/src/models/protocols/pure/v1/transformation/pureGraph/V1_DSLDiagram_GraphBuilderHelper.ts +13 -13
- package/src/models/protocols/pure/v1/transformation/pureGraph/V1_DSLDiagram_TransformerHelper.ts +13 -13
- package/src/models/protocols/pure/v1/transformation/pureProtocol/V1_DSLDiagram_ProtocolHelper.ts +7 -7
- package/src/stores/studio/DSLDiagram_GraphModifierHelper.ts +22 -20
- package/src/stores/studio/DiagramEditorState.ts +5 -5
- package/tsconfig.json +5 -11
- package/tsconfig.package.json +1 -4
- package/lib/helpers/DiagramHelper.d.ts.map +0 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipEdgeView.d.ts.map +0 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipEdgeView.js.map +0 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Vector.d.ts +0 -26
- package/lib/models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Vector.d.ts.map +0 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Vector.js +0 -37
- package/lib/models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Vector.js.map +0 -1
- package/src/models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Vector.ts +0 -44
package/src/DiagramRenderer.ts
CHANGED
@@ -42,17 +42,24 @@ import {
|
|
42
42
|
getRawGenericType,
|
43
43
|
} from '@finos/legend-graph';
|
44
44
|
import { action, makeObservable, observable } from 'mobx';
|
45
|
-
import type { Diagram } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram';
|
46
|
-
import { Rectangle } from './models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Rectangle';
|
47
|
-
import { Point } from './models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Point';
|
48
|
-
import { PositionedRectangle } from './models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_PositionedRectangle';
|
49
|
-
import { ClassView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView';
|
50
|
-
import type { PropertyHolderView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyHolderView';
|
51
|
-
import { GeneralizationView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_GeneralizationView';
|
52
|
-
import { RelationshipView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipView';
|
53
|
-
import { PropertyView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyView';
|
54
|
-
import {
|
55
|
-
|
45
|
+
import type { Diagram } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram.js';
|
46
|
+
import { Rectangle } from './models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Rectangle.js';
|
47
|
+
import { Point } from './models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Point.js';
|
48
|
+
import { PositionedRectangle } from './models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_PositionedRectangle.js';
|
49
|
+
import { ClassView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView.js';
|
50
|
+
import type { PropertyHolderView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyHolderView.js';
|
51
|
+
import { GeneralizationView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_GeneralizationView.js';
|
52
|
+
import { RelationshipView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipView.js';
|
53
|
+
import { PropertyView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyView.js';
|
54
|
+
import {
|
55
|
+
boxContains,
|
56
|
+
buildBottomRightCornerBox,
|
57
|
+
getBottomRightCornerPoint,
|
58
|
+
getElementPosition,
|
59
|
+
rotatePointX,
|
60
|
+
rotatePointY,
|
61
|
+
} from './helpers/DSLDiagram_Helper.js';
|
62
|
+
import { AssociationView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_AssociationView.js';
|
56
63
|
import { class_addProperty, class_addSuperType } from '@finos/legend-studio';
|
57
64
|
import {
|
58
65
|
classView_setHideProperties,
|
@@ -78,7 +85,7 @@ import {
|
|
78
85
|
relationshipView_changePoint,
|
79
86
|
relationshipView_simplifyPath,
|
80
87
|
relationshipView_setPath,
|
81
|
-
} from './stores/studio/DSLDiagram_GraphModifierHelper';
|
88
|
+
} from './stores/studio/DSLDiagram_GraphModifierHelper.js';
|
82
89
|
|
83
90
|
export enum DIAGRAM_INTERACTION_MODE {
|
84
91
|
LAYOUT,
|
@@ -766,8 +773,8 @@ export class DiagramRenderer {
|
|
766
773
|
);
|
767
774
|
minX = Math.min(minX, box.position.x);
|
768
775
|
minY = Math.min(minY, box.position.y);
|
769
|
-
maxX = Math.max(maxX, box
|
770
|
-
maxY = Math.max(maxY, box
|
776
|
+
maxX = Math.max(maxX, getBottomRightCornerPoint(box).x);
|
777
|
+
maxY = Math.max(maxY, getBottomRightCornerPoint(box).y);
|
771
778
|
}
|
772
779
|
// if (relationshipView.from.name) {
|
773
780
|
// var box = this.displayText(fullPath[1], fullPath[0], relationshipView.from.classView, relationshipView.property, this.ctx);
|
@@ -2014,34 +2021,34 @@ export class DiagramRenderer {
|
|
2014
2021
|
this.ctx.beginPath();
|
2015
2022
|
this.ctx.moveTo(
|
2016
2023
|
resultX +
|
2017
|
-
(this.screenOffset.x + (this.triangle[0] as Point
|
2024
|
+
(this.screenOffset.x + rotatePointX(this.triangle[0] as Point, angle)) *
|
2018
2025
|
this.zoom,
|
2019
2026
|
resultY +
|
2020
|
-
(this.screenOffset.y + (this.triangle[0] as Point
|
2027
|
+
(this.screenOffset.y + rotatePointY(this.triangle[0] as Point, angle)) *
|
2021
2028
|
this.zoom,
|
2022
2029
|
);
|
2023
2030
|
this.ctx.lineTo(
|
2024
2031
|
resultX +
|
2025
|
-
(this.screenOffset.x + (this.triangle[1] as Point
|
2032
|
+
(this.screenOffset.x + rotatePointX(this.triangle[1] as Point, angle)) *
|
2026
2033
|
this.zoom,
|
2027
2034
|
resultY +
|
2028
|
-
(this.screenOffset.y + (this.triangle[1] as Point
|
2035
|
+
(this.screenOffset.y + rotatePointY(this.triangle[1] as Point, angle)) *
|
2029
2036
|
this.zoom,
|
2030
2037
|
);
|
2031
2038
|
this.ctx.lineTo(
|
2032
2039
|
resultX +
|
2033
|
-
(this.screenOffset.x + (this.triangle[2] as Point
|
2040
|
+
(this.screenOffset.x + rotatePointX(this.triangle[2] as Point, angle)) *
|
2034
2041
|
this.zoom,
|
2035
2042
|
resultY +
|
2036
|
-
(this.screenOffset.y + (this.triangle[2] as Point
|
2043
|
+
(this.screenOffset.y + rotatePointY(this.triangle[2] as Point, angle)) *
|
2037
2044
|
this.zoom,
|
2038
2045
|
);
|
2039
2046
|
this.ctx.lineTo(
|
2040
2047
|
resultX +
|
2041
|
-
(this.screenOffset.x + (this.triangle[0] as Point
|
2048
|
+
(this.screenOffset.x + rotatePointX(this.triangle[0] as Point, angle)) *
|
2042
2049
|
this.zoom,
|
2043
2050
|
resultY +
|
2044
|
-
(this.screenOffset.y + (this.triangle[0] as Point
|
2051
|
+
(this.screenOffset.y + rotatePointY(this.triangle[0] as Point, angle)) *
|
2045
2052
|
this.zoom,
|
2046
2053
|
);
|
2047
2054
|
this.ctx.fillStyle = this.generalizationViewInheritanceTriangeFillColor;
|
@@ -2637,12 +2644,10 @@ export class DiagramRenderer {
|
|
2637
2644
|
for (let i = this.diagram.classViews.length - 1; i >= 0; i--) {
|
2638
2645
|
const targetClassView = this.diagram.classViews[i] as ClassView;
|
2639
2646
|
if (
|
2640
|
-
targetClassView
|
2641
|
-
.
|
2642
|
-
.
|
2643
|
-
|
2644
|
-
eventPointInModelCoordinate.y,
|
2645
|
-
)
|
2647
|
+
buildBottomRightCornerBox(targetClassView).contains(
|
2648
|
+
eventPointInModelCoordinate.x,
|
2649
|
+
eventPointInModelCoordinate.y,
|
2650
|
+
)
|
2646
2651
|
) {
|
2647
2652
|
this.setSelectedClasses([]);
|
2648
2653
|
this.setSelectedClassCorner(this.diagram.classViews[i]);
|
@@ -3004,8 +3009,8 @@ export class DiagramRenderer {
|
|
3004
3009
|
this.setSelectedClasses([]);
|
3005
3010
|
for (const classView of this.diagram.classViews) {
|
3006
3011
|
if (
|
3007
|
-
this.selection
|
3008
|
-
|
3012
|
+
boxContains(this.selection, classView) ||
|
3013
|
+
boxContains(classView, this.selection)
|
3009
3014
|
) {
|
3010
3015
|
this.setSelectedClasses([...this.selectedClasses, classView]);
|
3011
3016
|
}
|
@@ -3065,12 +3070,10 @@ export class DiagramRenderer {
|
|
3065
3070
|
|
3066
3071
|
// Check hover class corner
|
3067
3072
|
if (
|
3068
|
-
classView
|
3069
|
-
.
|
3070
|
-
.
|
3071
|
-
|
3072
|
-
eventPointInModelCoordinate.y,
|
3073
|
-
)
|
3073
|
+
buildBottomRightCornerBox(classView).contains(
|
3074
|
+
eventPointInModelCoordinate.x,
|
3075
|
+
eventPointInModelCoordinate.y,
|
3076
|
+
)
|
3074
3077
|
) {
|
3075
3078
|
this.setMouseOverClassCorner(classView);
|
3076
3079
|
}
|
@@ -19,8 +19,8 @@ import { useResizeDetector } from 'react-resize-detector';
|
|
19
19
|
import { observer } from 'mobx-react-lite';
|
20
20
|
import { useApplicationStore } from '@finos/legend-application';
|
21
21
|
import type { Class } from '@finos/legend-graph';
|
22
|
-
import { InheritanceDiagramRenderer } from './InheritanceDiagramRenderer';
|
23
|
-
import { DSL_DIAGRAM_TEST_ID } from './DSLDiagram_TestID';
|
22
|
+
import { InheritanceDiagramRenderer } from './InheritanceDiagramRenderer.js';
|
23
|
+
import { DSL_DIAGRAM_TEST_ID } from './DSLDiagram_TestID.js';
|
24
24
|
import { useEditorStore } from '@finos/legend-studio';
|
25
25
|
|
26
26
|
export const ClassDiagramPreview = observer((props: { _class: Class }) => {
|
@@ -14,20 +14,27 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
|
17
|
+
import type { LegendApplicationDocumentationEntryConfig } from '@finos/legend-application';
|
18
|
+
|
17
19
|
export enum DSL_DIAGRAM_LEGEND_STUDIO_DOCUMENTATION_KEY {
|
18
|
-
GRAMMAR_PARSER = 'dsl-
|
19
|
-
|
20
|
+
GRAMMAR_PARSER = 'dsl-diagram.grammar.parser',
|
21
|
+
GRAMMAR_ELEMENT_DIAGRAM = 'dsl-diagram.grammar.element.diagram',
|
20
22
|
}
|
21
23
|
|
22
|
-
export const DSL_DIAGRAM_DOCUMENTATION_ENTRIES
|
24
|
+
export const DSL_DIAGRAM_DOCUMENTATION_ENTRIES: Record<
|
25
|
+
string,
|
26
|
+
LegendApplicationDocumentationEntryConfig
|
27
|
+
> = {
|
23
28
|
[DSL_DIAGRAM_LEGEND_STUDIO_DOCUMENTATION_KEY.GRAMMAR_PARSER]: {
|
29
|
+
title: `What is Diagram DSL about?`,
|
24
30
|
markdownText: {
|
25
|
-
value:
|
31
|
+
value: `\`Diagram DSL\` (coressponding to \`###Diagram\` section in \`Pure\`) concerns with visualizing data models and their relationship`,
|
26
32
|
},
|
27
33
|
},
|
28
|
-
[DSL_DIAGRAM_LEGEND_STUDIO_DOCUMENTATION_KEY.
|
34
|
+
[DSL_DIAGRAM_LEGEND_STUDIO_DOCUMENTATION_KEY.GRAMMAR_ELEMENT_DIAGRAM]: {
|
35
|
+
title: `What is a diagram element?`,
|
29
36
|
markdownText: {
|
30
|
-
value: `A
|
37
|
+
value: `A \`Diagram\` element specifies the visualization/rendering of data models and their relationship`,
|
31
38
|
},
|
32
39
|
},
|
33
40
|
};
|
@@ -38,10 +38,10 @@ import {
|
|
38
38
|
} from '@finos/legend-studio';
|
39
39
|
import { ShapesIcon } from '@finos/legend-art';
|
40
40
|
import type { Class, PackageableElement } from '@finos/legend-graph';
|
41
|
-
import { Diagram } from '../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram';
|
42
|
-
import { DiagramEditorState } from '../../stores/studio/DiagramEditorState';
|
43
|
-
import { DiagramEditor } from './DiagramEditor';
|
44
|
-
import { ClassDiagramPreview } from './ClassDiagramPreview';
|
41
|
+
import { Diagram } from '../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram.js';
|
42
|
+
import { DiagramEditorState } from '../../stores/studio/DiagramEditorState.js';
|
43
|
+
import { DiagramEditor } from './DiagramEditor.js';
|
44
|
+
import { ClassDiagramPreview } from './ClassDiagramPreview.js';
|
45
45
|
import {
|
46
46
|
type LegendApplicationDocumentationEntry,
|
47
47
|
type LegendApplicationKeyedDocumentationEntry,
|
@@ -50,17 +50,17 @@ import {
|
|
50
50
|
import {
|
51
51
|
PURE_GRAMMAR_DIAGRAM_ELEMENT_TYPE_LABEL,
|
52
52
|
PURE_GRAMMAR_DIAGRAM_PARSER_NAME,
|
53
|
-
} from '../../graphManager/DSLDiagram_PureGraphManagerPlugin';
|
53
|
+
} from '../../graphManager/DSLDiagram_PureGraphManagerPlugin.js';
|
54
54
|
import {
|
55
55
|
DSL_DIAGRAM_DOCUMENTATION_ENTRIES,
|
56
56
|
DSL_DIAGRAM_LEGEND_STUDIO_DOCUMENTATION_KEY,
|
57
|
-
} from './DSLDiagram_LegendStudioDocumentation';
|
57
|
+
} from './DSLDiagram_LegendStudioDocumentation.js';
|
58
58
|
import {
|
59
59
|
EMPTY_DIAGRAM_SNIPPET,
|
60
60
|
getDiagramSnippetWithGeneralizationView,
|
61
61
|
getDiagramSnippetWithOneClassView,
|
62
62
|
getDiagramSnippetWithPropertyView,
|
63
|
-
} from './DSLDiagram_CodeSnippets';
|
63
|
+
} from './DSLDiagram_CodeSnippets.js';
|
64
64
|
|
65
65
|
const DIAGRAM_ELEMENT_TYPE = 'DIAGRAM';
|
66
66
|
const DIAGRAM_ELEMENT_PROJECT_EXPLORER_DND_TYPE = 'PROJECT_EXPLORER_DIAGRAM';
|
@@ -203,8 +203,8 @@ export class DSLDiagram_LegendStudioPlugin
|
|
203
203
|
): LegendApplicationDocumentationEntry | undefined => {
|
204
204
|
if (parserKeyword === PURE_GRAMMAR_DIAGRAM_PARSER_NAME) {
|
205
205
|
if (elementKeyword === PURE_GRAMMAR_DIAGRAM_ELEMENT_TYPE_LABEL) {
|
206
|
-
return editorStore.applicationStore.
|
207
|
-
DSL_DIAGRAM_LEGEND_STUDIO_DOCUMENTATION_KEY.
|
206
|
+
return editorStore.applicationStore.documentationService.getDocEntry(
|
207
|
+
DSL_DIAGRAM_LEGEND_STUDIO_DOCUMENTATION_KEY.GRAMMAR_ELEMENT_DIAGRAM,
|
208
208
|
);
|
209
209
|
}
|
210
210
|
}
|
@@ -220,7 +220,7 @@ export class DSLDiagram_LegendStudioPlugin
|
|
220
220
|
parserKeyword: string,
|
221
221
|
): LegendApplicationDocumentationEntry | undefined => {
|
222
222
|
if (parserKeyword === PURE_GRAMMAR_DIAGRAM_PARSER_NAME) {
|
223
|
-
return editorStore.applicationStore.
|
223
|
+
return editorStore.applicationStore.documentationService.getDocEntry(
|
224
224
|
DSL_DIAGRAM_LEGEND_STUDIO_DOCUMENTATION_KEY.GRAMMAR_PARSER,
|
225
225
|
);
|
226
226
|
}
|
@@ -235,9 +235,10 @@ export class DSLDiagram_LegendStudioPlugin
|
|
235
235
|
{
|
236
236
|
text: PURE_GRAMMAR_DIAGRAM_PARSER_NAME,
|
237
237
|
description: `(dsl)`,
|
238
|
-
documentation:
|
239
|
-
|
240
|
-
|
238
|
+
documentation:
|
239
|
+
editorStore.applicationStore.documentationService.getDocEntry(
|
240
|
+
DSL_DIAGRAM_LEGEND_STUDIO_DOCUMENTATION_KEY.GRAMMAR_PARSER,
|
241
|
+
),
|
241
242
|
insertText: PURE_GRAMMAR_DIAGRAM_PARSER_NAME,
|
242
243
|
},
|
243
244
|
],
|
@@ -15,8 +15,8 @@
|
|
15
15
|
*/
|
16
16
|
|
17
17
|
import type { DSL_LegendStudioPlugin_Extension } from '@finos/legend-studio';
|
18
|
-
import type { ClassView } from '../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView';
|
19
|
-
import type { DiagramEditorState } from '../../stores/studio/DiagramEditorState';
|
18
|
+
import type { ClassView } from '../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView.js';
|
19
|
+
import type { DiagramEditorState } from '../../stores/studio/DiagramEditorState.js';
|
20
20
|
|
21
21
|
export type ClassViewContextMenuItemRendererConfiguration = {
|
22
22
|
key: string;
|
@@ -30,7 +30,7 @@ import {
|
|
30
30
|
DIAGRAM_INTERACTION_MODE,
|
31
31
|
DIAGRAM_RELATIONSHIP_EDIT_MODE,
|
32
32
|
DIAGRAM_ZOOM_LEVELS,
|
33
|
-
} from '../../DiagramRenderer';
|
33
|
+
} from '../../DiagramRenderer.js';
|
34
34
|
import {
|
35
35
|
type DiagramEditorInlineClassCreatorState,
|
36
36
|
type DiagramEditorInlineClassRenamerState,
|
@@ -38,7 +38,7 @@ import {
|
|
38
38
|
DIAGRAM_EDITOR_SIDE_PANEL_TAB,
|
39
39
|
DiagramEditorClassViewEditorSidePanelState,
|
40
40
|
DiagramEditorState,
|
41
|
-
} from '../../stores/studio/DiagramEditorState';
|
41
|
+
} from '../../stores/studio/DiagramEditorState.js';
|
42
42
|
import {
|
43
43
|
type ResizablePanelHandlerProps,
|
44
44
|
ContextMenu,
|
@@ -104,14 +104,14 @@ import {
|
|
104
104
|
property_setGenericType,
|
105
105
|
property_setMultiplicity,
|
106
106
|
} from '@finos/legend-studio';
|
107
|
-
import { cleanUpDeadReferencesInDiagram } from '../../helpers/
|
108
|
-
import { Point } from '../../models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Point';
|
109
|
-
import type { DSLDiagram_LegendStudioPlugin_Extension } from './DSLDiagram_LegendStudioPlugin_Extension';
|
107
|
+
import { cleanUpDeadReferencesInDiagram } from '../../helpers/DSLDiagram_Helper.js';
|
108
|
+
import { Point } from '../../models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Point.js';
|
109
|
+
import type { DSLDiagram_LegendStudioPlugin_Extension } from './DSLDiagram_LegendStudioPlugin_Extension.js';
|
110
110
|
import {
|
111
111
|
classView_setHideProperties,
|
112
112
|
classView_setHideStereotypes,
|
113
113
|
classView_setHideTaggedValues,
|
114
|
-
} from '../../stores/studio/DSLDiagram_GraphModifierHelper';
|
114
|
+
} from '../../stores/studio/DSLDiagram_GraphModifierHelper.js';
|
115
115
|
|
116
116
|
const DiagramEditorContextMenu = observer(
|
117
117
|
forwardRef<
|
@@ -14,14 +14,14 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
|
17
|
-
import { DiagramRenderer } from '../../DiagramRenderer';
|
17
|
+
import { DiagramRenderer } from '../../DiagramRenderer.js';
|
18
18
|
import { uuid } from '@finos/legend-shared';
|
19
19
|
import {
|
20
20
|
type Class,
|
21
21
|
PackageableElementExplicitReference,
|
22
22
|
} from '@finos/legend-graph';
|
23
|
-
import { Diagram } from '../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram';
|
24
|
-
import { ClassView } from '../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView';
|
23
|
+
import { Diagram } from '../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram.js';
|
24
|
+
import { ClassView } from '../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView.js';
|
25
25
|
|
26
26
|
export class InheritanceDiagramRenderer extends DiagramRenderer {
|
27
27
|
constructor(div: HTMLDivElement, _class: Class) {
|
@@ -22,8 +22,8 @@ import {
|
|
22
22
|
type PackageableElement,
|
23
23
|
type PureModel,
|
24
24
|
} from '@finos/legend-graph';
|
25
|
-
import { Diagram } from '../models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram';
|
26
|
-
import { cleanUpDeadReferencesInDiagram } from '../helpers/
|
25
|
+
import { Diagram } from '../models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram.js';
|
26
|
+
import { cleanUpDeadReferencesInDiagram } from '../helpers/DSLDiagram_Helper.js';
|
27
27
|
|
28
28
|
export class DSLDiagram_PureGraphPlugin extends PureGraphPlugin {
|
29
29
|
constructor() {
|
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
import type { BasicModel, PureModel } from '@finos/legend-graph';
|
18
18
|
import { guaranteeNonNullable } from '@finos/legend-shared';
|
19
|
-
import { Diagram } from '../models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram';
|
19
|
+
import { Diagram } from '../models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram.js';
|
20
20
|
|
21
21
|
export const getDiagram = (path: string, graph: PureModel): Diagram =>
|
22
22
|
graph.getExtensionElement(path, Diagram, `Can't find diagram '${path}'`);
|
@@ -22,8 +22,8 @@ import {
|
|
22
22
|
type PackageableElement,
|
23
23
|
type PureGrammarElementLabeler,
|
24
24
|
} from '@finos/legend-graph';
|
25
|
-
import { Diagram } from '../models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram';
|
26
|
-
import { observe_Diagram } from './action/changeDetection/DSLDiagram_ObserverHelper';
|
25
|
+
import { Diagram } from '../models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram.js';
|
26
|
+
import { observe_Diagram } from './action/changeDetection/DSLDiagram_ObserverHelper.js';
|
27
27
|
|
28
28
|
export const PURE_GRAMMAR_DIAGRAM_PARSER_NAME = 'Diagram';
|
29
29
|
export const PURE_GRAMMAR_DIAGRAM_ELEMENT_TYPE_LABEL = 'Diagram';
|
@@ -21,20 +21,20 @@ import {
|
|
21
21
|
skipObserved,
|
22
22
|
} from '@finos/legend-graph';
|
23
23
|
import { computed, makeObservable, observable, override } from 'mobx';
|
24
|
-
import type { AssociationView } from '../../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_AssociationView';
|
25
|
-
import type { ClassView } from '../../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView';
|
26
|
-
import type { ClassViewReference } from '../../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassViewReference';
|
27
|
-
import type { Diagram } from '../../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram';
|
28
|
-
import type { GeneralizationView } from '../../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_GeneralizationView';
|
29
|
-
import type { PropertyView } from '../../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyView';
|
30
|
-
import type {
|
31
|
-
import type { RelationshipView } from '../../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipView';
|
32
|
-
import type { PositionedRectangle } from '../../../models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_PositionedRectangle';
|
24
|
+
import type { AssociationView } from '../../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_AssociationView.js';
|
25
|
+
import type { ClassView } from '../../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView.js';
|
26
|
+
import type { ClassViewReference } from '../../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassViewReference.js';
|
27
|
+
import type { Diagram } from '../../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram.js';
|
28
|
+
import type { GeneralizationView } from '../../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_GeneralizationView.js';
|
29
|
+
import type { PropertyView } from '../../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyView.js';
|
30
|
+
import type { RelationshipViewEnd } from '../../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipViewEnd.js';
|
31
|
+
import type { RelationshipView } from '../../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipView.js';
|
32
|
+
import type { PositionedRectangle } from '../../../models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_PositionedRectangle.js';
|
33
33
|
|
34
34
|
export const observe_PositionedRectangle = skipObserved(
|
35
35
|
(metamodel: PositionedRectangle): PositionedRectangle =>
|
36
36
|
makeObservable(metamodel, {
|
37
|
-
|
37
|
+
_dummyObservable: observable,
|
38
38
|
}),
|
39
39
|
);
|
40
40
|
|
@@ -69,7 +69,7 @@ export const observe_ClassView = skipObserved(
|
|
69
69
|
);
|
70
70
|
|
71
71
|
export const observe_RelationShipEdgeView = skipObserved(
|
72
|
-
(metamodel:
|
72
|
+
(metamodel: RelationshipViewEnd): RelationshipViewEnd => {
|
73
73
|
observe_ClassViewReference(metamodel.classView);
|
74
74
|
|
75
75
|
return metamodel;
|
@@ -14,13 +14,45 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
|
17
|
-
import { RelationshipView } from '../models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipView';
|
18
|
-
import { Point } from '../models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Point';
|
19
|
-
import {
|
20
|
-
|
17
|
+
import { RelationshipView } from '../models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipView.js';
|
18
|
+
import { Point } from '../models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Point.js';
|
19
|
+
import {
|
20
|
+
type PureModel,
|
21
|
+
Class,
|
22
|
+
getAllOwnClassProperties,
|
23
|
+
} from '@finos/legend-graph';
|
21
24
|
import { deleteEntry } from '@finos/legend-shared';
|
22
|
-
import type { ClassView } from '../models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView';
|
23
|
-
import type { Diagram } from '../models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram';
|
25
|
+
import type { ClassView } from '../models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView.js';
|
26
|
+
import type { Diagram } from '../models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram.js';
|
27
|
+
import { PositionedRectangle } from '../models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_PositionedRectangle.js';
|
28
|
+
import { Rectangle } from '../models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Rectangle.js';
|
29
|
+
|
30
|
+
export class Vector {
|
31
|
+
readonly x: number;
|
32
|
+
readonly y: number;
|
33
|
+
|
34
|
+
constructor(x: number, y: number) {
|
35
|
+
this.x = x;
|
36
|
+
this.y = y;
|
37
|
+
}
|
38
|
+
|
39
|
+
static fromPoints(a: Point, b: Point): Vector {
|
40
|
+
return new Vector(b.x - a.x, b.y - a.y);
|
41
|
+
}
|
42
|
+
|
43
|
+
unit(): Vector {
|
44
|
+
const norm = Math.sqrt(this.x * this.x + this.y * this.y);
|
45
|
+
return new Vector(this.x / norm, this.y / norm);
|
46
|
+
}
|
47
|
+
|
48
|
+
normal(other: Vector): Vector {
|
49
|
+
return new Vector(other.y - this.y, -(other.x - this.x));
|
50
|
+
}
|
51
|
+
|
52
|
+
dotProduct(other: Vector): number {
|
53
|
+
return this.x * other.x + this.y * other.y;
|
54
|
+
}
|
55
|
+
}
|
24
56
|
|
25
57
|
/**
|
26
58
|
* Get absolute position of element on the screen by recursively walking up element tree
|
@@ -49,7 +81,11 @@ export const cleanUpDeadReferencesInDiagram = (
|
|
49
81
|
// Delete orphan property views
|
50
82
|
const propertyViewsToRemove = diagram.propertyViews.filter(
|
51
83
|
(propertyView) =>
|
52
|
-
!
|
84
|
+
!(
|
85
|
+
propertyView.property.ownerReference.value instanceof Class
|
86
|
+
? getAllOwnClassProperties(propertyView.property.ownerReference.value)
|
87
|
+
: propertyView.property.ownerReference.value.properties
|
88
|
+
)
|
53
89
|
.map((property) => property.name)
|
54
90
|
.includes(propertyView.property.value.name),
|
55
91
|
);
|
@@ -110,15 +146,15 @@ export const _relationshipView_simplifyPath = (
|
|
110
146
|
// if it does we will update the offset
|
111
147
|
if (newPath[0] !== fullPath[0]) {
|
112
148
|
const center = relationshipView.from.classView.value.center();
|
113
|
-
relationshipView.from.
|
114
|
-
relationshipView.from.
|
149
|
+
relationshipView.from._offsetX = (newPath[0] as Point).x - center.x;
|
150
|
+
relationshipView.from._offsetY = (newPath[0] as Point).y - center.y;
|
115
151
|
}
|
116
152
|
|
117
153
|
if (newPath[newPath.length - 1] !== fullPath[fullPath.length - 1]) {
|
118
154
|
const center = relationshipView.to.classView.value.center();
|
119
|
-
relationshipView.to.
|
155
|
+
relationshipView.to._offsetX =
|
120
156
|
(newPath[newPath.length - 1] as Point).x - center.x;
|
121
|
-
relationshipView.to.
|
157
|
+
relationshipView.to._offsetY =
|
122
158
|
(newPath[newPath.length - 1] as Point).y - center.y;
|
123
159
|
}
|
124
160
|
|
@@ -199,3 +235,58 @@ export const _findOrBuildPoint = (
|
|
199
235
|
}
|
200
236
|
return point;
|
201
237
|
};
|
238
|
+
|
239
|
+
export const rotatePointX = (point: Point, angle: number): number =>
|
240
|
+
point.x * Math.cos(angle) - point.y * Math.sin(angle);
|
241
|
+
|
242
|
+
export const rotatePointY = (point: Point, angle: number): number =>
|
243
|
+
point.x * Math.sin(angle) + point.y * Math.cos(angle);
|
244
|
+
|
245
|
+
export const getBottomRightCornerPoint = (pR: PositionedRectangle): Point =>
|
246
|
+
new Point(
|
247
|
+
pR.position.x + pR.rectangle.width,
|
248
|
+
pR.position.y + pR.rectangle.height,
|
249
|
+
);
|
250
|
+
|
251
|
+
/**
|
252
|
+
* Build a small box at the bottom right corner of the rectangle so we
|
253
|
+
* can use that for selection to resize the box
|
254
|
+
*/
|
255
|
+
export const buildBottomRightCornerBox = (
|
256
|
+
pR: PositionedRectangle,
|
257
|
+
): PositionedRectangle => {
|
258
|
+
const bottomRightCornerPoint = getBottomRightCornerPoint(pR);
|
259
|
+
const boxSize = 10;
|
260
|
+
return new PositionedRectangle(
|
261
|
+
new Point(
|
262
|
+
bottomRightCornerPoint.x - boxSize / 2,
|
263
|
+
bottomRightCornerPoint.y - boxSize / 2,
|
264
|
+
),
|
265
|
+
new Rectangle(boxSize, boxSize),
|
266
|
+
);
|
267
|
+
};
|
268
|
+
|
269
|
+
/**
|
270
|
+
* Check if a box contains another box
|
271
|
+
*/
|
272
|
+
export const boxContains = (
|
273
|
+
box: PositionedRectangle,
|
274
|
+
otherBox: PositionedRectangle,
|
275
|
+
): boolean => {
|
276
|
+
otherBox = box.normalizeBox(otherBox);
|
277
|
+
return (
|
278
|
+
box.contains(otherBox.position.x, otherBox.position.y) ||
|
279
|
+
box.contains(
|
280
|
+
otherBox.position.x + otherBox.rectangle.width,
|
281
|
+
otherBox.position.y,
|
282
|
+
) ||
|
283
|
+
box.contains(
|
284
|
+
otherBox.position.x,
|
285
|
+
otherBox.position.y + otherBox.rectangle.height,
|
286
|
+
) ||
|
287
|
+
box.contains(
|
288
|
+
otherBox.position.x + otherBox.rectangle.width,
|
289
|
+
otherBox.position.y + otherBox.rectangle.height,
|
290
|
+
)
|
291
|
+
);
|
292
|
+
};
|
package/src/index.ts
CHANGED
@@ -14,25 +14,28 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
|
17
|
-
export * from './DSLDiagram_Extension';
|
18
|
-
export { DSLDiagram_LegendStudioPlugin } from './components/studio/DSLDiagram_LegendStudioPlugin';
|
19
|
-
export * from './components/studio/DSLDiagram_LegendStudioPlugin_Extension';
|
17
|
+
export * from './DSLDiagram_Extension.js';
|
18
|
+
export { DSLDiagram_LegendStudioPlugin } from './components/studio/DSLDiagram_LegendStudioPlugin.js';
|
19
|
+
export * from './components/studio/DSLDiagram_LegendStudioPlugin_Extension.js';
|
20
20
|
|
21
|
-
export { DiagramEditorState } from './stores/studio/DiagramEditorState';
|
21
|
+
export { DiagramEditorState } from './stores/studio/DiagramEditorState.js';
|
22
22
|
|
23
|
-
export {
|
23
|
+
export {
|
24
|
+
DiagramRenderer,
|
25
|
+
DIAGRAM_INTERACTION_MODE,
|
26
|
+
} from './DiagramRenderer.js';
|
24
27
|
|
25
|
-
export { Diagram } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram';
|
26
|
-
export { ClassView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView';
|
27
|
-
export { RelationshipView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipView';
|
28
|
-
export { PropertyHolderView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyHolderView';
|
29
|
-
export { PropertyView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyView';
|
30
|
-
export { AssociationView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_AssociationView';
|
31
|
-
export { GeneralizationView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_GeneralizationView';
|
32
|
-
export { Point } from './models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Point';
|
33
|
-
export { Rectangle } from './models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Rectangle';
|
34
|
-
export { PositionedRectangle } from './models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_PositionedRectangle';
|
28
|
+
export { Diagram } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram.js';
|
29
|
+
export { ClassView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView.js';
|
30
|
+
export { RelationshipView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipView.js';
|
31
|
+
export { PropertyHolderView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyHolderView.js';
|
32
|
+
export { PropertyView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyView.js';
|
33
|
+
export { AssociationView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_AssociationView.js';
|
34
|
+
export { GeneralizationView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_GeneralizationView.js';
|
35
|
+
export { Point } from './models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Point.js';
|
36
|
+
export { Rectangle } from './models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_Rectangle.js';
|
37
|
+
export { PositionedRectangle } from './models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_PositionedRectangle.js';
|
35
38
|
|
36
|
-
export * from './helpers/
|
37
|
-
export * from './graphManager/DSLDiagram_GraphManagerHelper';
|
38
|
-
export { V1_DSLDiagram_PackageableElementPointerType } from './models/protocols/pure/DSLDiagram_PureProtocolProcessorPlugin';
|
39
|
+
export * from './helpers/DSLDiagram_Helper.js';
|
40
|
+
export * from './graphManager/DSLDiagram_GraphManagerHelper.js';
|
41
|
+
export { V1_DSLDiagram_PackageableElementPointerType } from './models/protocols/pure/DSLDiagram_PureProtocolProcessorPlugin.js';
|
package/src/models/metamodels/pure/packageableElements/diagram/DSLDiagram_AssociationView.ts
CHANGED
@@ -15,10 +15,10 @@
|
|
15
15
|
*/
|
16
16
|
|
17
17
|
import { hashArray, type Hashable } from '@finos/legend-shared';
|
18
|
-
import { PropertyHolderView } from './DSLDiagram_PropertyHolderView';
|
19
|
-
import type { ClassView } from './DSLDiagram_ClassView';
|
20
|
-
import type { Diagram } from './DSLDiagram_Diagram';
|
21
|
-
import { DIAGRAM_HASH_STRUCTURE } from '../../../../DSLDiagram_ModelUtils';
|
18
|
+
import { PropertyHolderView } from './DSLDiagram_PropertyHolderView.js';
|
19
|
+
import type { ClassView } from './DSLDiagram_ClassView.js';
|
20
|
+
import type { Diagram } from './DSLDiagram_Diagram.js';
|
21
|
+
import { DIAGRAM_HASH_STRUCTURE } from '../../../../DSLDiagram_ModelUtils.js';
|
22
22
|
import type {
|
23
23
|
Association,
|
24
24
|
PackageableElementReference,
|
@@ -15,11 +15,11 @@
|
|
15
15
|
*/
|
16
16
|
|
17
17
|
import { hashArray, type Hashable } from '@finos/legend-shared';
|
18
|
-
import { PositionedRectangle } from './geometry/DSLDiagram_PositionedRectangle';
|
19
|
-
import { Rectangle } from './geometry/DSLDiagram_Rectangle';
|
20
|
-
import { Point } from './geometry/DSLDiagram_Point';
|
21
|
-
import type { Diagram } from './DSLDiagram_Diagram';
|
22
|
-
import { DIAGRAM_HASH_STRUCTURE } from '../../../../DSLDiagram_ModelUtils';
|
18
|
+
import { PositionedRectangle } from './geometry/DSLDiagram_PositionedRectangle.js';
|
19
|
+
import { Rectangle } from './geometry/DSLDiagram_Rectangle.js';
|
20
|
+
import { Point } from './geometry/DSLDiagram_Point.js';
|
21
|
+
import type { Diagram } from './DSLDiagram_Diagram.js';
|
22
|
+
import { DIAGRAM_HASH_STRUCTURE } from '../../../../DSLDiagram_ModelUtils.js';
|
23
23
|
import type { Class, PackageableElementReference } from '@finos/legend-graph';
|
24
24
|
|
25
25
|
export class ClassView extends PositionedRectangle implements Hashable {
|