@pixerate/editor 0.254.0 → 0.254.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.
|
@@ -39,6 +39,12 @@ export interface CanvasChange<TNode extends CanvasNode = CanvasNode, TEdge exten
|
|
|
39
39
|
};
|
|
40
40
|
/** A node is being dragged or resized: more changes of the same gesture will follow. */
|
|
41
41
|
inGesture: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* The drag or resize that earlier changes reported (`inGesture`) has ended. Set on the first
|
|
44
|
+
* change after it, which the feed reports even when nothing else changed: a drop often only
|
|
45
|
+
* clears the runtime `dragging` flag, and followers need to know the gesture is over.
|
|
46
|
+
*/
|
|
47
|
+
gestureEnded?: true;
|
|
42
48
|
/** Milliseconds since the epoch. */
|
|
43
49
|
at: number;
|
|
44
50
|
}
|
|
@@ -39,6 +39,12 @@ export interface CanvasChange<TNode extends CanvasNode = CanvasNode, TEdge exten
|
|
|
39
39
|
};
|
|
40
40
|
/** A node is being dragged or resized: more changes of the same gesture will follow. */
|
|
41
41
|
inGesture: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* The drag or resize that earlier changes reported (`inGesture`) has ended. Set on the first
|
|
44
|
+
* change after it, which the feed reports even when nothing else changed: a drop often only
|
|
45
|
+
* clears the runtime `dragging` flag, and followers need to know the gesture is over.
|
|
46
|
+
*/
|
|
47
|
+
gestureEnded?: true;
|
|
42
48
|
/** Milliseconds since the epoch. */
|
|
43
49
|
at: number;
|
|
44
50
|
}
|
package/dist/canvas/index.cjs
CHANGED
|
@@ -12440,6 +12440,8 @@ function createCanvasChangeFeed(options) {
|
|
|
12440
12440
|
let edges = options.getEdges();
|
|
12441
12441
|
let seq = 0;
|
|
12442
12442
|
let pending;
|
|
12443
|
+
const gesturing = (list) => list.some((n3) => n3.dragging || n3.resizing);
|
|
12444
|
+
let wasInGesture = gesturing(nodes);
|
|
12443
12445
|
const check = () => {
|
|
12444
12446
|
const nextNodes = options.getNodes();
|
|
12445
12447
|
const nextEdges = options.getEdges();
|
|
@@ -12471,8 +12473,11 @@ function createCanvasChangeFeed(options) {
|
|
|
12471
12473
|
const selectionChanged = selBefore.length !== selAfter.length || selBefore.some((id, i) => id !== selAfter[i]);
|
|
12472
12474
|
nodes = nextNodes;
|
|
12473
12475
|
edges = nextEdges;
|
|
12476
|
+
const inGesture = gesturing(nextNodes);
|
|
12477
|
+
const gestureEnded = wasInGesture && !inGesture;
|
|
12478
|
+
wasInGesture = inGesture;
|
|
12474
12479
|
const edited = addedNodes.length + removedNodes.length + changedNodes.length + addedEdges.length + removedEdges.length + changedEdges.length > 0;
|
|
12475
|
-
if (!edited && !selectionChanged) return null;
|
|
12480
|
+
if (!edited && !selectionChanged && !gestureEnded) return null;
|
|
12476
12481
|
const commit = edited ? pending : void 0;
|
|
12477
12482
|
if (edited) pending = void 0;
|
|
12478
12483
|
const change = {
|
|
@@ -12486,7 +12491,8 @@ function createCanvasChangeFeed(options) {
|
|
|
12486
12491
|
removedEdges,
|
|
12487
12492
|
changedEdges,
|
|
12488
12493
|
...selectionChanged ? { selection: { before: selBefore, after: selAfter } } : {},
|
|
12489
|
-
inGesture
|
|
12494
|
+
inGesture,
|
|
12495
|
+
...gestureEnded ? { gestureEnded: true } : {},
|
|
12490
12496
|
at: now()
|
|
12491
12497
|
};
|
|
12492
12498
|
listeners.forEach((l) => l(change));
|
|
@@ -12511,6 +12517,7 @@ function createCanvasChangeFeed(options) {
|
|
|
12511
12517
|
nodes = options.getNodes();
|
|
12512
12518
|
edges = options.getEdges();
|
|
12513
12519
|
pending = void 0;
|
|
12520
|
+
wasInGesture = gesturing(nodes);
|
|
12514
12521
|
},
|
|
12515
12522
|
noteCommit,
|
|
12516
12523
|
dispose: () => {
|
package/dist/canvas/index.js
CHANGED
|
@@ -12440,6 +12440,8 @@ function createCanvasChangeFeed(options) {
|
|
|
12440
12440
|
let edges = options.getEdges();
|
|
12441
12441
|
let seq = 0;
|
|
12442
12442
|
let pending;
|
|
12443
|
+
const gesturing = (list) => list.some((n3) => n3.dragging || n3.resizing);
|
|
12444
|
+
let wasInGesture = gesturing(nodes);
|
|
12443
12445
|
const check = () => {
|
|
12444
12446
|
const nextNodes = options.getNodes();
|
|
12445
12447
|
const nextEdges = options.getEdges();
|
|
@@ -12471,8 +12473,11 @@ function createCanvasChangeFeed(options) {
|
|
|
12471
12473
|
const selectionChanged = selBefore.length !== selAfter.length || selBefore.some((id, i) => id !== selAfter[i]);
|
|
12472
12474
|
nodes = nextNodes;
|
|
12473
12475
|
edges = nextEdges;
|
|
12476
|
+
const inGesture = gesturing(nextNodes);
|
|
12477
|
+
const gestureEnded = wasInGesture && !inGesture;
|
|
12478
|
+
wasInGesture = inGesture;
|
|
12474
12479
|
const edited = addedNodes.length + removedNodes.length + changedNodes.length + addedEdges.length + removedEdges.length + changedEdges.length > 0;
|
|
12475
|
-
if (!edited && !selectionChanged) return null;
|
|
12480
|
+
if (!edited && !selectionChanged && !gestureEnded) return null;
|
|
12476
12481
|
const commit = edited ? pending : void 0;
|
|
12477
12482
|
if (edited) pending = void 0;
|
|
12478
12483
|
const change = {
|
|
@@ -12486,7 +12491,8 @@ function createCanvasChangeFeed(options) {
|
|
|
12486
12491
|
removedEdges,
|
|
12487
12492
|
changedEdges,
|
|
12488
12493
|
...selectionChanged ? { selection: { before: selBefore, after: selAfter } } : {},
|
|
12489
|
-
inGesture
|
|
12494
|
+
inGesture,
|
|
12495
|
+
...gestureEnded ? { gestureEnded: true } : {},
|
|
12490
12496
|
at: now()
|
|
12491
12497
|
};
|
|
12492
12498
|
listeners.forEach((l) => l(change));
|
|
@@ -12511,6 +12517,7 @@ function createCanvasChangeFeed(options) {
|
|
|
12511
12517
|
nodes = options.getNodes();
|
|
12512
12518
|
edges = options.getEdges();
|
|
12513
12519
|
pending = void 0;
|
|
12520
|
+
wasInGesture = gesturing(nodes);
|
|
12514
12521
|
},
|
|
12515
12522
|
noteCommit,
|
|
12516
12523
|
dispose: () => {
|