@finos/legend-extension-dsl-diagram 1.0.26 → 1.0.29
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/DiagramRenderer.d.ts +1 -1
- package/lib/DiagramRenderer.d.ts.map +1 -1
- package/lib/DiagramRenderer.js +56 -54
- 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/DiagramEditor.d.ts +1 -0
- package/lib/components/studio/DiagramEditor.d.ts.map +1 -1
- package/lib/components/studio/DiagramEditor.js +10 -9
- package/lib/components/studio/DiagramEditor.js.map +1 -1
- package/lib/helpers/DiagramHelper.d.ts.map +1 -1
- package/lib/helpers/DiagramHelper.js +4 -3
- package/lib/helpers/DiagramHelper.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView.d.ts +0 -3
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView.js +1 -13
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassViewReference.d.ts +0 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassViewReference.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassViewReference.js +2 -7
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassViewReference.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram.d.ts +0 -11
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram.js +2 -46
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_GraphModifierHelper.d.ts +35 -0
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_GraphModifierHelper.d.ts.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_GraphModifierHelper.js +118 -0
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_GraphModifierHelper.js.map +1 -0
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipEdgeView.d.ts +0 -2
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipEdgeView.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipEdgeView.js +1 -9
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipEdgeView.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipView.d.ts +0 -17
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipView.d.ts.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipView.js +6 -109
- package/lib/models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipView.js.map +1 -1
- package/lib/models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_PositionedRectangle.d.ts +0 -8
- 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 +1 -16
- package/lib/models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_PositionedRectangle.js.map +1 -1
- 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 +3 -2
- package/lib/models/protocols/pure/v1/transformation/pureGraph/V1_DSLDiagram_GraphBuilderHelper.js.map +1 -1
- package/lib/package.json +4 -4
- package/lib/stores/studio/DSLDiagram_ModifierHelper.d.ts +54 -0
- package/lib/stores/studio/DSLDiagram_ModifierHelper.d.ts.map +1 -0
- package/lib/stores/studio/DSLDiagram_ModifierHelper.js +87 -0
- package/lib/stores/studio/DSLDiagram_ModifierHelper.js.map +1 -0
- 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 +10 -10
- package/src/DiagramRenderer.ts +125 -58
- package/src/components/studio/DiagramEditor.tsx +16 -11
- package/src/helpers/DiagramHelper.ts +4 -3
- package/src/index.ts +2 -4
- package/src/models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView.ts +1 -14
- package/src/models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassViewReference.ts +1 -8
- package/src/models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram.ts +2 -52
- package/src/models/metamodels/pure/packageableElements/diagram/DSLDiagram_GraphModifierHelper.ts +165 -0
- package/src/models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipEdgeView.ts +1 -10
- package/src/models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipView.ts +6 -147
- package/src/models/metamodels/pure/packageableElements/diagram/geometry/DSLDiagram_PositionedRectangle.ts +1 -17
- package/src/models/protocols/pure/v1/transformation/pureGraph/V1_DSLDiagram_GraphBuilderHelper.ts +3 -2
- package/src/stores/studio/DSLDiagram_ModifierHelper.ts +148 -0
- package/src/stores/studio/DiagramEditorState.ts +2 -2
- package/tsconfig.json +2 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DiagramEditorState.d.ts","sourceRoot":"","sources":["../../../src/stores/studio/DiagramEditorState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,EACL,KAAK,eAAe,EAErB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAuB,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,
|
1
|
+
{"version":3,"file":"DiagramEditorState.d.ts","sourceRoot":"","sources":["../../../src/stores/studio/DiagramEditorState.ts"],"names":[],"mappings":"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"}
|
@@ -17,8 +17,8 @@ import { computed, action, makeObservable, observable } from 'mobx';
|
|
17
17
|
import { guaranteeNonNullable, guaranteeType, uuid, } from '@finos/legend-shared';
|
18
18
|
import { DIAGRAM_INTERACTION_MODE, } from '../../DiagramRenderer';
|
19
19
|
import { HotkeyConfiguration, PanelDisplayState } from '@finos/legend-art';
|
20
|
-
import { GenericTypeExplicitReference, PRIMITIVE_TYPE, TYPICAL_MULTIPLICITY_TYPE, Property, GenericType, PropertyExplicitReference,
|
21
|
-
import { ClassEditorState, ElementEditorState, } from '@finos/legend-studio';
|
20
|
+
import { GenericTypeExplicitReference, PRIMITIVE_TYPE, TYPICAL_MULTIPLICITY_TYPE, Property, GenericType, PropertyExplicitReference, } from '@finos/legend-graph';
|
21
|
+
import { ClassEditorState, ElementEditorState, class_addProperty, } from '@finos/legend-studio';
|
22
22
|
import { Diagram } from '../../models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram';
|
23
23
|
var DIAGRAM_EDITOR_HOTKEY;
|
24
24
|
(function (DIAGRAM_EDITOR_HOTKEY) {
|
@@ -284,7 +284,7 @@ export class DiagramEditorState extends ElementEditorState {
|
|
284
284
|
this.renderer.handleAddSimpleProperty = (classView) => {
|
285
285
|
if (!this.isReadOnly && !classView.class.value.isReadOnly) {
|
286
286
|
const _class = classView.class.value;
|
287
|
-
|
287
|
+
class_addProperty(_class, new Property(`property_${_class.properties.length + 1}`, this.editorStore.graphManagerState.graph.getTypicalMultiplicity(TYPICAL_MULTIPLICITY_TYPE.ONE), GenericTypeExplicitReference.create(new GenericType(this.editorStore.graphManagerState.graph.getPrimitiveType(PRIMITIVE_TYPE.STRING))), _class));
|
288
288
|
this.renderer.render();
|
289
289
|
}
|
290
290
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DiagramEditorState.js","sourceRoot":"","sources":["../../../src/stores/studio/DiagramEditorState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACpE,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,IAAI,GACL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAIL,4BAA4B,EAC5B,cAAc,EACd,yBAAyB,EACzB,QAAQ,EACR,WAAW,EACX,yBAAyB,
|
1
|
+
{"version":3,"file":"DiagramEditorState.js","sourceRoot":"","sources":["../../../src/stores/studio/DiagramEditorState.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@finos/legend-extension-dsl-diagram",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.29",
|
4
4
|
"description": "Legend extension for Diagram DSL",
|
5
5
|
"keywords": [
|
6
6
|
"legend",
|
@@ -31,7 +31,7 @@
|
|
31
31
|
"clean:cache": "rimraf \"build\"",
|
32
32
|
"clean:lib": "rimraf \"lib\"",
|
33
33
|
"dev": "npm-run-all --parallel dev:sass dev:ts",
|
34
|
-
"dev:sass": "sass style
|
34
|
+
"dev:sass": "sass style:lib --watch --load-path=../../node_modules/@finos/legend-art/scss",
|
35
35
|
"dev:ts": "tsc --watch --preserveWatchOutput",
|
36
36
|
"lint:js": "cross-env NODE_ENV=production eslint --cache --cache-location ./build/.eslintcache --report-unused-disable-directives --parser-options=project:\"./tsconfig.json\" \"./src/**/*.{js,ts,tsx}\"",
|
37
37
|
"publish:prepare": "node ../../scripts/release/preparePublishContent.js",
|
@@ -40,23 +40,23 @@
|
|
40
40
|
"test:watch": "jest --watch"
|
41
41
|
},
|
42
42
|
"dependencies": {
|
43
|
-
"@finos/legend-application": "2.0.
|
44
|
-
"@finos/legend-art": "0.3.
|
45
|
-
"@finos/legend-graph": "2.1.
|
46
|
-
"@finos/legend-model-storage": "0.0.
|
43
|
+
"@finos/legend-application": "2.0.8",
|
44
|
+
"@finos/legend-art": "0.3.13",
|
45
|
+
"@finos/legend-graph": "2.1.3",
|
46
|
+
"@finos/legend-model-storage": "0.0.26",
|
47
47
|
"@finos/legend-shared": "1.2.7",
|
48
|
-
"@finos/legend-studio": "5.1.
|
48
|
+
"@finos/legend-studio": "5.1.3",
|
49
49
|
"@types/react": "17.0.43",
|
50
50
|
"mobx": "6.5.0",
|
51
51
|
"mobx-react-lite": "3.3.0",
|
52
52
|
"react": "17.0.2",
|
53
|
-
"react-dnd": "15.1.
|
53
|
+
"react-dnd": "15.1.2",
|
54
54
|
"react-dom": "17.0.2",
|
55
55
|
"react-resize-detector": "7.0.0",
|
56
56
|
"serializr": "2.0.5"
|
57
57
|
},
|
58
58
|
"devDependencies": {
|
59
|
-
"@finos/legend-dev-utils": "0.3.
|
59
|
+
"@finos/legend-dev-utils": "0.3.17",
|
60
60
|
"@testing-library/react": "12.1.4",
|
61
61
|
"cross-env": "7.0.3",
|
62
62
|
"eslint": "8.12.0",
|
@@ -64,7 +64,7 @@
|
|
64
64
|
"jest-canvas-mock": "2.3.1",
|
65
65
|
"npm-run-all": "4.1.5",
|
66
66
|
"rimraf": "3.0.2",
|
67
|
-
"sass": "1.49.
|
67
|
+
"sass": "1.49.11",
|
68
68
|
"typescript": "4.6.3"
|
69
69
|
},
|
70
70
|
"peerDependencies": {
|
package/src/DiagramRenderer.ts
CHANGED
@@ -36,8 +36,6 @@ import {
|
|
36
36
|
GenericType,
|
37
37
|
Property,
|
38
38
|
Multiplicity,
|
39
|
-
addClassProperty,
|
40
|
-
addClassSuperType,
|
41
39
|
} from '@finos/legend-graph';
|
42
40
|
import { action, makeObservable, observable } from 'mobx';
|
43
41
|
import type { Diagram } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_Diagram';
|
@@ -47,13 +45,37 @@ import { PositionedRectangle } from './models/metamodels/pure/packageableElement
|
|
47
45
|
import { ClassView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_ClassView';
|
48
46
|
import type { PropertyHolderView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyHolderView';
|
49
47
|
import { GeneralizationView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_GeneralizationView';
|
50
|
-
import {
|
51
|
-
type RelationshipView,
|
52
|
-
manageInsidePointsDynamically,
|
53
|
-
} from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipView';
|
48
|
+
import type { RelationshipView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_RelationshipView';
|
54
49
|
import { PropertyView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_PropertyView';
|
55
50
|
import { getElementPosition } from './helpers/DiagramHelper';
|
56
51
|
import { AssociationView } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_AssociationView';
|
52
|
+
import { class_addProperty, class_addSuperType } from '@finos/legend-studio';
|
53
|
+
import {
|
54
|
+
classView_setHideProperties,
|
55
|
+
classView_setHideStereotypes,
|
56
|
+
classView_setHideTaggedValues,
|
57
|
+
diagram_addClassView,
|
58
|
+
diagram_addGeneralizationView,
|
59
|
+
diagram_addPropertyView,
|
60
|
+
diagram_deleteAssociationView,
|
61
|
+
diagram_deleteClassView,
|
62
|
+
diagram_deleteGeneralizationView,
|
63
|
+
diagram_deletePropertyView,
|
64
|
+
diagram_setAssociationViews,
|
65
|
+
diagram_setClassViews,
|
66
|
+
diagram_setGeneralizationViews,
|
67
|
+
diagram_setPropertyViews,
|
68
|
+
findOrBuildPoint,
|
69
|
+
positionedRectangle_forceRefreshHash,
|
70
|
+
positionedRectangle_setPosition,
|
71
|
+
positionedRectangle_setRectangle,
|
72
|
+
relationShipEdgeView_setOffsetX,
|
73
|
+
relationShipEdgeView_setOffsetY,
|
74
|
+
relationshipView_changePoint,
|
75
|
+
relationView_possiblyFlattenPath,
|
76
|
+
relationView_setPath,
|
77
|
+
} from './stores/studio/DSLDiagram_ModifierHelper';
|
78
|
+
import { _relationView_manageInsidePointsDynamically } from './models/metamodels/pure/packageableElements/diagram/DSLDiagram_GraphModifierHelper';
|
57
79
|
|
58
80
|
export enum DIAGRAM_INTERACTION_MODE {
|
59
81
|
LAYOUT,
|
@@ -582,7 +604,7 @@ export class DiagramRenderer {
|
|
582
604
|
startClassView.class.value,
|
583
605
|
)
|
584
606
|
) {
|
585
|
-
|
607
|
+
class_addSuperType(
|
586
608
|
startClassView.class.value,
|
587
609
|
GenericTypeExplicitReference.create(
|
588
610
|
new GenericType(targetClassView.class.value),
|
@@ -602,7 +624,7 @@ export class DiagramRenderer {
|
|
602
624
|
startClassView,
|
603
625
|
targetClassView,
|
604
626
|
);
|
605
|
-
this.diagram
|
627
|
+
diagram_addGeneralizationView(this.diagram, gview);
|
606
628
|
return gview;
|
607
629
|
}
|
608
630
|
return undefined;
|
@@ -622,7 +644,7 @@ export class DiagramRenderer {
|
|
622
644
|
),
|
623
645
|
startClassView.class.value,
|
624
646
|
);
|
625
|
-
|
647
|
+
class_addProperty(startClassView.class.value, property);
|
626
648
|
// only create property view if the classviews are different
|
627
649
|
// else we end up with a weird rendering where the property view
|
628
650
|
// is not targetable
|
@@ -633,7 +655,7 @@ export class DiagramRenderer {
|
|
633
655
|
startClassView,
|
634
656
|
targetClassView,
|
635
657
|
);
|
636
|
-
this.diagram
|
658
|
+
diagram_addPropertyView(this.diagram, pView);
|
637
659
|
return pView;
|
638
660
|
}
|
639
661
|
return undefined;
|
@@ -725,7 +747,7 @@ export class DiagramRenderer {
|
|
725
747
|
.concat(this.diagram.propertyViews);
|
726
748
|
for (const relationshipView of relationshipViews) {
|
727
749
|
let fullPath = relationshipView.buildFullPath();
|
728
|
-
fullPath =
|
750
|
+
fullPath = _relationView_manageInsidePointsDynamically(
|
729
751
|
fullPath,
|
730
752
|
relationshipView.from.classView.value,
|
731
753
|
relationshipView.to.classView.value,
|
@@ -861,7 +883,8 @@ export class DiagramRenderer {
|
|
861
883
|
id,
|
862
884
|
PackageableElementExplicitReference.create(addedClass),
|
863
885
|
);
|
864
|
-
|
886
|
+
positionedRectangle_setPosition(
|
887
|
+
newClassView,
|
865
888
|
classViewModelCoordinate ??
|
866
889
|
this.canvasCoordinateToModelCoordinate(
|
867
890
|
new Point(
|
@@ -872,10 +895,10 @@ export class DiagramRenderer {
|
|
872
895
|
),
|
873
896
|
),
|
874
897
|
);
|
875
|
-
this.diagram
|
898
|
+
diagram_addClassView(this.diagram, newClassView);
|
876
899
|
// Refresh hash since ClassView position is not observable
|
877
900
|
// NOTE: here we refresh after adding the class view to the diagram, that way the diagram hash is refreshed
|
878
|
-
newClassView
|
901
|
+
positionedRectangle_forceRefreshHash(newClassView);
|
879
902
|
this.diagram.classViews
|
880
903
|
.filter((classView) => classView.class.value !== addedClass)
|
881
904
|
.forEach((classView) => {
|
@@ -886,7 +909,8 @@ export class DiagramRenderer {
|
|
886
909
|
.map((generalization) => generalization.value.rawType)
|
887
910
|
.includes(_class)
|
888
911
|
) {
|
889
|
-
|
912
|
+
diagram_addGeneralizationView(
|
913
|
+
this.diagram,
|
890
914
|
new GeneralizationView(this.diagram, newClassView, classView),
|
891
915
|
);
|
892
916
|
}
|
@@ -895,14 +919,18 @@ export class DiagramRenderer {
|
|
895
919
|
.map((generalization) => generalization.value.rawType)
|
896
920
|
.includes(addedClass)
|
897
921
|
) {
|
898
|
-
|
922
|
+
diagram_addGeneralizationView(
|
923
|
+
this.diagram,
|
924
|
+
|
899
925
|
new GeneralizationView(this.diagram, classView, newClassView),
|
900
926
|
);
|
901
927
|
}
|
902
928
|
// Add property view
|
903
929
|
addedClass.getAllOwnedProperties().forEach((property) => {
|
904
930
|
if (property.genericType.value.rawType === _class) {
|
905
|
-
|
931
|
+
diagram_addPropertyView(
|
932
|
+
this.diagram,
|
933
|
+
|
906
934
|
new PropertyView(
|
907
935
|
this.diagram,
|
908
936
|
PropertyExplicitReference.create(property),
|
@@ -914,7 +942,8 @@ export class DiagramRenderer {
|
|
914
942
|
});
|
915
943
|
_class.getAllOwnedProperties().forEach((property) => {
|
916
944
|
if (property.genericType.value.rawType === addedClass) {
|
917
|
-
|
945
|
+
diagram_addPropertyView(
|
946
|
+
this.diagram,
|
918
947
|
new PropertyView(
|
919
948
|
this.diagram,
|
920
949
|
PropertyExplicitReference.create(property),
|
@@ -1453,7 +1482,7 @@ export class DiagramRenderer {
|
|
1453
1482
|
classView.rectangle.height > classMinHeight
|
1454
1483
|
? classView.rectangle.height
|
1455
1484
|
: classMinHeight;
|
1456
|
-
classView
|
1485
|
+
positionedRectangle_setRectangle(classView, new Rectangle(width, height));
|
1457
1486
|
}
|
1458
1487
|
}
|
1459
1488
|
|
@@ -1631,7 +1660,7 @@ export class DiagramRenderer {
|
|
1631
1660
|
// NOTE: force hash reload when we redraw class view; this would help with cases where
|
1632
1661
|
// we auto add new properties to the class view, causing the box to expand, hence we need
|
1633
1662
|
// to recompute hash
|
1634
|
-
classView
|
1663
|
+
positionedRectangle_forceRefreshHash(classView);
|
1635
1664
|
}
|
1636
1665
|
|
1637
1666
|
private drawLinePropertyNameAndMultiplicity(
|
@@ -1795,7 +1824,7 @@ export class DiagramRenderer {
|
|
1795
1824
|
|
1796
1825
|
private drawPropertyOrAssociation(propertyView: PropertyView): void {
|
1797
1826
|
let fullPath = propertyView.buildFullPath();
|
1798
|
-
fullPath =
|
1827
|
+
fullPath = _relationView_manageInsidePointsDynamically(
|
1799
1828
|
fullPath,
|
1800
1829
|
propertyView.from.classView.value,
|
1801
1830
|
propertyView.to.classView.value,
|
@@ -1886,7 +1915,7 @@ export class DiagramRenderer {
|
|
1886
1915
|
private drawInheritance(inheritance: GeneralizationView): void {
|
1887
1916
|
const rect = inheritance.to.classView.value.rectangle;
|
1888
1917
|
let fullPath = inheritance.buildFullPath();
|
1889
|
-
fullPath =
|
1918
|
+
fullPath = _relationView_manageInsidePointsDynamically(
|
1890
1919
|
fullPath,
|
1891
1920
|
inheritance.from.classView.value,
|
1892
1921
|
inheritance.to.classView.value,
|
@@ -2044,7 +2073,8 @@ export class DiagramRenderer {
|
|
2044
2073
|
selectedClasses.indexOf(assoView.from.classView.value) !== -1 &&
|
2045
2074
|
selectedClasses.indexOf(assoView.to.classView.value) !== -1
|
2046
2075
|
) {
|
2047
|
-
|
2076
|
+
relationView_setPath(
|
2077
|
+
assoView,
|
2048
2078
|
assoView.path.map(
|
2049
2079
|
(point) =>
|
2050
2080
|
new Point(point.x - newMovingDeltaX, point.y - newMovingDeltaY),
|
@@ -2059,8 +2089,10 @@ export class DiagramRenderer {
|
|
2059
2089
|
if ('Delete' === e.key) {
|
2060
2090
|
if (!this.isReadOnly) {
|
2061
2091
|
this.selectedClasses.forEach((classView) => {
|
2062
|
-
this.diagram
|
2063
|
-
|
2092
|
+
diagram_deleteClassView(this.diagram, classView);
|
2093
|
+
diagram_setAssociationViews(
|
2094
|
+
this.diagram,
|
2095
|
+
|
2064
2096
|
this.diagram.associationViews.filter(
|
2065
2097
|
(associationView) =>
|
2066
2098
|
!(
|
@@ -2069,7 +2101,9 @@ export class DiagramRenderer {
|
|
2069
2101
|
),
|
2070
2102
|
),
|
2071
2103
|
);
|
2072
|
-
|
2104
|
+
diagram_setGeneralizationViews(
|
2105
|
+
this.diagram,
|
2106
|
+
|
2073
2107
|
this.diagram.generalizationViews.filter(
|
2074
2108
|
(generalizationView) =>
|
2075
2109
|
!(
|
@@ -2078,7 +2112,9 @@ export class DiagramRenderer {
|
|
2078
2112
|
),
|
2079
2113
|
),
|
2080
2114
|
);
|
2081
|
-
|
2115
|
+
diagram_setPropertyViews(
|
2116
|
+
this.diagram,
|
2117
|
+
|
2082
2118
|
this.diagram.propertyViews.filter(
|
2083
2119
|
(propertyView) =>
|
2084
2120
|
!(
|
@@ -2089,11 +2125,16 @@ export class DiagramRenderer {
|
|
2089
2125
|
);
|
2090
2126
|
});
|
2091
2127
|
if (this.selectedPropertyOrAssociation instanceof AssociationView) {
|
2092
|
-
|
2128
|
+
diagram_deleteAssociationView(
|
2129
|
+
this.diagram,
|
2130
|
+
|
2093
2131
|
this.selectedPropertyOrAssociation,
|
2094
2132
|
);
|
2095
2133
|
} else if (this.selectedPropertyOrAssociation instanceof PropertyView) {
|
2096
|
-
|
2134
|
+
diagram_deletePropertyView(
|
2135
|
+
this.diagram,
|
2136
|
+
this.selectedPropertyOrAssociation,
|
2137
|
+
);
|
2097
2138
|
}
|
2098
2139
|
if (this.selectedInheritance) {
|
2099
2140
|
if (
|
@@ -2102,7 +2143,10 @@ export class DiagramRenderer {
|
|
2102
2143
|
generalizationView === this.selectedInheritance,
|
2103
2144
|
)
|
2104
2145
|
) {
|
2105
|
-
|
2146
|
+
diagram_deleteGeneralizationView(
|
2147
|
+
this.diagram,
|
2148
|
+
this.selectedInheritance,
|
2149
|
+
);
|
2106
2150
|
}
|
2107
2151
|
}
|
2108
2152
|
this.selectedClasses = [];
|
@@ -2209,7 +2253,7 @@ export class DiagramRenderer {
|
|
2209
2253
|
if (!this.isReadOnly) {
|
2210
2254
|
if (this.selectedClasses.length !== 0) {
|
2211
2255
|
this.selectedClasses.forEach((classView) => {
|
2212
|
-
classView
|
2256
|
+
classView_setHideProperties(classView, !classView.hideProperties);
|
2213
2257
|
});
|
2214
2258
|
this.drawScreen();
|
2215
2259
|
}
|
@@ -2220,7 +2264,7 @@ export class DiagramRenderer {
|
|
2220
2264
|
if (!this.isReadOnly) {
|
2221
2265
|
if (this.selectedClasses.length !== 0) {
|
2222
2266
|
this.selectedClasses.forEach((classView) => {
|
2223
|
-
classView
|
2267
|
+
classView_setHideStereotypes(classView, !classView.hideStereotypes);
|
2224
2268
|
});
|
2225
2269
|
this.drawScreen();
|
2226
2270
|
}
|
@@ -2231,7 +2275,10 @@ export class DiagramRenderer {
|
|
2231
2275
|
if (!this.isReadOnly) {
|
2232
2276
|
if (this.selectedClasses.length !== 0) {
|
2233
2277
|
this.selectedClasses.forEach((classView) => {
|
2234
|
-
|
2278
|
+
classView_setHideTaggedValues(
|
2279
|
+
classView,
|
2280
|
+
!classView.hideTaggedValues,
|
2281
|
+
);
|
2235
2282
|
});
|
2236
2283
|
this.drawScreen();
|
2237
2284
|
}
|
@@ -2286,8 +2333,8 @@ export class DiagramRenderer {
|
|
2286
2333
|
1,
|
2287
2334
|
);
|
2288
2335
|
const res = this.layoutTaxonomy(views, this.diagram, false, true);
|
2289
|
-
res[0].forEach((cv) => this.diagram
|
2290
|
-
res[1].forEach((gv) => this.diagram
|
2336
|
+
res[0].forEach((cv) => diagram_addClassView(this.diagram, cv));
|
2337
|
+
res[1].forEach((gv) => diagram_addGeneralizationView(this.diagram, gv));
|
2291
2338
|
|
2292
2339
|
this.drawScreen();
|
2293
2340
|
}
|
@@ -2319,8 +2366,8 @@ export class DiagramRenderer {
|
|
2319
2366
|
false,
|
2320
2367
|
false,
|
2321
2368
|
);
|
2322
|
-
res[0].forEach((cv) => this.diagram
|
2323
|
-
res[1].forEach((gv) => this.diagram
|
2369
|
+
res[0].forEach((cv) => diagram_addClassView(this.diagram, cv));
|
2370
|
+
res[1].forEach((gv) => diagram_addGeneralizationView(this.diagram, gv));
|
2324
2371
|
}
|
2325
2372
|
|
2326
2373
|
this.drawScreen();
|
@@ -2332,13 +2379,13 @@ export class DiagramRenderer {
|
|
2332
2379
|
switch (this.interactionMode) {
|
2333
2380
|
case DIAGRAM_INTERACTION_MODE.LAYOUT: {
|
2334
2381
|
this.diagram.generalizationViews.forEach((generalizationView) =>
|
2335
|
-
generalizationView
|
2382
|
+
relationView_possiblyFlattenPath(generalizationView),
|
2336
2383
|
);
|
2337
2384
|
this.diagram.associationViews.forEach((associationView) =>
|
2338
|
-
associationView
|
2385
|
+
relationView_possiblyFlattenPath(associationView),
|
2339
2386
|
);
|
2340
2387
|
this.diagram.propertyViews.forEach((propertyView) =>
|
2341
|
-
propertyView
|
2388
|
+
relationView_possiblyFlattenPath(propertyView),
|
2342
2389
|
);
|
2343
2390
|
break;
|
2344
2391
|
}
|
@@ -2426,28 +2473,32 @@ export class DiagramRenderer {
|
|
2426
2473
|
);
|
2427
2474
|
|
2428
2475
|
if (gview) {
|
2429
|
-
|
2476
|
+
relationShipEdgeView_setOffsetX(
|
2477
|
+
gview.from,
|
2430
2478
|
-(
|
2431
2479
|
this.startClassView.position.x +
|
2432
2480
|
this.startClassView.rectangle.width / 2 -
|
2433
2481
|
this.selectionStart.x
|
2434
2482
|
),
|
2435
2483
|
);
|
2436
|
-
|
2484
|
+
relationShipEdgeView_setOffsetY(
|
2485
|
+
gview.from,
|
2437
2486
|
-(
|
2438
2487
|
this.startClassView.position.y +
|
2439
2488
|
this.startClassView.rectangle.height / 2 -
|
2440
2489
|
this.selectionStart.y
|
2441
2490
|
),
|
2442
2491
|
);
|
2443
|
-
|
2492
|
+
relationShipEdgeView_setOffsetX(
|
2493
|
+
gview.to,
|
2444
2494
|
-(
|
2445
2495
|
targetClassView.position.x +
|
2446
2496
|
targetClassView.rectangle.width / 2 -
|
2447
2497
|
eventPointInModelCoordinate.x
|
2448
2498
|
),
|
2449
2499
|
);
|
2450
|
-
|
2500
|
+
relationShipEdgeView_setOffsetY(
|
2501
|
+
gview.to,
|
2451
2502
|
-(
|
2452
2503
|
targetClassView.position.y +
|
2453
2504
|
targetClassView.rectangle.height / 2 -
|
@@ -2592,7 +2643,8 @@ export class DiagramRenderer {
|
|
2592
2643
|
this.setSelectedClassCorner(this.diagram.classViews[i]);
|
2593
2644
|
if (!this.isReadOnly) {
|
2594
2645
|
// Bring the class view to front
|
2595
|
-
|
2646
|
+
diagram_setClassViews(
|
2647
|
+
this.diagram,
|
2596
2648
|
this.reorderDiagramDomain(
|
2597
2649
|
guaranteeNonNullable(this.selectedClassCorner),
|
2598
2650
|
this.diagram,
|
@@ -2632,7 +2684,9 @@ export class DiagramRenderer {
|
|
2632
2684
|
}
|
2633
2685
|
if (!this.isReadOnly) {
|
2634
2686
|
// Bring the class view to front
|
2635
|
-
|
2687
|
+
diagram_setClassViews(
|
2688
|
+
this.diagram,
|
2689
|
+
|
2636
2690
|
this.reorderDiagramDomain(
|
2637
2691
|
this.selectedClasses[0] as ClassView,
|
2638
2692
|
this.diagram,
|
@@ -2670,7 +2724,8 @@ export class DiagramRenderer {
|
|
2670
2724
|
// check for selection of inheritance view
|
2671
2725
|
for (const generalizationView of this.diagram
|
2672
2726
|
.generalizationViews) {
|
2673
|
-
const val =
|
2727
|
+
const val = findOrBuildPoint(
|
2728
|
+
generalizationView,
|
2674
2729
|
eventPointInModelCoordinate.x,
|
2675
2730
|
eventPointInModelCoordinate.y,
|
2676
2731
|
this.zoom,
|
@@ -2686,7 +2741,8 @@ export class DiagramRenderer {
|
|
2686
2741
|
// check for selection of association view
|
2687
2742
|
if (!this.selectedPoint) {
|
2688
2743
|
for (const associationView of this.diagram.associationViews) {
|
2689
|
-
const val =
|
2744
|
+
const val = findOrBuildPoint(
|
2745
|
+
associationView,
|
2690
2746
|
eventPointInModelCoordinate.x,
|
2691
2747
|
eventPointInModelCoordinate.y,
|
2692
2748
|
this.zoom,
|
@@ -2703,7 +2759,8 @@ export class DiagramRenderer {
|
|
2703
2759
|
// check for selection of property view
|
2704
2760
|
if (!this.selectedPoint) {
|
2705
2761
|
for (const propertyView of this.diagram.propertyViews) {
|
2706
|
-
const val =
|
2762
|
+
const val = findOrBuildPoint(
|
2763
|
+
propertyView,
|
2707
2764
|
eventPointInModelCoordinate.x,
|
2708
2765
|
eventPointInModelCoordinate.y,
|
2709
2766
|
this.zoom,
|
@@ -2811,7 +2868,8 @@ export class DiagramRenderer {
|
|
2811
2868
|
// Resize class view
|
2812
2869
|
if (this.selectedClassCorner) {
|
2813
2870
|
// Make sure width and height are in range!
|
2814
|
-
|
2871
|
+
positionedRectangle_setRectangle(
|
2872
|
+
this.selectedClassCorner,
|
2815
2873
|
new Rectangle(
|
2816
2874
|
eventPointInModelCoordinate.x -
|
2817
2875
|
this.selectedClassCorner.position.x,
|
@@ -2820,7 +2878,7 @@ export class DiagramRenderer {
|
|
2820
2878
|
),
|
2821
2879
|
);
|
2822
2880
|
// Refresh hash since ClassView rectangle is not observable
|
2823
|
-
this.selectedClassCorner
|
2881
|
+
positionedRectangle_forceRefreshHash(this.selectedClassCorner);
|
2824
2882
|
this.drawClassView(this.selectedClassCorner);
|
2825
2883
|
this.drawScreen();
|
2826
2884
|
}
|
@@ -2847,9 +2905,12 @@ export class DiagramRenderer {
|
|
2847
2905
|
(this.clickY - selectedClassOldPosition.oldPos.y);
|
2848
2906
|
newMovingDeltaX = selectedClass.position.x - newMovingX;
|
2849
2907
|
newMovingDeltaY = selectedClass.position.y - newMovingY;
|
2850
|
-
|
2908
|
+
positionedRectangle_setPosition(
|
2909
|
+
selectedClass,
|
2910
|
+
new Point(newMovingX, newMovingY),
|
2911
|
+
);
|
2851
2912
|
// Refresh hash since ClassView position is not observable
|
2852
|
-
selectedClass
|
2913
|
+
positionedRectangle_forceRefreshHash(selectedClass);
|
2853
2914
|
}
|
2854
2915
|
});
|
2855
2916
|
this.potentiallyShiftRelationships(
|
@@ -2877,12 +2938,14 @@ export class DiagramRenderer {
|
|
2877
2938
|
// Change line (add a new point to the line)
|
2878
2939
|
if (this.selectedPoint) {
|
2879
2940
|
if (this.selectedPropertyOrAssociation) {
|
2880
|
-
|
2941
|
+
relationshipView_changePoint(
|
2942
|
+
this.selectedPropertyOrAssociation,
|
2881
2943
|
this.selectedPoint,
|
2882
2944
|
eventPointInModelCoordinate,
|
2883
2945
|
);
|
2884
2946
|
} else if (this.selectedInheritance) {
|
2885
|
-
|
2947
|
+
relationshipView_changePoint(
|
2948
|
+
this.selectedInheritance,
|
2886
2949
|
this.selectedPoint,
|
2887
2950
|
eventPointInModelCoordinate,
|
2888
2951
|
);
|
@@ -3102,7 +3165,7 @@ export class DiagramRenderer {
|
|
3102
3165
|
];
|
3103
3166
|
for (const propertyHolderView of propertyHolderViews) {
|
3104
3167
|
let fullPath = propertyHolderView.buildFullPath();
|
3105
|
-
fullPath =
|
3168
|
+
fullPath = _relationView_manageInsidePointsDynamically(
|
3106
3169
|
fullPath,
|
3107
3170
|
propertyHolderView.from.classView.value,
|
3108
3171
|
propertyHolderView.to.classView.value,
|
@@ -3234,11 +3297,15 @@ export class DiagramRenderer {
|
|
3234
3297
|
|
3235
3298
|
// Set layout of current level
|
3236
3299
|
if (positionInitialClass || currentLevelIndex > 0) {
|
3237
|
-
(
|
3300
|
+
positionedRectangle_setPosition(
|
3301
|
+
levels[0] as ClassView,
|
3302
|
+
new Point(startX, currentLevelY),
|
3303
|
+
);
|
3238
3304
|
levels.forEach((view, idx) => {
|
3239
3305
|
if (idx > 0) {
|
3240
3306
|
const precedent = levels[idx - 1] as ClassView;
|
3241
|
-
|
3307
|
+
positionedRectangle_setPosition(
|
3308
|
+
view,
|
3242
3309
|
new Point(
|
3243
3310
|
precedent.position.x + precedent.rectangle.width + spaceX,
|
3244
3311
|
currentLevelY,
|