babylonjs-node-geometry-editor 7.25.2 → 7.26.0

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/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
  */
@@ -4260,6 +4270,7 @@ declare module BABYLON.NodeGeometryEditor {
4260
4270
  private _diagramContainerRef;
4261
4271
  private _graphCanvas;
4262
4272
  private _diagramContainer;
4273
+ private _historyStack;
4263
4274
  private _startX;
4264
4275
  private _moveInProgress;
4265
4276
  private _leftWidth;
@@ -4272,6 +4283,7 @@ declare module BABYLON.NodeGeometryEditor {
4272
4283
  private _popUpWindow;
4273
4284
  appendBlock(dataToAppend: BABYLON.NodeGeometryBlock | BABYLON.NodeGeometryEditor.SharedUIComponents.INodeData, recursion?: boolean): BABYLON.NodeGeometryEditor.SharedUIComponents.GraphNode;
4274
4285
  addValueNode(type: string): BABYLON.NodeGeometryEditor.SharedUIComponents.GraphNode;
4286
+ prepareHistoryStack(): void;
4275
4287
  componentDidMount(): void;
4276
4288
  componentWillUnmount(): void;
4277
4289
  constructor(props: IGraphEditorProps);
@@ -4310,6 +4322,7 @@ declare module BABYLON.NodeGeometryEditor {
4310
4322
  stateManager: BABYLON.NodeGeometryEditor.SharedUIComponents.StateManager;
4311
4323
  onBuiltObservable: BABYLON.Observable<void>;
4312
4324
  onResetRequiredObservable: BABYLON.Observable<boolean>;
4325
+ onClearUndoStack: BABYLON.Observable<void>;
4313
4326
  onZoomToFitRequiredObservable: BABYLON.Observable<void>;
4314
4327
  onReOrganizedRequiredObservable: BABYLON.Observable<void>;
4315
4328
  onPreviewModeChanged: BABYLON.Observable<void>;
@@ -5005,8 +5018,9 @@ declare module BABYLON.NodeGeometryEditor.SharedUIComponents {
5005
5018
  * Class handling undo / redo operations
5006
5019
  */
5007
5020
  export class HistoryStack implements BABYLON.IDisposable {
5008
- private _history;
5021
+ private _historyStack;
5009
5022
  private _redoStack;
5023
+ private _activeData;
5010
5024
  private readonly _maxHistoryLength;
5011
5025
  private _locked;
5012
5026
  private _dataProvider;
@@ -5017,13 +5031,19 @@ declare module BABYLON.NodeGeometryEditor.SharedUIComponents {
5017
5031
  * @param applyUpdate defines the code to execute when undo/redo operation is required
5018
5032
  */
5019
5033
  constructor(dataProvider: () => any, applyUpdate: (data: any) => void);
5034
+ /**
5035
+ * Process key event to handle undo / redo
5036
+ * @param evt defines the keyboard event to process
5037
+ * @returns true if the event was processed
5038
+ */
5039
+ processKeyEvent(evt: KeyboardEvent): boolean;
5020
5040
  /**
5021
5041
  * Resets the stack
5022
5042
  */
5023
5043
  reset(): void;
5024
5044
  private _generateJSONDiff;
5025
5045
  private _applyJSONDiff;
5026
- private _rebuildState;
5046
+ private _copy;
5027
5047
  /**
5028
5048
  * Stores the current state
5029
5049
  */
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.0",
4
4
  "main": "babylon.nodeGeometryEditor.js",
5
5
  "types": "babylon.nodeGeometryEditor.module.d.ts",
6
6
  "files": [
@@ -14,7 +14,7 @@
14
14
  "clean": "rimraf dist && rimraf babylon*.* -g"
15
15
  },
16
16
  "dependencies": {
17
- "babylonjs": "^7.25.2"
17
+ "babylonjs": "^7.26.0"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@dev/build-tools": "1.0.0",