@finos/legend-extension-dsl-diagram 7.0.3 → 7.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. package/lib/{DSL_Diagram_DiagramRenderer.d.ts → DiagramRenderer.d.ts} +10 -2
  2. package/lib/DiagramRenderer.d.ts.map +1 -0
  3. package/lib/{DSL_Diagram_DiagramRenderer.js → DiagramRenderer.js} +64 -66
  4. package/lib/DiagramRenderer.js.map +1 -0
  5. package/lib/components/studio/DSL_Diagram_LegendStudioApplicationPlugin.d.ts +2 -0
  6. package/lib/components/studio/DSL_Diagram_LegendStudioApplicationPlugin.d.ts.map +1 -1
  7. package/lib/components/studio/DSL_Diagram_LegendStudioApplicationPlugin.js +5 -0
  8. package/lib/components/studio/DSL_Diagram_LegendStudioApplicationPlugin.js.map +1 -1
  9. package/lib/components/studio/DSL_Diagram_LegendStudioCommand.d.ts +28 -0
  10. package/lib/components/studio/DSL_Diagram_LegendStudioCommand.d.ts.map +1 -0
  11. package/lib/components/studio/DSL_Diagram_LegendStudioCommand.js +62 -0
  12. package/lib/components/studio/DSL_Diagram_LegendStudioCommand.js.map +1 -0
  13. package/lib/components/studio/DiagramEditor.d.ts.map +1 -1
  14. package/lib/components/studio/DiagramEditor.js +13 -11
  15. package/lib/components/studio/DiagramEditor.js.map +1 -1
  16. package/lib/components/studio/InheritanceDiagramRenderer.d.ts +1 -1
  17. package/lib/components/studio/InheritanceDiagramRenderer.d.ts.map +1 -1
  18. package/lib/components/studio/InheritanceDiagramRenderer.js +1 -1
  19. package/lib/components/studio/InheritanceDiagramRenderer.js.map +1 -1
  20. package/lib/index.css +1 -1
  21. package/lib/index.d.ts +1 -1
  22. package/lib/index.d.ts.map +1 -1
  23. package/lib/index.js +1 -1
  24. package/lib/index.js.map +1 -1
  25. package/lib/package.json +4 -4
  26. package/lib/stores/studio/DiagramEditorState.d.ts +5 -4
  27. package/lib/stores/studio/DiagramEditorState.d.ts.map +1 -1
  28. package/lib/stores/studio/DiagramEditorState.js +59 -62
  29. package/lib/stores/studio/DiagramEditorState.js.map +1 -1
  30. package/package.json +11 -11
  31. package/src/{DSL_Diagram_DiagramRenderer.ts → DiagramRenderer.ts} +108 -101
  32. package/src/components/studio/DSL_Diagram_LegendStudioApplicationPlugin.tsx +12 -1
  33. package/src/components/studio/DSL_Diagram_LegendStudioCommand.ts +64 -0
  34. package/src/components/studio/DiagramEditor.tsx +23 -18
  35. package/src/components/studio/InheritanceDiagramRenderer.ts +1 -1
  36. package/src/index.ts +1 -1
  37. package/src/stores/studio/DiagramEditorState.ts +76 -83
  38. package/tsconfig.json +2 -1
  39. package/lib/DSL_Diagram_DiagramRenderer.d.ts.map +0 -1
  40. package/lib/DSL_Diagram_DiagramRenderer.js.map +0 -1
