fix/modo-lectura-activo-fijo

This commit is contained in:
2026-04-17 11:03:28 -06:00
parent db6c5a3372
commit 20bcb7797e
4 changed files with 16 additions and 19 deletions

View File

@@ -5,7 +5,6 @@
import type { Sector } from "./columns.js"; import type { Sector } from "./columns.js";
import CreateEditDialog from "./create-edit-dialog.svelte"; import CreateEditDialog from "./create-edit-dialog.svelte";
import DetailsDialog from "./details-dialog.svelte"; import DetailsDialog from "./details-dialog.svelte";
import DeleteDialog from "./delete-dialog.svelte";
let { let {
item, item,
@@ -17,7 +16,6 @@
let showDetailsDialog = $state(false); let showDetailsDialog = $state(false);
let showEditDialog = $state(false); let showEditDialog = $state(false);
let showDeleteDialog = $state(false);
function handleCopyId() { function handleCopyId() {
navigator.clipboard.writeText(item.key.toString()); navigator.clipboard.writeText(item.key.toString());
@@ -30,10 +28,6 @@
function handleEdit() { function handleEdit() {
showEditDialog = true; showEditDialog = true;
} }
function handleDelete() {
showDeleteDialog = true;
}
</script> </script>
<DropdownMenu.Root> <DropdownMenu.Root>
@@ -55,12 +49,9 @@
<DropdownMenu.Separator /> <DropdownMenu.Separator />
<DropdownMenu.Item onclick={handleViewDetails}>Ver detalles</DropdownMenu.Item> <DropdownMenu.Item onclick={handleViewDetails}>Ver detalles</DropdownMenu.Item>
<DropdownMenu.Item onclick={handleEdit}>Editar</DropdownMenu.Item> <DropdownMenu.Item onclick={handleEdit}>Editar</DropdownMenu.Item>
<DropdownMenu.Separator />
<DropdownMenu.Item class="text-destructive" onclick={handleDelete}>Eliminar</DropdownMenu.Item>
</DropdownMenu.Content> </DropdownMenu.Content>
</DropdownMenu.Root> </DropdownMenu.Root>
<!-- Dialogs --> <!-- Dialogs -->
<DetailsDialog bind:open={showDetailsDialog} {item} /> <DetailsDialog bind:open={showDetailsDialog} {item} />
<CreateEditDialog bind:open={showEditDialog} item={item} {onSuccess} /> <CreateEditDialog bind:open={showEditDialog} item={item} {onSuccess} />
<DeleteDialog bind:open={showDeleteDialog} {item} {onSuccess} />

View File

@@ -10,7 +10,7 @@ export type State = {
ame_key?: string | null; ame_key?: string | null;
}; };
export function createColumns(onSuccess?: () => void): ColumnDef<State>[] { export function createColumns(onSuccess?: () => void, readOnly = false): ColumnDef<State>[] {
return [ return [
{ {
accessorKey: "m3_key", accessorKey: "m3_key",
@@ -74,11 +74,11 @@ export function createColumns(onSuccess?: () => void): ColumnDef<State>[] {
{ {
id: "actions", id: "actions",
cell: ({ row }) => { cell: ({ row }) => {
return renderComponent(DataTableActions, { item: row.original, onSuccess }); return renderComponent(DataTableActions, { item: row.original, onSuccess, readOnly });
} }
} }
]; ];
} }
// Mantener compatibilidad hacia atrás // Mantener compatibilidad hacia atrás
export const columns = createColumns(); export const columns = createColumns(undefined, true);

View File

@@ -9,10 +9,12 @@
let { let {
item, item,
onSuccess onSuccess,
readOnly = false
}: { }: {
item: State; item: State;
onSuccess?: () => void; onSuccess?: () => void;
readOnly?: boolean;
} = $props(); } = $props();
let showDetailsDialog = $state(false); let showDetailsDialog = $state(false);
@@ -54,13 +56,17 @@
</DropdownMenu.Group> </DropdownMenu.Group>
<DropdownMenu.Separator /> <DropdownMenu.Separator />
<DropdownMenu.Item onclick={handleViewDetails}>Ver detalles</DropdownMenu.Item> <DropdownMenu.Item onclick={handleViewDetails}>Ver detalles</DropdownMenu.Item>
<DropdownMenu.Item onclick={handleEdit}>Editar</DropdownMenu.Item> {#if !readOnly}
<DropdownMenu.Separator /> <DropdownMenu.Item onclick={handleEdit}>Editar</DropdownMenu.Item>
<DropdownMenu.Item class="text-destructive" onclick={handleDelete}>Eliminar</DropdownMenu.Item> <DropdownMenu.Separator />
<DropdownMenu.Item class="text-destructive" onclick={handleDelete}>Eliminar</DropdownMenu.Item>
{/if}
</DropdownMenu.Content> </DropdownMenu.Content>
</DropdownMenu.Root> </DropdownMenu.Root>
<!-- Dialogs --> <!-- Dialogs -->
<DetailsDialog bind:open={showDetailsDialog} {item} /> <DetailsDialog bind:open={showDetailsDialog} {item} />
<CreateEditDialog bind:open={showEditDialog} item={item} {onSuccess} /> {#if !readOnly}
<DeleteDialog bind:open={showDeleteDialog} {item} {onSuccess} /> <CreateEditDialog bind:open={showEditDialog} item={item} {onSuccess} />
<DeleteDialog bind:open={showDeleteDialog} {item} {onSuccess} />
{/if}

View File

@@ -140,7 +140,7 @@
} }
// Crear columnas con el callback onSuccess // Crear columnas con el callback onSuccess
const columns = createColumns(handleSuccess); const columns = createColumns(handleSuccess, true);
</script> </script>
<div class="flex flex-col gap-6 p-6 h-[calc(100svh-4rem)] group-has-data-[collapsible=icon]/sidebar-wrapper:h-[calc(100svh-3rem)] overflow-hidden"> <div class="flex flex-col gap-6 p-6 h-[calc(100svh-4rem)] group-has-data-[collapsible=icon]/sidebar-wrapper:h-[calc(100svh-3rem)] overflow-hidden">