import { Component } from '@angular/core';
import { Datagrid, ColumnDef } from '@angular-bootstrap/ngbootstrap';
@Component({
imports: [Datagrid],
template: `
<ngb-datagrid
[columns]="columns"
[data]="orders"
[rowReorderable]="true"
[selectionMode]="'none'"
[trackBy]="trackOrder"
(rowReorder)="onRowReorder($event)"
></ngb-datagrid>
`,
})
export class RowReorderDemo {
columns: ColumnDef<OrderRow>[] = [
{ field: 'orderNumber', header: 'Order #', width: 180 },
{ field: 'customerName', header: 'Customer', width: 220 },
{ field: 'status', header: 'Status', width: 160 },
];
onRowReorder(event: { row: OrderRow; fromIndex: number; toIndex: number; data: OrderRow[] }): void {
this.orders = event.data;
}
trackOrder = (_: number, row: OrderRow) => row.id;
}