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

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

View File

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