@@ -186,7 +186,7 @@ export declare class DiagramRenderer {
186
186
  /**
187
187
  * Reset the screen offset
188
188
  */
189
- private recenter;
189
+ private center;
190
190
  changeMode(editMode: DIAGRAM_INTERACTION_MODE, relationshipMode: DIAGRAM_RELATIONSHIP_EDIT_MODE): void;
191
191
  align(op: ALIGNER_OPERATOR): void;
192
192
  truncateTextWithEllipsis(val: string, limit?: number): string;
@@ -234,6 +234,14 @@ export declare class DiagramRenderer {
234
234
  * Shift relationship views if both ends' classviews are moved.
235
235
  */
236
236
  private potentiallyShiftRelationships;
237
+ recenter(): void;
238
+ switchToZoomMode(): void;
239
+ switchToViewMode(): void;
240
+ switchToPanMode(): void;
241
+ switchToAddPropertyMode(): void;
242
+ switchToAddInheritanceMode(): void;
243
+ switchToAddClassMode(): void;
244
+ ejectProperty(): void;
237
245
  keydown(e: KeyboardEvent): void;
238
246
  mouseup(e: MouseEvent): void;
239
247
  mousedblclick(e: MouseEvent): void;
@@ -243,4 +251,4 @@ export declare class DiagramRenderer {
243
251
  getSuperTypeLevels(classViews: ClassView[], diagram: Diagram, currentDepth: number, recurseMaxDepth: number): ClassView[][];
244
252
  layoutTaxonomy(classViewLevels: ClassView[][], diagram: Diagram, positionInitialClass: boolean, superType: boolean): [ClassView[], GeneralizationView[]];
245
253
  }
246
- //# sourceMappingURL=DSL_Diagram_DiagramRenderer.d.ts.map
254
+ //# sourceMappingURL=DiagramRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiagramRenderer.d.ts","sourceRoot":"","sources":["../src/DiagramRenderer.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ import { boxContains, buildBottomRightCornerBox, getBottomRightCornerPoint, getE
27
27
  import { AssociationView } from './graph/metamodel/pure/packageableElements/diagram/DSL_Diagram_AssociationView.js';
28
28
  import { class_addProperty, class_addSuperType, } from '@finos/legend-application-studio';
29
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';
30
+ import { forceDispatchKeyboardEvent } from '@finos/legend-application';
30
31
  export var DIAGRAM_INTERACTION_MODE;
31
32
  (function (DIAGRAM_INTERACTION_MODE) {
32
33
  DIAGRAM_INTERACTION_MODE[DIAGRAM_INTERACTION_MODE["LAYOUT"] = 0] = "LAYOUT";
@@ -395,12 +396,12 @@ export class DiagramRenderer {
395
396
  this.drawAll();
396
397
  }
397
398
  autoRecenter() {
398
- this.recenter(this.virtualScreen.position.x + this.virtualScreen.rectangle.width / 2, this.virtualScreen.position.y + this.virtualScreen.rectangle.height / 2);
399
+ this.center(this.virtualScreen.position.x + this.virtualScreen.rectangle.width / 2, this.virtualScreen.position.y + this.virtualScreen.rectangle.height / 2);
399
400
  }
400
401
  /**
401
402
  * Reset the screen offset
402
403
  */
403
- recenter(x, y) {
404
+ center(x, y) {
404
405
  this.screenOffset = new Point(-x + this.canvasCenter.x, -y + this.canvasCenter.y);
405
406
  this.refresh();
406
407
  }
@@ -1477,7 +1478,65 @@ export class DiagramRenderer {
1477
1478
  }
1478
1479
  });
1479
1480
  }
1481
+ // -------------------------------- Actions ------------------------------
1482
+ recenter() {
1483
+ if (this.selectedClasses.length !== 0) {
1484
+ const firstClass = getNullableFirstElement(this.selectedClasses);
1485
+ if (firstClass) {
1486
+ this.center(firstClass.position.x + firstClass.rectangle.width / 2, firstClass.position.y + firstClass.rectangle.height / 2);
1487
+ }
1488
+ }
1489
+ else {
1490
+ this.autoRecenter();
1491
+ }
1492
+ }
1493
+ switchToZoomMode() {
1494
+ this.changeMode(this.interactionMode !== DIAGRAM_INTERACTION_MODE.ZOOM_IN
1495
+ ? DIAGRAM_INTERACTION_MODE.ZOOM_IN
1496
+ : DIAGRAM_INTERACTION_MODE.ZOOM_OUT, DIAGRAM_RELATIONSHIP_EDIT_MODE.NONE);
1497
+ }
1498
+ switchToViewMode() {
1499
+ this.changeMode(DIAGRAM_INTERACTION_MODE.LAYOUT, DIAGRAM_RELATIONSHIP_EDIT_MODE.NONE);
1500
+ }
1501
+ switchToPanMode() {
1502
+ this.changeMode(DIAGRAM_INTERACTION_MODE.PAN, DIAGRAM_RELATIONSHIP_EDIT_MODE.NONE);
1503
+ }
1504
+ switchToAddPropertyMode() {
1505
+ if (!this.isReadOnly) {
1506
+ this.changeMode(DIAGRAM_INTERACTION_MODE.ADD_RELATIONSHIP, DIAGRAM_RELATIONSHIP_EDIT_MODE.PROPERTY);
1507
+ }
1508
+ }
1509
+ switchToAddInheritanceMode() {
1510
+ if (!this.isReadOnly) {
1511
+ this.changeMode(DIAGRAM_INTERACTION_MODE.ADD_RELATIONSHIP, DIAGRAM_RELATIONSHIP_EDIT_MODE.INHERITANCE);
1512
+ }
1513
+ }
1514
+ switchToAddClassMode() {
1515
+ if (!this.isReadOnly) {
1516
+ this.changeMode(DIAGRAM_INTERACTION_MODE.ADD_CLASS, DIAGRAM_RELATIONSHIP_EDIT_MODE.NONE);
1517
+ }
1518
+ }
1519
+ ejectProperty() {
1520
+ if (!this.isReadOnly) {
1521
+ if (this.mouseOverClassProperty) {
1522
+ if (this.mouseOverClassProperty.genericType.value.rawType instanceof Class) {
1523
+ this.addClassView(this.mouseOverClassProperty.genericType.value.rawType, this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(new Point(this.cursorPosition.x, this.cursorPosition.y))));
1524
+ }
1525
+ }
1526
+ else if (this.selectedClassProperty) {
1527
+ if (this.selectedClassProperty.property.genericType.value
1528
+ .rawType instanceof Class) {
1529
+ this.addClassView(this.selectedClassProperty.property.genericType.value.rawType, this.selectedClassProperty.selectionPoint);
1530
+ }
1531
+ this.selectedClassProperty = undefined;
1532
+ }
1533
+ }
1534
+ }
1535
+ // --------------------------------- Event handler --------------------------
1480
1536
  keydown(e) {
1537
+ // NOTE: Since <canvas> element does not bubble `keydown` event naturally, we will
1538
+ // manually do this in order to take advantage of application keyboard shortcuts service
1539
+ forceDispatchKeyboardEvent(e);
1481
1540
  // Remove selected view(s)
1482
1541
  if ('Delete' === e.key) {
1483
1542
  if (!this.isReadOnly) {
@@ -1501,7 +1560,7 @@ export class DiagramRenderer {
1501
1560
  diagram_deleteGeneralizationView(this.diagram, this.selectedInheritance);
1502
1561
  }
1503
1562
  }
1504
- this.selectedClasses = [];
1563
+ this.setSelectedClasses([]);
1505
1564
  this.drawScreen();
1506
1565
  }
1507
1566
  }
@@ -1527,50 +1586,6 @@ export class DiagramRenderer {
1527
1586
  this.handleEditClassView(this.selectedClasses[0]);
1528
1587
  }
1529
1588
  }
