diff --git a/framework/core/js/forum/dist/app.js b/framework/core/js/forum/dist/app.js index cf67e5d43..66626c763 100644 --- a/framework/core/js/forum/dist/app.js +++ b/framework/core/js/forum/dist/app.js @@ -26700,13 +26700,6 @@ System.register('flarum/components/PostStreamScrubber', ['flarum/Component', 'fl */ this.index = 0; - /** - * The index of the comment that is currently at the top of the viewport. - * - * @type {Number} - */ - this.commentsIndex = 0; - /** * The number of posts that are currently visible in the viewport. * @@ -26743,18 +26736,18 @@ System.register('flarum/components/PostStreamScrubber', ['flarum/Component', 'fl var retain = this.subtree.retain(); var count = this.count(); var unreadCount = this.props.stream.discussion.unreadCount(); - var unreadPercent = Math.min(count - this.index, unreadCount) / count; + var unreadPercent = count ? Math.min(count - this.index, unreadCount) / count : 0; var viewing = app.translator.transChoice('core.forum.post_scrubber.viewing_text', count, { index: m( 'span', { className: 'Scrubber-index' }, - retain || formatNumber(this.commentsIndex) + retain || formatNumber(Math.ceil(this.index + this.visible)) ), count: m( 'span', { className: 'Scrubber-count' }, - formatNumber(this.commentsCount()) + formatNumber(count) ) }); @@ -26872,17 +26865,6 @@ System.register('flarum/components/PostStreamScrubber', ['flarum/Component', 'fl return this.props.stream.count(); } - /** - * Get the number of comments in the discussion. - * - * @return {Integer} - */ - }, { - key: 'commentsCount', - value: function commentsCount() { - return this.props.stream.discussion.commentsCount(); - } - /** * When the stream is unpaused, update the scrubber to reflect its position. */ @@ -26944,7 +26926,6 @@ System.register('flarum/components/PostStreamScrubber', ['flarum/Component', 'fl // and the viewport had a height of 0. var $items = stream.$('> .PostStream-item[data-index]'); var index = $items.first().data('index') || 0; - var commentsIndex = 0; var visible = 0; var period = ''; @@ -26956,13 +26937,6 @@ System.register('flarum/components/PostStreamScrubber', ['flarum/Component', 'fl var top = $this.offset().top; var height = $this.outerHeight(true); - // If an item is a comment and is not below the viewport, update the - // comment index, which will be displayed as "viewing ? of X" on the - // scrubber. - if ($this.data('type') == 'comment' && top < viewportBottom) { - commentsIndex++; - } - // If this item is above the top of the viewport, skip to the next // one. If it's below the bottom of the viewport, break out of the // loop. @@ -26994,7 +26968,6 @@ System.register('flarum/components/PostStreamScrubber', ['flarum/Component', 'fl }); this.index = index; - this.commentsIndex = commentsIndex; this.visible = visible; this.description = period ? moment(period).format('MMMM YYYY') : ''; } @@ -27069,7 +27042,7 @@ System.register('flarum/components/PostStreamScrubber', ['flarum/Component', 'fl var visible = this.visible || 1; var $scrubber = this.$(); - $scrubber.find('.Scrubber-index').text(formatNumber(this.commentsIndex)); + $scrubber.find('.Scrubber-index').text(formatNumber(Math.ceil(index + visible))); $scrubber.find('.Scrubber-description').text(this.description); $scrubber.toggleClass('disabled', this.disabled()); diff --git a/framework/core/js/forum/src/components/PostStreamScrubber.js b/framework/core/js/forum/src/components/PostStreamScrubber.js index 5ab8e8a5e..a6b7ade71 100644 --- a/framework/core/js/forum/src/components/PostStreamScrubber.js +++ b/framework/core/js/forum/src/components/PostStreamScrubber.js @@ -25,13 +25,6 @@ export default class PostStreamScrubber extends Component { */ this.index = 0; - /** - * The index of the comment that is currently at the top of the viewport. - * - * @type {Number} - */ - this.commentsIndex = 0; - /** * The number of posts that are currently visible in the viewport. * @@ -65,11 +58,11 @@ export default class PostStreamScrubber extends Component { const retain = this.subtree.retain(); const count = this.count(); const unreadCount = this.props.stream.discussion.unreadCount(); - const unreadPercent = Math.min(count - this.index, unreadCount) / count; + const unreadPercent = count ? Math.min(count - this.index, unreadCount) / count : 0; const viewing = app.translator.transChoice('core.forum.post_scrubber.viewing_text', count, { - index: {retain || formatNumber(this.commentsIndex)}, - count: {formatNumber(this.commentsCount())} + index: {retain || formatNumber(Math.ceil(this.index + this.visible))}, + count: {formatNumber(count)} }); function styleUnread(element, isInitialized, context) { @@ -152,15 +145,6 @@ export default class PostStreamScrubber extends Component { return this.props.stream.count(); } - /** - * Get the number of comments in the discussion. - * - * @return {Integer} - */ - commentsCount() { - return this.props.stream.discussion.commentsCount(); - } - /** * When the stream is unpaused, update the scrubber to reflect its position. */ @@ -214,7 +198,6 @@ export default class PostStreamScrubber extends Component { // and the viewport had a height of 0. const $items = stream.$('> .PostStream-item[data-index]'); let index = $items.first().data('index') || 0; - let commentsIndex = 0; let visible = 0; let period = ''; @@ -226,13 +209,6 @@ export default class PostStreamScrubber extends Component { const top = $this.offset().top; const height = $this.outerHeight(true); - // If an item is a comment and is not below the viewport, update the - // comment index, which will be displayed as "viewing ? of X" on the - // scrubber. - if ($this.data('type') == 'comment' && top < viewportBottom) { - commentsIndex++; - } - // If this item is above the top of the viewport, skip to the next // one. If it's below the bottom of the viewport, break out of the // loop. @@ -264,7 +240,6 @@ export default class PostStreamScrubber extends Component { }); this.index = index; - this.commentsIndex = commentsIndex; this.visible = visible; this.description = period ? moment(period).format('MMMM YYYY') : ''; } @@ -340,7 +315,7 @@ export default class PostStreamScrubber extends Component { const visible = this.visible || 1; const $scrubber = this.$(); - $scrubber.find('.Scrubber-index').text(formatNumber(this.commentsIndex)); + $scrubber.find('.Scrubber-index').text(formatNumber(Math.ceil(index + visible))); $scrubber.find('.Scrubber-description').text(this.description); $scrubber.toggleClass('disabled', this.disabled());