@@ -10,9 +10,10 @@ import { usePolicyGuards } from '@datahub/hooks/usePolicyGuards.ts'
1010
1111interface ToolboxNodesProps {
1212 direction ?: 'horizontal' | 'vertical'
13+ callback ?: ( ) => void
1314}
1415
15- export const ToolboxNodes : FC < ToolboxNodesProps > = ( { direction = 'horizontal' } ) => {
16+ export const ToolboxNodes : FC < ToolboxNodesProps > = ( { direction = 'horizontal' , callback } ) => {
1617 const { t } = useTranslation ( 'datahub' )
1718 const { nodes, isPolicyInDraft } = useDataHubDraftStore ( )
1819 const { isPolicyEditable } = usePolicyGuards ( )
@@ -31,21 +32,58 @@ export const ToolboxNodes: FC<ToolboxNodesProps> = ({ direction = 'horizontal' }
3132 alignItems = { direction === 'horizontal' ? 'center' : 'flex-start' }
3233 >
3334 < ToolGroup title = { t ( 'workspace.toolbox.group.integration.edge' ) } id = "group-integrations" >
34- < ToolItem nodeType = { DataHubNodeType . TOPIC_FILTER } isDisabled = { isDraftEmpty || ! isPolicyEditable } />
35- < ToolItem nodeType = { DataHubNodeType . CLIENT_FILTER } isDisabled = { isDraftEmpty || ! isPolicyEditable } />
35+ < ToolItem
36+ data-testid = "toolbox-trigger"
37+ nodeType = { DataHubNodeType . TOPIC_FILTER }
38+ isDisabled = { isDraftEmpty || ! isPolicyEditable }
39+ callback = { callback }
40+ />
41+ < ToolItem
42+ nodeType = { DataHubNodeType . CLIENT_FILTER }
43+ isDisabled = { isDraftEmpty || ! isPolicyEditable }
44+ callback = { callback }
45+ />
3646 </ ToolGroup >
3747 < ToolGroup title = { t ( 'workspace.toolbox.group.dataPolicy' ) } id = "group-dataPolicy" >
38- < ToolItem nodeType = { DataHubNodeType . DATA_POLICY } isDisabled = { ! isPolicyEditable || isPolicyInDraft ( ) } />
39- < ToolItem nodeType = { DataHubNodeType . VALIDATOR } isDisabled = { isDraftEmpty || ! isPolicyEditable } />
40- < ToolItem nodeType = { DataHubNodeType . SCHEMA } isDisabled = { isDraftEmpty || ! isPolicyEditable } />
48+ < ToolItem
49+ nodeType = { DataHubNodeType . DATA_POLICY }
50+ isDisabled = { ! isPolicyEditable || isPolicyInDraft ( ) }
51+ callback = { callback }
52+ />
53+ < ToolItem
54+ nodeType = { DataHubNodeType . VALIDATOR }
55+ isDisabled = { isDraftEmpty || ! isPolicyEditable }
56+ callback = { callback }
57+ />
58+ < ToolItem
59+ nodeType = { DataHubNodeType . SCHEMA }
60+ isDisabled = { isDraftEmpty || ! isPolicyEditable }
61+ callback = { callback }
62+ />
4163 </ ToolGroup >
4264 < ToolGroup title = { t ( 'workspace.toolbox.group.behaviorPolicy' ) } id = "group-behaviorPolicy" >
43- < ToolItem nodeType = { DataHubNodeType . BEHAVIOR_POLICY } isDisabled = { ! isPolicyEditable || isPolicyInDraft ( ) } />
44- < ToolItem nodeType = { DataHubNodeType . TRANSITION } isDisabled = { isDraftEmpty || ! isPolicyEditable } />
65+ < ToolItem
66+ nodeType = { DataHubNodeType . BEHAVIOR_POLICY }
67+ isDisabled = { ! isPolicyEditable || isPolicyInDraft ( ) }
68+ callback = { callback }
69+ />
70+ < ToolItem
71+ nodeType = { DataHubNodeType . TRANSITION }
72+ isDisabled = { isDraftEmpty || ! isPolicyEditable }
73+ callback = { callback }
74+ />
4575 </ ToolGroup >
4676 < ToolGroup title = { t ( 'workspace.toolbox.group.operation' ) } id = "group-operation" >
47- < ToolItem nodeType = { DataHubNodeType . OPERATION } isDisabled = { isDraftEmpty || ! isPolicyEditable } />
48- < ToolItem nodeType = { DataHubNodeType . FUNCTION } isDisabled = { isDraftEmpty || ! isPolicyEditable } />
77+ < ToolItem
78+ nodeType = { DataHubNodeType . OPERATION }
79+ isDisabled = { isDraftEmpty || ! isPolicyEditable }
80+ callback = { callback }
81+ />
82+ < ToolItem
83+ nodeType = { DataHubNodeType . FUNCTION }
84+ isDisabled = { isDraftEmpty || ! isPolicyEditable }
85+ callback = { callback }
86+ />
4987 </ ToolGroup >
5088 </ Wrapper >
5189 )
0 commit comments