Skip to main content

jellyflow_runtime/runtime/events/
node_resize.rs

1use serde::{Deserialize, Serialize};
2
3use crate::runtime::resize::NodeResizeDirection;
4use jellyflow_core::core::{CanvasPoint, CanvasSize, NodeId};
5
6#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7#[serde(rename_all = "snake_case")]
8pub enum NodeResizeEndOutcome {
9    Committed,
10    Rejected,
11    Canceled,
12    NoOp,
13}
14
15#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
16pub struct NodeResizeStart {
17    pub node: NodeId,
18    pub direction: NodeResizeDirection,
19    pub pointer: CanvasPoint,
20}
21
22#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
23pub struct NodeResizeUpdate {
24    pub node: NodeId,
25    pub direction: NodeResizeDirection,
26    pub pointer: CanvasPoint,
27    pub position: CanvasPoint,
28    pub size: CanvasSize,
29}
30
31#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
32pub struct NodeResizeEnd {
33    pub node: NodeId,
34    pub direction: NodeResizeDirection,
35    pub pointer: CanvasPoint,
36    pub outcome: NodeResizeEndOutcome,
37}