@@ -8,6 +8,7 @@ import type { Collection, CustomCollectionBackend, Tool, WorkflowToolProviderReq
8
8
import ToolItem from './tool-item'
9
9
import I18n from '@/context/i18n'
10
10
import { getLanguage } from '@/i18n/language'
11
+ import Confirm from '@/app/components/base/confirm'
11
12
import AppIcon from '@/app/components/base/app-icon'
12
13
import Button from '@/app/components/base/button'
13
14
import Indicator from '@/app/components/header/indicator'
@@ -83,6 +84,8 @@ const ProviderDetail = ({
83
84
// custom provider
84
85
const [ customCollection , setCustomCollection ] = useState < CustomCollectionBackend | WorkflowToolProviderResponse | null > ( null )
85
86
const [ isShowEditCollectionToolModal , setIsShowEditCustomCollectionModal ] = useState ( false )
87
+ const [ showConfirmDelete , setShowConfirmDelete ] = useState ( false )
88
+ const [ deleteAction , setDeleteAction ] = useState ( null )
86
89
const doUpdateCustomToolCollection = async ( data : CustomCollectionBackend ) => {
87
90
await updateCustomCollection ( data )
88
91
onRefreshData ( )
@@ -158,6 +161,23 @@ const ProviderDetail = ({
158
161
} )
159
162
setIsShowEditWorkflowToolModal ( false )
160
163
}
164
+ const onClickCustomToolDelete = ( ) => {
165
+ setDeleteAction ( 'customTool' )
166
+ setShowConfirmDelete ( true )
167
+ }
168
+ const onClickWorkflowToolDelete = ( ) => {
169
+ setDeleteAction ( 'workflowTool' )
170
+ setShowConfirmDelete ( true )
171
+ }
172
+ const handleConfirmDelete = ( ) => {
173
+ if ( deleteAction === 'customTool' )
174
+ doRemoveCustomToolCollection ( )
175
+
176
+ else if ( deleteAction === 'workflowTool' )
177
+ removeWorkflowToolProvider ( )
178
+
179
+ setShowConfirmDelete ( false )
180
+ }
161
181
162
182
// ToolList
163
183
const [ toolList , setToolList ] = useState < Tool [ ] > ( [ ] )
@@ -330,17 +350,27 @@ const ProviderDetail = ({
330
350
payload = { customCollection }
331
351
onHide = { ( ) => setIsShowEditCustomCollectionModal ( false ) }
332
352
onEdit = { doUpdateCustomToolCollection }
333
- onRemove = { doRemoveCustomToolCollection }
353
+ onRemove = { onClickCustomToolDelete }
334
354
/>
335
355
) }
336
356
{ isShowEditWorkflowToolModal && (
337
357
< WorkflowToolModal
338
358
payload = { customCollection }
339
359
onHide = { ( ) => setIsShowEditWorkflowToolModal ( false ) }
340
- onRemove = { removeWorkflowToolProvider }
360
+ onRemove = { onClickWorkflowToolDelete }
341
361
onSave = { updateWorkflowToolProvider }
342
362
/>
343
363
) }
364
+ { showConfirmDelete && (
365
+ < Confirm
366
+ title = { t ( 'tools.createTool.deleteToolConfirmTitle' ) }
367
+ content = { t ( 'tools.createTool.deleteToolConfirmContent' ) }
368
+ isShow = { showConfirmDelete }
369
+ onClose = { ( ) => setShowConfirmDelete ( false ) }
370
+ onConfirm = { handleConfirmDelete }
371
+ onCancel = { ( ) => setShowConfirmDelete ( false ) }
372
+ />
373
+ ) }
344
374
</ div >
345
375
)
346
376
}
0 commit comments