1530
- // Recenter
1531
- else if ('r' === e.key) {
1532
- if (this.selectedClasses.length !== 0) {
1533
- const firstClass = getNullableFirstElement(this.selectedClasses);
1534
- if (firstClass) {
1535
- this.recenter(firstClass.position.x + firstClass.rectangle.width / 2, firstClass.position.y + firstClass.rectangle.height / 2);
1536
- }
1537
- }
1538
- else {
1539
- this.autoRecenter();
1540
- }
1541
- }
1542
- // Zoom
1543
- else if ('z' === e.key) {
1544
- this.changeMode(this.interactionMode !== DIAGRAM_INTERACTION_MODE.ZOOM_IN
1545
- ? DIAGRAM_INTERACTION_MODE.ZOOM_IN
1546
- : DIAGRAM_INTERACTION_MODE.ZOOM_OUT, DIAGRAM_RELATIONSHIP_EDIT_MODE.NONE);
1547
- }
1548
- // Use View Tool
1549
- else if ('v' === e.key) {
1550
- this.changeMode(DIAGRAM_INTERACTION_MODE.LAYOUT, DIAGRAM_RELATIONSHIP_EDIT_MODE.NONE);
1551
- }
1552
- // Use Pan Tool
1553
- else if ('m' === e.key) {
1554
- this.changeMode(DIAGRAM_INTERACTION_MODE.PAN, DIAGRAM_RELATIONSHIP_EDIT_MODE.NONE);
1555
- }
1556
- // Use Property Tool
1557
- else if ('p' === e.key) {
1558
- if (!this.isReadOnly) {
1559
- this.changeMode(DIAGRAM_INTERACTION_MODE.ADD_RELATIONSHIP, DIAGRAM_RELATIONSHIP_EDIT_MODE.PROPERTY);
1560
- }
1561
- }
1562
- // Use Inheritance Tool
1563
- else if ('i' === e.key) {
1564
- if (!this.isReadOnly) {
1565
- this.changeMode(DIAGRAM_INTERACTION_MODE.ADD_RELATIONSHIP, DIAGRAM_RELATIONSHIP_EDIT_MODE.INHERITANCE);
1566
- }
1567
- }
1568
- // Add Class
1569
- else if ('c' === e.key) {
1570
- if (!this.isReadOnly) {
1571
- this.changeMode(DIAGRAM_INTERACTION_MODE.ADD_CLASS, DIAGRAM_RELATIONSHIP_EDIT_MODE.NONE);
1572
- }
1573
- }
1574
1589
  // Hide/show properties for selected element(s)
