Skip to content
Snippets Groups Projects
Commit db6fec28 authored by Hangzhi Yu's avatar Hangzhi Yu
Browse files

Add time ranges to period cards

parent 556a45d8
No related branches found
No related tags found
1 merge request!2Resolve "Frontend for Models"
......@@ -46,6 +46,7 @@ export default defineComponent({
return {
weekdays: [],
periods: [],
slotsByPeriods: [],
internalTimeGrid: null,
courseSearch: null,
lessonsUsed: {},
......@@ -135,6 +136,12 @@ export default defineComponent({
.map((slot) => slot.period)
)
);
this.slotsByPeriods = this.periods.map((period) => ({
period: period,
slots: items.filter(
(slot) => slot.model === "Slot" && slot.period === period
),
}));
},
},
timeGrids: {
......@@ -721,6 +728,38 @@ export default defineComponent({
item.group.name,
]);
},
timeRangesByWeekdays(period) {
return period.slots
.map((slot) => ({ timeStart: slot.timeStart, timeEnd: slot.timeEnd }))
.filter(
(value, index, self) =>
index ===
self.findIndex(
(timeRange) =>
timeRange.timeStart === value.timeStart &&
timeRange.timeEnd === value.timeEnd
)
)
.map((timeRange) => ({
...timeRange,
weekdays: period.slots
.filter(
(slot) =>
slot.timeStart === timeRange.timeStart &&
slot.timeEnd === timeRange.timeEnd
)
.map((slot) => slot.weekday),
}));
},
getTimeRangesByWeekdaysString(timeRange) {
return `${
timeRange.weekdays.length === this.weekdays.length
? ""
: timeRange.weekdays
.map((weekday) => this.$t("weekdays_short." + weekday))
.join(", ") + ": "
}${timeRange.timeStart}-${timeRange.timeEnd}`;
},
},
});
</script>
......@@ -792,6 +831,18 @@ export default defineComponent({
class="d-flex justify-center align-center"
>
<v-card-title>{{ period }}</v-card-title>
<v-card-text>
<div
class="text-caption"
v-for="timeRange in timeRangesByWeekdays(
slotsByPeriods.find(
(periodWithSlots) => periodWithSlots.period === period
)
)"
>
{{ getTimeRangesByWeekdaysString(timeRange) }}
</div>
</v-card-text>
</v-card>
</div>
<drag-grid
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment