Try to estimate the amount of notifications to return based on height
This commit is contained in:
parent
b3a930f2ed
commit
e624b7198d
|
@ -1,5 +1,6 @@
|
|||
import { url } from 'discourse/lib/computed';
|
||||
import { default as computed, observes } from 'ember-addons/ember-computed-decorators';
|
||||
import { headerHeight } from 'discourse/views/header';
|
||||
|
||||
export default Ember.Component.extend({
|
||||
classNames: ['user-menu'],
|
||||
|
@ -43,10 +44,13 @@ export default Ember.Component.extend({
|
|||
refreshNotifications() {
|
||||
if (this.get('loadingNotifications')) { return; }
|
||||
|
||||
// estimate (poorly) the amount of notifications to return
|
||||
const limit = Math.round(($(window).height() - headerHeight()) / 50);
|
||||
|
||||
// TODO: It's a bit odd to use the store in a component, but this one really
|
||||
// wants to reach out and grab notifications
|
||||
const store = this.container.lookup('store:main');
|
||||
const stale = store.findStale('notification', {recent: true});
|
||||
const stale = store.findStale('notification', {recent: true, limit });
|
||||
|
||||
if (stale.hasResults) {
|
||||
this.set('notifications', stale.results);
|
||||
|
|
|
@ -7,7 +7,11 @@ class NotificationsController < ApplicationController
|
|||
def index
|
||||
user = current_user
|
||||
if params[:recent].present?
|
||||
notifications = Notification.recent_report(current_user, 15)
|
||||
|
||||
limit = params[:limit].to_i || 15
|
||||
limit = 50 if limit > 50
|
||||
|
||||
notifications = Notification.recent_report(current_user, limit)
|
||||
|
||||
if notifications.present?
|
||||
# ordering can be off due to PMs
|
||||
|
|
Loading…
Reference in New Issue