openreview-py icon indicating copy to clipboard operation
openreview-py copied to clipboard

Bid template: add pagination to each tab

Open melisabok opened this issue 5 years ago • 3 comments

In order to support a large list of papers to bid we need to paginate each tab on the bid UI.

Does the current pagination support being used in multiple tabs? cc @zbialecki

I suggest to use the following network to load the data in each tab:

  • All Papers (default):

Load the first N papers where the logged user has more affinity. Using the issue described here. We can load the TPMS/Affinity edges sorted by weight:

GET /edges?invitation=ICLR.cc/2019/Conference/-/TPMS&tail=~Melisa_Bok1&details=forumContent&sort=weight:desc
  • Bid counters: to render the bid counts on each tab when the page is loaded we can get the edges aggregated by label:
GET /edges?invitation=ICLR.cc/2019/Conference/-/Bid&tail=~Melisa_Bok11&groupBy=label

To compute the 'No Bid' count we can do the different between: total_papers - (all_bids_that_are_not_no_bid)

  • When the user clicks in one tab, we should reload the tab content with edges of the selected bid:
GET /edges?invitation=ICLR.cc/2019/Conference/-/Bid&tail=~Melisa_Bok1&label=VeryHigh

All the tabs should load one page (100 papers?) and it should render the pagination bar to go over all the data.

melisabok avatar Jul 15 '19 13:07 melisabok

I think this sounds really good, and would be a big upgrade to the Bid Webfield. I don't think there's anything described here that would require new API calls or UI widgets, just changes to the webfield template.

zbialecki avatar Jul 15 '19 14:07 zbialecki

Cool, do you think we can use the current pagination feature in each tab? My plan is to reload each tab every time the user clicks.

melisabok avatar Jul 15 '19 15:07 melisabok

Yes, using the pagination in each tab shouldn't be a problem. Also loading it dynamically each time a new tab is opened should work just fine.

zbialecki avatar Jul 15 '19 15:07 zbialecki