1575
1590
  else if (e.altKey && 'KeyP' === e.code) {
1576
1591
  if (!this.isReadOnly) {
@@ -1610,24 +1625,6 @@ export class DiagramRenderer {
1610
1625
  this.handleAddSimpleProperty(this.selectedClasses[0]);
1611
1626
  }
1612
1627
  }
1613
- // Eject the property
1614
- else if ('ArrowRight' === e.key) {
1615
- if (!this.isReadOnly) {
1616
- if (this.mouseOverClassProperty) {
1617
- if (this.mouseOverClassProperty.genericType.value.rawType instanceof
1618
- Class) {
1619
- this.addClassView(this.mouseOverClassProperty.genericType.value.rawType, this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(new Point(this.cursorPosition.x, this.cursorPosition.y))));
1620
- }
1621
- }
1622
- else if (this.selectedClassProperty) {
1623
- if (this.selectedClassProperty.property.genericType.value
1624
- .rawType instanceof Class) {
1625
- this.addClassView(this.selectedClassProperty.property.genericType.value.rawType, this.selectedClassProperty.selectionPoint);
1626
- }
1627
- this.selectedClassProperty = undefined;
1628
- }
1629
- }
1630
- }
1631
1628
  // Add supertypes of selected classes to the diagram
1632
1629
  else if ('ArrowUp' === e.key) {
1633
1630
  const views = this.getSuperTypeLevels(this.selectedClasses, this.diagram, 0, 1);
@@ -2164,6 +2161,7 @@ export class DiagramRenderer {
2164
2161
  }
2165
2162
  return [];
2166
2163
  }
2164
+ // --------------------------------------- Extension -----------------------------------
2167
2165
  layoutTaxonomy(classViewLevels, diagram, positionInitialClass, superType) {
2168
2166
  // Offsets
2169
2167
  const spaceY = 30;
@@ -2229,4 +2227,4 @@ export class DiagramRenderer {
2229
2227
  return [classViews, generalizationViews];
2230
2228
  }
2231
2229
  }
