databricks / spark-pr-dashboard

Dashboard to aid in Spark pull request reviews
spark-prs.appspot.com
Apache License 2.0
54 stars 46 forks source link

Add tab for "All" PRs #25

Closed nchammas closed 9 years ago

nchammas commented 10 years ago

It would be useful to have a tab -- probably the default one when you load the page -- that shows all PRs. Sometimes you just want to see the latest PRs across any category.

JoshRosen commented 10 years ago

It should now be pretty easy to implement this now that we have a better template system, re-usable table display macros, and an auto-generated navigation bar.

JoshRosen commented 9 years ago

Just pushed a commit (48b06f6c8b30dae1c0d413840ffaa0d6b7d508f3) that adds a separate page which lists all open pull requests: https://spark-prs.appspot.com/all-open-prs

nchammas commented 9 years ago

Thanks Josh. Would you be open in the future to having this become a separate Tab called "All" under the original view?

I'm envisioning the top-level tabs being used to filter issues (e.g. stale issues), where the component tabs underneath (including one for "All") would be the same across filters.

JoshRosen commented 9 years ago

That would be nice. The only reason that I didn't just add an "All" tab here is that the actual table DOM construction is currently done on the server, so an "All" tab would nearly double the size of the response that the server has to send back. If we can de-couple the data from the rendering and perform the DOM construction in Javascript, then it would be easy to add this kind of browser-side filtering.

I'd do this myself, but I've been super busy and I'm not really a front-end developer, so I'm less familiar with the modern Javascript toolchains for developing rich single-page apps (I can kind of hack things here, but I'm much slower than an experienced JS dev would be).

nchammas commented 9 years ago

Yeah, I'm a JS n00b as well, but if I get the chance over the next month or two I'll look into implementing this in such a way that the PR data is pulled just once and filtered client-side for the various tabs/views.