Replace Dashboard Activities by Vue Components
What does this MR do?
-
Refactors Frontend and Backend code for dashboard.
Before: HTML and JS data was created in php & sent toactivities.js
).
Now: All HTML and JS moved to vue.js files, the backend only sends data
Backend: fetching updates is structured and replaces the previously different load+loadMore with pagination support - Infinite scrolling to automatically load new data was also moved to vue.js
-
Added Dashboard filtering options by types (store updates, mailbox messages, event posts etc)
new update types: foodsharepoint wall posts (addressing part of #588 (closed)) and event wall posts. Closes #227 (closed) - Some text was made translatable and moved to the client where possible
- Quickreply support for (in theory) all update types
(we should figure out which of them make sense to offer) -
Image thumbnail display for wallpost snippets on the dashboard!
Available for profile/event/foodsharepoint posts. Closes #454 (closed) - Allow having many disabled update sources: closes #365 (closed)
- Fix cut-off partial links in dashboard snippets: closes #691 (closed)
- Closes #849 (closed) broken date on forum posts. This is marked as release blocking in #793 (closed)
How confident are you it won't break things if deployed?
Definitely needs review. Changed activities xhr app to not return html anymore, rebuilt dashboard completely...
Screenshots
Finished
-
Readd settings -
Readd markdown -
Readd quickreply functions -
Readd timeago / from-now -
Readd lazy loading -
User pictures on dashboard are links now, closes #464 (closed) -
Add thumbnails of pictures on friend wallposts -
Add thumbnails to other wallposts too -
Event updates on dashboard -
FoodSharePoint updates on dashboard- [x] send no-more-data thingy to frontend ( ❓ does that fix the Endless loading indicator below) -
give nicer message when No more data can be loaded -
Trigger reload to check for new data when switching between filter types -
CSS fixes to make sure the filter bar height doesn't jump => @ChrisOelmueller knows more
Nice to have or ToDos after merge
-
Add tests -
Add better seed data -
Differentiate between listings & activities ❓ -
Remove mail symbol for non-mail users. Method mayHaveMailbox()
can be used here => @jofranz knows more
Bugs and crucial ToDos preventing a merge
-
Endless loading indicator: (@jofranz knows more)
If a section is empty and you scroll down to refresh, there is an endless loading indicator
Around three requests per second are sent with pages of pagination counting up.
Solution idea:❓ -
sort FSP updates by date -
on dashboard clicking on a event image links the userprofile, instead of the event page
Checklist
-
added a test, or explain why one is not needed/possible... -
no unrelated changes -
asked someone for a code review -
joined #foodsharing-beta channel at https://slackin.yunity.org -
added an entry to CHANGELOG.md (description, merge request link, username(s))
Edited by Jonathan Steinker