@babylonjs/node-geometry-editor 7.25.2 → 7.26.1

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.
@@ -92,6 +92,7 @@ export class GraphEditor extends React.Component<IGraphEditorProps, IGraphEditor
92
92
  private _diagramContainerRef;
93
93
  private _graphCanvas;
94
94
  private _diagramContainer;
95
+ private _historyStack;
95
96
  private _startX;
96
97
  private _moveInProgress;
97
98
  private _leftWidth;
@@ -104,6 +105,7 @@ export class GraphEditor extends React.Component<IGraphEditorProps, IGraphEditor
104
105
  private _popUpWindow;
105
106
  appendBlock(dataToAppend: NodeGeometryBlock | INodeData, recursion?: boolean): GraphNode;
106
107
  addValueNode(type: string): GraphNode;
108
+ prepareHistoryStack(): void;
107
109
  componentDidMount(): void;
108
110
  componentWillUnmount(): void;
109
111
  constructor(props: IGraphEditorProps);
@@ -155,6 +157,7 @@ export class GlobalState {
155
157
  stateManager: StateManager;
156
158
  onBuiltObservable: Observable<void>;
157
159
  onResetRequiredObservable: Observable<boolean>;
160
+ onClearUndoStack: Observable<void>;
158
161
  onZoomToFitRequiredObservable: Observable<void>;
159
162
  onReOrganizedRequiredObservable: Observable<void>;
160
163
  onPreviewModeChanged: Observable<void>;
@@ -1098,8 +1101,9 @@ import { IDisposable } from "@babylonjs/core/scene";
1098
1101
  * Class handling undo / redo operations
1099
1102
  */
1100
1103
  export class HistoryStack implements IDisposable {
1101
- private _history;
1104
+ private _historyStack;
1102
1105
  private _redoStack;
1106
+ private _activeData;
1103
1107
  private readonly _maxHistoryLength;
1104
1108
  private _locked;
1105
1109
  private _dataProvider;
@@ -1110,13 +1114,19 @@ export class HistoryStack implements IDisposable {
1110
1114
  * @param applyUpdate defines the code to execute when undo/redo operation is required
1111
1115
  */
1112
1116
  constructor(dataProvider: () => any, applyUpdate: (data: any) => void);
1117
+ /**
1118
+ * Process key event to handle undo / redo
1119
+ * @param evt defines the keyboard event to process
1120
+ * @returns true if the event was processed
1121
+ */
1122
+ processKeyEvent(evt: KeyboardEvent): boolean;
1113
1123
  /**
1114
1124
  * Resets the stack
1115
1125
  */
1116
1126
  reset(): void;
1117
1127
  private _generateJSONDiff;
1118
1128
  private _applyJSONDiff;
1119
- private _rebuildState;
1129
+ private _copy;
1120
1130
  /**
1121
1131
  * Stores the current state
1122
1132
  */
@@ -1635,6 +1645,8 @@ export class NodeLink {
1635
1645
  get nodeB(): GraphNode | undefined;
1636
1646
  intersectsWith(rect: DOMRect): boolean;
1637
1647
  update(endX?: number, endY?: number, straight?: boolean): void;
1648
+ get path(): SVGPathElement;
1649
+ get selectionPath(): SVGPathElement;
1638
1650
  constructor(graphCanvas: GraphCanvasComponent, portA: NodePort, nodeA: GraphNode, portB?: NodePort, nodeB?: GraphNode);
1639
1651
  onClick(evt: MouseEvent): void;
1640
1652
  dispose(notify?: boolean): void;
@@ -1715,6 +1727,7 @@ export class GraphNode {
1715
1727
  set enclosingFrameId(value: number);
1716
1728
  set isSelected(value: boolean);
1717
1729
  setIsSelected(value: boolean, marqueeSelection: boolean): void;
1730
+ get rootElement(): HTMLDivElement;
1718
1731
  constructor(content: INodeData, stateManager: StateManager);
1719
1732
  isOverlappingFrame(frame: GraphFrame): boolean;
1720
1733
  getPortForPortData(portData: IPortData): NodePort | null;
@@ -1765,6 +1778,7 @@ export class GraphFrame {
1765
1778
  private _headerTextElement;
1766
1779
  private _headerCollapseElement;
1767
1780
  private _headerCloseElement;
1781
+ private _headerFocusElement;
1768
1782
  private _commentsElement;
1769
1783
  private _portContainer;
1770
1784
  private _outputPortContainer;
@@ -1794,6 +1808,7 @@ export class GraphFrame {
1794
1808
  private readonly _closeSVG;
1795
1809
  private readonly _expandSVG;
1796
1810
  private readonly _collapseSVG;
1811
+ private readonly _focusSVG;
1797
1812
  get id(): number;
1798
1813
  get isCollapsed(): boolean;
1799
1814
  private _createInputPort;
@@ -1822,6 +1837,11 @@ export class GraphFrame {
1822
1837
  get comments(): string;
1823
1838
  set comments(comments: string);
1824
1839
  constructor(candidate: Nullable<HTMLDivElement>, canvas: GraphCanvasComponent, doNotCaptureNodes?: boolean);
1840
+ private _isFocused;
1841
+ /**
1842
+ * Enter/leave focus mode
1843
+ */
1844
+ switchFocusMode(): void;
1825
1845
  refresh(): void;
1826
1846
  addNode(node: GraphNode): void;
1827
1847
  removeNode(node: GraphNode): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babylonjs/node-geometry-editor",
3
- "version": "7.25.2",
3
+ "version": "7.26.1",
4
4
  "main": "dist/babylon.nodeGeometryEditor.max.js",
5
5
  "module": "dist/babylon.nodeGeometryEditor.max.js",
6
6
  "esnext": "dist/babylon.nodeGeometryEditor.max.js",
@@ -23,7 +23,7 @@
23
23
  "@types/react-dom": ">=16.0.9"
24
24
  },
25
25
  "devDependencies": {
26
- "@babylonjs/core": "^7.25.2",
26
+ "@babylonjs/core": "^7.26.1",
27
27
  "react": "^17.0.2",
28
28
  "react-dom": "^17.0.2"
29
29
  },