Skip to content
Snippets Groups Projects
Commit 9025fd82 authored by permcu's avatar permcu
Browse files

Begin assuring current date range - create date range

parent b6f27430
No related branches found
No related tags found
2 merge requests!355Implement infinite scrolling and by date navigation for coursebook,!350Resolve "Add simple course book list"
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
import CRUDIterator from "aleksis.core/components/generic/CRUDIterator.vue"; import CRUDIterator from "aleksis.core/components/generic/CRUDIterator.vue";
import DateSelectFooter from "aleksis.core/components/generic/DateSelectFooter.vue"; import DateSelectFooter from "aleksis.core/components/generic/DateSelectFooter.vue";
import DocumentationModal from "./documentation/DocumentationModal.vue"; import DocumentationModal from "./documentation/DocumentationModal.vue";
import { DateTime } from "luxon"; import { DateTime, Interval } from "luxon";
import { documentationsForCoursebook } from "./coursebook.graphql"; import { documentationsForCoursebook } from "./coursebook.graphql";
import CoursebookFilters from "./CoursebookFilters.vue"; import CoursebookFilters from "./CoursebookFilters.vue";
import CoursebookLoader from "./CoursebookLoader.vue"; import CoursebookLoader from "./CoursebookLoader.vue";
...@@ -270,11 +270,27 @@ export default { ...@@ -270,11 +270,27 @@ export default {
return "documentation_" + nearestId.toISODate(); return "documentation_" + nearestId.toISODate();
}, },
// TODO: Improve Add empty but already queried days to docsByDay -> do not query them again
// docsByDay: {dt: [dt doc ...] ...}
assureDate(date) {
// find missing & fetch missing range
// date +- 5 days ?
const dateRange = Interval
.fromDateTimes(date.minus({ days: 3 }), date.plus({ days: 4 }))
.splitBy({ days: 1 })
.map((ts) => ts.start);
console.log('assureDate', dateRange.map((ts) => ts.toISODate()));
// look up in docsByDay
// sort missing and ask for first to last
// integrate into docsByDay
},
gotoDate(date, scroll) { gotoDate(date, scroll) {
// show // show
this.$router.replace({ hash: date }) this.$router.replace({ hash: date })
console.log('hash', this.$route.hash); console.log('hash', this.$route.hash);
// assure // assure
this.assureDate(DateTime.fromISO(date));
// scroll // scroll
}, },
}, },
......
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