@@ -1788,23 +1788,53 @@ const toggleSelectAllVisible = (event: Event) => {
17881788}
17891789const handleBulkDelete = async () => {
17901790 const accountIds = [... selIds .value ]
1791- if (! confirm (t (' admin.accounts.bulkActions.confirmDelete' , { count: accountIds .length }))) return
1791+
1792+ if (accountIds .length === 0 ) return
1793+ if (! confirm (t (' admin.accounts.bulkDeleteConfirm' , { count: accountIds .length }))) return
17921794 try {
1793- const result = await adminAPI .accounts .batchDelete (accountIds )
1794- if (result .failed > 0 ) {
1795- appStore .showError (t (' admin.accounts.bulkActions.partialSuccess' , {
1796- success: result .success ,
1797- failed: result .failed
1798- }))
1799- setSelectedIds (result .failed_ids ?.length ? result .failed_ids : accountIds )
1800- } else {
1801- appStore .showSuccess (t (' admin.accounts.bulkActions.deleteSuccess' , { count: result .success }))
1795+ const result = await adminAPI .accounts .bulkDelete (accountIds )
1796+ const success = result .success || 0
1797+ const failed = result .failed || 0
1798+ if (success > 0 && failed === 0 ) {
1799+ appStore .showSuccess (t (' admin.accounts.bulkDeleteSuccess' , { count: success }))
18021800 clearSelection ()
1801+ } else if (success > 0 ) {
1802+ appStore .showError (t (' admin.accounts.bulkDeletePartial' , { success , failed }))
1803+ setSelectedIds (result .failed_ids && result .failed_ids .length > 0 ? result .failed_ids : accountIds )
1804+ } else {
1805+ appStore .showError (t (' admin.accounts.bulkDeleteFailed' ))
18031806 }
1804- await reload ()
1805- } catch (error ) {
1807+ reload ()
1808+ } catch (error : any ) {
18061809 console .error (' Failed to bulk delete accounts:' , error )
1807- appStore .showError (String (error ))
1810+ appStore .showError (error .message || t (' admin.accounts.bulkDeleteFailed' ))
1811+ }
1812+ }
1813+ const handleBulkDeleteFiltered = async () => {
1814+ const filters = buildBulkEditFilterSnapshot ()
1815+ const count = pagination .total || 0
1816+ if (count <= 0 ) {
1817+ appStore .showError (t (' admin.accounts.bulkEdit.noSelection' ))
1818+ return
1819+ }
1820+ if (! confirm (t (' admin.accounts.bulkDeleteConfirm' , { count }))) return
1821+ try {
1822+ const result = await adminAPI .accounts .bulkDelete ({ filters })
1823+ const success = result .success || 0
1824+ const failed = result .failed || 0
1825+ if (success > 0 && failed === 0 ) {
1826+ appStore .showSuccess (t (' admin.accounts.bulkDeleteSuccess' , { count: success }))
1827+ clearSelection ()
1828+ } else if (success > 0 ) {
1829+ appStore .showError (t (' admin.accounts.bulkDeletePartial' , { success , failed }))
1830+ } else {
1831+ appStore .showError (t (' admin.accounts.bulkDeleteFailed' ))
1832+ }
1833+ reload ()
1834+ } catch (error : any ) {
1835+ console .error (' Failed to bulk delete filtered accounts:' , error )
1836+ appStore .showError (error .message || t (' admin.accounts.bulkDeleteFailed' ))
1837+
18081838 }
18091839}
18101840const handleBulkResetStatus = async () => {
0 commit comments