feat: ensure data reload and selection reset after mass deletion in FormatPage and RegexPage

This commit is contained in:
Sam Chau
2025-01-11 10:42:34 +10:30
parent 3796307f24
commit db5f053266
2 changed files with 17 additions and 6 deletions

View File

@@ -228,20 +228,28 @@ function FormatPage() {
const handleMassDelete = async () => {
try {
const filteredFormats = getFilteredAndSortedFormats();
const selectedFormats = Array.from(selectedItems).map(
index => formats[index]
index => filteredFormats[index]
);
for (const format of selectedFormats) {
await CustomFormats.delete(
format.file_name.replace('.yml', '')
);
}
Alert.success('Selected formats deleted successfully');
fetchFormats();
toggleSelectionMode();
} catch (error) {
console.error('Error deleting formats:', error);
Alert.error('Failed to delete selected formats');
Alert.error(
error.response?.data?.error ||
'Failed to delete selected formats'
);
} finally {
// Always reload data and reset selection state, regardless of success/failure
fetchFormats();
toggleSelectionMode();
clearSelection();
}
};

View File

@@ -169,11 +169,14 @@ function RegexPage() {
);
}
Alert.success('Selected patterns deleted successfully');
loadPatterns();
toggleSelectionMode();
} catch (error) {
console.error('Error deleting patterns:', error);
Alert.error('Failed to delete selected patterns');
} finally {
// Always reload data and reset selection state, regardless of success/failure
loadPatterns();
toggleSelectionMode();
clearSelection();
}
};