Ver Fonte

fix: add loading to 'delete' button & 'save' button (#9214)

Wu Tianwei há 6 meses atrás
pai
commit
8bcad002df

+ 6 - 0
web/app/components/datasets/documents/list.tsx

@@ -122,6 +122,7 @@ export const OperationAction: FC<{
 }> = ({ embeddingAvailable, datasetId, detail, onUpdate, scene = 'list', className = '' }) => {
   const { id, enabled = false, archived = false, data_source_type } = detail || {}
   const [showModal, setShowModal] = useState(false)
+  const [deleting, setDeleting] = useState(false)
   const { notify } = useContext(ToastContext)
   const { t } = useTranslation()
   const router = useRouter()
@@ -153,6 +154,7 @@ export const OperationAction: FC<{
         break
       default:
         opApi = deleteDocument
+        setDeleting(true)
         break
     }
     const [e] = await asyncRunSafe<CommonResponse>(opApi({ datasetId, documentId: id }) as Promise<CommonResponse>)
@@ -160,6 +162,8 @@ export const OperationAction: FC<{
       notify({ type: 'success', message: t('common.actionMsg.modifiedSuccessfully') })
     else
       notify({ type: 'error', message: t('common.actionMsg.modifiedUnsuccessfully') })
+    if (operationName === 'delete')
+      setDeleting(false)
     onUpdate(operationName)
   }
 
@@ -295,6 +299,8 @@ export const OperationAction: FC<{
     {showModal
       && <Confirm
         isShow={showModal}
+        isLoading={deleting}
+        isDisabled={deleting}
         title={t('datasetDocuments.list.delete.title')}
         content={t('datasetDocuments.list.delete.content')}
         confirmText={t('common.operation.sure')}

+ 2 - 0
web/app/components/datasets/settings/form/index.tsx

@@ -335,6 +335,8 @@ const Form = () => {
           <Button
             className='min-w-24'
             variant='primary'
+            loading={loading}
+            disabled={loading}
             onClick={handleSave}
           >
             {t('datasetSettings.form.save')}