29 lines
916 B
JavaScript
29 lines
916 B
JavaScript
import isElementInViewport from "discourse/lib/is-element-in-viewport";
|
|
import ScrollTop from 'discourse/mixins/scroll-top';
|
|
import { on } from 'ember-addons/ember-computed-decorators';
|
|
|
|
export default Ember.View.extend(ScrollTop, {
|
|
|
|
@on('didInsertElement')
|
|
_checkRead() {
|
|
const currentUser = this.get('controller.currentUser');
|
|
if (currentUser) {
|
|
const path = this.get('controller.model.path');
|
|
if (path === "faq" || path === "guidelines") {
|
|
const controller = this.get('controller');
|
|
$(window).on('load.faq resize.faq scroll.faq', function() {
|
|
const faqUnread = !currentUser.get('read_faq');
|
|
if (faqUnread && isElementInViewport($(".contents p").last())) {
|
|
controller.send('markFaqRead');
|
|
}
|
|
});
|
|
}
|
|
}
|
|
},
|
|
|
|
@on('willDestroyElement')
|
|
_stopChecking() {
|
|
$(window).off('load.faq resize.faq scroll.faq');
|
|
}
|
|
});
|