I have the given below object and I wanted to get the output as attached png file in HTML as shown in the attachment. In the given object the “dayCalendarRows” can be N numbers of records and each record can be editable and that is also shown in an image. I can be either in standard HTML table or Material Table.
[
{
"DayId": 3,
"DayName": "Wed",
"MealGroupId": null,
"dayCalendarRows": [
{
"ICustomerId": "00000000-0000-0000-0000-000000000000",
"ICustomerDGroupId": "00000000-0000-0000-0000-000000000000",
"Inherited": false,
"Id": "00000000-0000-0000-0000-000000000000",
"BCDinerGroupId": "00000000-0000-0000-0000-000000000000",
"MealCategoryId": null,
"MealClosingTimeGroupId": null,
"MealDeliveryTypeId": null,
"MealGroupName": null,
"DeliveryMomentName": null,
"DeliveryMethodName": null,
"OnHolidayText": null,
"WeekDay": 0,
"DaysBefore": 0,
"OnHoliday": false,
"Week": 0,
"Day": 3,
"DayName": "Wed",
"DayHeader": "Wed",
"WeekName": "Current week",
"PreDeliveryWeekName": "Wed(Current week)",
"IndexNumber": -1
}
]
},
{
"DayId": 2,
"DayName": "Tue",
"MealGroupId": null,
"dayCalendarRows": [
{
"ICustomerId": "00000000-0000-0000-0000-000000000000",
"ICustomerDGroupId": "00000000-0000-0000-0000-000000000000",
"Inherited": false,
"Id": "00000000-0000-0000-0000-000000000000",
"BCDinerGroupId": "00000000-0000-0000-0000-000000000000",
"MealCategoryId": null,
"MealClosingTimeGroupId": null,
"MealDeliveryTypeId": null,
"MealGroupName": null,
"DeliveryMomentName": null,
"DeliveryMethodName": null,
"OnHolidayText": null,
"WeekDay": 0,
"DaysBefore": 0,
"OnHoliday": false,
"Week": 0,
"Day": 2,
"DayName": "Tue",
"DayHeader": "Tue",
"WeekName": "Current week",
"PreDeliveryWeekName": "Tue(Current week)",
"IndexNumber": -1
},
{
"ICustomerId": "00000000-0000-0000-0000-000000000000",
"ICustomerDGroupId": "00000000-0000-0000-0000-000000000000",
"Inherited": false,
"Id": "00000000-0000-0000-0000-000000000000",
"BCDinerGroupId": "00000000-0000-0000-0000-000000000000",
"MealCategoryId": "2ceff4ad-fcfd-4169-bb23-d6769b1167e6",
"MealClosingTimeGroupId": null,
"MealDeliveryTypeId": null,
"MealGroupName": null,
"DeliveryMomentName": null,
"DeliveryMethodName": null,
"OnHolidayText": null,
"WeekDay": 0,
"DaysBefore": 0,
"OnHoliday": false,
"Week": 1,
"Day": 2,
"DayName": "Tue",
"DayHeader": "Tue",
"WeekName": "Previous week",
"PreDeliveryWeekName": "Tue(Previous week)",
"IndexNumber": 2
}
]
},
{
"DayId": 5,
"DayName": "Fri",
"MealGroupId": null,
"dayCalendarRows": [
{
"ICustomerId": "00000000-0000-0000-0000-000000000000",
"ICustomerDGroupId": "00000000-0000-0000-0000-000000000000",
"Inherited": false,
"Id": "00000000-0000-0000-0000-000000000000",
"BCDinerGroupId": "00000000-0000-0000-0000-000000000000",
"MealCategoryId": null,
"MealClosingTimeGroupId": null,
"MealDeliveryTypeId": null,
"MealGroupName": null,
"DeliveryMomentName": null,
"DeliveryMethodName": null,
"OnHolidayText": null,
"WeekDay": 0,
"DaysBefore": 0,
"OnHoliday": false,
"Week": 0,
"Day": 5,
"DayName": "Fri",
"DayHeader": "Fri",
"WeekName": "Current week",
"PreDeliveryWeekName": "Fri(Current week)",
"IndexNumber": -1
}
]
},
{
"DayId": 4,
"DayName": "Thu",
"MealGroupId": null,
"dayCalendarRows": [
{
"ICustomerId": "00000000-0000-0000-0000-000000000000",
"ICustomerDGroupId": "00000000-0000-0000-0000-000000000000",
"Inherited": false,
"Id": "00000000-0000-0000-0000-000000000000",
"BCDinerGroupId": "00000000-0000-0000-0000-000000000000",
"MealCategoryId": null,
"MealClosingTimeGroupId": null,
"MealDeliveryTypeId": null,
"MealGroupName": null,
"DeliveryMomentName": null,
"DeliveryMethodName": null,
"OnHolidayText": null,
"WeekDay": 0,
"DaysBefore": 0,
"OnHoliday": false,
"Week": 0,
"Day": 4,
"DayName": "Thu",
"DayHeader": "Thu",
"WeekName": "Current week",
"PreDeliveryWeekName": "Thu(Current week)",
"IndexNumber": -1
},
{
"ICustomerId": "00000000-0000-0000-0000-000000000000",
"ICustomerDGroupId": "00000000-0000-0000-0000-000000000000",
"Inherited": false,
"Id": "00000000-0000-0000-0000-000000000000",
"BCDinerGroupId": "00000000-0000-0000-0000-000000000000",
"MealCategoryId": "2ceff4ad-fcfd-4169-bb23-d6769b1167e6",
"MealClosingTimeGroupId": null,
"MealDeliveryTypeId": null,
"MealGroupName": null,
"DeliveryMomentName": null,
"DeliveryMethodName": null,
"OnHolidayText": null,
"WeekDay": 0,
"DaysBefore": 0,
"OnHoliday": false,
"Week": 1,
"Day": 4,
"DayName": "Thu",
"DayHeader": "Thu",
"WeekName": "Previous week",
"PreDeliveryWeekName": "Thu(Previous week)",
"IndexNumber": 2
}
]
},
{
"DayId": 0,
"DayName": "Sun",
"MealGroupId": null,
"dayCalendarRows": [
{
"ICustomerId": "00000000-0000-0000-0000-000000000000",
"ICustomerDGroupId": "00000000-0000-0000-0000-000000000000",
"Inherited": false,
"Id": "00000000-0000-0000-0000-000000000000",
"BCDinerGroupId": "00000000-0000-0000-0000-000000000000",
"MealCategoryId": null,
"MealClosingTimeGroupId": null,
"MealDeliveryTypeId": null,
"MealGroupName": null,
"DeliveryMomentName": null,
"DeliveryMethodName": null,
"OnHolidayText": null,
"WeekDay": 0,
"DaysBefore": 0,
"OnHoliday": false,
"Week": 0,
"Day": 0,
"DayName": "Sun",
"DayHeader": "Sun",
"WeekName": "Current week",
"PreDeliveryWeekName": "Sun(Current week)",
"IndexNumber": -1
},
{
"ICustomerId": "00000000-0000-0000-0000-000000000000",
"ICustomerDGroupId": "00000000-0000-0000-0000-000000000000",
"Inherited": false,
"Id": "00000000-0000-0000-0000-000000000000",
"BCDinerGroupId": "00000000-0000-0000-0000-000000000000",
"MealCategoryId": "ef35c158-41b4-4430-bbdd-15de415736d0",
"MealClosingTimeGroupId": null,
"MealDeliveryTypeId": null,
"MealGroupName": null,
"DeliveryMomentName": null,
"DeliveryMethodName": null,
"OnHolidayText": null,
"WeekDay": 0,
"DaysBefore": 0,
"OnHoliday": false,
"Week": 0,
"Day": 0,
"DayName": "Sun",
"DayHeader": "Sun",
"WeekName": "Current week",
"PreDeliveryWeekName": "Sun(Current week)",
"IndexNumber": 1
},
{
"ICustomerId": "00000000-0000-0000-0000-000000000000",
"ICustomerDGroupId": "00000000-0000-0000-0000-000000000000",
"Inherited": false,
"Id": "00000000-0000-0000-0000-000000000000",
"BCDinerGroupId": "00000000-0000-0000-0000-000000000000",
"MealCategoryId": "1ef22a16-3613-493a-9fe8-ca98d7100357",
"MealClosingTimeGroupId": null,
"MealDeliveryTypeId": null,
"MealGroupName": null,
"DeliveryMomentName": null,
"DeliveryMethodName": null,
"OnHolidayText": null,
"WeekDay": 0,
"DaysBefore": 0,
"OnHoliday": false,
"Week": 0,
"Day": 0,
"DayName": "Sun",
"DayHeader": "Sun",
"WeekName": "Current week",
"PreDeliveryWeekName": "Sun(Current week)",
"IndexNumber": 6
}
]
},
{
"DayId": 1,
"DayName": "Mon",
"MealGroupId": null,
"dayCalendarRows": [
{
"ICustomerId": "00000000-0000-0000-0000-000000000000",
"ICustomerDGroupId": "00000000-0000-0000-0000-000000000000",
"Inherited": false,
"Id": "00000000-0000-0000-0000-000000000000",
"BCDinerGroupId": "00000000-0000-0000-0000-000000000000",
"MealCategoryId": null,
"MealClosingTimeGroupId": null,
"MealDeliveryTypeId": null,
"MealGroupName": null,
"DeliveryMomentName": null,
"DeliveryMethodName": null,
"OnHolidayText": null,
"WeekDay": 0,
"DaysBefore": 0,
"OnHoliday": false,
"Week": 0,
"Day": 1,
"DayName": "Mon",
"DayHeader": "Mon",
"WeekName": "Current week",
"PreDeliveryWeekName": "Mon(Current week)",
"IndexNumber": -1
}
]
},
{
"DayId": 6,
"DayName": "Sat",
"MealGroupId": null,
"dayCalendarRows": [
{
"ICustomerId": "00000000-0000-0000-0000-000000000000",
"ICustomerDGroupId": "00000000-0000-0000-0000-000000000000",
"Inherited": false,
"Id": "00000000-0000-0000-0000-000000000000",
"BCDinerGroupId": "00000000-0000-0000-0000-000000000000",
"MealCategoryId": null,
"MealClosingTimeGroupId": null,
"MealDeliveryTypeId": null,
"MealGroupName": null,
"DeliveryMomentName": null,
"DeliveryMethodName": null,
"OnHolidayText": null,
"WeekDay": 0,
"DaysBefore": 0,
"OnHoliday": false,
"Week": 0,
"Day": 6,
"DayName": "Sat",
"DayHeader": "Sat",
"WeekName": "Current week",
"PreDeliveryWeekName": "Sat(Current week)",
"IndexNumber": -1
}
]
}
]
This is what I have done till now but its showing correct for only one record if there are multiple records then its not giving me proper output:
<table class="mat-table">
<thead>
<tr class="mat-header-row">
<th class="mat-header-cell"> </th>
<th class="mat-header-cell" *ngFor="let header of deliveryCalendarDataList">{{header.dayName}}</th>
</tr>
</thead>
<tbody>
<tr class="mat-row">
<td class="mat-cell">
<tr class="mat-row">{{'Meal Group'| translate}}</tr>
<tr class="mat-row">{{'Delivery Method'| translate}}</tr>
<tr class="mat-row">{{'Delivery Moment'| translate}}</tr>
<tr class="mat-row">{{'Delivery Days'| translate}}</tr>
<tr class="mat-row">{{'Pre Delivery Days'| translate}}</tr>
<tr class="mat-row">{{'Delivery on Public Holiday'| translate}}</tr>
</td>
<td class="mat-cell" *ngFor="let row of deliveryCalendarDataList; let k = index">
<!--{{i}}-->
<tr class="mat-row" *ngFor="let dayRecords of row.dayCalendarRows">
{{dayRecords.dayName}}
</tr>
<tr class="mat-row" *ngFor="let dayRecords of row.dayCalendarRows">
{{dayRecords.preDeliveryWeekName}}
</tr>
<tr class="mat-row" *ngFor="let dayRecords of row.dayCalendarRows">
{{dayRecords.weekName}}
</tr>
<tr class="mat-row">{{k}}</tr>
<tr class="mat-row">{{k}}</tr>
<tr class="mat-row">{{k}}</tr>
</td>
</tr>
</tbody>
</table>
This is how it should look
