Skip to content

Replace Dashboard Activities by Vue Components

D0nPiano requested to merge vue-dashboard into master

What does this MR do?

  • Refactors Frontend and Backend code for dashboard.
    Before: HTML and JS data was created in php & sent to activities.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

Zwischenablage01_2

Screenshot_2019-02-21_19-36-50

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

Merge request reports