@finos/legend-extension-dsl-diagram 8.1.195 → 8.1.197

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.
Files changed (95) hide show
  1. package/lib/components/DiagramRenderer.d.ts +39 -2
  2. package/lib/components/DiagramRenderer.d.ts.map +1 -1
  3. package/lib/components/DiagramRenderer.js +83 -61
  4. package/lib/components/DiagramRenderer.js.map +1 -1
  5. package/lib/components/DiagramViewer.d.ts +39 -0
  6. package/lib/components/DiagramViewer.d.ts.map +1 -0
  7. package/lib/components/DiagramViewer.js +170 -0
  8. package/lib/components/DiagramViewer.js.map +1 -0
  9. package/lib/components/DiagramViewerState.d.ts +44 -0
  10. package/lib/components/DiagramViewerState.d.ts.map +1 -0
  11. package/lib/components/DiagramViewerState.js +136 -0
  12. package/lib/components/DiagramViewerState.js.map +1 -0
  13. package/lib/components/index.d.ts +4 -1
  14. package/lib/components/index.d.ts.map +1 -1
  15. package/lib/components/index.js +4 -1
  16. package/lib/components/index.js.map +1 -1
  17. package/lib/graph-manager/index.d.ts +3 -0
  18. package/lib/graph-manager/index.d.ts.map +1 -1
  19. package/lib/graph-manager/index.js +3 -0
  20. package/lib/graph-manager/index.js.map +1 -1
  21. package/lib/index.css +2 -2
  22. package/lib/index.css.map +1 -1
  23. package/lib/index.d.ts +0 -1
  24. package/lib/index.d.ts.map +1 -1
  25. package/lib/index.js +0 -1
  26. package/lib/index.js.map +1 -1
  27. package/lib/package.json +4 -5
  28. package/package.json +8 -9
  29. package/src/components/DiagramRenderer.ts +221 -103
  30. package/src/components/DiagramViewer.tsx +650 -0
  31. package/src/components/DiagramViewerState.ts +171 -0
  32. package/src/components/index.ts +4 -0
  33. package/src/graph-manager/index.ts +3 -0
  34. package/src/index.ts +0 -1
  35. package/tsconfig.json +2 -12
  36. package/lib/__lib__/studio/DSL_Diagram_LegendStudioApplicationNavigationContext.d.ts +0 -19
  37. package/lib/__lib__/studio/DSL_Diagram_LegendStudioApplicationNavigationContext.d.ts.map +0 -1
  38. package/lib/__lib__/studio/DSL_Diagram_LegendStudioApplicationNavigationContext.js +0 -20
  39. package/lib/__lib__/studio/DSL_Diagram_LegendStudioApplicationNavigationContext.js.map +0 -1
  40. package/lib/__lib__/studio/DSL_Diagram_LegendStudioCodeSnippet.d.ts +0 -20
  41. package/lib/__lib__/studio/DSL_Diagram_LegendStudioCodeSnippet.d.ts.map +0 -1
  42. package/lib/__lib__/studio/DSL_Diagram_LegendStudioCodeSnippet.js +0 -81
  43. package/lib/__lib__/studio/DSL_Diagram_LegendStudioCodeSnippet.js.map +0 -1
  44. package/lib/__lib__/studio/DSL_Diagram_LegendStudioCommand.d.ts +0 -28
  45. package/lib/__lib__/studio/DSL_Diagram_LegendStudioCommand.d.ts.map +0 -1
  46. package/lib/__lib__/studio/DSL_Diagram_LegendStudioCommand.js +0 -62
  47. package/lib/__lib__/studio/DSL_Diagram_LegendStudioCommand.js.map +0 -1
  48. package/lib/__lib__/studio/DSL_Diagram_LegendStudioDocumentation.d.ts +0 -20
  49. package/lib/__lib__/studio/DSL_Diagram_LegendStudioDocumentation.d.ts.map +0 -1
  50. package/lib/__lib__/studio/DSL_Diagram_LegendStudioDocumentation.js +0 -21
  51. package/lib/__lib__/studio/DSL_Diagram_LegendStudioDocumentation.js.map +0 -1
  52. package/lib/__lib__/studio/DSL_Diagram_LegendStudioTesting.d.ts +0 -20
  53. package/lib/__lib__/studio/DSL_Diagram_LegendStudioTesting.d.ts.map +0 -1
  54. package/lib/__lib__/studio/DSL_Diagram_LegendStudioTesting.js +0 -21
  55. package/lib/__lib__/studio/DSL_Diagram_LegendStudioTesting.js.map +0 -1
  56. package/lib/components/studio/ClassDiagramPreview.d.ts +0 -22
  57. package/lib/components/studio/ClassDiagramPreview.d.ts.map +0 -1
  58. package/lib/components/studio/ClassDiagramPreview.js +0 -64
  59. package/lib/components/studio/ClassDiagramPreview.js.map +0 -1
  60. package/lib/components/studio/DSL_Diagram_LegendStudioApplicationPlugin.d.ts +0 -42
  61. package/lib/components/studio/DSL_Diagram_LegendStudioApplicationPlugin.d.ts.map +0 -1
  62. package/lib/components/studio/DSL_Diagram_LegendStudioApplicationPlugin.js +0 -216
  63. package/lib/components/studio/DSL_Diagram_LegendStudioApplicationPlugin.js.map +0 -1
  64. package/lib/components/studio/DiagramEditor.d.ts +0 -19
  65. package/lib/components/studio/DiagramEditor.d.ts.map +0 -1
  66. package/lib/components/studio/DiagramEditor.js +0 -436
  67. package/lib/components/studio/DiagramEditor.js.map +0 -1
  68. package/lib/components/studio/InheritanceDiagramRenderer.d.ts +0 -22
  69. package/lib/components/studio/InheritanceDiagramRenderer.d.ts.map +0 -1
  70. package/lib/components/studio/InheritanceDiagramRenderer.js +0 -34
  71. package/lib/components/studio/InheritanceDiagramRenderer.js.map +0 -1
  72. package/lib/components/studio/index.d.ts +0 -18
  73. package/lib/components/studio/index.d.ts.map +0 -1
  74. package/lib/components/studio/index.js +0 -18
  75. package/lib/components/studio/index.js.map +0 -1
  76. package/lib/stores/studio/DSL_Diagram_GraphModifierHelper.d.ts +0 -57
  77. package/lib/stores/studio/DSL_Diagram_GraphModifierHelper.d.ts.map +0 -1
  78. package/lib/stores/studio/DSL_Diagram_GraphModifierHelper.js +0 -94
  79. package/lib/stores/studio/DSL_Diagram_GraphModifierHelper.js.map +0 -1
  80. package/lib/stores/studio/DiagramEditorState.d.ts +0 -88
  81. package/lib/stores/studio/DiagramEditorState.d.ts.map +0 -1
  82. package/lib/stores/studio/DiagramEditorState.js +0 -341
  83. package/lib/stores/studio/DiagramEditorState.js.map +0 -1
  84. package/src/__lib__/studio/DSL_Diagram_LegendStudioApplicationNavigationContext.ts +0 -19
  85. package/src/__lib__/studio/DSL_Diagram_LegendStudioCodeSnippet.ts +0 -88
  86. package/src/__lib__/studio/DSL_Diagram_LegendStudioCommand.ts +0 -64
  87. package/src/__lib__/studio/DSL_Diagram_LegendStudioDocumentation.ts +0 -20
  88. package/src/__lib__/studio/DSL_Diagram_LegendStudioTesting.ts +0 -20
  89. package/src/components/studio/ClassDiagramPreview.tsx +0 -83
  90. package/src/components/studio/DSL_Diagram_LegendStudioApplicationPlugin.tsx +0 -313
  91. package/src/components/studio/DiagramEditor.tsx +0 -1514
  92. package/src/components/studio/InheritanceDiagramRenderer.ts +0 -50
  93. package/src/components/studio/index.ts +0 -19
  94. package/src/stores/studio/DSL_Diagram_GraphModifierHelper.ts +0 -166
  95. package/src/stores/studio/DiagramEditorState.ts +0 -487
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { type AbstractProperty, Class } from '@finos/legend-graph';
16
+ import { type AbstractProperty, type GenericTypeReference, Class, Property } from '@finos/legend-graph';
17
17
  import type { Diagram } from '../graph/metamodel/pure/packageableElements/diagram/DSL_Diagram_Diagram.js';
