When I navigate to order page got values of all fields except in <p-tag field...Blank field is showing and getting following errors
Cannot read properties of undefined (reading 'label')
I am using angular version 13
All codes are given below
orders-list.component.html
<ng-template pTemplate="header">
<tr>
<th pSortableColumn="dateOrdered">
Date Ordered <p-sortIcon field="dateOrdered"></p-sortIcon>
</th>
<th pSortableColumn="status">Status <p-sortIcon field="status"></p-sortIcon></th>
<th></th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-order>
<tr>
<td>{{ order.dateOrdered | date: 'short' }}</td>
<td>
<p-tag
[value]="orderStatus[order.status].label"
[severity]="orderStatus[order.status].color"
></p-tag>
</td>
</tr>
</ng-template>
orders-list.component.ts
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { Order, OrdersService } from '@bluebits/orders';
import { ORDER_STATUS } from '../order.constants';
@Component({
selector: 'admin-orders-list',
templateUrl: './orders-list.component.html',
styles: []
})
export class OrdersListComponent implements OnInit {
orders: Order[] = [];
orderStatus = ORDER_STATUS;
constructor(
private ordersService: OrdersService,
private router: Router
) {}
ngOnInit(): void {
this._getOrders();
}
_getOrders() {
this.ordersService.getOrders().subscribe((orders) => {
this.orders = orders;
});
}
}
orders.constants.ts
export const ORDER_STATUS = {
0: {
label: 'Pending',
color: 'primary'
},
1: {
label: 'Processed',
color: 'warning'
},
2: {
label: 'Shipped',
color: 'warning'
},
3: {
label: 'Delivered',
color: 'success'
},
4: {
label: 'Failed',
color: 'danger'
}
};
orders.service.ts
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { Order } from '../models/order';
import { environment } from '@env/environment';
@Injectable({
providedIn: 'root'
})
export class OrdersService {
apiURLOrders = environment.apiUrl + 'orders';
constructor(private http: HttpClient) {}
getOrders(): Observable<Order[]> {
return this.http.get<Order[]>(this.apiURLOrders);
}
}
orders?