| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | 
							- 'use client'
 
- import type { FC } from 'react'
 
- import React, { useState } from 'react'
 
- import { useTranslation } from 'react-i18next'
 
- import { useBoolean } from 'ahooks'
 
- import Toast from '../../base/toast'
 
- import Modal from '@/app/components/base/modal'
 
- import Button from '@/app/components/base/button'
 
- import Input from '@/app/components/base/input'
 
- import { renameDocumentName } from '@/service/datasets'
 
- interface Props {
 
-   datasetId: string
 
-   documentId: string
 
-   name: string
 
-   onClose: () => void
 
-   onSaved: () => void
 
- }
 
- const RenameModal: FC<Props> = ({
 
-   documentId,
 
-   datasetId,
 
-   name,
 
-   onClose,
 
-   onSaved,
 
- }) => {
 
-   const { t } = useTranslation()
 
-   const [newName, setNewName] = useState(name)
 
-   const [saveLoading, {
 
-     setTrue: setSaveLoadingTrue,
 
-     setFalse: setSaveLoadingFalse,
 
-   }] = useBoolean(false)
 
-   const handleSave = async () => {
 
-     setSaveLoadingTrue()
 
-     try {
 
-       await renameDocumentName({
 
-         datasetId,
 
-         documentId,
 
-         name: newName,
 
-       })
 
-       Toast.notify({ type: 'success', message: t('common.actionMsg.modifiedSuccessfully') })
 
-       onSaved()
 
-       onClose()
 
-     }
 
-     catch (error) {
 
-       if (error)
 
-         Toast.notify({ type: 'error', message: error.toString() })
 
-     }
 
-     finally {
 
-       setSaveLoadingFalse()
 
-     }
 
-   }
 
-   return (
 
-     <Modal
 
-       title={t('datasetDocuments.list.table.rename')}
 
-       isShow
 
-       onClose={onClose}
 
-     >
 
-       <div className={'mt-6 font-medium text-sm leading-[21px] text-gray-900'}>{t('datasetDocuments.list.table.name')}</div>
 
-       <Input
 
-         className='mt-2 h-10'
 
-         value={newName}
 
-         onChange={e => setNewName(e.target.value)}
 
-       />
 
-       <div className='mt-10 flex justify-end'>
 
-         <Button className='mr-2 flex-shrink-0' onClick={onClose}>{t('common.operation.cancel')}</Button>
 
-         <Button variant='primary' className='flex-shrink-0' onClick={handleSave} loading={saveLoading}>{t('common.operation.save')}</Button>
 
-       </div>
 
-     </Modal>
 
-   )
 
- }
 
- export default React.memo(RenameModal)
 
 
  |