fix/transportes-funciones
This commit is contained in:
@@ -11,8 +11,9 @@
|
||||
hasMore: boolean;
|
||||
loadMore: () => void;
|
||||
emptyMessage?: string;
|
||||
selectedIds?: number[];
|
||||
onSelectedIdsChange?: (ids: number[]) => void;
|
||||
selectedIds?: (number | string)[];
|
||||
onSelectedIdsChange?: (ids: (number | string)[]) => void;
|
||||
getRowId?: (row: TData) => string | number;
|
||||
onRowClick?: (row: TData) => void;
|
||||
onRowDoubleClick?: (row: TData) => void;
|
||||
};
|
||||
@@ -26,6 +27,7 @@
|
||||
emptyMessage = 'No hay resultados.',
|
||||
selectedIds = [],
|
||||
onSelectedIdsChange,
|
||||
getRowId,
|
||||
onRowClick,
|
||||
onRowDoubleClick,
|
||||
}: InfiniteDataTableProps<TData, TValue> = $props();
|
||||
@@ -36,7 +38,7 @@
|
||||
},
|
||||
columns,
|
||||
getCoreRowModel: getCoreRowModel(),
|
||||
getRowId: (row: any) => row.id?.toString(),
|
||||
getRowId: (row: any) => (getRowId ? getRowId(row).toString() : (row.id || row.transporter_key || row.driver_id || row.trailer_number || row.vehicle_key || '').toString()),
|
||||
state: {
|
||||
get rowSelection() {
|
||||
const selection: Record<string, boolean> = {};
|
||||
@@ -60,8 +62,7 @@
|
||||
|
||||
const nextSelectedIds = Object.entries(rowSelection)
|
||||
.filter(([, selected]) => Boolean(selected))
|
||||
.map(([id]) => Number(id))
|
||||
.filter((id) => Number.isFinite(id));
|
||||
.map(([id]) => (isNaN(Number(id)) ? id : Number(id)));
|
||||
|
||||
onSelectedIdsChange(nextSelectedIds);
|
||||
},
|
||||
@@ -189,6 +190,7 @@
|
||||
.filter(Boolean)
|
||||
.join(' ')}
|
||||
onclick={() => onRowClick?.(row.original)}
|
||||
ondblclick={() => onRowDoubleClick?.(row.original)}
|
||||
>
|
||||
{#each visibleCells as cell (cell.id)}
|
||||
{@const colId = cell.column.id}
|
||||
|
||||
@@ -37,16 +37,6 @@ export function createColumns(onSuccess?: () => void): ColumnDef<Driver>[] {
|
||||
accessorKey: 'last_name',
|
||||
header: 'Apellido',
|
||||
cell: ({ row }) => row.original.last_name || '-'
|
||||
},
|
||||
{
|
||||
id: 'actions',
|
||||
header: 'Acciones',
|
||||
cell: ({ row }) => {
|
||||
return renderComponent(DataTableActions, {
|
||||
item: row.original,
|
||||
onSuccess
|
||||
});
|
||||
}
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@@ -50,15 +50,5 @@ export function createColumns(onSuccess?: () => void): ColumnDef<Trailer>[] {
|
||||
return row.original.country || '-';
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'actions',
|
||||
header: 'Acciones',
|
||||
cell: ({ row }) => {
|
||||
return renderComponent(DataTableActions, {
|
||||
item: row.original,
|
||||
onSuccess
|
||||
});
|
||||
}
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@@ -160,11 +160,10 @@
|
||||
void handleSubmit();
|
||||
}
|
||||
|
||||
onMount(() => {
|
||||
$effect(() => {
|
||||
if (!browser) return;
|
||||
document.addEventListener('save-form', onSaveFormEvent);
|
||||
});
|
||||
onDestroy(() => {
|
||||
document.removeEventListener('save-form', onSaveFormEvent);
|
||||
return () => document.removeEventListener('save-form', onSaveFormEvent);
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
@@ -169,11 +169,10 @@
|
||||
void handleSubmit();
|
||||
}
|
||||
|
||||
onMount(() => {
|
||||
$effect(() => {
|
||||
if (!browser) return;
|
||||
document.addEventListener('save-form', onSaveFormEvent);
|
||||
});
|
||||
onDestroy(() => {
|
||||
document.removeEventListener('save-form', onSaveFormEvent);
|
||||
return () => document.removeEventListener('save-form', onSaveFormEvent);
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
@@ -50,15 +50,5 @@ export function createColumns(onSuccess?: () => void): ColumnDef<Transporter>[]
|
||||
return row.original.transport_code || '-';
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'actions',
|
||||
header: 'Acciones',
|
||||
cell: ({ row }) => {
|
||||
return renderComponent(DataTableActions, {
|
||||
item: row.original,
|
||||
onSuccess
|
||||
});
|
||||
}
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@@ -50,15 +50,5 @@ export function createColumns(onSuccess?: () => void): ColumnDef<Vehicle>[] {
|
||||
return row.original.transport_type || '-';
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'actions',
|
||||
header: 'Acciones',
|
||||
cell: ({ row }) => {
|
||||
return renderComponent(DataTableActions, {
|
||||
item: row.original,
|
||||
onSuccess
|
||||
});
|
||||
}
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
import { statesApi, type State } from '$lib/api/dashboard/reference_data/states';
|
||||
import { companyStore } from '$lib/stores/company.svelte';
|
||||
import { browser } from '$app/environment';
|
||||
import { onMount, onDestroy } from 'svelte';
|
||||
|
||||
let {
|
||||
open = $bindable(false),
|
||||
@@ -202,11 +201,10 @@
|
||||
void handleSubmit();
|
||||
}
|
||||
|
||||
onMount(() => {
|
||||
$effect(() => {
|
||||
if (!browser) return;
|
||||
document.addEventListener('save-form', onSaveFormEvent);
|
||||
});
|
||||
onDestroy(() => {
|
||||
document.removeEventListener('save-form', onSaveFormEvent);
|
||||
return () => document.removeEventListener('save-form', onSaveFormEvent);
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user