import { CommonModule } from "@angular/common";
import { HttpClient } from "@angular/common/http";
import { Component, inject } from "@angular/core";
import { AgGridAngular } from "ag-grid-angular";
import {
ColDef,
GridOptions,
ModuleRegistry,
AllCommunityModule,
} from "ag-grid-community";
ModuleRegistry.registerModules([AllCommunityModule]);
@Component({
selector: "app-orders-grid",
standalone: true,
imports: [CommonModule, AgGridAngular],
templateUrl: "./orders-grid.component.html",
})
export class OrdersGridComponent {
private readonly httpClient = inject(HttpClient);
readonly gridOptions: GridOptions = {
rowHeight: 38,
headerHeight: 42,
animateRows: false,
defaultColDef: {
sortable: true,
filter: true,
resizable: true,
},
};
columnDefinitions: ColDef[] = [];
rowData: Array<Record<string, unknown>> = [];
ngOnInit() {
this.httpClient
.get<ColDef[]>("https://datagrid.opl.io.kr/api/datagrid-demo/columns")
.subscribe((columnDefinitions) => {
this.columnDefinitions = columnDefinitions;
});
this.httpClient
.get<Array<Record<string, unknown>>>("https://datagrid.opl.io.kr/api/datagrid-demo/rows")
.subscribe((rows) => {
this.rowData = rows;
});
}
}