Skip to content
Snippets Groups Projects
Commit 449b34df authored by permcu's avatar permcu
Browse files

Transition from intial query to infinite scroll

parent b82c2843
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"
...@@ -28,7 +28,8 @@ ...@@ -28,7 +28,8 @@
:date="date" :date="date"
:docs="docs" :docs="docs"
:lastQuery="lastQuery" :lastQuery="lastQuery"
:focus-on-mount="gotoDate.toMillis() === date.toMillis()" :focus-on-mount="gotoDate && (gotoDate.toMillis() === date.toMillis())"
@init="transition"
/> />
<date-select-footer :value="$route.hash.substring(1)" /> <date-select-footer :value="$route.hash.substring(1)" />
...@@ -99,10 +100,8 @@ export default { ...@@ -99,10 +100,8 @@ export default {
groups: [], groups: [],
courses: [], courses: [],
incomplete: false, incomplete: false,
// TODO: Start with false until main query finished
ready: false, ready: false,
gotoDate: false, gotoDate: false,
// TODO: Who sets ready true & gotoDate false?
}; };
}, },
computed: { computed: {
...@@ -171,6 +170,10 @@ export default { ...@@ -171,6 +170,10 @@ export default {
this.dateStart = date.minus({ days: 3 }).toISODate(); this.dateStart = date.minus({ days: 3 }).toISODate();
this.dateEnd = date.plus({ days: 4 }).toISODate(); this.dateEnd = date.plus({ days: 4 }).toISODate();
}, },
transition() {
this.gotoDate = false
this.ready = true
},
groupDocsByDay(docs) { groupDocsByDay(docs) {
// => {dt: {date: dt, docs: doc ...} ...} // => {dt: {date: dt, docs: doc ...} ...}
const docsByDay = docs.reduce((byDay, doc) => { const docsByDay = docs.reduce((byDay, doc) => {
......
...@@ -49,6 +49,7 @@ export default { ...@@ -49,6 +49,7 @@ export default {
default: false, default: false,
}, },
}, },
emits: ['init'],
methods: { methods: {
focus(how) { focus(how) {
this.$el.scrollIntoView({ this.$el.scrollIntoView({
...@@ -63,6 +64,7 @@ export default { ...@@ -63,6 +64,7 @@ export default {
if (this.focusOnMount) { if (this.focusOnMount) {
this.$nextTick(this.focus("instant")); this.$nextTick(this.focus("instant"));
console.log('focused @', this.date.toISODate()); console.log('focused @', this.date.toISODate());
this.$emit('init');
} }
}, },
}; };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment