diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue b/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue index f4799fc786ebe58f33511a5412a2004264f91fe4..31a06350a30d3f776439fe7b830d59ba6624cc45 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/Coursebook.vue @@ -51,7 +51,7 @@ </v-list-item-content> </v-list-item> - <coursebook-date-select :value="dateStart"/> + <coursebook-date-select :value="date" @click="handleDateMove" /> </template> <template #loading> <CoursebookLoader /> @@ -106,13 +106,8 @@ export default { required: false, default: null, }, - // Next two in ISODate - dateStart: { - type: String, - required: false, - default: "", - }, - dateEnd: { + // ISODate + date: { type: String, required: false, default: "", @@ -125,6 +120,8 @@ export default { // Placeholder values while query isn't completed yet groups: [], courses: [], + dateStart: null, + dateEnd: null, }; }, apollo: { @@ -142,8 +139,8 @@ export default { own: this.filterType === "all" ? false : true, objId: this.objId ? Number(this.objId) : null, objType: this.objType?.toUpperCase(), - dateStart: this.dateStart, - dateEnd: this.dateEnd, + dateStart: this.dateStart ?? this.date, + dateEnd: this.dateEnd ?? DateTime.fromISO(this.date).plus({ weeks: 1 }).toISODate(), }; }, selectable() { @@ -176,8 +173,7 @@ export default { : this.filterType, objType: selection.type, objId: selection.id, - dateStart: this.dateStart, - dateEnd: this.dateEnd, + date: this.date, }, }); }, @@ -196,5 +192,10 @@ export default { .map((key) => byDay[key]); }, }, + mounted() { + this.show = this.date; + this.dateStart = this.date; + this.dateEnd = DateTime.fromISO(this.dateStart).plus({ weeks: 1 }).toISODate(); + }, }; </script> diff --git a/aleksis/apps/alsijil/frontend/index.js b/aleksis/apps/alsijil/frontend/index.js index 18de38858a62a26b3305a0e6ea8f25f92189401d..4a4399073e1cfe3d97ab52eb0ac0f57f48a0fbe5 100644 --- a/aleksis/apps/alsijil/frontend/index.js +++ b/aleksis/apps/alsijil/frontend/index.js @@ -398,8 +398,7 @@ export default { return { name: "alsijil.coursebook_by_type_and_date", params: { - dateStart: DateTime.now().toISODate(), - dateEnd: DateTime.now().plus({ weeks: 1 }).toISODate(), + date: DateTime.now().toISODate(), filterType: "my", }, }; @@ -416,7 +415,7 @@ export default { }, children: [ { - path: ":dateStart(\\d\\d\\d\\d-\\d\\d-\\d\\d)/:dateEnd(\\d\\d\\d\\d-\\d\\d-\\d\\d)/:filterType(my|all)/:objType(group|course|teacher)?/:objId(\\d+)?/", + path: ":date(\\d\\d\\d\\d-\\d\\d-\\d\\d)/:filterType(my|all)/:objType(group|course|teacher)?/:objId(\\d+)?/", component: () => import("./components/coursebook/Coursebook.vue"), name: "alsijil.coursebook_by_type_and_date", meta: {