|
1 | 1 | package seedu.address.ui; |
2 | 2 |
|
3 | | -import java.util.ArrayList; |
4 | | -import java.util.List; |
5 | | - |
6 | 3 | import javafx.beans.binding.Bindings; |
7 | 4 | import javafx.beans.binding.DoubleBinding; |
8 | 5 | import javafx.beans.property.SimpleStringProperty; |
@@ -48,15 +45,15 @@ public class PersonAttendanceList extends UiPart<Region> { |
48 | 45 | /** |
49 | 46 | * Creates a {@code PersonCode} with the given {@code Person} and index to display. |
50 | 47 | */ |
51 | | - public PersonAttendanceList(Person person, int displayedIndex) { |
| 48 | + public PersonAttendanceList(Person person, int displayedIndex, String groupName) { |
52 | 49 | super(FXML); |
53 | 50 | this.person = person; |
54 | 51 | id.setText(displayedIndex + ". "); |
55 | 52 | name.setText(person.getName().fullName); |
56 | 53 |
|
57 | 54 | populateGroupNameCol(); |
58 | 55 | createAttendanceCols(); |
59 | | - populateAttendanceCols(); |
| 56 | + populateAttendanceCols(groupName); |
60 | 57 | groups.getChildren().add(attendanceTable); |
61 | 58 | setTableHt(); |
62 | 59 | } |
@@ -88,14 +85,28 @@ public void createAttendanceCols() { |
88 | 85 | /** |
89 | 86 | * Populates columns with weekly attendance data. |
90 | 87 | */ |
91 | | - public void populateAttendanceCols() { |
92 | | - // Add attendance data to the table |
93 | | - List<AttendanceRow> attendanceRows = new ArrayList<>(); |
94 | | - person.getGroups().forEach(group -> { |
95 | | - String[] attendanceArray = group.attendance.toArray(new String[0]); |
96 | | - attendanceRows.add(new AttendanceRow(group.groupName, attendanceArray)); |
97 | | - }); |
98 | | - attendanceTable.getItems().addAll(attendanceRows); |
| 88 | + public void populateAttendanceCols(String groupName) { |
| 89 | +// for (Group group : person.getGroups()) { |
| 90 | +// if (group.groupName.equals(groupName)) { |
| 91 | +// String[] attendanceArray = group.attendance.toArray(new String[0]); |
| 92 | +// AttendanceRow row = new AttendanceRow(group.groupName, attendanceArray); |
| 93 | +// attendanceTable.getItems().add(row); |
| 94 | +// break; |
| 95 | +// } |
| 96 | +// } |
| 97 | + person.getGroups().stream() |
| 98 | + .filter(group -> group.groupName.equals(groupName)) |
| 99 | + .findFirst() |
| 100 | + .ifPresent(group -> { |
| 101 | + String[] attendanceArray = group.attendance.toArray(new String[0]); |
| 102 | + attendanceTable.getItems().add(new AttendanceRow(group.groupName, attendanceArray)); |
| 103 | + }); |
| 104 | +// List<AttendanceRow> attendanceRows = new ArrayList<>(); |
| 105 | +// person.getGroups().forEach(group -> { |
| 106 | +// String[] attendanceArray = group.attendance.toArray(new String[0]); |
| 107 | +// attendanceRows.add(new AttendanceRow(group.groupName, attendanceArray)); |
| 108 | +// }); |
| 109 | +// attendanceTable.getItems().addAll(attendanceRows); |
99 | 110 | } |
100 | 111 |
|
101 | 112 | /** |
|
0 commit comments