Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-ordering bitstreams on the item edit page not possible when pagination is triggered #2779

Open
jonas-atmire opened this issue Jan 29, 2024 · 4 comments · May be fixed by #3266
Open

Re-ordering bitstreams on the item edit page not possible when pagination is triggered #2779

jonas-atmire opened this issue Jan 29, 2024 · 4 comments · May be fixed by #3266
Assignees
Labels
bug component: Item (Archived) Item display or editing help wanted Needs a volunteer to claim to move forward high priority

Comments

@jonas-atmire
Copy link
Contributor

Describe the bug
On the item edit page, all bundles are shown with their related bitstreams.
If more than 10 bitstreams are attached to a given bundle, those bitstreams are paginated.
That in and of itself is a good thing, but it has a negative effect on the possibility to reorder these bitstreams.
It's only possible to reorder bitstreams on the page that they currently are on

To Reproduce

  • Take any random item and add more than 10 different bitstreams to a given bundle.
  • Test that the reordering works on any given page by dragging and dropping
  • Screenshot 2024-01-29 at 14 15 32
  • If you want to move a bitstreams from the second page to the first page, you'll notice that is not possible, you can only drag and drop on the same page
Screenshot 2024-01-29 at 14 15 37

Expected behavior
With or without pagination triggered for bitstreams in a certain bundle, it should be possible to reorder the relevant files.

Simply increasing the number of bitstreams being shown before pagination is triggered is not an option, as some dataset repositories could have an even larger number of bitstreams.

@jonas-atmire jonas-atmire added bug needs triage New issue needs triage and/or scheduling labels Jan 29, 2024
@tdonohue tdonohue added component: Item (Archived) Item display or editing help wanted Needs a volunteer to claim to move forward medium priority and removed needs triage New issue needs triage and/or scheduling labels Jan 29, 2024
@MW3000
Copy link
Contributor

MW3000 commented Feb 14, 2024

What could a possible UX look like? These ideas come to mind:

  • Replace pagination with a "Show more" button, so that we get not separate pages, but extend the one list step by step
  • Add a "Show on one page" button, that turns off pagination and shows all bitstreams in one list
  • Add a "Change position" button for each bitstream, that opens a context menu that let's the user set the position in the list by entering a number

@tdonohue
Copy link
Member

tdonohue commented Feb 14, 2024

@MW3000 : In my opinion, there two "easiest" solutions might be:

  • The "show more" option you mention which just extends the list.
  • OR, a way to control the number of bitstreams per page in the pagination. If the Pagination had a control (like it does in Browse by pages) where you can change the number of bitstreams per page to 5,10,20,40,100... then that may be "good enough". You could just change the page size to move things across the current page boundary.

@oscar-escire
Copy link
Contributor

Hi @tdonohue we'd like to contribute to this issue, can you assign it to me?

I think the second option (change number of bitstream per page) is the better option to resolve the issue.

@artlowel
Copy link
Member

It is already possible to move a bitstream to a separate page. If you drop a bitstream on the page number, it should open that page and put the dropped bitstream at the top of it. From there you should be able to drop it exactly where you want it within the page

It does look like there are some issues with it at the moment though. Most of the time when you drop it on a page number, and the page switches you see a loading component that only goes away when something else on the page changes (e.g. you hover over the admin sidebar to make it open). That means that change detection isn't triggered automatically when the page has loaded. The usual solution is to use a behaviorsubject for the observable responsible

I also agree that this way of working isn't very obvious. We should make it more clear that the page numbers are valid drop-targets somehow (making them bigger, a different color, simply showing a tooltip as soon as you start dragging?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug component: Item (Archived) Item display or editing help wanted Needs a volunteer to claim to move forward high priority
Projects
Development

Successfully merging a pull request may close this issue.

5 participants