eliminacion y cracion de registros reactivos
This commit is contained in:
@@ -155,11 +155,11 @@ loading = false;
|
||||
|
||||
async function handleDelete() {
|
||||
if (!selectedItem || !canDelete || !companyStore.activeCompany) return;
|
||||
if (confirm('¿Eliminar esta conversión?')) {
|
||||
const itemToDelete = selectedItem;
|
||||
if (confirm(`¿Eliminar la conversión "${itemToDelete.from_unit_code} → ${itemToDelete.to_unit_code}"?`)) {
|
||||
try {
|
||||
await unitConversionsApi.delete(selectedItem.id, companyStore.activeCompany.id);
|
||||
selectedIds = [];
|
||||
reloadData();
|
||||
await unitConversionsApi.delete(itemToDelete.id, companyStore.activeCompany.id);
|
||||
handleTableSuccess(itemToDelete, true);
|
||||
} catch (err) {
|
||||
error = 'Error al eliminar';
|
||||
}
|
||||
@@ -191,14 +191,31 @@ loading = false;
|
||||
}
|
||||
}
|
||||
|
||||
function handleSuccess() {
|
||||
function handleSuccess(saved: UnitConversion) {
|
||||
createDialogOpen = false;
|
||||
editingItem = null;
|
||||
selectedIds = [];
|
||||
reloadData();
|
||||
if (editingItem) {
|
||||
allItems = allItems.map((i: UnitConversion) => (i.id === saved.id ? saved : i));
|
||||
} else {
|
||||
allItems = [saved, ...allItems];
|
||||
totalItems += 1;
|
||||
}
|
||||
editingItem = null;
|
||||
}
|
||||
|
||||
const columns = $derived(createColumns(handleSuccess, { canEdit, canDelete }));
|
||||
function handleTableSuccess(item?: UnitConversion, isDelete?: boolean) {
|
||||
if (isDelete && item) {
|
||||
allItems = allItems.filter((i: UnitConversion) => i.id !== item.id);
|
||||
totalItems = Math.max(0, totalItems - 1);
|
||||
selectedIds = [];
|
||||
} else if (item) {
|
||||
allItems = allItems.map((i: UnitConversion) => (i.id === item.id ? item : i));
|
||||
} else {
|
||||
reloadData();
|
||||
}
|
||||
}
|
||||
|
||||
const columns = $derived(createColumns(handleTableSuccess, { canEdit, canDelete }));
|
||||
</script>
|
||||
|
||||
<div class="flex h-[calc(100svh-4rem)] flex-col gap-6 overflow-hidden p-6 group-has-data-[collapsible=icon]/sidebar-wrapper:h-[calc(100svh-3rem)]">
|
||||
|
||||
Reference in New Issue
Block a user