2232
- //# sourceMappingURL=DSL_Diagram_DiagramRenderer.js.map
2230
+ //# sourceMappingURL=DiagramRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiagramRenderer.js","sourceRoot":"","sources":["../src/DiagramRenderer.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,10 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { LegendStudioApplicationPlugin, type NewElementFromStateCreator, type ElementEditorStateCreator, type ElementClassifier, type DragElementClassifier, type ElementIconGetter, type ElementEditorRenderer, type DSL_LegendStudioApplicationPlugin_Extension, type ElementEditorPostDeleteAction, type ElementEditorPostRenameAction, type ClassPreviewRenderer, type PureGrammarParserDocumentationGetter, type PureGrammarParserElementDocumentationGetter, type PureGrammarParserKeywordSuggestionGetter, type PureGrammarParserElementSnippetSuggestionsGetter } from '@finos/legend-application-studio';
17
+ import { type KeyedCommandConfigEntry } from '@finos/legend-application';
17
18
  export declare class DSL_Diagram_LegendStudioApplicationPlugin extends LegendStudioApplicationPlugin implements DSL_LegendStudioApplicationPlugin_Extension {
18
19
  constructor();
20
+ getExtraKeyedCommandConfigEntries(): KeyedCommandConfigEntry[];
19
21
  getExtraRequiredDocumentationKeys(): string[];
20
22
  getExtraClassPreviewRenderers(): ClassPreviewRenderer[];
21
23
  getExtraAccessEventLoggingApplicationContextKeys(): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"DSL_Diagram_LegendStudioApplicationPlugin.d.ts","sourceRoot":"","sources":["../../../src/components/studio/DSL_Diagram_LegendStudioApplicationPlugin.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EACL,6BAA6B,EAC7B,KAAK,0BAA0B,EAG/B,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,2CAA2C,EAEhD,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,KAAK,oBAAoB,EACzB,KAAK,oCAAoC,EACzC,KAAK,2CAA2C,EAChD,KAAK,wCAAwC,EAE7C,KAAK,gDAAgD,EACtD,MAAM,kCAAkC,CAAC;AAwB1C,qBAAa,yCACX,SAAQ,6BACR,YAAW,2CAA2C;;IAM7C,iCAAiC,IAAI,MAAM,EAAE;IAO7C,6BAA6B,IAAI,oBAAoB,EAAE;IAQvD,gDAAgD,IAAI,MAAM,EAAE;IAMrE,6BAA6B,IAAI,MAAM,EAAE;IAIzC,0BAA0B,IAAI,iBAAiB,EAAE;IAWjD,0BAA0B,IAAI,iBAAiB,EAAE;IAejD,8BAA8B,IAAI,qBAAqB,EAAE;IAWzD,mCAAmC,IAAI,0BAA0B,EAAE;IAenE,kCAAkC,IAAI,yBAAyB,EAAE;IAcjE,8BAA8B,IAAI,qBAAqB,EAAE;IAWzD,6CAA6C,IAAI,MAAM,EAAE;IAIzD,sCAAsC,IAAI,6BAA6B,EAAE;IAWzE,sCAAsC,IAAI,6BAA6B,EAAE;IAWzE,oDAAoD,IAAI,2CAA2C,EAAE;IAmBrG,6CAA6C,IAAI,oCAAoC,EAAE;IAgBvF,iDAAiD,IAAI,wCAAwC,EAAE;IAgB/F,yDAAyD,IAAI,gDAAgD,EAAE;CAgChH"}
1
+ {"version":3,"file":"DSL_Diagram_LegendStudioApplicationPlugin.d.ts","sourceRoot":"","sources":["../../../src/components/studio/DSL_Diagram_LegendStudioApplicationPlugin.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EACL,6BAA6B,EAC7B,KAAK,0BAA0B,EAG/B,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,2CAA2C,EAEhD,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,KAAK,oBAAoB,EACzB,KAAK,oCAAoC,EACzC,KAAK,2CAA2C,EAChD,KAAK,wCAAwC,EAE7C,KAAK,gDAAgD,EACtD,MAAM,kCAAkC,CAAC;AAkB1C,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,2BAA2B,CAAC;AAOnC,qBAAa,yCACX,SAAQ,6BACR,YAAW,2CAA2C;;IAM7C,iCAAiC,IAAI,uBAAuB,EAAE;IAM9D,iCAAiC,IAAI,MAAM,EAAE;IAO7C,6BAA6B,IAAI,oBAAoB,EAAE;IAQvD,gDAAgD,IAAI,MAAM,EAAE;IAMrE,6BAA6B,IAAI,MAAM,EAAE;IAIzC,0BAA0B,IAAI,iBAAiB,EAAE;IAWjD,0BAA0B,IAAI,iBAAiB,EAAE;IAejD,8BAA8B,IAAI,qBAAqB,EAAE;IAWzD,mCAAmC,IAAI,0BAA0B,EAAE;IAenE,kCAAkC,IAAI,yBAAyB,EAAE;IAcjE,8BAA8B,IAAI,qBAAqB,EAAE;IAWzD,6CAA6C,IAAI,MAAM,EAAE;IAIzD,sCAAsC,IAAI,6BAA6B,EAAE;IAWzE,sCAAsC,IAAI,6BAA6B,EAAE;IAWzE,oDAAoD,IAAI,2CAA2C,EAAE;IAmBrG,6CAA6C,IAAI,oCAAoC,EAAE;IAgBvF,iDAAiD,IAAI,wCAAwC,EAAE;IAgB/F,yDAAyD,IAAI,gDAAgD,EAAE;CAgChH"}
@@ -24,13 +24,18 @@ import { ClassDiagramPreview } from './ClassDiagramPreview.js';
24
24
  import { PURE_GRAMMAR_DIAGRAM_ELEMENT_TYPE_LABEL, PURE_GRAMMAR_DIAGRAM_PARSER_NAME, } from '../../graphManager/DSL_Diagram_PureGraphManagerPlugin.js';
25
25
  import { DSL_DIAGRAM_LEGEND_STUDIO_DOCUMENTATION_KEY } from './DSL_Diagram_LegendStudioDocumentation.js';
26
26
  import { EMPTY_DIAGRAM_SNIPPET, getDiagramSnippetWithGeneralizationView, getDiagramSnippetWithOneClassView, getDiagramSnippetWithPropertyView, } from './DSL_Diagram_CodeSnippets.js';
27
+ import { collectKeyedCommandConfigEntriesFromConfig, } from '@finos/legend-application';
27
28
  import { DSL_DIAGRAM_LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY } from '../../stores/studio/DSL_Diagram_LegendStudioApplicationNavigationContext.js';
29
+ import { DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_CONFIG } from './DSL_Diagram_LegendStudioCommand.js';
28
30
  const DIAGRAM_ELEMENT_TYPE = 'DIAGRAM';
29
31
  const DIAGRAM_ELEMENT_PROJECT_EXPLORER_DND_TYPE = 'PROJECT_EXPLORER_DIAGRAM';
30
32
  export class DSL_Diagram_LegendStudioApplicationPlugin extends LegendStudioApplicationPlugin {
31
33
  constructor() {
32
34
  super(packageJson.extensions.applicationStudioPlugin, packageJson.version);
33
35
  }
36
+ getExtraKeyedCommandConfigEntries() {
37
+ return collectKeyedCommandConfigEntriesFromConfig(DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_CONFIG);
38
+ }
34
39
  getExtraRequiredDocumentationKeys() {
35
40
  return [
36
41
  DSL_DIAGRAM_LEGEND_STUDIO_DOCUMENTATION_KEY.GRAMMAR_ELEMENT_DIAGRAM,
@@ -1 +1 @@
1
- {"version":3,"file":"DSL_Diagram_LegendStudioApplicationPlugin.js","sourceRoot":"","sources":["../../../src/components/studio/DSL_Diagram_LegendStudioApplicationPlugin.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DSL_Diagram_LegendStudioApplicationPlugin.js","sourceRoot":"","sources":["../../../src/components/studio/DSL_Diagram_LegendStudioApplicationPlugin.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import type { CommandConfigData } from '@finos/legend-application';
17
+ export declare enum DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY {
18
+ RECENTER = "dsl-diagram.diagram-editor.recenter",
19
+ USE_ZOOM_TOOL = "dsl-diagram.diagram-editor.use-zoom-tool",
20
+ USE_VIEW_TOOL = "dsl-diagram.diagram-editor.use-view-tool",
21
+ USE_PAN_TOOL = "dsl-diagram.diagram-editor.use-pan-tool",
22
+ USE_PROPERTY_TOOL = "dsl-diagram.diagram-editor.use-property-tool",
23
+ USE_INHERITANCE_TOOL = "dsl-diagram.diagram-editor.use-inheritance-tool",
24
+ ADD_CLASS = "dsl-diagram.diagram-editor.add-class",
25
+ EJECT_PROPERTY = "dsl-diagram.diagram-editor.eject-property"
26
+ }
27
+ export declare const DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_CONFIG: CommandConfigData;
28
+ //# sourceMappingURL=DSL_Diagram_LegendStudioCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DSL_Diagram_LegendStudioCommand.d.ts","sourceRoot":"","sources":["../../../src/components/studio/DSL_Diagram_LegendStudioCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,oBAAY,qCAAqC;IAC/C,QAAQ,wCAAwC;IAChD,aAAa,6CAA6C;IAC1D,aAAa,6CAA6C;IAC1D,YAAY,4CAA4C;IACxD,iBAAiB,iDAAiD;IAClE,oBAAoB,oDAAoD;IACxE,SAAS,yCAAyC;IAClD,cAAc,8CAA8C;CAC7D;AAED,eAAO,MAAM,wCAAwC,EAAE,iBAkCtD,CAAC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export var DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY;
17
+ (function (DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY) {
18
+ DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY["RECENTER"] = "dsl-diagram.diagram-editor.recenter";
19
+ DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY["USE_ZOOM_TOOL"] = "dsl-diagram.diagram-editor.use-zoom-tool";
20
+ DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY["USE_VIEW_TOOL"] = "dsl-diagram.diagram-editor.use-view-tool";
21
+ DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY["USE_PAN_TOOL"] = "dsl-diagram.diagram-editor.use-pan-tool";
22
+ DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY["USE_PROPERTY_TOOL"] = "dsl-diagram.diagram-editor.use-property-tool";
23
+ DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY["USE_INHERITANCE_TOOL"] = "dsl-diagram.diagram-editor.use-inheritance-tool";
24
+ DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY["ADD_CLASS"] = "dsl-diagram.diagram-editor.add-class";
25
+ DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY["EJECT_PROPERTY"] = "dsl-diagram.diagram-editor.eject-property";
26
+ })(DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY = DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY || (DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY = {}));
27
+ export const DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_CONFIG = {
28
+ [DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY.RECENTER]: {
29
+ title: 'Diagram Editor: Recenter',
30
+ defaultKeyboardShortcut: 'r',
31
+ },
32
+ [DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY.USE_ZOOM_TOOL]: {
33
+ title: 'Diagram Editor: Use zoom tool',
34
+ defaultKeyboardShortcut: 'z',
35
+ },
36
+ [DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY.USE_VIEW_TOOL]: {
37
+ title: 'Diagram Editor: Use view tool',
38
+ defaultKeyboardShortcut: 'v',
39
+ },
40
+ [DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY.USE_PAN_TOOL]: {
41
+ title: 'Diagram Editor: Use pan tool',
42
+ defaultKeyboardShortcut: 'm',
43
+ },
44
+ [DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY.USE_PROPERTY_TOOL]: {
45
+ title: 'Diagram Editor: Use property tool',
46
+ defaultKeyboardShortcut: 'p',
47
+ },
48
+ [DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY.USE_INHERITANCE_TOOL]: {
49
+ title: 'Diagram Editor: Use inheritance tool',
50
+ defaultKeyboardShortcut: 'i',
51
+ },
52
+ [DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY.ADD_CLASS]: {
53
+ title: 'Diagram Editor: Add class',
54
+ defaultKeyboardShortcut: 'c',
55
+ },
56
+ [DSL_DIAGRAM_LEGEND_STUDIO_COMMAND_KEY.EJECT_PROPERTY]: {
57
+ title: 'Diagram Editor: Eject Property',
58
+ defaultKeyboardShortcut: 'ArrowRight',
59
+ when: 'When hovering on a class property',
60
+ },
61
+ };
62
+ //# sourceMappingURL=DSL_Diagram_LegendStudioCommand.js.map