Add complete on view support to render_xblock view.

This commit is contained in:
Usman Khalid
2018-05-27 01:26:50 +05:00
committed by Alex Dusenbery
parent 9ef11139d6
commit 8b1aad080a
25 changed files with 556 additions and 189 deletions

View File

@@ -107,24 +107,24 @@ export class ViewedEventTracker {
* * hasBeenViewed (bool): true if all the conditions for being
* considered "viewed" have been met.
*/
constructor(elements, viewedAfterMs) {
this.viewedAfterMs = viewedAfterMs;
constructor() {
this.elementViewings = new Set();
this.handlers = [];
this.interval = undefined;
elements.forEach((el) => {
this.elementViewings.add(
new ElementViewing(
el,
viewedAfterMs,
(element, event) => this.callHandlers(element, event),
),
);
});
this.registerDomHandlers();
}
/** Add an element to track. */
addElement(element, viewedAfterMs) {
this.elementViewings.add(
new ElementViewing(
element,
viewedAfterMs,
(el, event) => this.callHandlers(el, event),
),
);
this.updateVisible();
}
/** Register a new handler to be called when an element has been viewed. */
addHandler(handler) {
this.handlers.push(handler);