18
18
  import { Rectangle } from '../graph/metamodel/pure/packageableElements/diagram/geometry/DSL_Diagram_Rectangle.js';
19
19
  import { Point } from '../graph/metamodel/pure/packageableElements/diagram/geometry/DSL_Diagram_Point.js';
@@ -22,6 +22,42 @@ import { ClassView } from '../graph/metamodel/pure/packageableElements/diagram/D
22
22
  import type { PropertyHolderView } from '../graph/metamodel/pure/packageableElements/diagram/DSL_Diagram_PropertyHolderView.js';
23
23
  import { GeneralizationView } from '../graph/metamodel/pure/packageableElements/diagram/DSL_Diagram_GeneralizationView.js';
24
24
  import { RelationshipView } from '../graph/metamodel/pure/packageableElements/diagram/DSL_Diagram_RelationshipView.js';
25
+ import { PropertyView } from '../graph/metamodel/pure/packageableElements/diagram/DSL_Diagram_PropertyView.js';
26
+ import { AssociationView } from '../graph/metamodel/pure/packageableElements/diagram/DSL_Diagram_AssociationView.js';
27
+ import type { RelationshipViewEnd } from '../graph-manager/index.js';
28
+ export declare class DiagramAnalysisResult {
29
+ readonly uuid: string;
30
+ title: string;
31
+ description?: string | undefined;
32
+ diagram: Diagram;
33
+ }
34
+ export interface DiagramRendererCallbacks {
35
+ onClass_addSuperType?: (subclass: Class, superType: GenericTypeReference) => void;
36
+ onClass_addProperty?: (ownerClass: Class, property: Property) => void;
37
+ onDiagram_setClassViews?: (diagram: Diagram, classViews: ClassView[]) => void;
38
+ onDiagram_addClassView?: (diagram: Diagram, classView: ClassView) => void;
39
+ onDiagram_deleteClassView?: (diagram: Diagram, classView: ClassView) => void;
40
+ onDiagram_setAssociationViews?: (diagram: Diagram, associationViews: AssociationView[]) => void;
41
+ onDiagram_deleteAssociationView?: (diagram: Diagram, associationView: AssociationView) => void;
42
+ onDiagram_setGeneralizationViews?: (diagram: Diagram, generalizationViews: GeneralizationView[]) => void;
43
+ onDiagram_addGeneralizationView?: (diagram: Diagram, view: GeneralizationView) => void;
44
+ onDiagram_deleteGeneralizationView?: (diagram: Diagram, view: GeneralizationView) => void;
45
+ onDiagram_setPropertyViews?: (diagram: Diagram, propertyViews: PropertyView[]) => void;
46
+ onDiagram_addPropertyView?: (diagram: Diagram, view: PropertyView) => void;
47
+ onDiagram_deletePropertyView?: (diagram: Diagram, view: PropertyView) => void;
48
+ onClassView_setHideProperties?: (classView: ClassView, hide: boolean) => void;
49
+ onClassView_setHideStereotypes?: (classView: ClassView, hide: boolean) => void;
50
+ onClassView_setHideTaggedValues?: (classView: ClassView, hide: boolean) => void;
51
+ onRelationshipEdgeView_setOffsetX?: (edge: RelationshipViewEnd, offsetX: number) => void;
52
+ onRelationshipEdgeView_setOffsetY?: (edge: RelationshipViewEnd, offsetY: number) => void;
53
+ onRelationshipView_changePoint?: (relationship: RelationshipView, oldPoint: Point, newPoint: Point) => void;
54
+ onRelationshipView_simplifyPath?: (relationship: RelationshipView) => void;
55
+ onRelationshipView_setPath?: (relationship: RelationshipView, path: Point[]) => void;
56
+ onPositionedRectangle_setRectangle?: (classView: ClassView, rectangle: Rectangle) => void;
57
+ onPositionedRectangle_setPosition?: (classView: ClassView, position: Point) => void;
58
+ onPositionedRectangle_forceRefreshHash?: (positionedRectangle: PositionedRectangle) => void;
59
+ onFindOrBuildPoint?: (relationship: RelationshipView, x: number, y: number, zoom: number, editable: boolean) => Point | undefined;
60
+ }
25
61
  export declare enum DIAGRAM_INTERACTION_MODE {
26
62
  LAYOUT = 0,
27
63
  PAN = 1,
@@ -147,6 +183,7 @@ export declare class DiagramRenderer {
147
183
  mouseOverClassProperty?: AbstractProperty | undefined;
148
184
  mouseOverPropertyHolderViewLabel?: PropertyHolderView | undefined;
149
185
  cursorPosition: Point;
186
+ callbacks?: DiagramRendererCallbacks | undefined;
150
187
  leftClick: boolean;
151
188
  middleClick: boolean;
152
189
  rightClick: boolean;
@@ -162,7 +199,7 @@ export declare class DiagramRenderer {
162
199
  handleEditClassView: (classView: ClassView) => void;
163
200
  handleEditProperty: (property: AbstractProperty, point: Point, propertyHolderView: PropertyHolderView | undefined) => void;
164
201
  handleAddSimpleProperty: (classView: ClassView) => void;
165
- constructor(div: HTMLDivElement, diagram: Diagram);
202
+ constructor(div: HTMLDivElement, diagram: Diagram, callbacks?: DiagramRendererCallbacks);
166
203
  setIsReadOnly(val: boolean): void;
167
204
  setEnableLayoutAutoAdjustment(val: boolean): void;
168
205
  setMouseOverClassView(val: ClassView | undefined): void;
@@ -1 +1 @@
1
- {"version":3,"file":"DiagramRenderer.d.ts","sourceRoot":"","sources":["../../src/components/DiagramRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DiagramRenderer.d.ts","sourceRoot":"","sources":["../../src/components/DiagramRenderer.ts"],"names":[],"mappings":"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"}
@@ -25,8 +25,12 @@ import { RelationshipView } from '../graph/metamodel/pure/packageableElements/di
25
25
  import { PropertyView } from '../graph/metamodel/pure/packageableElements/diagram/DSL_Diagram_PropertyView.js';
26
26
  import { boxContains, buildBottomRightCornerBox, getBottomRightCornerPoint, getElementPosition, rotatePointX, rotatePointY, } from '../graph/helpers/DSL_Diagram_Helper.js';
27
27
  import { AssociationView } from '../graph/metamodel/pure/packageableElements/diagram/DSL_Diagram_AssociationView.js';
28
- import { class_addProperty, class_addSuperType, } from '@finos/legend-application-studio';
29
- import { classView_setHideProperties, classView_setHideStereotypes, classView_setHideTaggedValues, diagram_addClassView, diagram_addGeneralizationView, diagram_addPropertyView, diagram_deleteAssociationView, diagram_deleteClassView, diagram_deleteGeneralizationView, diagram_deletePropertyView, diagram_setAssociationViews, diagram_setClassViews, diagram_setGeneralizationViews, diagram_setPropertyViews, findOrBuildPoint, positionedRectangle_forceRefreshHash, positionedRectangle_setPosition, positionedRectangle_setRectangle, relationshipEdgeView_setOffsetX, relationshipEdgeView_setOffsetY, relationshipView_changePoint, relationshipView_simplifyPath, relationshipView_setPath, } from '../stores/studio/DSL_Diagram_GraphModifierHelper.js';
28
+ export class DiagramAnalysisResult {
29
+ uuid = uuid();
30
+ title;
31
+ description;
32
+ diagram;
33
+ }
30
34
  export var DIAGRAM_INTERACTION_MODE;
31
35
  (function (DIAGRAM_INTERACTION_MODE) {
32
36
  DIAGRAM_INTERACTION_MODE[DIAGRAM_INTERACTION_MODE["LAYOUT"] = 0] = "LAYOUT";
@@ -173,6 +177,7 @@ export class DiagramRenderer {
173
177
  mouseOverClassProperty;
174
178
  mouseOverPropertyHolderViewLabel;
175
179
  cursorPosition;
180
+ callbacks;
176
181
  leftClick;
177
182
  middleClick;
178
183
  rightClick;
@@ -189,7 +194,7 @@ export class DiagramRenderer {
189
194
  handleEditClassView = noop();
190
195
  handleEditProperty = noop();
191
196
  handleAddSimpleProperty = noop();
192
- constructor(div, diagram) {
197
+ constructor(div, diagram, callbacks) {
193
198
  makeObservable(this, {
194
199
  isReadOnly: observable,
195
200
  enableLayoutAutoAdjustment: observable,
@@ -229,6 +234,7 @@ export class DiagramRenderer {
229
234
  align: action,
230
235
  });
231
236
  this.diagram = diagram;
237
+ this.callbacks = callbacks;
232
238
  // Container and canvas
233
239
  this.div = div;
234
240
  this.div.childNodes.forEach((node) => this.div.removeChild(node)); // Clear the <div> container
@@ -459,13 +465,13 @@ export class DiagramRenderer {
459
465
  !getAllSuperclasses(startClassView.class.value).includes(targetClassView.class.value) &&
460
466
  // Avoid loop (might be expensive)
461
467
  !getAllSuperclasses(targetClassView.class.value).includes(startClassView.class.value)) {
462
- class_addSuperType(startClassView.class.value, GenericTypeExplicitReference.create(new GenericType(targetClassView.class.value)));
468
+ this.callbacks?.onClass_addSuperType?.(startClassView.class.value, GenericTypeExplicitReference.create(new GenericType(targetClassView.class.value)));
463
469
  }
464
470
  // only add an inheritance relationship view if the start class
465
471
  // has already had the target class as its supertype
466
472
  if (startClassView.class.value.generalizations.find((generalization) => generalization.value.rawType === targetClassView.class.value)) {
467
473
  const gview = new GeneralizationView(this.diagram, startClassView, targetClassView);
468
- diagram_addGeneralizationView(this.diagram, gview);
474
+ this.callbacks?.onDiagram_addGeneralizationView?.(this.diagram, gview);
469
475
  return gview;
470
476
  }
471
477
  return undefined;
@@ -475,13 +481,13 @@ export class DiagramRenderer {
475
481
  case DIAGRAM_RELATIONSHIP_EDIT_MODE.PROPERTY: {
476
482
  this.handleAddRelationship = (startClassView, targetClassView) => {
477
483
  const property = new Property(`property_${startClassView.class.value.properties.length + 1}`, Multiplicity.ONE, GenericTypeExplicitReference.create(new GenericType(targetClassView.class.value)), startClassView.class.value);
478
- class_addProperty(startClassView.class.value, property);
484
+ this.callbacks?.onClass_addProperty?.(startClassView.class.value, property);
479
485
  // only create property view if the classviews are different
480
486
  // else we end up with a weird rendering where the property view
481
487
  // is not targetable
482
488
  if (startClassView !== targetClassView) {
483
489
  const pView = new PropertyView(this.diagram, PropertyExplicitReference.create(property), startClassView, targetClassView);
484
- diagram_addPropertyView(this.diagram, pView);
490
+ this.callbacks?.onDiagram_addPropertyView?.(this.diagram, pView);
485
491
  return pView;
486
492
  }
487
493
  return undefined;
@@ -500,32 +506,34 @@ export class DiagramRenderer {
500
506
  switch (op) {
501
507
  case DIAGRAM_ALIGNER_OPERATOR.ALIGN_LEFT: {
502
508
  const leftBound = this.selectedClasses.reduce((val, view) => Math.min(val, view.position.x), Number.MAX_SAFE_INTEGER);
503
- this.selectedClasses.forEach((view) => positionedRectangle_setPosition(view, new Point(leftBound, view.position.y)));
509
+ this.selectedClasses.forEach((view) => {
510
+ this.callbacks?.onPositionedRectangle_setPosition?.(view, new Point(leftBound, view.position.y));
511
+ });
504
512
  break;
505
513
  }
506
514
  case DIAGRAM_ALIGNER_OPERATOR.ALIGN_CENTER: {
507
515
  const center = this.selectedClasses.reduce((val, view) => val + view.position.x + view.rectangle.width / 2, 0) / this.selectedClasses.length;
508
- this.selectedClasses.forEach((view) => positionedRectangle_setPosition(view, new Point(center - view.rectangle.width / 2, view.position.y)));
516
+ this.selectedClasses.forEach((view) => this.callbacks?.onPositionedRectangle_setPosition?.(view, new Point(center - view.rectangle.width / 2, view.position.y)));
509
517
  break;
510
518
  }
511
519
  case DIAGRAM_ALIGNER_OPERATOR.ALIGN_RIGHT: {
512
520
  const rightBound = this.selectedClasses.reduce((val, view) => Math.max(val, view.position.x + view.rectangle.width), -Number.MAX_SAFE_INTEGER);
513
- this.selectedClasses.forEach((view) => positionedRectangle_setPosition(view, new Point(rightBound - view.rectangle.width, view.position.y)));
521
+ this.selectedClasses.forEach((view) => this.callbacks?.onPositionedRectangle_setPosition?.(view, new Point(rightBound - view.rectangle.width, view.position.y)));
514
522
  break;
515
523
  }
516
524
  case DIAGRAM_ALIGNER_OPERATOR.ALIGN_TOP: {
517
525
  const topBound = this.selectedClasses.reduce((val, view) => Math.min(val, view.position.y), Number.MAX_SAFE_INTEGER);
518
- this.selectedClasses.forEach((view) => positionedRectangle_setPosition(view, new Point(view.position.x, topBound)));
526
+ this.selectedClasses.forEach((view) => this.callbacks?.onPositionedRectangle_setPosition?.(view, new Point(view.position.x, topBound)));
519
527
  break;
520
528
  }
521
529
  case DIAGRAM_ALIGNER_OPERATOR.ALIGN_MIDDLE: {
522
530
  const middle = this.selectedClasses.reduce((val, view) => val + view.position.y + view.rectangle.height / 2, 0) / this.selectedClasses.length;
523
- this.selectedClasses.forEach((view) => positionedRectangle_setPosition(view, new Point(view.position.x, middle - view.rectangle.height / 2)));
531
+ this.selectedClasses.forEach((view) => this.callbacks?.onPositionedRectangle_setPosition?.(view, new Point(view.position.x, middle - view.rectangle.height / 2)));
524
532
  break;
525
533
  }
526
534
  case DIAGRAM_ALIGNER_OPERATOR.ALIGN_BOTTOM: {
527
535
  const bottomBound = this.selectedClasses.reduce((val, view) => Math.max(val, view.position.y + view.rectangle.height), -Number.MAX_SAFE_INTEGER);
528
- this.selectedClasses.forEach((view) => positionedRectangle_setPosition(view, new Point(view.position.x, bottomBound - view.rectangle.height)));
536
+ this.selectedClasses.forEach((view) => this.callbacks?.onPositionedRectangle_setPosition?.(view, new Point(view.position.x, bottomBound - view.rectangle.height)));
529
537
  break;
530
538
  }
531
539
  case DIAGRAM_ALIGNER_OPERATOR.SPACE_HORIZONTALLY: {
@@ -534,7 +542,7 @@ export class DiagramRenderer {
534
542
  if (sorted.length === 2) {
535
543
  const previousView = sorted[0];
536
544
  const currentView = sorted[1];
537
- positionedRectangle_setPosition(currentView, new Point(previousView.position.x + previousView.rectangle.width, currentView.position.y));
545
+ this.callbacks?.onPositionedRectangle_setPosition?.(currentView, new Point(previousView.position.x + previousView.rectangle.width, currentView.position.y));
538
546
  }
539
547
  else {
540
548
  const spacings = [];
@@ -549,7 +557,7 @@ export class DiagramRenderer {
549
557
  for (let idx = 1; idx < sorted.length; idx++) {
550
558
  const previousView = sorted[idx - 1];
551
559
  const currentView = sorted[idx];
552
- positionedRectangle_setPosition(currentView, new Point(previousView.position.x +
560
+ this.callbacks?.onPositionedRectangle_setPosition?.(currentView, new Point(previousView.position.x +
553
561
  previousView.rectangle.width +
554
562
  averageSpacing, currentView.position.y));
555
563
  }
@@ -562,7 +570,7 @@ export class DiagramRenderer {
562
570
  if (sorted.length === 2) {
563
571
  const previousView = sorted[0];
564
572
  const currentView = sorted[1];
565
- positionedRectangle_setPosition(currentView, new Point(currentView.position.x, previousView.position.y + previousView.rectangle.height));
573
+ this.callbacks?.onPositionedRectangle_setPosition?.(currentView, new Point(currentView.position.x, previousView.position.y + previousView.rectangle.height));
566
574
  }
567
575
  else {
568
576
  const spacings = [];
@@ -577,7 +585,7 @@ export class DiagramRenderer {
577
585
  for (let idx = 1; idx < sorted.length; idx++) {
578
586
  const previousView = sorted[idx - 1];
579
587
  const currentView = sorted[idx];
580
- positionedRectangle_setPosition(currentView, new Point(currentView.position.x, previousView.position.y +
588
+ this.callbacks?.onPositionedRectangle_setPosition?.(currentView, new Point(currentView.position.x, previousView.position.y +
581
589
  previousView.rectangle.height +
582
590
  averageSpacing));
583
591
  }
@@ -735,14 +743,14 @@ export class DiagramRenderer {
735
743
  id = uuid();
736
744
  }
737
745
  const newClassView = new ClassView(this.diagram, id, PackageableElementExplicitReference.create(addedClass));
738
- positionedRectangle_setPosition(newClassView, classViewModelCoordinate ??
746
+ this.callbacks?.onPositionedRectangle_setPosition?.(newClassView, classViewModelCoordinate ??
739
747
  this.canvasCoordinateToModelCoordinate(new Point(this.virtualScreen.position.x +
740
748
  this.virtualScreen.rectangle.width / 2, this.virtualScreen.position.y +
741
749
  this.virtualScreen.rectangle.height / 2)));
742
- diagram_addClassView(this.diagram, newClassView);
750
+ this.callbacks?.onDiagram_addClassView?.(this.diagram, newClassView);
743
751
  // Refresh hash since ClassView position is not observable
744
752
  // NOTE: here we refresh after adding the class view to the diagram, that way the diagram hash is refreshed
745
- positionedRectangle_forceRefreshHash(newClassView);
753
+ this.callbacks?.onPositionedRectangle_forceRefreshHash?.(newClassView);
746
754
  this.diagram.classViews
747
755
  .filter((classView) => classView.class.value !== addedClass)
748
756
  .forEach((classView) => {
@@ -751,22 +759,22 @@ export class DiagramRenderer {
751
759
  if (addedClass.generalizations
752
760
  .map((generalization) => generalization.value.rawType)
753
761
  .includes(_class)) {
754
- diagram_addGeneralizationView(this.diagram, new GeneralizationView(this.diagram, newClassView, classView));
762
+ this.callbacks?.onDiagram_addGeneralizationView?.(this.diagram, new GeneralizationView(this.diagram, newClassView, classView));
755
763
  }
756
764
  if (_class.generalizations
757
765
  .map((generalization) => generalization.value.rawType)
758
766
  .includes(addedClass)) {
759
- diagram_addGeneralizationView(this.diagram, new GeneralizationView(this.diagram, classView, newClassView));
767
+ this.callbacks?.onDiagram_addGeneralizationView?.(this.diagram, new GeneralizationView(this.diagram, classView, newClassView));
760
768
  }
761
769
  // Add property view
762
770
  getAllOwnClassProperties(addedClass).forEach((property) => {
763
771
  if (property.genericType.value.rawType === _class) {
764
- diagram_addPropertyView(this.diagram, new PropertyView(this.diagram, PropertyExplicitReference.create(property), newClassView, classView));
772
+ this.callbacks?.onDiagram_addPropertyView?.(this.diagram, new PropertyView(this.diagram, PropertyExplicitReference.create(property), newClassView, classView));
765
773
  }
766
774
  });
767
775
  getAllOwnClassProperties(_class).forEach((property) => {
768
776
  if (property.genericType.value.rawType === addedClass) {
769
- diagram_addPropertyView(this.diagram, new PropertyView(this.diagram, PropertyExplicitReference.create(property), classView, newClassView));
777
+ this.callbacks?.onDiagram_addPropertyView?.(this.diagram, new PropertyView(this.diagram, PropertyExplicitReference.create(property), classView, newClassView));
770
778
  }
771
779
  });
772
780
  });
@@ -1081,7 +1089,7 @@ export class DiagramRenderer {
1081
1089
  classView.rectangle.height > classMinHeight
1082
1090
  ? classView.rectangle.height
1083
1091
  : classMinHeight;
1084
- positionedRectangle_setRectangle(classView, new Rectangle(width, height));
1092
+ this.callbacks?.onPositionedRectangle_setRectangle?.(classView, new Rectangle(width, height));
1085
1093
  }
1086
1094
  }
1087
1095
  drawClassView(classView) {
@@ -1212,7 +1220,7 @@ export class DiagramRenderer {
1212
1220
  // NOTE: force hash reload when we redraw class view; this would help with cases where
1213
1221
  // we auto add new properties to the class view, causing the box to expand, hence we need
1214
1222
  // to recompute hash
1215
- positionedRectangle_forceRefreshHash(classView);
1223
+ this.callbacks?.onPositionedRectangle_forceRefreshHash?.(classView);
1216
1224
  }
1217
1225
  drawLinePropertyNameAndMultiplicity(property, textPositionX, textPositionY, multiplicityPositionX, multiplicityPositionY, measureOnly) {
1218
1226
  this.ctx.font = `${this.fontSize}px ${this.fontFamily}`;
@@ -1558,7 +1566,7 @@ export class DiagramRenderer {
1558
1566
  relationshipViews.forEach((view) => {
1559
1567
  if (selectedClasses.indexOf(view.from.classView.value) !== -1 &&
1560
1568
  selectedClasses.indexOf(view.to.classView.value) !== -1) {
1561
- relationshipView_setPath(view, view.path.map((point) => new Point(point.x - newMovingDeltaX, point.y - newMovingDeltaY)));
1569
+ this.callbacks?.onRelationshipView_setPath?.(view, view.path.map((point) => new Point(point.x - newMovingDeltaX, point.y - newMovingDeltaY)));
1562
1570
  }
1563
1571
  });
1564
1572
  }
@@ -1673,11 +1681,11 @@ export class DiagramRenderer {
1673
1681
  : precedentY + precedentTotalHeight + spaceY;
1674
1682
  // Set layout of current level
1675
1683
  if (positionInitialClass || currentLevelIndex > 0) {
1676
- positionedRectangle_setPosition(levels[0], new Point(startX, currentLevelY));
1684
+ this.callbacks?.onPositionedRectangle_setPosition?.(levels[0], new Point(startX, currentLevelY));
1677
1685
  levels.forEach((view, idx) => {
1678
1686
  if (idx > 0) {
1679
1687
  const precedent = levels[idx - 1];
1680
- positionedRectangle_setPosition(view, new Point(precedent.position.x + precedent.rectangle.width + spaceX, currentLevelY));
1688
+ this.callbacks?.onPositionedRectangle_setPosition?.(view, new Point(precedent.position.x + precedent.rectangle.width + spaceX, currentLevelY));
1681
1689
  }
1682
1690
  });
1683
1691
  }
@@ -1701,23 +1709,23 @@ export class DiagramRenderer {
1701
1709
  if ('Delete' === e.code) {
1702
1710
  if (!this.isReadOnly) {
1703
1711
  this.selectedClasses.forEach((classView) => {
1704
- diagram_deleteClassView(this.diagram, classView);
1705
- diagram_setAssociationViews(this.diagram, this.diagram.associationViews.filter((associationView) => !(associationView.from.classView.value === classView ||
1712
+ this.callbacks?.onDiagram_deleteClassView?.(this.diagram, classView);
1713
+ this.callbacks?.onDiagram_setAssociationViews?.(this.diagram, this.diagram.associationViews.filter((associationView) => !(associationView.from.classView.value === classView ||
1706
1714
  associationView.to.classView.value === classView)));
1707
- diagram_setGeneralizationViews(this.diagram, this.diagram.generalizationViews.filter((generalizationView) => !(generalizationView.from.classView.value === classView ||
1715
+ this.callbacks?.onDiagram_setGeneralizationViews?.(this.diagram, this.diagram.generalizationViews.filter((generalizationView) => !(generalizationView.from.classView.value === classView ||
1708
1716
  generalizationView.to.classView.value === classView)));
1709
- diagram_setPropertyViews(this.diagram, this.diagram.propertyViews.filter((propertyView) => !(propertyView.from.classView.value === classView ||
1717
+ this.callbacks?.onDiagram_setPropertyViews?.(this.diagram, this.diagram.propertyViews.filter((propertyView) => !(propertyView.from.classView.value === classView ||
1710
1718
  propertyView.to.classView.value === classView)));
1711
1719
  });
1712
1720
  if (this.selectedPropertyOrAssociation instanceof AssociationView) {
1713
- diagram_deleteAssociationView(this.diagram, this.selectedPropertyOrAssociation);
1721
+ this.callbacks?.onDiagram_deleteAssociationView?.(this.diagram, this.selectedPropertyOrAssociation);
1714
1722
  }
1715
1723
  else if (this.selectedPropertyOrAssociation instanceof PropertyView) {
1716
- diagram_deletePropertyView(this.diagram, this.selectedPropertyOrAssociation);
1724
+ this.callbacks?.onDiagram_deletePropertyView?.(this.diagram, this.selectedPropertyOrAssociation);
1717
1725
  }
1718
1726
  if (this.selectedInheritance) {
1719
1727
  if (this.diagram.generalizationViews.find((generalizationView) => generalizationView === this.selectedInheritance)) {
1720
- diagram_deleteGeneralizationView(this.diagram, this.selectedInheritance);
1728
+ this.callbacks?.onDiagram_deleteGeneralizationView?.(this.diagram, this.selectedInheritance);
1721
1729
  }
1722
1730
  }
1723
1731
  this.setSelectedClasses([]);
@@ -1751,7 +1759,7 @@ export class DiagramRenderer {
1751
1759
  if (!this.isReadOnly) {
1752
1760
  if (this.selectedClasses.length !== 0) {
1753
1761
  this.selectedClasses.forEach((classView) => {
1754
- classView_setHideProperties(classView, !classView.hideProperties);
1762
+ this.callbacks?.onClassView_setHideProperties?.(classView, !classView.hideProperties);
1755
1763
  });
1756
1764
  this.drawScreen();
1757
1765
  }
@@ -1762,7 +1770,7 @@ export class DiagramRenderer {
1762
1770
  if (!this.isReadOnly) {
1763
1771
  if (this.selectedClasses.length !== 0) {
1764
1772
  this.selectedClasses.forEach((classView) => {
1765
- classView_setHideStereotypes(classView, !classView.hideStereotypes);
1773
+ this.callbacks?.onClassView_setHideStereotypes?.(classView, !classView.hideStereotypes);
1766
1774
  });
1767
1775
  this.drawScreen();
1768
1776
  }
@@ -1773,7 +1781,7 @@ export class DiagramRenderer {
1773
1781
  if (!this.isReadOnly) {
1774
1782
  if (this.selectedClasses.length !== 0) {
1775
1783
  this.selectedClasses.forEach((classView) => {
1776
- classView_setHideTaggedValues(classView, !classView.hideTaggedValues);
1784
+ this.callbacks?.onClassView_setHideTaggedValues?.(classView, !classView.hideTaggedValues);
1777
1785
  });
1778
1786
  this.drawScreen();
1779
1787
  }
@@ -1789,8 +1797,12 @@ export class DiagramRenderer {
1789
1797
  else if ('ArrowUp' === e.code) {
1790
1798
  const views = this.getSuperTypeLevels(this.selectedClasses, this.diagram, 0, 1);
1791
1799
  const res = this.layoutTaxonomy(views, this.diagram, false, true);
1792
- res[0].forEach((cv) => diagram_addClassView(this.diagram, cv));
1793
- res[1].forEach((gv) => diagram_addGeneralizationView(this.diagram, gv));
1800
+ res[0].forEach((cv) => {
1801
+ this.callbacks?.onDiagram_addClassView?.(this.diagram, cv);
1802
+ });
1803
+ res[1].forEach((gv) => {
1804
+ this.callbacks?.onDiagram_addGeneralizationView?.(this.diagram, gv);
1805
+ });
1794
1806
  this.drawScreen();
1795
1807
  }
1796
1808
  // Add subtypes of selected classes to the diagram
@@ -1799,8 +1811,12 @@ export class DiagramRenderer {
1799
1811
  if (views.length > 0) {
1800
1812
  views.forEach((classView) => this.ensureClassViewMeetMinDimensions(classView));
1801
1813
  const res = this.layoutTaxonomy([views, this.selectedClasses], this.diagram, false, false);
1802
- res[0].forEach((cv) => diagram_addClassView(this.diagram, cv));
1803
- res[1].forEach((gv) => diagram_addGeneralizationView(this.diagram, gv));
1814
+ res[0].forEach((cv) => {
1815
+ this.callbacks?.onDiagram_addClassView?.(this.diagram, cv);
1816
+ });
1817
+ res[1].forEach((gv) => {
1818
+ this.callbacks?.onDiagram_addGeneralizationView?.(this.diagram, gv);
1819
+ });
1804
1820
  }
1805
1821
  this.drawScreen();
1806
1822
  }
@@ -1851,9 +1867,15 @@ export class DiagramRenderer {
1851
1867
  if (!this.isReadOnly) {
1852
1868
  switch (this.interactionMode) {
1853
1869
  case DIAGRAM_INTERACTION_MODE.LAYOUT: {
1854
- this.diagram.generalizationViews.forEach((generalizationView) => relationshipView_simplifyPath(generalizationView));
1855
- this.diagram.associationViews.forEach((associationView) => relationshipView_simplifyPath(associationView));
1856
- this.diagram.propertyViews.forEach((propertyView) => relationshipView_simplifyPath(propertyView));
1870
+ this.diagram.generalizationViews.forEach((generalizationView) => {
1871
+ this.callbacks?.onRelationshipView_simplifyPath?.(generalizationView);
1872
+ });
1873
+ this.diagram.associationViews.forEach((associationView) => {
1874
+ this.callbacks?.onRelationshipView_simplifyPath?.(associationView);
1875
+ });
1876
+ this.diagram.propertyViews.forEach((propertyView) => {
1877
+ this.callbacks?.onRelationshipView_simplifyPath?.(propertyView);
1878
+ });
1857
1879
  break;
1858
1880
  }
1859
1881
  case DIAGRAM_INTERACTION_MODE.ADD_CLASS: {
@@ -1872,16 +1894,16 @@ export class DiagramRenderer {
1872
1894
  if (targetClassView.contains(eventPointInModelCoordinate.x, eventPointInModelCoordinate.y)) {
1873
1895
  const gview = this.handleAddRelationship(this.startClassView, targetClassView);
1874
1896
  if (gview) {
1875
- relationshipEdgeView_setOffsetX(gview.from, -(this.startClassView.position.x +
1897
+ this.callbacks?.onRelationshipEdgeView_setOffsetX?.(gview.from, -(this.startClassView.position.x +
1876
1898
  this.startClassView.rectangle.width / 2 -
1877
1899
  this.selectionStart.x));
1878
- relationshipEdgeView_setOffsetY(gview.from, -(this.startClassView.position.y +
1900
+ this.callbacks?.onRelationshipEdgeView_setOffsetY?.(gview.from, -(this.startClassView.position.y +
1879
1901
  this.startClassView.rectangle.height / 2 -
1880
1902
  this.selectionStart.y));
1881
- relationshipEdgeView_setOffsetX(gview.to, -(targetClassView.position.x +
1903
+ this.callbacks?.onRelationshipEdgeView_setOffsetX?.(gview.to, -(targetClassView.position.x +
1882
1904
  targetClassView.rectangle.width / 2 -
1883
1905
  eventPointInModelCoordinate.x));
1884
- relationshipEdgeView_setOffsetY(gview.to, -(targetClassView.position.y +
1906
+ this.callbacks?.onRelationshipEdgeView_setOffsetY?.(gview.to, -(targetClassView.position.y +
1885
1907
  targetClassView.rectangle.height / 2 -
1886
1908
  eventPointInModelCoordinate.y));
1887
1909
  }
@@ -1977,7 +1999,7 @@ export class DiagramRenderer {
1977
1999
  this.setSelectedClassCorner(this.diagram.classViews[i]);
1978
2000
  if (!this.isReadOnly) {
1979
2001
  // Bring the class view to front
1980
- diagram_setClassViews(this.diagram, this.reorderDiagramDomain(guaranteeNonNullable(this.selectedClassCorner), this.diagram));
2002
+ this.callbacks?.onDiagram_setClassViews?.(this.diagram, this.reorderDiagramDomain(guaranteeNonNullable(this.selectedClassCorner), this.diagram));
1981
2003
  }
1982
2004
  break;
1983
2005
  }
@@ -2004,7 +2026,7 @@ export class DiagramRenderer {
2004
2026
  }
2005
2027
  if (!this.isReadOnly) {
2006
2028
  // Bring the class view to front
2007
- diagram_setClassViews(this.diagram, this.reorderDiagramDomain(this.selectedClasses[0], this.diagram));
2029
+ this.callbacks?.onDiagram_setClassViews?.(this.diagram, this.reorderDiagramDomain(this.selectedClasses[0], this.diagram));
2008
2030
  }
2009
2031
  this.clickX =
2010
2032
  eventPointInCanvasCoordinate.x / this.zoom -
@@ -2035,7 +2057,7 @@ export class DiagramRenderer {
2035
2057
  // check for selection of inheritance view
2036
2058
  for (const generalizationView of this.diagram
2037
2059
  .generalizationViews) {
2038
- const val = findOrBuildPoint(generalizationView, eventPointInModelCoordinate.x, eventPointInModelCoordinate.y, this.zoom, !this.isReadOnly);
2060
+ const val = this.callbacks?.onFindOrBuildPoint?.(generalizationView, eventPointInModelCoordinate.x, eventPointInModelCoordinate.y, this.zoom, !this.isReadOnly);
2039
2061
  if (val) {
2040
2062
  this.selectedPoint = val;
2041
2063
  this.setSelectedInheritance(generalizationView);
@@ -2045,7 +2067,7 @@ export class DiagramRenderer {
2045
2067
  // check for selection of association view
2046
2068
  if (!this.selectedPoint) {
2047
2069
  for (const associationView of this.diagram.associationViews) {
2048
- const val = findOrBuildPoint(associationView, eventPointInModelCoordinate.x, eventPointInModelCoordinate.y, this.zoom, !this.isReadOnly);
2070
+ const val = this.callbacks?.onFindOrBuildPoint?.(associationView, eventPointInModelCoordinate.x, eventPointInModelCoordinate.y, this.zoom, !this.isReadOnly);
2049
2071
  if (val) {
2050
2072
  this.selectedPoint = val;
2051
2073
  this.setSelectedPropertyOrAssociation(associationView);
@@ -2056,7 +2078,7 @@ export class DiagramRenderer {
2056
2078
  // check for selection of property view
2057
2079
  if (!this.selectedPoint) {
2058
2080
  for (const propertyView of this.diagram.propertyViews) {
2059
- const val = findOrBuildPoint(propertyView, eventPointInModelCoordinate.x, eventPointInModelCoordinate.y, this.zoom, !this.isReadOnly);
2081
+ const val = this.callbacks?.onFindOrBuildPoint?.(propertyView, eventPointInModelCoordinate.x, eventPointInModelCoordinate.y, this.zoom, !this.isReadOnly);
2060
2082
  if (val) {
2061
2083
  this.selectedPoint = val;
2062
2084
  this.setSelectedPropertyOrAssociation(propertyView);
@@ -2146,11 +2168,11 @@ export class DiagramRenderer {
2146
2168
  // Resize class view
2147
2169
  if (this.selectedClassCorner) {
2148
2170
  // Make sure width and height are in range!
2149
- positionedRectangle_setRectangle(this.selectedClassCorner, new Rectangle(eventPointInModelCoordinate.x -
2171
+ this.callbacks?.onPositionedRectangle_setRectangle?.(this.selectedClassCorner, new Rectangle(eventPointInModelCoordinate.x -
2150
2172
  this.selectedClassCorner.position.x, eventPointInModelCoordinate.y -
2151
2173
  this.selectedClassCorner.position.y));
2152
2174
  // Refresh hash since ClassView rectangle is not observable
2153
- positionedRectangle_forceRefreshHash(this.selectedClassCorner);
2175
+ this.callbacks?.onPositionedRectangle_forceRefreshHash?.(this.selectedClassCorner);
2154
2176
  this.drawClassView(this.selectedClassCorner);
2155
2177
  this.drawScreen();
2156
2178
  }
@@ -2172,9 +2194,9 @@ export class DiagramRenderer {
2172
2194
  (this.clickY - selectedClassOldPosition.oldPos.y);
2173
2195
  newMovingDeltaX = selectedClass.position.x - newMovingX;
2174
2196
  newMovingDeltaY = selectedClass.position.y - newMovingY;
2175
- positionedRectangle_setPosition(selectedClass, new Point(newMovingX, newMovingY));
2197
+ this.callbacks?.onPositionedRectangle_setPosition?.(selectedClass, new Point(newMovingX, newMovingY));
2176
2198
  // Refresh hash since ClassView position is not observable
2177
- positionedRectangle_forceRefreshHash(selectedClass);
2199
+ this.callbacks?.onPositionedRectangle_forceRefreshHash?.(selectedClass);
2178
2200
  }
2179
2201
  });
2180
2202
  this.potentiallyShiftRelationships(this.diagram.associationViews, this.selectedClasses, newMovingDeltaX, newMovingDeltaY);
@@ -2186,10 +2208,10 @@ export class DiagramRenderer {
2186
2208
  // Change line (add a new point to the line)
2187
2209
  if (this.selectedPoint) {
2188
2210
  if (this.selectedPropertyOrAssociation) {
2189
- relationshipView_changePoint(this.selectedPropertyOrAssociation, this.selectedPoint, eventPointInModelCoordinate);
2211
+ this.callbacks?.onRelationshipView_changePoint?.(this.selectedPropertyOrAssociation, this.selectedPoint, eventPointInModelCoordinate);
2190
2212
  }
2191
2213
  else if (this.selectedInheritance) {
2192
- relationshipView_changePoint(this.selectedInheritance, this.selectedPoint, eventPointInModelCoordinate);
2214
+ this.callbacks?.onRelationshipView_changePoint?.(this.selectedInheritance, this.selectedPoint, eventPointInModelCoordinate);
2193
2215
  }
2194
2216
  this.selectedPoint = eventPointInModelCoordinate;
2195
2217
  this.drawScreen();