-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Expand file tree
/
Copy pathconstants.ts
More file actions
115 lines (94 loc) · 3.65 KB
/
Copy pathconstants.ts
File metadata and controls
115 lines (94 loc) · 3.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
export const BLOCK_OPERATIONS = {
UPDATE_POSITION: 'update-position',
UPDATE_NAME: 'update-name',
TOGGLE_ENABLED: 'toggle-enabled',
UPDATE_PARENT: 'update-parent',
UPDATE_ADVANCED_MODE: 'update-advanced-mode',
UPDATE_CANONICAL_MODE: 'update-canonical-mode',
REPLACE_CANONICAL_MODES: 'replace-canonical-modes',
TOGGLE_HANDLES: 'toggle-handles',
} as const
export type BlockOperation = (typeof BLOCK_OPERATIONS)[keyof typeof BLOCK_OPERATIONS]
export const BLOCKS_OPERATIONS = {
BATCH_UPDATE_POSITIONS: 'batch-update-positions',
BATCH_ADD_BLOCKS: 'batch-add-blocks',
BATCH_REMOVE_BLOCKS: 'batch-remove-blocks',
BATCH_TOGGLE_ENABLED: 'batch-toggle-enabled',
BATCH_TOGGLE_HANDLES: 'batch-toggle-handles',
BATCH_UPDATE_PARENT: 'batch-update-parent',
BATCH_TOGGLE_LOCKED: 'batch-toggle-locked',
} as const
export type BlocksOperation = (typeof BLOCKS_OPERATIONS)[keyof typeof BLOCKS_OPERATIONS]
export const EDGE_OPERATIONS = {
ADD: 'add',
REMOVE: 'remove',
} as const
export type EdgeOperation = (typeof EDGE_OPERATIONS)[keyof typeof EDGE_OPERATIONS]
export const EDGES_OPERATIONS = {
BATCH_ADD_EDGES: 'batch-add-edges',
BATCH_REMOVE_EDGES: 'batch-remove-edges',
} as const
export type EdgesOperation = (typeof EDGES_OPERATIONS)[keyof typeof EDGES_OPERATIONS]
export const SUBFLOW_OPERATIONS = {
UPDATE: 'update',
} as const
export type SubflowOperation = (typeof SUBFLOW_OPERATIONS)[keyof typeof SUBFLOW_OPERATIONS]
export const VARIABLE_OPERATIONS = {
ADD: 'add',
REMOVE: 'remove',
UPDATE: 'variable-update',
} as const
export type VariableOperation = (typeof VARIABLE_OPERATIONS)[keyof typeof VARIABLE_OPERATIONS]
export const WORKFLOW_OPERATIONS = {
REPLACE_STATE: 'replace-state',
} as const
export type WorkflowOperation = (typeof WORKFLOW_OPERATIONS)[keyof typeof WORKFLOW_OPERATIONS]
export const SUBBLOCK_OPERATIONS = {
UPDATE: 'subblock-update',
BATCH_UPDATE: 'subblock-batch-update',
} as const
export type SubblockOperation = (typeof SUBBLOCK_OPERATIONS)[keyof typeof SUBBLOCK_OPERATIONS]
export const OPERATION_TARGETS = {
BLOCK: 'block',
BLOCKS: 'blocks',
EDGE: 'edge',
EDGES: 'edges',
SUBBLOCK: 'subblock',
SUBFLOW: 'subflow',
VARIABLE: 'variable',
WORKFLOW: 'workflow',
} as const
export type OperationTarget = (typeof OPERATION_TARGETS)[keyof typeof OPERATION_TARGETS]
/** Undo/Redo operation types (includes some socket operations + undo-specific ones) */
export const UNDO_REDO_OPERATIONS = {
BATCH_ADD_BLOCKS: 'batch-add-blocks',
BATCH_REMOVE_BLOCKS: 'batch-remove-blocks',
BATCH_ADD_EDGES: 'batch-add-edges',
BATCH_REMOVE_EDGES: 'batch-remove-edges',
BATCH_MOVE_BLOCKS: 'batch-move-blocks',
UPDATE_PARENT: 'update-parent',
BATCH_UPDATE_PARENT: 'batch-update-parent',
BATCH_TOGGLE_ENABLED: 'batch-toggle-enabled',
BATCH_TOGGLE_HANDLES: 'batch-toggle-handles',
BATCH_TOGGLE_LOCKED: 'batch-toggle-locked',
BATCH_UPDATE_SUBBLOCKS: 'batch-update-subblocks',
APPLY_DIFF: 'apply-diff',
ACCEPT_DIFF: 'accept-diff',
REJECT_DIFF: 'reject-diff',
} as const
export type UndoRedoOperation = (typeof UNDO_REDO_OPERATIONS)[keyof typeof UNDO_REDO_OPERATIONS]
/**
* All socket operations that require permission checks.
* This is the single source of truth for valid operations.
*/
export const ALL_SOCKET_OPERATIONS = [
...Object.values(BLOCK_OPERATIONS),
...Object.values(BLOCKS_OPERATIONS),
...Object.values(EDGE_OPERATIONS),
...Object.values(EDGES_OPERATIONS),
...Object.values(WORKFLOW_OPERATIONS),
...Object.values(SUBBLOCK_OPERATIONS),
...Object.values(VARIABLE_OPERATIONS),
...Object.values(SUBFLOW_OPERATIONS),
] as const
export type SocketOperation = (typeof ALL_SOCKET_OPERATIONS)[number]