Endless beta 1

10 Mar 2018 Edited
#1
Endless is a plugin which replaces normal pagination with an infinite scrolling approach. It is heavily inspired by Flarum's, except it is packed with some modifications which make it completely compatible with the latest MyBB versions and aim to improve its stability and usability.

[Image: 0kGO7wR.gif]

Minimum requirements


PHP 5.4
MyBB 1.8.0

Main features


Extensibility


Endless is designed to replace MyBB pagination of both threads and forums with an infinite scrolling pagination, but it is capable of transforming whatever custom paginated list into an endless scrolling experience. For example, MyBBoost's newsfeed homepage has Endless support with just a few lines of server-side code.

Endless automatically parses lists of valid data in the DOM and sends AJAX requests with a range of items to get from the backend, and it displays a temporary placeholder while the data is being fetched. All you need to do is write down a function which accepts and handles Endless-generated data, gets the requested items and returns them in a standardized fashion. A step-by-step tutorial will be written down after the beta period.

Scrubber-based


QuoteWhat's good about regular pagination is being able to quickly jump through the pages, with infinite scroll I'd have to keep scrolling to get to the last reply. Infinite scrolling looks a lot better than regular pagination but I think its functionality will get tedious, that's unless you've made a workaround for this.

The workaround comes directly from Flarum's inspiration. Endless includes a scrubber, a small draggable item added automatically by the plugin which you can use to quickly jump between posts and threads in the currently viewed discussion/forum. The scrubber position is updated automatically as you scroll, so you always know what's left to read; and you can both drag and drop the scrubber or click a specific point within it to be launched directly to the range of posts you wish to see.

At the current stages, you can choose to hide or display the scrubber and set threads/posts breakpoints after which, if a forum/thread exceed the breakpoint in size, the scrubber is displayed. You can also choose to hide the scrubber if a forum/thread has a single-page amount of data.

Automatic detection or manual triggering


You can tell Endless to automatically detect user's scrolling and show items, or you can set up manual buttons users will need to push in order to load further posts/threads, in both upwards and downwards direction. This feature is currently hardcoded. It will be integrated into MyBB's settings system in beta 2.

Installation


Upload the files maintaining the same folder structure they are compiled to and clicking the button Install & activate within your board's plugin list.

Endless requires 2 CSS classes to work properly:
  • thread to every thread (forumdisplay_thread);
  • post to every post (postbit/postbit_classic).

Ensure you have those classes in your theme’s templates, otherwise it will not work.


Display month and year in the scrubber


The scrubber can detect the currently-visible item's dateline and display a formatted "month year" date as you scroll, so you know an approximate timeline of what you are currently reading. Endless needs a timestamp to process it though; you must add it manually to your templates.
  • forumdisplay_thread: add data-time="{$thread['dateline']}" to the tr.thread element;
  • postbit or postbit_classic: add data-time="{$post['dateline']}" to the div.post element.

Settings


Endless adds 4 settings to tune the scrubber as explained above.

Templates and stylesheets


Endless adds a CSS file named endless.css to every theme of your board. You can customize the scrubber's and placeholders' appearance by editing the stylesheet's CSS rules and the 3 templates added by Endless called endless_placeholder_post, endless_placeholder_thread and endless_scrubber. {totalCount} and {colspan} are replaced by Endless with the respective values (total count of items and colspan to match the variability of MyBB's default theme within forumdisplay, due to mods having an extra column with a checkbox).

Reporting issues and requesting new features


If you encounter an issue or you want to request a new feature for Endless, feel free to open a new thread in this forum with detailed instructions on how to reproduce your issue if you want to report one.

Availability


An Advanced or Ultimate subscription is required to download Endless (click here to subscribe). Alternatively, you can perform a single purchase by adding the item to your cart and checkout at a later date. You can purchase using PayPal or several cryptocurrencies. Every successful payment lasts forever and may be refunded within 30 days if you are not satisfied.

Before purchasing or subscribing, read the End-User License Agreement (EULA).
Filename Size Downloads
Endless beta 1.zip
30.15 KB 86
LIONHAERT, Eldenroot, FishingCraze And 3 others like this post
Sir Twisted 10 Nov 2019 Edited
#31
Hi,

I've added the correct code and it seems to be working but I've noticed the date in the scroller and date of posts are slightly off.

[Image: c24f8d67370194156941a7deba3487d2.png]
Shade 10 Nov 2019
#32
For threads, the dateline refers to the date the thread was started at. If you want it to refer to the last post dateline, use {$thread['lastpost']} instead of {$thread['dateline']}.
Sir Twisted 10 Nov 2019
#33
For threads, the dateline refers to the date the thread was started at. If you want it to refer to the last post dateline, use {$thread['lastpost']} instead of {$thread['dateline']}.
Shade (10 Nov 2019)
Much appreciated! I've looked into the issue a little more with quick reply and it seems to stop working after maybe post 10 or so. You said there is a script that conflicts with others do you know which script it is perhaps as the site doesn't have a quick quote unless it was built into the mybb system.
Shade 10 Nov 2019
#34
Seems like it's gone now.
Sir Twisted 11 Nov 2019
#35
I'm confused as to how this works for the first 10 posts, then not. Quick edit that is.
Shade 11 Nov 2019
#36
Ah, quick edit. Yeah that’s something I need to look at. Endless should load the appropriate functions but somehow, sometimes it doesn’t work. I’ll have a look soon.
Sir Twisted 11 Nov 2019
#37
Ah, quick edit. Yeah that’s something I need to look at. Endless should load the appropriate functions but somehow, sometimes it doesn’t work. I’ll have a look soon.
Shade (11 Nov 2019)
If it helps here is a gif screen grab of the issue, https://i.gyazo.com/572e67416ded1bc8ecf8...bba2fe.mp4
Shade 13 Nov 2019
#38
I've looked into it, and there's a nasty bug which I have to fix somehow. The plugin doesn't get much attention since ages, given its limited success and user-base. However, I will try my best to understand the code again and update the plugin as soon as my schedule allows.
Sir Twisted 14 Nov 2019
#39
Much appreciated @Shade.